mirror of
https://github.com/smittix/intercept.git
synced 2026-07-08 09:38:12 -07:00
fix: Correct SSTV VIS codes and replace Goertzel pixel decoder with Hilbert transform
Fix wrong VIS codes for PD90 (96→99), PD120 (93→95), PD180 (95→97), PD240 (113→96), and ScottieDX (55→76). This caused PD180 to be detected as PD90 and PD120 to fail entirely. Replace batch Goertzel pixel decoding with analytic signal (Hilbert transform) FM demodulation. The Goertzel approach used 96-sample windows with ~500 Hz resolution — wider than the 800 Hz pixel frequency range — making accurate pixel decoding impossible for fast modes like Martin2 and Scottie2. The Hilbert method computes per-sample instantaneous frequency, matching the approach used by QSSTV and other professional SSTV decoders. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -59,15 +59,15 @@ VIS_CODES: dict[int, str] = {
|
||||
40: 'Martin2',
|
||||
60: 'Scottie1',
|
||||
56: 'Scottie2',
|
||||
93: 'PD120',
|
||||
95: 'PD180',
|
||||
95: 'PD120',
|
||||
97: 'PD180',
|
||||
# Less common but recognized
|
||||
4: 'Robot24',
|
||||
36: 'Martin3',
|
||||
52: 'Scottie3',
|
||||
55: 'ScottieDX',
|
||||
113: 'PD240',
|
||||
96: 'PD90',
|
||||
76: 'ScottieDX',
|
||||
96: 'PD240',
|
||||
99: 'PD90',
|
||||
98: 'PD160',
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user