From 274f5027d48ad57690fa7c08e706fc553abc8182 Mon Sep 17 00:00:00 2001 From: LongHairedHacker Date: Wed, 5 Jun 2019 19:02:21 +0200 Subject: [PATCH] Fixed missing FM decoding stage --- apps/flowgraphs/satnogs_sstv_pd120_demod.py | 7 +- apps/flowgraphs/sstv_pd120_demod.grc | 81 ++++++++++++++++++--- 2 files changed, 74 insertions(+), 14 deletions(-) diff --git a/apps/flowgraphs/satnogs_sstv_pd120_demod.py b/apps/flowgraphs/satnogs_sstv_pd120_demod.py index 6315b41..30c17c0 100755 --- a/apps/flowgraphs/satnogs_sstv_pd120_demod.py +++ b/apps/flowgraphs/satnogs_sstv_pd120_demod.py @@ -5,9 +5,10 @@ # Title: SSTV PD120 Demodulation # Author: Sebastian Schumb (sebastian@sebastains-site.de) # Description: A PD120 SSTV demodulator -# Generated: Fri Apr 5 23:30:50 2019 +# GNU Radio version: 3.7.13.5 ################################################## + from gnuradio import analog from gnuradio import eng_notation from gnuradio import filter @@ -91,6 +92,7 @@ class satnogs_sstv_pd120_demod(gr.top_block): 1, 12000, 1500, 1000, firdes.WIN_HAMMING, 6.76)) self.low_pass_filter_0 = filter.fir_filter_ccf(1, firdes.low_pass( 1, audio_samp_rate, deviation+max_modulation_freq, 3000, firdes.WIN_HAMMING, 6.76)) + self.hilbert_fc_0 = filter.hilbert_fc(65, firdes.WIN_HAMMING, 6.76) self.freq_xlating_fir_filter_xxx_0_0 = filter.freq_xlating_fir_filter_ccc(4, (63, ), 1750, audio_samp_rate) self.freq_xlating_fir_filter_xxx_0 = filter.freq_xlating_fir_filter_ccc(int(samp_rate_rx/filter_rate), (xlate_filter_taps), lo_offset, samp_rate_rx) self.blks2_rational_resampler_xxx_1 = filter.rational_resampler_ccc( @@ -114,14 +116,15 @@ class satnogs_sstv_pd120_demod(gr.top_block): ################################################## self.msg_connect((self.satnogs_tcp_rigctl_msg_source_0, 'freq'), (self.satnogs_coarse_doppler_correction_cc_0, 'freq')) self.connect((self.analog_nbfm_rx_0, 0), (self.low_pass_filter_0_0, 0)) + self.connect((self.analog_quadrature_demod_cf_0, 0), (self.hilbert_fc_0, 0)) self.connect((self.analog_quadrature_demod_cf_0, 0), (self.satnogs_ogg_encoder_0, 0)) self.connect((self.blks2_rational_resampler_xxx_1, 0), (self.low_pass_filter_0, 0)) self.connect((self.blks2_rational_resampler_xxx_1, 0), (self.satnogs_iq_sink_0, 0)) self.connect((self.blks2_rational_resampler_xxx_1, 0), (self.satnogs_waterfall_sink_0, 0)) self.connect((self.freq_xlating_fir_filter_xxx_0, 0), (self.blks2_rational_resampler_xxx_1, 0)) self.connect((self.freq_xlating_fir_filter_xxx_0_0, 0), (self.analog_nbfm_rx_0, 0)) + self.connect((self.hilbert_fc_0, 0), (self.freq_xlating_fir_filter_xxx_0_0, 0)) self.connect((self.low_pass_filter_0, 0), (self.analog_quadrature_demod_cf_0, 0)) - self.connect((self.low_pass_filter_0, 0), (self.freq_xlating_fir_filter_xxx_0_0, 0)) self.connect((self.low_pass_filter_0_0, 0), (self.rational_resampler_xxx_0, 0)) self.connect((self.osmosdr_source_0, 0), (self.satnogs_coarse_doppler_correction_cc_0, 0)) self.connect((self.rational_resampler_xxx_0, 0), (self.satnogs_sstv_pd120_sink_0, 0)) diff --git a/apps/flowgraphs/sstv_pd120_demod.grc b/apps/flowgraphs/sstv_pd120_demod.grc index 27e5998..8228e84 100644 --- a/apps/flowgraphs/sstv_pd120_demod.grc +++ b/apps/flowgraphs/sstv_pd120_demod.grc @@ -323,7 +323,7 @@ TX sampling rate _coordinate - (964, 562) + (877, 562) _rotation @@ -374,11 +374,11 @@ TX sampling rate _coordinate - (1204, 474) + (1252, 291) _rotation - 180 + 0 gain @@ -872,7 +872,7 @@ TX sampling rate _coordinate - (1164, 562) + (1076, 562) _rotation @@ -903,6 +903,57 @@ TX sampling rate ccc + + hilbert_fc + + beta + 6.76 + + + alias + + + + comment + + + + affinity + + + + _enabled + True + + + _coordinate + (1323, 602) + + + _rotation + 180 + + + id + hilbert_fc_0 + + + maxoutbuf + 0 + + + minoutbuf + 0 + + + num_taps + 65 + + + win + firdes.WIN_HAMMING + + parameter @@ -1159,7 +1210,7 @@ max_modulation_freq = 3000 _coordinate - (781, 538) + (693, 538) _rotation @@ -2680,7 +2731,7 @@ max_modulation_freq = 3000 _coordinate - (590, 562) + (494, 562) _rotation @@ -3017,11 +3068,11 @@ max_modulation_freq = 3000 _coordinate - (1004, 458) + (1531, 275) _rotation - 180 + 0 id @@ -3056,7 +3107,7 @@ max_modulation_freq = 3000 _coordinate - (342, 586) + (263, 586) _rotation @@ -3238,6 +3289,12 @@ max_modulation_freq = 3000 0 0 + + analog_quadrature_demod_cf_0 + hilbert_fc_0 + 0 + 0 + analog_quadrature_demod_cf_0 satnogs_ogg_encoder_0 @@ -3275,14 +3332,14 @@ max_modulation_freq = 3000 0 - low_pass_filter_0 - analog_quadrature_demod_cf_0 + hilbert_fc_0 + freq_xlating_fir_filter_xxx_0_0 0 0 low_pass_filter_0 - freq_xlating_fir_filter_xxx_0_0 + analog_quadrature_demod_cf_0 0 0