...
 
Commits (16)
......@@ -48,7 +48,7 @@ list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)
# Set the version information here
set(VERSION_INFO_MAJOR_VERSION 1)
set(VERSION_INFO_API_COMPAT 5)
set(VERSION_INFO_MINOR_VERSION 0)
set(VERSION_INFO_MINOR_VERSION 1)
set(VERSION_INFO_MAINT_VERSION git)
......
......@@ -14,6 +14,7 @@ for decoding signals from various scientific and academic sattelites.
* libpng
* libpng++
* git
* swig
**Optional**
* gr-osmocom (for using the flowgraphs with real SDR hardware)
......@@ -23,14 +24,15 @@ for decoding signals from various scientific and academic sattelites.
```
apt install -y build-essential cmake gnuradio g++ \
python-mako python-six libogg-dev \
libvorbis-dev libpng-dev libpng++-dev
libvorbis-dev libpng-dev libpng++-dev \
swig
cd /tmp
git clone https://github.com/gnuradio/volk.git
cd volk
mkdir build
cd build
cmake ..
make -j 8
make -j $(nproc --all)
sudo make install
```
......@@ -41,7 +43,7 @@ sudo make install
3. `mkdir build`
4. `cd build`
5. `cmake ..`
6. `make`
6. `make -j $(nproc --all)`
7. `sudo make install`
If this is the first time you are building the gr-satnogs module run
......
......@@ -217,7 +217,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(1364, 578)</value>
<value>(1168, 580)</value>
</param>
<param>
<key>_rotation</key>
......@@ -225,7 +225,7 @@
</param>
<param>
<key>gain</key>
<value>((audio_samp_rate/10) / baud_rate)/(math.pi*1)</value>
<value>((audio_samp_rate/20) / baud_rate)/(math.pi*1)</value>
</param>
<param>
<key>id</key>
......@@ -260,7 +260,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(574, 394)</value>
<value>(936, 396)</value>
</param>
<param>
<key>_rotation</key>
......@@ -283,6 +283,49 @@
<value>0</value>
</param>
</block>
<block>
<key>analog_quadrature_demod_cf</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>_coordinate</key>
<value>(813, 283)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>gain</key>
<value>1.0</value>
</param>
<param>
<key>id</key>
<value>analog_quadrature_demod_cf_0_0_0_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
</block>
<block>
<key>analog_sig_source_x</key>
<param>
......@@ -311,7 +354,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(750, 646)</value>
<value>(664, 644)</value>
</param>
<param>
<key>_rotation</key>
......@@ -393,6 +436,85 @@
<value>satnogs.not_set_antenna</value>
</param>
</block>
<block>
<key>band_pass_filter</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>decim</key>
<value>1</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>fir_filter_fff</value>
</param>
<param>
<key>_coordinate</key>
<value>(360, 492)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>gain</key>
<value>1</value>
</param>
<param>
<key>high_cutoff_freq</key>
<value>2400</value>
</param>
<param>
<key>id</key>
<value>band_pass_filter_0</value>
</param>
<param>
<key>interp</key>
<value>1</value>
</param>
<param>
<key>low_cutoff_freq</key>
<value>1000</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>samp_rate</key>
<value>audio_samp_rate</value>
</param>
<param>
<key>width</key>
<value>400</value>
</param>
<param>
<key>win</key>
<value>firdes.WIN_HAMMING</value>
</param>
</block>
<block>
<key>parameter</key>
<param>
......@@ -428,20 +550,275 @@
<value></value>
</param>
<param>
<key>hide</key>
<value>none</value>
<key>hide</key>
<value>none</value>
</param>
<param>
<key>type</key>
<value>eng_float</value>
</param>
<param>
<key>value</key>
<value>1200.0</value>
</param>
</block>
<block>
<key>parameter</key>
<param>
<key>alias</key>
<value></value>
</param>
<param>
<key>comment</key>
<value></value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(175, 865)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>bb_gain</value>
</param>
<param>
<key>label</key>
<value></value>
</param>
<param>
<key>short_id</key>
<value></value>
</param>
<param>
<key>hide</key>
<value>none</value>
</param>
<param>
<key>type</key>
<value>eng_float</value>
</param>
<param>
<key>value</key>
<value>satnogs.not_set_rx_bb_gain</value>
</param>
</block>
<block>
<key>blocks_delay</key>
<param>
<key>alias</key>
<value></value>
</param>
<param>
<key>comment</key>
<value></value>
</param>
<param>
<key>affinity</key>
<value></value>
</param>
<param>
<key>delay</key>
<value>1024/2</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(821, 219)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>blocks_delay_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>num_ports</key>
<value>1</value>
</param>
<param>
<key>type</key>
<value>complex</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
</block>
<block>
<key>blocks_float_to_complex</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>_coordinate</key>
<value>(686, 550)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>blocks_float_to_complex_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
</block>
<block>
<key>blocks_moving_average_xx</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>_coordinate</key>
<value>(981, 267)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>blocks_moving_average_xx_0</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
<param>
<key>length</key>
<value>1024</value>
</param>
<param>
<key>max_iter</key>
<value>4096</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>scale</key>
<value>1.0/1024.0</value>
</param>
<param>
<key>type</key>
<value>float</value>
</param>
</block>
<block>
<key>blocks_multiply_xx</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>_coordinate</key>
<value>(872, 568)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>blocks_multiply_xx_0</value>
</param>
<param>
<key>type</key>
<value>complex</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>type</key>
<value>eng_float</value>
<key>num_inputs</key>
<value>2</value>
</param>
<param>
<key>value</key>
<value>9600.0</value>
<key>vlen</key>
<value>1</value>
</param>
</block>
<block>
<key>parameter</key>
<key>blocks_multiply_xx</key>
<param>
<key>alias</key>
<value></value>
......@@ -450,13 +827,17 @@
<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>(175, 865)</value>
<value>(1308, 223)</value>
</param>
<param>
<key>_rotation</key>
......@@ -464,31 +845,31 @@
</param>
<param>
<key>id</key>
<value>bb_gain</value>
<value>blocks_multiply_xx_0_0</value>
</param>
<param>
<key>label</key>
<value></value>
<key>type</key>
<value>complex</value>
</param>
<param>
<key>short_id</key>
<value></value>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>hide</key>
<value>none</value>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>type</key>
<value>eng_float</value>
<key>num_inputs</key>
<value>2</value>
</param>
<param>
<key>value</key>
<value>satnogs.not_set_rx_bb_gain</value>
<key>vlen</key>
<value>1</value>
</param>
</block>
<block>
<key>blocks_float_to_complex</key>
<key>blocks_rotator_cc</key>
<param>
<key>alias</key>
<value></value>
......@@ -507,7 +888,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(686, 550)</value>
<value>(256, 324)</value>
</param>
<param>
<key>_rotation</key>
......@@ -515,7 +896,7 @@
</param>
<param>
<key>id</key>
<value>blocks_float_to_complex_0</value>
<value>blocks_rotator_cc_0</value>
</param>
<param>
<key>maxoutbuf</key>
......@@ -526,12 +907,16 @@
<value>0</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
<key>phase_inc</key>
<value>-2.0 * math.pi * (lo_offset / satnogs.handle_samp_rate_rx(rx_sdr_device, samp_rate_rx))</value>
</param>
</block>
<block>
<key>blocks_multiply_xx</key>
<key>blocks_vco_c</key>
<param>
<key>amplitude</key>
<value>1.0</value>
</param>
<param>
<key>alias</key>
<value></value>
......@@ -550,7 +935,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(957, 566)</value>
<value>(1140, 267)</value>
</param>
<param>
<key>_rotation</key>
......@@ -558,11 +943,7 @@
</param>
<param>
<key>id</key>
<value>blocks_multiply_xx_0</value>
</param>
<param>
<key>type</key>
<value>complex</value>
<value>blocks_vco_c_0</value>
</param>
<param>
<key>maxoutbuf</key>
......@@ -573,16 +954,16 @@
<value>0</value>
</param>
<param>
<key>num_inputs</key>
<value>2</value>
<key>samp_rate</key>
<value>audio_samp_rate</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
<key>sensitivity</key>
<value>-audio_samp_rate</value>
</param>
</block>
<block>
<key>blocks_rotator_cc</key>
<key>dc_blocker_xx</key>
<param>
<key>alias</key>
<value></value>
......@@ -601,7 +982,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(256, 324)</value>
<value>(544, 540)</value>
</param>
<param>
<key>_rotation</key>
......@@ -609,7 +990,15 @@
</param>
<param>
<key>id</key>
<value>blocks_rotator_cc_0</value>
<value>dc_blocker_xx_0</value>
</param>
<param>
<key>length</key>
<value>1024</value>
</param>
<param>
<key>long_form</key>
<value>True</value>
</param>
<param>
<key>maxoutbuf</key>
......@@ -620,8 +1009,8 @@
<value>0</value>
</param>
<param>
<key>phase_inc</key>
<value>-2.0 * math.pi * (lo_offset / satnogs.handle_samp_rate_rx(rx_sdr_device, samp_rate_rx))</value>
<key>type</key>
<value>ff</value>
</param>
</block>
<block>
......@@ -644,7 +1033,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(534, 538)</value>
<value>(1344, 572)</value>
</param>
<param>
<key>_rotation</key>
......@@ -652,7 +1041,7 @@
</param>
<param>
<key>id</key>
<value>dc_blocker_xx_0</value>
<value>dc_blocker_xx_0_0</value>
</param>
<param>
<key>length</key>
......@@ -789,11 +1178,11 @@
</param>
<param>
<key>_coordinate</key>
<value>(2034, 606)</value>
<value>(1928, 752)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
<value>180</value>
</param>
<param>
<key>id</key>
......@@ -828,7 +1217,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(1563, 550)</value>
<value>(1928, 548)</value>
</param>
<param>
<key>_rotation</key>
......@@ -836,11 +1225,11 @@
</param>
<param>
<key>gain_mu</key>
<value>0.175</value>
<value>0.5/8.0</value>
</param>
<param>
<key>gain_omega</key>
<value>0.25*0.175*0.175</value>
<value>2*math.pi/100.0</value>
</param>
<param>
<key>id</key>
......@@ -860,11 +1249,11 @@
</param>
<param>
<key>omega_relative_limit</key>
<value>0.005</value>
<value>0.01</value>
</param>
<param>
<key>omega</key>
<value>(48e3/10)/baud_rate</value>
<value>(48e3/20)/baud_rate</value>
</param>
<param>
<key>type</key>
......@@ -1193,7 +1582,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(1144, 276)</value>
<value>(1208, 348)</value>
</param>
<param>
<key>_rotation</key>
......@@ -1225,7 +1614,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>width</key>
<value>3000</value>
<value>1000</value>
</param>
<param>
<key>win</key>
......@@ -1252,11 +1641,11 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>cutoff_freq</key>
<value>(mark_frequency - space_frequency)/2.0</value>
<value>(mark_frequency - space_frequency)/2.0 + 250</value>
</param>
<param>
<key>decim</key>
<value>10</value>
<value>20</value>
</param>
<param>
<key>_enabled</key>
......@@ -1268,7 +1657,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(1152, 532)</value>
<value>(992, 532)</value>
</param>
<param>
<key>_rotation</key>
......@@ -1276,7 +1665,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>gain</key>
<value>10</value>
<value>1</value>
</param>
<param>
<key>id</key>
......@@ -1300,7 +1689,82 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>width</key>
<value>1000</value>
<value>500</value>
</param>
<param>
<key>win</key>
<value>firdes.WIN_HAMMING</value>
</param>
</block>
<block>
<key>low_pass_filter</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>cutoff_freq</key>
<value>baudrate /2+ 500 /2</value>
</param>
<param>
<key>decim</key>
<value>1</value>
</param>
<param>
<key>_enabled</key>
<value>1</value>
</param>
<param>
<key>type</key>
<value>fir_filter_fff</value>
</param>
<param>
<key>_coordinate</key>
<value>(1760, 532)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>gain</key>
<value>1</value>
</param>
<param>
<key>id</key>
<value>low_pass_filter_2_0</value>
</param>
<param>
<key>interp</key>
<value>1</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>samp_rate</key>
<value>baudrate*2</value>
</param>
<param>
<key>width</key>
<value>500</value>
</param>
<param>
<key>win</key>
......@@ -2781,7 +3245,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(640, 196)</value>
<value>(534, 195)</value>
</param>
<param>
<key>_rotation</key>
......@@ -3338,7 +3802,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(1304, 28)</value>
<value>(773, 27)</value>
</param>
<param>
<key>_rotation</key>
......@@ -3381,11 +3845,11 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(368, 452)</value>
<value>(303, 379)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
<value>180</value>
</param>
<param>
<key>id</key>
......@@ -3400,53 +3864,6 @@ max_modulation_freq = 3000</value>
<value>audio_samp_rate</value>
</param>
</block>
<block>
<key>satnogs_quad_demod_filter_ff</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>_coordinate</key>
<value>(1795, 578)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>gain</key>
<value>((audio_samp_rate/10) / baud_rate)/(math.pi*1)</value>
</param>
<param>
<key>id</key>
<value>satnogs_quad_demod_filter_ff_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>win</key>
<value>80</value>
</param>
</block>
<block>
<key>satnogs_tcp_rigctl_msg_source</key>
<param>
......@@ -3526,7 +3943,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(1268, 666)</value>
<value>(1292, 785)</value>
</param>
<param>
<key>_rotation</key>
......@@ -3581,7 +3998,7 @@ max_modulation_freq = 3000</value>
</param>
<param>
<key>_coordinate</key>
<value>(872, 4)</value>
<value>(550, 3)</value>
</param>
<param>
<key>_rotation</key>
......@@ -3794,13 +4211,13 @@ max_modulation_freq = 3000</value>
</block>
<connection>
<source_block_id>analog_quadrature_demod_cf_0</source_block_id>
<sink_block_id>digital_clock_recovery_mm_xx_0</sink_block_id>
<sink_block_id>dc_blocker_xx_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>analog_quadrature_demod_cf_0_0</source_block_id>
<sink_block_id>dc_blocker_xx_0</sink_block_id>
<sink_block_id>band_pass_filter_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
......@@ -3810,36 +4227,78 @@ 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_0_0_0</source_block_id>
<sink_block_id>blocks_moving_average_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>analog_sig_source_x_0</source_block_id>
<sink_block_id>blocks_multiply_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>1</sink_key>
</connection>
<connection>
<source_block_id>band_pass_filter_0</source_block_id>
<sink_block_id>dc_blocker_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_delay_0</source_block_id>
<sink_block_id>blocks_multiply_xx_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_float_to_complex_0</source_block_id>
<sink_block_id>blocks_multiply_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_moving_average_xx_0</source_block_id>
<sink_block_id>blocks_vco_c_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_multiply_xx_0</source_block_id>
<sink_block_id>low_pass_filter_1</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_multiply_xx_0_0</source_block_id>
<sink_block_id>low_pass_filter_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_rotator_cc_0</source_block_id>
<sink_block_id>satnogs_coarse_doppler_correction_cc_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blocks_vco_c_0</source_block_id>
<sink_block_id>blocks_multiply_xx_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>1</sink_key>
</connection>
<connection>
<source_block_id>dc_blocker_xx_0</source_block_id>
<sink_block_id>blocks_float_to_complex_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>dc_blocker_xx_0_0</source_block_id>
<sink_block_id>low_pass_filter_2_0</sink_block_id>
<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</sink_block_id>
......@@ -3854,7 +4313,7 @@ max_modulation_freq = 3000</value>
</connection>
<connection>
<source_block_id>digital_clock_recovery_mm_xx_0</source_block_id>
<sink_block_id>satnogs_quad_demod_filter_ff_0</sink_block_id>
<sink_block_id>digital_binary_slicer_fb_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
......@@ -3870,6 +4329,12 @@ max_modulation_freq = 3000</value>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>low_pass_filter_2_0</source_block_id>
<sink_block_id>digital_clock_recovery_mm_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>osmosdr_source_0</source_block_id>
<sink_block_id>blocks_rotator_cc_0</sink_block_id>
......@@ -3878,7 +4343,13 @@ max_modulation_freq = 3000</value>
</connection>
<connection>
<source_block_id>pfb_arb_resampler_xxx_0</source_block_id>
<sink_block_id>low_pass_filter_0</sink_block_id>
<sink_block_id>analog_quadrature_demod_cf_0_0_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>pfb_arb_resampler_xxx_0</source_block_id>
<sink_block_id>blocks_delay_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
......@@ -3924,12 +4395,6 @@ max_modulation_freq = 3000</value>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>satnogs_quad_demod_filter_ff_0</source_block_id>
<sink_block_id>digital_binary_slicer_fb_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>satnogs_tcp_rigctl_msg_source_0</source_block_id>
<sink_block_id>satnogs_coarse_doppler_correction_cc_0</sink_block_id>
......
......@@ -116,11 +116,65 @@
<value>48000</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>comment</key>
<value></value>
</param>
<param>
<key>_enabled</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(455, 35)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>dec</value>
</param>
<param>
<key>value</key>
<value>8</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>comment</key>
<value></value>
</param>
<param>
<key>_enabled</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(359, 35)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>dot_samples</value>
</param>
<param>
<key>value</key>
<value>int((1.2 / wpm) / (1.0 / (audio_samp_rate / 10.0)))</value>
</param>
</block>
<block>
<key>analog_agc2_xx</key>
<param>
<key>attack_rate</key>
<value>0.01</value>
<value>1e-4</value>
</param>
<param>
<key>alias</key>
......@@ -136,7 +190,7 @@
</param>
<param>
<key>decay_rate</key>
<value>0.001</value>
<value>1e-4</value>
</param>
<param>
<key>_enabled</key>
......@@ -144,19 +198,19 @@
</param>
<param>
<key>_coordinate</key>
<value>(1408, 556)</value>
<value>(567, 283)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
<value>0</value>
</param>
<param>
<key>gain</key>
<value>0.0</value>
<value>1.0</value>
</param>
<param>
<key>id</key>
<value>analog_agc2_xx_0_0</value>
<value>analog_agc2_xx_0</value>
</param>
<param>
<key>max_gain</key>
......@@ -172,7 +226,7 @@
</param>
<param>
<key>reference</key>
<value>0.015</value>
<value>1.0</value>
</param>
<param>
<key>type</key>
......@@ -180,7 +234,11 @@
</param>
</block>
<block>
<key>analog_agc_xx</key>
<key>analog_agc2_xx</key>
<param>
<key>attack_rate</key>
<value>0.01</value>
</param>
<param>
<key>alias</key>
<value></value>
......@@ -193,25 +251,29 @@
<key>affinity</key>
<value></value>
</param>
<param>
<key>decay_rate</key>
<value>0.001</value>
</param>
<param>
<key>_enabled</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(1372, 339)</value>
<value>(1408, 556)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
<value>180</value>
</param>
<param>
<key>gain</key>
<value>1.0</value>
<value>0.0</value>
</param>
<param>
<key>id</key>
<value>analog_agc_xx_0</value>
<value>analog_agc2_xx_0_0</value>
</param>
<param>
<key>max_gain</key>
......@@ -225,17 +287,13 @@
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>rate</key>
<value>1e-3</value>
</param>
<param>
<key>reference</key>
<value>1.0</value>
<value>0.015</value>
</param>
<param>
<key>type</key>
<value>float</value>
<value>complex</value>
</param>
</block>
<block>
......@@ -258,7 +316,7 @@
</param>
<param>
<key>_coordinate</key>
<value>(960, 348)</value>
<value>(919, 299)</value>
</param>
<param>
<key>_rotation</key>
......@@ -270,11 +328,11 @@
</param>
<param>
<key>w</key>
<value>2*math.pi/400.0</value>
<value>2*math.pi/100</value>
</param>
<param>
<key>max_freq</key>
<value>2*math.pi*2e3/audio_samp_rate</value>
<value>2*math.pi*2500</value>
</param>
<param>
<key>maxoutbuf</key>
......@@ -282,7 +340,7 @@
</param>
<param>
<key>min_freq</key>
<value>-2*math.pi*2e3/audio_samp_rate</value>
<value>-2*math.pi*2500</value>
</param>
<param>
<key>minoutbuf</key>
......@@ -496,7 +554,7 @@ tone. This tone is typically 1 kHz.</value>
</param>
</block>
<block>
<key>blocks_complex_to_mag_squared</key>
<key>blocks_complex_to_mag</key>
<param>
<key>alias</key>
<value></value>
......@@ -515,15 +573,15 @@ tone. This tone is typically 1 kHz.</value>
</param>
<param>
<key>_coordinate</key>
<value>(1168, 368)</value>
<value>(1630, 479)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
<value>180</value>
</param>
<param>
<key>id</key>
<value>blocks_complex_to_mag_squared_0</value>
<value>blocks_complex_to_mag_0</value>
</param>
<param>
<key>maxoutbuf</key>
......@@ -581,6 +639,104 @@ tone. This tone is typically 1 kHz.</value>
<value>1</value>
</param>
</block>
<block>
<key>blocks_delay</key>
<param>
<key>alias</key>
<value></value>
</param>
<param>
<key>comment</key>
<value></value>
</param>
<param>
<key>affinity</key>
<value></value>
</param>
<param>
<key>delay</key>
<value>int(dot_samples)/dec</value>
</param>
<param>
<key>_enabled</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(1302, 403)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>blocks_delay_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>num_ports</key>
<value>1</value>
</param>
<param>
<key>type</key>
<value>complex</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
</block>
<block>
<key>blocks_multiply_conjugate_cc</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>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(1358, 311)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>blocks_multiply_conjugate_cc_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
</block>
<block>
<key>blocks_multiply_xx</key>
<param>
......@@ -910,6 +1066,61 @@ tone. This tone is typically 1 kHz.</value>
<value>test.txt</value>
</param>
</block>
<block>
<key>fir_filter_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>1</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(1574, 315)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>id</key>
<value>fir_filter_xxx_0</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>samp_delay</key>
<value>0</value>
</param>
<param>
<key>taps</key>
<value>[1.0] * (int(dot_samples)/dec)</value>
</param>
<param>
<key>type</key>
<value>ccc</value>
</param>
</block>
<block>
<key>parameter</key>
<param>
......@@ -1134,7 +1345,7 @@ we shift the LO a little further</value>
</param>
<param>
<key>cutoff_freq</key>
<value>2e3</value>
<value>200</value>
</param>
<param>
<key>decim</key>
......@@ -1150,7 +1361,7 @@ we shift the LO a little further</value>
</param>
<param>
<key>_coordinate</key>
<value>(1268, 179)</value>
<value>(1102, 267)</value>
</param>
<param>
<key>_rotation</key>
......@@ -1178,11 +1389,11 @@ we shift the LO a little further</value>
</param>
<param>
<key>samp_rate</key>
<value>audio_samp_rate</value>
<value>audio_samp_rate/10</value>
</param>
<param>
<key>width</key>
<value>1e3</value>
<value>0.1e3</value>
</param>
<param>
<key>win</key>
......@@ -1201,7 +1412,7 @@ we shift the LO a little further</value>
</param>
<param>
<key>comment</key>
<value>Output samplerate: 20k / 4 = 5k</value>
<value></value>
</param>
<param>
<key>affinity</key>
......@@ -1209,11 +1420,11 @@ we shift the LO a little further</value>
</param>
<param>
<key>cutoff_freq</key>
<value>100</value>
<value>2500</value>
</param>
<param>
<key>decim</key>
<value>4</value>
<value>10</value>
</param>
<param>
<key>_enabled</key>
......@@ -1221,19 +1432,19 @@ we shift the LO a little further</value>
</param>
<param>
<key>type</key>
<value>fir_filter_fff</value>
<value>fir_filter_ccf</value>
</param>
<param>
<key>_coordinate</key>
<value>(1584, 420)</value>
<value>(743, 267)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
<value>0</value>
</param>
<param>
<key>gain</key>
<value>4</value>
<value>1</value>
</param>
<param>
<key>id</key>
......@@ -1257,7 +1468,82 @@ we shift the LO a little further</value>
</param>
<param>
<key>width</key>
<value>100</value>
<value>0.4e3</value>
</param>
<param>
<key>win</key>
<value>firdes.WIN_HAMMING</value>
</param>
</block>
<block>
<key>low_pass_filter</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>cutoff_freq</key>
<value>2500</value>
</param>
<param>
<key>decim</key>
<value>1</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>fir_filter_ccf</value>
</param>
<param>
<key>_coordinate</key>
<value>(1310, 155)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
<param>
<key>gain</key>
<value>1</value>
</param>
<param>
<key>id</key>
<value>low_pass_filter_0_0_0</value>
</param>
<param>
<key>interp</key>
<value>1</value>
</param>
<param>
<key>maxoutbuf</key>
<value>0</value>
</param>
<param>
<key>minoutbuf</key>
<value>0</value>
</param>
<param>
<key>samp_rate</key>
<value>audio_samp_rate</value>
</param>
<param>
<key>width</key>
<value>0.8e3</value>
</param>
<param>
<key>win</key>
......@@ -3067,7 +3353,7 @@ we shift the LO a little further</value>
<key>satnogs_cw_to_symbol</key>
<param>
<key>threshold</key>
<value>0.4</value>
<value>2