Connect waterfall sink in front of filter
Connecting the waterfall sink behind the FFT Filter causes the waterfall to show only the filtered APT signal. Fixing this needs an additional resampler.
This commit is contained in:
parent
e831d81502
commit
0064bc835d
|
@ -2842,6 +2842,65 @@ we shift the LO a little further</value>
|
||||||
<value>ccc</value>
|
<value>ccc</value>
|
||||||
</param>
|
</param>
|
||||||
</block>
|
</block>
|
||||||
|
<block>
|
||||||
|
<key>rational_resampler_xxx</key>
|
||||||
|
<param>
|
||||||
|
<key>alias</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>affinity</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>decim</key>
|
||||||
|
<value>int(samp_rate_rx /first_stage_decimation)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_enabled</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>fbw</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_coordinate</key>
|
||||||
|
<value>(504, 44)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_rotation</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>id</key>
|
||||||
|
<value>rational_resampler_xxx_2_0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>interp</key>
|
||||||
|
<value>int(samp_rate_rx/ ( first_stage_decimation * int(samp_rate_rx/ first_stage_decimation / initial_bandwidth)))</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>maxoutbuf</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>minoutbuf</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>taps</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>type</key>
|
||||||
|
<value>ccc</value>
|
||||||
|
</param>
|
||||||
|
</block>
|
||||||
<block>
|
<block>
|
||||||
<key>parameter</key>
|
<key>parameter</key>
|
||||||
<param>
|
<param>
|
||||||
|
@ -3293,7 +3352,7 @@ we shift the LO a little further</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(696, 20)</value>
|
<value>(696, 28)</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_rotation</key>
|
<key>_rotation</key>
|
||||||
|
@ -3438,12 +3497,6 @@ we shift the LO a little further</value>
|
||||||
<source_key>0</source_key>
|
<source_key>0</source_key>
|
||||||
<sink_key>0</sink_key>
|
<sink_key>0</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
<connection>
|
|
||||||
<source_block_id>fft_filter_xxx_0</source_block_id>
|
|
||||||
<sink_block_id>satnogs_waterfall_sink_0</sink_block_id>
|
|
||||||
<source_key>0</source_key>
|
|
||||||
<sink_key>0</sink_key>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>fir_filter_xxx_1</source_block_id>
|
<source_block_id>fir_filter_xxx_1</source_block_id>
|
||||||
<sink_block_id>rational_resampler_xxx_0</sink_block_id>
|
<sink_block_id>rational_resampler_xxx_0</sink_block_id>
|
||||||
|
@ -3492,12 +3545,24 @@ we shift the LO a little further</value>
|
||||||
<source_key>0</source_key>
|
<source_key>0</source_key>
|
||||||
<sink_key>0</sink_key>
|
<sink_key>0</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<source_block_id>rational_resampler_xxx_2_0</source_block_id>
|
||||||
|
<sink_block_id>satnogs_waterfall_sink_0</sink_block_id>
|
||||||
|
<source_key>0</source_key>
|
||||||
|
<sink_key>0</sink_key>
|
||||||
|
</connection>
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>satnogs_coarse_doppler_correction_cc_0</source_block_id>
|
<source_block_id>satnogs_coarse_doppler_correction_cc_0</source_block_id>
|
||||||
<sink_block_id>fft_filter_xxx_0</sink_block_id>
|
<sink_block_id>fft_filter_xxx_0</sink_block_id>
|
||||||
<source_key>0</source_key>
|
<source_key>0</source_key>
|
||||||
<sink_key>0</sink_key>
|
<sink_key>0</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<source_block_id>satnogs_coarse_doppler_correction_cc_0</source_block_id>
|
||||||
|
<sink_block_id>rational_resampler_xxx_2_0</sink_block_id>
|
||||||
|
<source_key>0</source_key>
|
||||||
|
<sink_key>0</sink_key>
|
||||||
|
</connection>
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>satnogs_tcp_rigctl_msg_source_0</source_block_id>
|
<source_block_id>satnogs_tcp_rigctl_msg_source_0</source_block_id>
|
||||||
<sink_block_id>satnogs_coarse_doppler_correction_cc_0</sink_block_id>
|
<sink_block_id>satnogs_coarse_doppler_correction_cc_0</sink_block_id>
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
# Title: NOAA APT Decoder
|
# Title: NOAA APT Decoder
|
||||||
# Author: Manolis Surligas, George Vardakis
|
# Author: Manolis Surligas, George Vardakis
|
||||||
# Description: A NOAA APT Decoder with automatic image synchronization
|
# Description: A NOAA APT Decoder with automatic image synchronization
|
||||||
# Generated: Wed Jul 4 10:18:17 2018
|
# Generated: Wed Jul 4 12:13:02 2018
|
||||||
##################################################
|
##################################################
|
||||||
|
|
||||||
|
|
||||||
|
@ -72,6 +72,12 @@ class satnogs_noaa_apt_decoder(gr.top_block):
|
||||||
self.satnogs_noaa_apt_sink_0 = satnogs.noaa_apt_sink(decoded_data_file_path, 2080, 1800, bool(sync), bool(flip_images))
|
self.satnogs_noaa_apt_sink_0 = satnogs.noaa_apt_sink(decoded_data_file_path, 2080, 1800, bool(sync), bool(flip_images))
|
||||||
self.satnogs_iq_sink_0 = satnogs.iq_sink(32767, iq_file_path, False, enable_iq_dump)
|
self.satnogs_iq_sink_0 = satnogs.iq_sink(32767, iq_file_path, False, enable_iq_dump)
|
||||||
self.satnogs_coarse_doppler_correction_cc_0 = satnogs.coarse_doppler_correction_cc(rx_freq, samp_rate_rx /first_stage_decimation)
|
self.satnogs_coarse_doppler_correction_cc_0 = satnogs.coarse_doppler_correction_cc(rx_freq, samp_rate_rx /first_stage_decimation)
|
||||||
|
self.rational_resampler_xxx_2_0 = filter.rational_resampler_ccc(
|
||||||
|
interpolation=int(samp_rate_rx/ ( first_stage_decimation * int(samp_rate_rx/ first_stage_decimation / initial_bandwidth))),
|
||||||
|
decimation=int(samp_rate_rx /first_stage_decimation),
|
||||||
|
taps=None,
|
||||||
|
fractional_bw=None,
|
||||||
|
)
|
||||||
self.rational_resampler_xxx_2 = filter.rational_resampler_ccc(
|
self.rational_resampler_xxx_2 = filter.rational_resampler_ccc(
|
||||||
interpolation=48000,
|
interpolation=48000,
|
||||||
decimation=int(samp_rate_rx/ ( first_stage_decimation * int(samp_rate_rx/ first_stage_decimation / initial_bandwidth)) / audio_decimation),
|
decimation=int(samp_rate_rx/ ( first_stage_decimation * int(samp_rate_rx/ first_stage_decimation / initial_bandwidth)) / audio_decimation),
|
||||||
|
@ -133,7 +139,6 @@ class satnogs_noaa_apt_decoder(gr.top_block):
|
||||||
self.connect((self.blocks_complex_to_mag_0, 0), (self.rational_resampler_xxx_0_0, 0))
|
self.connect((self.blocks_complex_to_mag_0, 0), (self.rational_resampler_xxx_0_0, 0))
|
||||||
self.connect((self.fft_filter_xxx_0, 0), (self.analog_wfm_rcv_0, 0))
|
self.connect((self.fft_filter_xxx_0, 0), (self.analog_wfm_rcv_0, 0))
|
||||||
self.connect((self.fft_filter_xxx_0, 0), (self.rational_resampler_xxx_2, 0))
|
self.connect((self.fft_filter_xxx_0, 0), (self.rational_resampler_xxx_2, 0))
|
||||||
self.connect((self.fft_filter_xxx_0, 0), (self.satnogs_waterfall_sink_0, 0))
|
|
||||||
self.connect((self.fir_filter_xxx_1, 0), (self.rational_resampler_xxx_0, 0))
|
self.connect((self.fir_filter_xxx_1, 0), (self.rational_resampler_xxx_0, 0))
|
||||||
self.connect((self.freq_xlating_fir_filter_xxx_0, 0), (self.satnogs_coarse_doppler_correction_cc_0, 0))
|
self.connect((self.freq_xlating_fir_filter_xxx_0, 0), (self.satnogs_coarse_doppler_correction_cc_0, 0))
|
||||||
self.connect((self.hilbert_fc_0, 0), (self.blocks_complex_to_mag_0, 0))
|
self.connect((self.hilbert_fc_0, 0), (self.blocks_complex_to_mag_0, 0))
|
||||||
|
@ -142,7 +147,9 @@ class satnogs_noaa_apt_decoder(gr.top_block):
|
||||||
self.connect((self.rational_resampler_xxx_0_0, 0), (self.satnogs_noaa_apt_sink_0, 0))
|
self.connect((self.rational_resampler_xxx_0_0, 0), (self.satnogs_noaa_apt_sink_0, 0))
|
||||||
self.connect((self.rational_resampler_xxx_1, 0), (self.satnogs_ogg_encoder_0, 0))
|
self.connect((self.rational_resampler_xxx_1, 0), (self.satnogs_ogg_encoder_0, 0))
|
||||||
self.connect((self.rational_resampler_xxx_2, 0), (self.satnogs_iq_sink_0, 0))
|
self.connect((self.rational_resampler_xxx_2, 0), (self.satnogs_iq_sink_0, 0))
|
||||||
|
self.connect((self.rational_resampler_xxx_2_0, 0), (self.satnogs_waterfall_sink_0, 0))
|
||||||
self.connect((self.satnogs_coarse_doppler_correction_cc_0, 0), (self.fft_filter_xxx_0, 0))
|
self.connect((self.satnogs_coarse_doppler_correction_cc_0, 0), (self.fft_filter_xxx_0, 0))
|
||||||
|
self.connect((self.satnogs_coarse_doppler_correction_cc_0, 0), (self.rational_resampler_xxx_2_0, 0))
|
||||||
|
|
||||||
def get_antenna(self):
|
def get_antenna(self):
|
||||||
return self.antenna
|
return self.antenna
|
||||||
|
|
Loading…
Reference in New Issue