Use both scrambled and non-scrambled AX.25 decoders in AFSK1200 mode

There are cases where in AFSK1200 mode, the transmit source uses the
G3RUH scrambling. Now the flowgraph implements both scrambled and
unscrambled decoders, so there is no need to descriminate between
scrambled and unscrambled satellites.
This commit is contained in:
Manolis Surligas 2018-03-25 16:45:47 +03:00
parent b0bac6987d
commit b2105b1218
2 changed files with 85 additions and 8 deletions

View File

@ -3112,10 +3112,6 @@ max_modulation_freq = 3000</value>
</block>
<block>
<key>satnogs_ax25_decoder_bm</key>
<param>
<key>n_sync_flags</key>
<value>1</value>
</param>
<param>
<key>alias</key>
<value></value>
@ -3173,6 +3169,65 @@ max_modulation_freq = 3000</value>
<value>0</value>
</param>
</block>
<block>
<key>satnogs_ax25_decoder_bm</key>
<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>descrambling</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(1563, 785)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
</param>
<param>
<key>id</key>
<value>satnogs_ax25_decoder_bm_0_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>max_frame_len</key>
<value>1024</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>promisc</key>
<value>True</value>
</param>
<param>
<key>addr</key>
<value>'GND'</value>
</param>
<param>
<key>ssid</key>
<value>0</value>
</param>
</block>
<block>
<key>satnogs_coarse_doppler_correction_cc</key>
<param>
@ -3240,7 +3295,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(1332, 706)</value>
<value>(1292, 881)</value>
</param>
<param>
<key>_rotation</key>
@ -3428,7 +3483,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(1364, 801)</value>
<value>(1268, 666)</value>
</param>
<param>
<key>_rotation</key>
@ -3744,6 +3799,12 @@ max_modulation_freq = 3000</value>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>digital_binary_slicer_fb_0</source_block_id>
<sink_block_id>satnogs_ax25_decoder_bm_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>digital_clock_recovery_mm_xx_0</source_block_id>
<sink_block_id>digital_binary_slicer_fb_0</sink_block_id>
@ -3786,6 +3847,18 @@ max_modulation_freq = 3000</value>
<source_key>pdu</source_key>
<sink_key>in</sink_key>
</connection>
<connection>
<source_block_id>satnogs_ax25_decoder_bm_0_0</source_block_id>
<sink_block_id>satnogs_frame_file_sink_0_1_0</sink_block_id>
<source_key>pdu</source_key>
<sink_key>frame</sink_key>
</connection>
<connection>
<source_block_id>satnogs_ax25_decoder_bm_0_0</source_block_id>
<sink_block_id>satnogs_udp_msg_sink_0_0</sink_block_id>
<source_key>pdu</source_key>
<sink_key>in</sink_key>
</connection>
<connection>
<source_block_id>satnogs_coarse_doppler_correction_cc_0</source_block_id>
<sink_block_id>freq_xlating_fir_filter_xxx_0</sink_block_id>

View File

@ -5,7 +5,7 @@
# Title: AFSK1200 AX.25 decoder
# Author: Manolis Surligas (surligas@gmail.com), Vardakis Giorgos (vardakis.grg@gmail.com)
# Description: AFSK1200 AX.25 decoder
# Generated: Fri Feb 23 21:34:11 2018
# Generated: Sun Mar 25 16:42:48 2018
##################################################
from gnuradio import analog
@ -77,7 +77,8 @@ class satnogs_afsk1200_ax25(gr.top_block):
self.satnogs_iq_sink_0 = satnogs.iq_sink(16768, '/tmp/iq.bin', False, enable_iq_dump)
self.satnogs_frame_file_sink_0_1_0 = satnogs.frame_file_sink(decoded_data_file_path, 1)
self.satnogs_coarse_doppler_correction_cc_0 = satnogs.coarse_doppler_correction_cc(rx_freq, samp_rate_rx)
self.satnogs_ax25_decoder_bm_0 = satnogs.ax25_decoder_bm('GND', 0, True, False, 1024, 1)
self.satnogs_ax25_decoder_bm_0_0 = satnogs.ax25_decoder_bm('GND', 0, True, True, 1024)
self.satnogs_ax25_decoder_bm_0 = satnogs.ax25_decoder_bm('GND', 0, True, False, 1024)
self.osmosdr_source_0 = osmosdr.source( args="numchan=" + str(1) + " " + satnogs.handle_rx_dev_args(rx_sdr_device, dev_args) )
self.osmosdr_source_0.set_sample_rate(samp_rate_rx)
self.osmosdr_source_0.set_center_freq(rx_freq - lo_offset, 0)
@ -116,6 +117,8 @@ class satnogs_afsk1200_ax25(gr.top_block):
##################################################
self.msg_connect((self.satnogs_ax25_decoder_bm_0, 'pdu'), (self.satnogs_frame_file_sink_0_1_0, 'frame'))
self.msg_connect((self.satnogs_ax25_decoder_bm_0, 'pdu'), (self.satnogs_udp_msg_sink_0_0, 'in'))
self.msg_connect((self.satnogs_ax25_decoder_bm_0_0, 'pdu'), (self.satnogs_frame_file_sink_0_1_0, 'frame'))
self.msg_connect((self.satnogs_ax25_decoder_bm_0_0, 'pdu'), (self.satnogs_udp_msg_sink_0_0, 'in'))
self.msg_connect((self.satnogs_tcp_rigctl_msg_source_0, 'freq'), (self.satnogs_coarse_doppler_correction_cc_0, 'freq'))
self.connect((self.analog_quadrature_demod_cf_0, 0), (self.digital_clock_recovery_mm_xx_0, 0))
self.connect((self.analog_quadrature_demod_cf_0_0, 0), (self.dc_blocker_xx_0, 0))
@ -128,6 +131,7 @@ class satnogs_afsk1200_ax25(gr.top_block):
self.connect((self.blocks_multiply_xx_0, 0), (self.low_pass_filter_1, 0))
self.connect((self.dc_blocker_xx_0, 0), (self.blocks_float_to_complex_0, 0))
self.connect((self.digital_binary_slicer_fb_0, 0), (self.satnogs_ax25_decoder_bm_0, 0))
self.connect((self.digital_binary_slicer_fb_0, 0), (self.satnogs_ax25_decoder_bm_0_0, 0))
self.connect((self.digital_clock_recovery_mm_xx_0, 0), (self.digital_binary_slicer_fb_0, 0))
self.connect((self.freq_xlating_fir_filter_xxx_0, 0), (self.blks2_rational_resampler_xxx_1, 0))
self.connect((self.low_pass_filter_0, 0), (self.analog_quadrature_demod_cf_0_0, 0))