Fixed missing FM decoding stage

This commit is contained in:
Sebastian 2019-06-05 19:02:21 +02:00
parent f3fd67f6f5
commit 3c0eca695a
2 changed files with 74 additions and 14 deletions

View File

@ -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))

View File

@ -323,7 +323,7 @@ TX sampling rate</value>
</param>
<param>
<key>_coordinate</key>
<value>(964, 562)</value>
<value>(877, 562)</value>
</param>
<param>
<key>_rotation</key>
@ -374,11 +374,11 @@ TX sampling rate</value>
</param>
<param>
<key>_coordinate</key>
<value>(1204, 474)</value>
<value>(1252, 291)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
<value>0</value>
</param>
<param>
<key>gain</key>
@ -872,7 +872,7 @@ TX sampling rate</value>
</param>
<param>
<key>_coordinate</key>
<value>(1164, 562)</value>
<value>(1076, 562)</value>
</param>
<param>
<key>_rotation</key>
@ -903,6 +903,57 @@ TX sampling rate</value>
<value>ccc</value>
</param>
</block>
<block>
<key>hilbert_fc</key>
<param>
<key>beta</key>
<value>6.76</value>
</param>
<param>
<key>alias</key>
<value></value>
</param>
<param>
<key>comment</key>
<value></value>
</param>
<param>
<key>affinity</key>
<value></value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(1323, 602)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
</param>
<param>
<key>id</key>
<value>hilbert_fc_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>num_taps</key>
<value>65</value>
</param>
<param>
<key>win</key>
<value>firdes.WIN_HAMMING</value>
</param>
</block>
<block>
<key>parameter</key>
<param>
@ -1159,7 +1210,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(781, 538)</value>
<value>(693, 538)</value>
</param>
<param>
<key>_rotation</key>
@ -2680,7 +2731,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(590, 562)</value>
<value>(494, 562)</value>
</param>
<param>
<key>_rotation</key>
@ -3017,11 +3068,11 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(1004, 458)</value>
<value>(1531, 275)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
<value>0</value>
</param>
<param>
<key>id</key>
@ -3056,7 +3107,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(342, 586)</value>
<value>(263, 586)</value>
</param>
<param>
<key>_rotation</key>
@ -3238,6 +3289,12 @@ max_modulation_freq = 3000</value>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>analog_quadrature_demod_cf_0</source_block_id>
<sink_block_id>hilbert_fc_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>analog_quadrature_demod_cf_0</source_block_id>
<sink_block_id>satnogs_ogg_encoder_0</sink_block_id>
@ -3275,14 +3332,14 @@ max_modulation_freq = 3000</value>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>low_pass_filter_0</source_block_id>
<sink_block_id>analog_quadrature_demod_cf_0</sink_block_id>
<source_block_id>hilbert_fc_0</source_block_id>
<sink_block_id>freq_xlating_fir_filter_xxx_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>low_pass_filter_0</source_block_id>
<sink_block_id>freq_xlating_fir_filter_xxx_0_0</sink_block_id>
<sink_block_id>analog_quadrature_demod_cf_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>