diff --git a/apps/flowgraphs/upsat_afsk_receiver.grc b/apps/flowgraphs/upsat_afsk_receiver.grc
new file mode 100644
index 0000000..16c5796
--- /dev/null
+++ b/apps/flowgraphs/upsat_afsk_receiver.grc
@@ -0,0 +1,3376 @@
+
+
+
+ Sun Jun 12 15:05:28 2016
+
+ options
+
+ author
+
+
+
+ window_size
+ 1768,1080
+
+
+ category
+ Custom
+
+
+ comment
+
+
+
+ description
+
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (16, 13)
+
+
+ _rotation
+ 0
+
+
+ generate_options
+ qt_gui
+
+
+ hier_block_src_path
+ .:
+
+
+ id
+ upsat_afsk_receiver
+
+
+ max_nouts
+ 0
+
+
+ qt_qss_theme
+
+
+
+ realtime_scheduling
+
+
+
+ run_command
+ {python} -u {filename}
+
+
+ run_options
+ prompt
+
+
+ run
+ True
+
+
+ thread_safe_setters
+
+
+
+ title
+
+
+
+
+ variable
+
+ comment
+ FSK baud rate
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (656, 13)
+
+
+ _rotation
+ 0
+
+
+ id
+ baud_rate
+
+
+ value
+ 1200
+
+
+
+ variable_qtgui_range
+
+ comment
+
+
+
+ value
+ 0
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (1296, 17)
+
+
+ gui_hint
+
+
+
+ _rotation
+ 0
+
+
+ id
+ bb_gain_rx
+
+
+ label
+ BB Gain RX
+
+
+ min_len
+ 200
+
+
+ orient
+ Qt.Horizontal
+
+
+ start
+ 0
+
+
+ step
+ 0.5
+
+
+ stop
+ 40
+
+
+ rangeType
+ float
+
+
+ widget
+ counter_slider
+
+
+
+ variable
+
+ comment
+ Decimation factor
+for the RX after the
+SDR received samples
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (192, 13)
+
+
+ _rotation
+ 0
+
+
+ id
+ decimation_rx
+
+
+ value
+ 40
+
+
+
+ variable
+
+ comment
+ The FSK frequency deviation
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (472, 13)
+
+
+ _rotation
+ 0
+
+
+ id
+ deviation
+
+
+ value
+ 1.25e3
+
+
+
+ variable_qtgui_range
+
+ comment
+
+
+
+ value
+ 0
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (1184, 17)
+
+
+ gui_hint
+
+
+
+ _rotation
+ 0
+
+
+ id
+ if_gain_rx
+
+
+ label
+ IF Gain RX
+
+
+ min_len
+ 200
+
+
+ orient
+ Qt.Horizontal
+
+
+ start
+ 0
+
+
+ step
+ 0.5
+
+
+ stop
+ 40
+
+
+ rangeType
+ float
+
+
+ widget
+ counter_slider
+
+
+
+ variable
+
+ comment
+ To avoid the SDR carrier at the DC
+we shift the LO a little further
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (896, 13)
+
+
+ _rotation
+ 0
+
+
+ id
+ lo_offset
+
+
+ value
+ 100e3
+
+
+
+ variable
+
+ comment
+
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (8, 213)
+
+
+ _rotation
+ 0
+
+
+ id
+ modulation_index
+
+
+ value
+ deviation / (baud_rate / 2.0)
+
+
+
+ variable_qtgui_range
+
+ comment
+
+
+
+ value
+ 0
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (1072, 17)
+
+
+ gui_hint
+
+
+
+ _rotation
+ 0
+
+
+ id
+ rf_gain_rx
+
+
+ label
+ RF Gain RX
+
+
+ min_len
+ 200
+
+
+ orient
+ Qt.Horizontal
+
+
+ start
+ 0
+
+
+ step
+ 0.5
+
+
+ stop
+ 40
+
+
+ rangeType
+ float
+
+
+ widget
+ counter_slider
+
+
+
+ variable
+
+ comment
+ The RX center frequency
+ of the system
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (760, 13)
+
+
+ _rotation
+ 0
+
+
+ id
+ rx_frequency
+
+
+ value
+ 145.835e6
+
+
+
+ variable
+
+ comment
+
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (16, 117)
+
+
+ _rotation
+ 0
+
+
+ id
+ samp_rate
+
+
+ value
+ samp_rate_rx/decimation_rx
+
+
+
+ variable
+
+ comment
+ SDR device
+TX sampling rate
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (344, 13)
+
+
+ _rotation
+ 0
+
+
+ id
+ samp_rate_rx
+
+
+ value
+ 2.5e6
+
+
+
+ variable_low_pass_filter_taps
+
+ beta
+ 6.76
+
+
+ comment
+
+
+
+ cutoff_freq
+ 20000
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (1416, 18)
+
+
+ _rotation
+ 0
+
+
+ gain
+ 1.0
+
+
+ id
+ taps
+
+
+ samp_rate
+ samp_rate_rx
+
+
+ width
+ 60000
+
+
+ win
+ firdes.WIN_HAMMING
+
+
+
+ analog_quadrature_demod_cf
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (776, 260)
+
+
+ _rotation
+ 0
+
+
+ gain
+ (samp_rate / baud_rate)/(math.pi*modulation_index)
+
+
+ id
+ analog_quadrature_demod_cf_0_0
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+
+ digital_clock_recovery_mm_xx
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (1048, 376)
+
+
+ _rotation
+ 180
+
+
+ gain_mu
+ 0.05
+
+
+ gain_omega
+ 0.25*0.175*0.175
+
+
+ id
+ digital_clock_recovery_mm_xx_0
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ mu
+ 0.5
+
+
+ omega_relative_limit
+ 0.005
+
+
+ omega
+ 4
+
+
+ type
+ float
+
+
+
+ freq_xlating_fir_filter_xxx
+
+ alias
+
+
+
+ center_freq
+ lo_offset
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ decim
+ decimation_rx
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (408, 231)
+
+
+ _rotation
+ 0
+
+
+ id
+ freq_xlating_fir_filter_xxx_0
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ samp_rate
+ samp_rate_rx
+
+
+ taps
+ taps
+
+
+ type
+ ccc
+
+
+
+ import
+
+ alias
+
+
+
+ comment
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (1344, 220)
+
+
+ _rotation
+ 0
+
+
+ id
+ import_0
+
+
+ import
+ import numpy
+
+
+
+ import
+
+ alias
+
+
+
+ comment
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (1344, 164)
+
+
+ _rotation
+ 0
+
+
+ id
+ import_0_0
+
+
+ import
+ import math
+
+
+
+ import
+
+ alias
+
+
+
+ comment
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (1344, 268)
+
+
+ _rotation
+ 0
+
+
+ id
+ import_0_1
+
+
+ import
+ from gnuradio import filter
+
+
+
+ osmosdr_source
+
+ alias
+
+
+
+ ant0
+
+
+
+ bb_gain0
+ bb_gain_rx
+
+
+ bw0
+ samp_rate_rx
+
+
+ dc_offset_mode0
+ 0
+
+
+ corr0
+ 0
+
+
+ freq0
+ rx_frequency - lo_offset
+
+
+ gain_mode0
+ False
+
+
+ if_gain0
+ if_gain_rx
+
+
+ iq_balance_mode0
+ 0
+
+
+ gain0
+ rf_gain_rx
+
+
+ ant10
+
+
+
+ bb_gain10
+ 20
+
+
+ bw10
+ 0
+
+
+ dc_offset_mode10
+ 0
+
+
+ corr10
+ 0
+
+
+ freq10
+ 100e6
+
+
+ gain_mode10
+ False
+
+
+ if_gain10
+ 20
+
+
+ iq_balance_mode10
+ 0
+
+
+ gain10
+ 10
+
+
+ ant11
+
+
+
+ bb_gain11
+ 20
+
+
+ bw11
+ 0
+
+
+ dc_offset_mode11
+ 0
+
+
+ corr11
+ 0
+
+
+ freq11
+ 100e6
+
+
+ gain_mode11
+ False
+
+
+ if_gain11
+ 20
+
+
+ iq_balance_mode11
+ 0
+
+
+ gain11
+ 10
+
+
+ ant12
+
+
+
+ bb_gain12
+ 20
+
+
+ bw12
+ 0
+
+
+ dc_offset_mode12
+ 0
+
+
+ corr12
+ 0
+
+
+ freq12
+ 100e6
+
+
+ gain_mode12
+ False
+
+
+ if_gain12
+ 20
+
+
+ iq_balance_mode12
+ 0
+
+
+ gain12
+ 10
+
+
+ ant13
+
+
+
+ bb_gain13
+ 20
+
+
+ bw13
+ 0
+
+
+ dc_offset_mode13
+ 0
+
+
+ corr13
+ 0
+
+
+ freq13
+ 100e6
+
+
+ gain_mode13
+ False
+
+
+ if_gain13
+ 20
+
+
+ iq_balance_mode13
+ 0
+
+
+ gain13
+ 10
+
+
+ ant14
+
+
+
+ bb_gain14
+ 20
+
+
+ bw14
+ 0
+
+
+ dc_offset_mode14
+ 0
+
+
+ corr14
+ 0
+
+
+ freq14
+ 100e6
+
+
+ gain_mode14
+ False
+
+
+ if_gain14
+ 20
+
+
+ iq_balance_mode14
+ 0
+
+
+ gain14
+ 10
+
+
+ ant15
+
+
+
+ bb_gain15
+ 20
+
+
+ bw15
+ 0
+
+
+ dc_offset_mode15
+ 0
+
+
+ corr15
+ 0
+
+
+ freq15
+ 100e6
+
+
+ gain_mode15
+ False
+
+
+ if_gain15
+ 20
+
+
+ iq_balance_mode15
+ 0
+
+
+ gain15
+ 10
+
+
+ ant16
+
+
+
+ bb_gain16
+ 20
+
+
+ bw16
+ 0
+
+
+ dc_offset_mode16
+ 0
+
+
+ corr16
+ 0
+
+
+ freq16
+ 100e6
+
+
+ gain_mode16
+ False
+
+
+ if_gain16
+ 20
+
+
+ iq_balance_mode16
+ 0
+
+
+ gain16
+ 10
+
+
+ ant17
+
+
+
+ bb_gain17
+ 20
+
+
+ bw17
+ 0
+
+
+ dc_offset_mode17
+ 0
+
+
+ corr17
+ 0
+
+
+ freq17
+ 100e6
+
+
+ gain_mode17
+ False
+
+
+ if_gain17
+ 20
+
+
+ iq_balance_mode17
+ 0
+
+
+ gain17
+ 10
+
+
+ ant18
+
+
+
+ bb_gain18
+ 20
+
+
+ bw18
+ 0
+
+
+ dc_offset_mode18
+ 0
+
+
+ corr18
+ 0
+
+
+ freq18
+ 100e6
+
+
+ gain_mode18
+ False
+
+
+ if_gain18
+ 20
+
+
+ iq_balance_mode18
+ 0
+
+
+ gain18
+ 10
+
+
+ ant19
+
+
+
+ bb_gain19
+ 20
+
+
+ bw19
+ 0
+
+
+ dc_offset_mode19
+ 0
+
+
+ corr19
+ 0
+
+
+ freq19
+ 100e6
+
+
+ gain_mode19
+ False
+
+
+ if_gain19
+ 20
+
+
+ iq_balance_mode19
+ 0
+
+
+ gain19
+ 10
+
+
+ ant1
+
+
+
+ bb_gain1
+ 20
+
+
+ bw1
+ 0
+
+
+ dc_offset_mode1
+ 0
+
+
+ corr1
+ 0
+
+
+ freq1
+ 100e6
+
+
+ gain_mode1
+ False
+
+
+ if_gain1
+ 20
+
+
+ iq_balance_mode1
+ 0
+
+
+ gain1
+ 10
+
+
+ ant20
+
+
+
+ bb_gain20
+ 20
+
+
+ bw20
+ 0
+
+
+ dc_offset_mode20
+ 0
+
+
+ corr20
+ 0
+
+
+ freq20
+ 100e6
+
+
+ gain_mode20
+ False
+
+
+ if_gain20
+ 20
+
+
+ iq_balance_mode20
+ 0
+
+
+ gain20
+ 10
+
+
+ ant21
+
+
+
+ bb_gain21
+ 20
+
+
+ bw21
+ 0
+
+
+ dc_offset_mode21
+ 0
+
+
+ corr21
+ 0
+
+
+ freq21
+ 100e6
+
+
+ gain_mode21
+ False
+
+
+ if_gain21
+ 20
+
+
+ iq_balance_mode21
+ 0
+
+
+ gain21
+ 10
+
+
+ ant22
+
+
+
+ bb_gain22
+ 20
+
+
+ bw22
+ 0
+
+
+ dc_offset_mode22
+ 0
+
+
+ corr22
+ 0
+
+
+ freq22
+ 100e6
+
+
+ gain_mode22
+ False
+
+
+ if_gain22
+ 20
+
+
+ iq_balance_mode22
+ 0
+
+
+ gain22
+ 10
+
+
+ ant23
+
+
+
+ bb_gain23
+ 20
+
+
+ bw23
+ 0
+
+
+ dc_offset_mode23
+ 0
+
+
+ corr23
+ 0
+
+
+ freq23
+ 100e6
+
+
+ gain_mode23
+ False
+
+
+ if_gain23
+ 20
+
+
+ iq_balance_mode23
+ 0
+
+
+ gain23
+ 10
+
+
+ ant24
+
+
+
+ bb_gain24
+ 20
+
+
+ bw24
+ 0
+
+
+ dc_offset_mode24
+ 0
+
+
+ corr24
+ 0
+
+
+ freq24
+ 100e6
+
+
+ gain_mode24
+ False
+
+
+ if_gain24
+ 20
+
+
+ iq_balance_mode24
+ 0
+
+
+ gain24
+ 10
+
+
+ ant25
+
+
+
+ bb_gain25
+ 20
+
+
+ bw25
+ 0
+
+
+ dc_offset_mode25
+ 0
+
+
+ corr25
+ 0
+
+
+ freq25
+ 100e6
+
+
+ gain_mode25
+ False
+
+
+ if_gain25
+ 20
+
+
+ iq_balance_mode25
+ 0
+
+
+ gain25
+ 10
+
+
+ ant26
+
+
+
+ bb_gain26
+ 20
+
+
+ bw26
+ 0
+
+
+ dc_offset_mode26
+ 0
+
+
+ corr26
+ 0
+
+
+ freq26
+ 100e6
+
+
+ gain_mode26
+ False
+
+
+ if_gain26
+ 20
+
+
+ iq_balance_mode26
+ 0
+
+
+ gain26
+ 10
+
+
+ ant27
+
+
+
+ bb_gain27
+ 20
+
+
+ bw27
+ 0
+
+
+ dc_offset_mode27
+ 0
+
+
+ corr27
+ 0
+
+
+ freq27
+ 100e6
+
+
+ gain_mode27
+ False
+
+
+ if_gain27
+ 20
+
+
+ iq_balance_mode27
+ 0
+
+
+ gain27
+ 10
+
+
+ ant28
+
+
+
+ bb_gain28
+ 20
+
+
+ bw28
+ 0
+
+
+ dc_offset_mode28
+ 0
+
+
+ corr28
+ 0
+
+
+ freq28
+ 100e6
+
+
+ gain_mode28
+ False
+
+
+ if_gain28
+ 20
+
+
+ iq_balance_mode28
+ 0
+
+
+ gain28
+ 10
+
+
+ ant29
+
+
+
+ bb_gain29
+ 20
+
+
+ bw29
+ 0
+
+
+ dc_offset_mode29
+ 0
+
+
+ corr29
+ 0
+
+
+ freq29
+ 100e6
+
+
+ gain_mode29
+ False
+
+
+ if_gain29
+ 20
+
+
+ iq_balance_mode29
+ 0
+
+
+ gain29
+ 10
+
+
+ ant2
+
+
+
+ bb_gain2
+ 20
+
+
+ bw2
+ 0
+
+
+ dc_offset_mode2
+ 0
+
+
+ corr2
+ 0
+
+
+ freq2
+ 100e6
+
+
+ gain_mode2
+ False
+
+
+ if_gain2
+ 20
+
+
+ iq_balance_mode2
+ 0
+
+
+ gain2
+ 10
+
+
+ ant30
+
+
+
+ bb_gain30
+ 20
+
+
+ bw30
+ 0
+
+
+ dc_offset_mode30
+ 0
+
+
+ corr30
+ 0
+
+
+ freq30
+ 100e6
+
+
+ gain_mode30
+ False
+
+
+ if_gain30
+ 20
+
+
+ iq_balance_mode30
+ 0
+
+
+ gain30
+ 10
+
+
+ ant31
+
+
+
+ bb_gain31
+ 20
+
+
+ bw31
+ 0
+
+
+ dc_offset_mode31
+ 0
+
+
+ corr31
+ 0
+
+
+ freq31
+ 100e6
+
+
+ gain_mode31
+ False
+
+
+ if_gain31
+ 20
+
+
+ iq_balance_mode31
+ 0
+
+
+ gain31
+ 10
+
+
+ ant3
+
+
+
+ bb_gain3
+ 20
+
+
+ bw3
+ 0
+
+
+ dc_offset_mode3
+ 0
+
+
+ corr3
+ 0
+
+
+ freq3
+ 100e6
+
+
+ gain_mode3
+ False
+
+
+ if_gain3
+ 20
+
+
+ iq_balance_mode3
+ 0
+
+
+ gain3
+ 10
+
+
+ ant4
+
+
+
+ bb_gain4
+ 20
+
+
+ bw4
+ 0
+
+
+ dc_offset_mode4
+ 0
+
+
+ corr4
+ 0
+
+
+ freq4
+ 100e6
+
+
+ gain_mode4
+ False
+
+
+ if_gain4
+ 20
+
+
+ iq_balance_mode4
+ 0
+
+
+ gain4
+ 10
+
+
+ ant5
+
+
+
+ bb_gain5
+ 20
+
+
+ bw5
+ 0
+
+
+ dc_offset_mode5
+ 0
+
+
+ corr5
+ 0
+
+
+ freq5
+ 100e6
+
+
+ gain_mode5
+ False
+
+
+ if_gain5
+ 20
+
+
+ iq_balance_mode5
+ 0
+
+
+ gain5
+ 10
+
+
+ ant6
+
+
+
+ bb_gain6
+ 20
+
+
+ bw6
+ 0
+
+
+ dc_offset_mode6
+ 0
+
+
+ corr6
+ 0
+
+
+ freq6
+ 100e6
+
+
+ gain_mode6
+ False
+
+
+ if_gain6
+ 20
+
+
+ iq_balance_mode6
+ 0
+
+
+ gain6
+ 10
+
+
+ ant7
+
+
+
+ bb_gain7
+ 20
+
+
+ bw7
+ 0
+
+
+ dc_offset_mode7
+ 0
+
+
+ corr7
+ 0
+
+
+ freq7
+ 100e6
+
+
+ gain_mode7
+ False
+
+
+ if_gain7
+ 20
+
+
+ iq_balance_mode7
+ 0
+
+
+ gain7
+ 10
+
+
+ ant8
+
+
+
+ bb_gain8
+ 20
+
+
+ bw8
+ 0
+
+
+ dc_offset_mode8
+ 0
+
+
+ corr8
+ 0
+
+
+ freq8
+ 100e6
+
+
+ gain_mode8
+ False
+
+
+ if_gain8
+ 20
+
+
+ iq_balance_mode8
+ 0
+
+
+ gain8
+ 10
+
+
+ ant9
+
+
+
+ bb_gain9
+ 20
+
+
+ bw9
+ 0
+
+
+ dc_offset_mode9
+ 0
+
+
+ corr9
+ 0
+
+
+ freq9
+ 100e6
+
+
+ gain_mode9
+ False
+
+
+ if_gain9
+ 20
+
+
+ iq_balance_mode9
+ 0
+
+
+ gain9
+ 10
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ args
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (144, 173)
+
+
+ _rotation
+ 0
+
+
+ id
+ osmosdr_source_0
+
+
+ maxoutbuf
+ 0
+
+
+ clock_source0
+
+
+
+ time_source0
+
+
+
+ clock_source1
+
+
+
+ time_source1
+
+
+
+ clock_source2
+
+
+
+ time_source2
+
+
+
+ clock_source3
+
+
+
+ time_source3
+
+
+
+ clock_source4
+
+
+
+ time_source4
+
+
+
+ clock_source5
+
+
+
+ time_source5
+
+
+
+ clock_source6
+
+
+
+ time_source6
+
+
+
+ clock_source7
+
+
+
+ time_source7
+
+
+
+ minoutbuf
+ 0
+
+
+ nchan
+ 1
+
+
+ num_mboards
+ 1
+
+
+ type
+ fc32
+
+
+ sample_rate
+ samp_rate_rx
+
+
+ sync
+
+
+
+
+ pfb_arb_resampler_xxx
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ True
+
+
+ _coordinate
+ (992, 239)
+
+
+ _rotation
+ 0
+
+
+ id
+ pfb_arb_resampler_xxx_0
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ nfilts
+ 32
+
+
+ rrate
+ (4.0*baud_rate) / samp_rate
+
+
+ samp_delay
+ 0
+
+
+ atten
+ 60
+
+
+ taps
+ firdes.low_pass_2(32, 32, 0.8, 0.1, 60)
+
+
+ type
+ fff
+
+
+
+ qtgui_freq_sink_x
+
+ autoscale
+ False
+
+
+ average
+ 1.0
+
+
+ bw
+ samp_rate
+
+
+ alias
+
+
+
+ fc
+ 0
+
+
+ comment
+
+
+
+ ctrlpanel
+ True
+
+
+ affinity
+
+
+
+ _enabled
+ 1
+
+
+ fftsize
+ 1024
+
+
+ _coordinate
+ (824, 182)
+
+
+ gui_hint
+
+
+
+ _rotation
+ 0
+
+
+ grid
+ True
+
+
+ id
+ qtgui_freq_sink_x_0
+
+
+ legend
+ True
+
+
+ alpha1
+ 1.0
+
+
+ color1
+ "blue"
+
+
+ label1
+
+
+
+ width1
+ 1
+
+
+ alpha10
+ 1.0
+
+
+ color10
+ "dark blue"
+
+
+ label10
+
+
+
+ width10
+ 1
+
+
+ alpha2
+ 1.0
+
+
+ color2
+ "red"
+
+
+ label2
+
+
+
+ width2
+ 1
+
+
+ alpha3
+ 1.0
+
+
+ color3
+ "green"
+
+
+ label3
+
+
+
+ width3
+ 1
+
+
+ alpha4
+ 1.0
+
+
+ color4
+ "black"
+
+
+ label4
+
+
+
+ width4
+ 1
+
+
+ alpha5
+ 1.0
+
+
+ color5
+ "cyan"
+
+
+ label5
+
+
+
+ width5
+ 1
+
+
+ alpha6
+ 1.0
+
+
+ color6
+ "magenta"
+
+
+ label6
+
+
+
+ width6
+ 1
+
+
+ alpha7
+ 1.0
+
+
+ color7
+ "yellow"
+
+
+ label7
+
+
+
+ width7
+ 1
+
+
+ alpha8
+ 1.0
+
+
+ color8
+ "dark red"
+
+
+ label8
+
+
+
+ width8
+ 1
+
+
+ alpha9
+ 1.0
+
+
+ color9
+ "dark green"
+
+
+ label9
+
+
+
+ width9
+ 1
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ name
+ ""
+
+
+ nconnections
+ 1
+
+
+ showports
+ True
+
+
+ freqhalf
+ True
+
+
+ tr_chan
+ 0
+
+
+ tr_level
+ 0.0
+
+
+ tr_mode
+ qtgui.TRIG_MODE_FREE
+
+
+ tr_tag
+ ""
+
+
+ type
+ complex
+
+
+ update_time
+ 0.01
+
+
+ wintype
+ firdes.WIN_BLACKMAN_hARRIS
+
+
+ ymax
+ 10
+
+
+ ymin
+ -140
+
+
+
+ qtgui_time_sink_x
+
+ autoscale
+ False
+
+
+ alias
+
+
+
+ comment
+
+
+
+ ctrlpanel
+ True
+
+
+ affinity
+
+
+
+ entags
+ True
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (800, 486)
+
+
+ gui_hint
+
+
+
+ _rotation
+ 180
+
+
+ grid
+ False
+
+
+ id
+ qtgui_time_sink_x_0
+
+
+ legend
+ True
+
+
+ alpha1
+ 1.0
+
+
+ color1
+ "blue"
+
+
+ label1
+
+
+
+ marker1
+ 2
+
+
+ style1
+ 1
+
+
+ width1
+ 1
+
+
+ alpha10
+ 1.0
+
+
+ color10
+ "blue"
+
+
+ label10
+
+
+
+ marker10
+ -1
+
+
+ style10
+ 1
+
+
+ width10
+ 1
+
+
+ alpha2
+ 1.0
+
+
+ color2
+ "red"
+
+
+ label2
+
+
+
+ marker2
+ -1
+
+
+ style2
+ 1
+
+
+ width2
+ 1
+
+
+ alpha3
+ 1.0
+
+
+ color3
+ "green"
+
+
+ label3
+
+
+
+ marker3
+ -1
+
+
+ style3
+ 1
+
+
+ width3
+ 1
+
+
+ alpha4
+ 1.0
+
+
+ color4
+ "black"
+
+
+ label4
+
+
+
+ marker4
+ -1
+
+
+ style4
+ 1
+
+
+ width4
+ 1
+
+
+ alpha5
+ 1.0
+
+
+ color5
+ "cyan"
+
+
+ label5
+
+
+
+ marker5
+ -1
+
+
+ style5
+ 1
+
+
+ width5
+ 1
+
+
+ alpha6
+ 1.0
+
+
+ color6
+ "magenta"
+
+
+ label6
+
+
+
+ marker6
+ -1
+
+
+ style6
+ 1
+
+
+ width6
+ 1
+
+
+ alpha7
+ 1.0
+
+
+ color7
+ "yellow"
+
+
+ label7
+
+
+
+ marker7
+ -1
+
+
+ style7
+ 1
+
+
+ width7
+ 1
+
+
+ alpha8
+ 1.0
+
+
+ color8
+ "dark red"
+
+
+ label8
+
+
+
+ marker8
+ -1
+
+
+ style8
+ 1
+
+
+ width8
+ 1
+
+
+ alpha9
+ 1.0
+
+
+ color9
+ "dark green"
+
+
+ label9
+
+
+
+ marker9
+ -1
+
+
+ style9
+ 1
+
+
+ width9
+ 1
+
+
+ name
+ "Clock Recovery"
+
+
+ nconnections
+ 1
+
+
+ size
+ 1024
+
+
+ srate
+ baud_rate
+
+
+ tr_chan
+ 0
+
+
+ tr_delay
+ 0
+
+
+ tr_level
+ 0.0
+
+
+ tr_mode
+ qtgui.TRIG_MODE_FREE
+
+
+ tr_slope
+ qtgui.TRIG_SLOPE_POS
+
+
+ tr_tag
+ ""
+
+
+ type
+ float
+
+
+ update_time
+ 0.10
+
+
+ ylabel
+ Amplitude
+
+
+ yunit
+ ""
+
+
+ ymax
+ 1
+
+
+ ymin
+ -1
+
+
+
+ qtgui_waterfall_sink_x
+
+ bw
+ samp_rate
+
+
+ alias
+
+
+
+ fc
+ 0
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 1
+
+
+ fftsize
+ 4096
+
+
+ _coordinate
+ (680, 134)
+
+
+ gui_hint
+
+
+
+ _rotation
+ 0
+
+
+ grid
+ True
+
+
+ id
+ qtgui_waterfall_sink_x_0
+
+
+ int_max
+ 10
+
+
+ int_min
+ -140
+
+
+ legend
+ True
+
+
+ alpha1
+ 1.0
+
+
+ color1
+ 0
+
+
+ label1
+
+
+
+ alpha10
+ 1.0
+
+
+ color10
+ 0
+
+
+ label10
+
+
+
+ alpha2
+ 1.0
+
+
+ color2
+ 0
+
+
+ label2
+
+
+
+ alpha3
+ 1.0
+
+
+ color3
+ 0
+
+
+ label3
+
+
+
+ alpha4
+ 1.0
+
+
+ color4
+ 0
+
+
+ label4
+
+
+
+ alpha5
+ 1.0
+
+
+ color5
+ 0
+
+
+ label5
+
+
+
+ alpha6
+ 1.0
+
+
+ color6
+ 0
+
+
+ label6
+
+
+
+ alpha7
+ 1.0
+
+
+ color7
+ 0
+
+
+ label7
+
+
+
+ alpha8
+ 1.0
+
+
+ color8
+ 0
+
+
+ label8
+
+
+
+ alpha9
+ 1.0
+
+
+ color9
+ 0
+
+
+ label9
+
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ name
+ ""
+
+
+ nconnections
+ 1
+
+
+ showports
+ True
+
+
+ freqhalf
+ True
+
+
+ type
+ complex
+
+
+ update_time
+ 0.05
+
+
+ wintype
+ firdes.WIN_BLACKMAN_hARRIS
+
+
+
+ satnogs_multi_format_msg_sink
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (344, 380)
+
+
+ _rotation
+ 180
+
+
+ id
+ satnogs_multi_format_msg_sink_0
+
+
+ format
+ 0
+
+
+
+ satnogs_multi_format_msg_sink
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (400, 596)
+
+
+ _rotation
+ 180
+
+
+ id
+ satnogs_multi_format_msg_sink_0_0
+
+
+ format
+ 1
+
+
+
+ satnogs_udp_msg_sink
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 1
+
+
+ _coordinate
+ (360, 478)
+
+
+ _rotation
+ 180
+
+
+ id
+ satnogs_udp_msg_sink_0
+
+
+ addr
+ "10.2.110.42"
+
+
+ mtu
+ 1500
+
+
+ port
+ 16886
+
+
+
+ satnogs_upsat_fsk_frame_acquisition
+
+ alias
+
+
+
+ check_crc
+ False
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 1
+
+
+ preamble
+ [0x33]*8
+
+
+ _coordinate
+ (640, 369)
+
+
+ _rotation
+ 180
+
+
+ id
+ satnogs_upsat_fsk_frame_acquisition_0
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ sync_word
+ [0x7A, 0x0E]
+
+
+ ax_25
+ True
+
+
+ manchester
+ False
+
+
+ whitening
+ False
+
+
+
+ analog_quadrature_demod_cf_0_0
+ pfb_arb_resampler_xxx_0
+ 0
+ 0
+
+
+ digital_clock_recovery_mm_xx_0
+ qtgui_time_sink_x_0
+ 0
+ 0
+
+
+ digital_clock_recovery_mm_xx_0
+ satnogs_upsat_fsk_frame_acquisition_0
+ 0
+ 0
+
+
+ freq_xlating_fir_filter_xxx_0
+ analog_quadrature_demod_cf_0_0
+ 0
+ 0
+
+
+ freq_xlating_fir_filter_xxx_0
+ qtgui_freq_sink_x_0
+ 0
+ 0
+
+
+ freq_xlating_fir_filter_xxx_0
+ qtgui_waterfall_sink_x_0
+ 0
+ 0
+
+
+ osmosdr_source_0
+ freq_xlating_fir_filter_xxx_0
+ 0
+ 0
+
+
+ pfb_arb_resampler_xxx_0
+ digital_clock_recovery_mm_xx_0
+ 0
+ 0
+
+
+ satnogs_upsat_fsk_frame_acquisition_0
+ satnogs_multi_format_msg_sink_0
+ pdu
+ in
+
+
+ satnogs_upsat_fsk_frame_acquisition_0
+ satnogs_multi_format_msg_sink_0_0
+ pdu
+ in
+
+
+ satnogs_upsat_fsk_frame_acquisition_0
+ satnogs_udp_msg_sink_0
+ pdu
+ in
+
+
diff --git a/apps/flowgraphs/upsat_afsk_transmitter.grc b/apps/flowgraphs/upsat_afsk_transmitter.grc
index 9bea6ba..4c93f3c 100644
--- a/apps/flowgraphs/upsat_afsk_transmitter.grc
+++ b/apps/flowgraphs/upsat_afsk_transmitter.grc
@@ -89,7 +89,7 @@
value
- 0.9
+ 0.5
_enabled
@@ -97,7 +97,7 @@
_coordinate
- (760, 9)
+ (744, 9)
gui_hint
@@ -195,7 +195,7 @@
value
- 1.19e3
+ 1.25e3
@@ -335,7 +335,7 @@ is too great and becomes a bottlneck.
_coordinate
- (1144, 258)
+ (1264, 180)
_rotation
@@ -370,7 +370,7 @@ is too great and becomes a bottlneck.
const
- -atten
+ atten
affinity
@@ -409,6 +409,787 @@ is too great and becomes a bottlneck.
1
+
+ digital_clock_recovery_mm_xx
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 0
+
+
+ _coordinate
+ (992, 552)
+
+
+ _rotation
+ 180
+
+
+ gain_mu
+ 0.05
+
+
+ gain_omega
+ 0.25*0.175*0.175
+
+
+ id
+ digital_clock_recovery_mm_xx_0
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ mu
+ 0.5
+
+
+ omega_relative_limit
+ 0.005
+
+
+ omega
+ 8.0
+
+
+ type
+ float
+
+
+
+ qtgui_time_sink_x
+
+ autoscale
+ False
+
+
+ alias
+
+
+
+ comment
+
+
+
+ ctrlpanel
+ True
+
+
+ affinity
+
+
+
+ entags
+ True
+
+
+ _enabled
+ 0
+
+
+ _coordinate
+ (1000, 414)
+
+
+ gui_hint
+
+
+
+ _rotation
+ 0
+
+
+ grid
+ False
+
+
+ id
+ qtgui_time_sink_x_0
+
+
+ legend
+ True
+
+
+ alpha1
+ 1.0
+
+
+ color1
+ "blue"
+
+
+ label1
+
+
+
+ marker1
+ 2
+
+
+ style1
+ 1
+
+
+ width1
+ 1
+
+
+ alpha10
+ 1.0
+
+
+ color10
+ "blue"
+
+
+ label10
+
+
+
+ marker10
+ -1
+
+
+ style10
+ 1
+
+
+ width10
+ 1
+
+
+ alpha2
+ 1.0
+
+
+ color2
+ "red"
+
+
+ label2
+
+
+
+ marker2
+ -1
+
+
+ style2
+ 1
+
+
+ width2
+ 1
+
+
+ alpha3
+ 1.0
+
+
+ color3
+ "green"
+
+
+ label3
+
+
+
+ marker3
+ -1
+
+
+ style3
+ 1
+
+
+ width3
+ 1
+
+
+ alpha4
+ 1.0
+
+
+ color4
+ "black"
+
+
+ label4
+
+
+
+ marker4
+ -1
+
+
+ style4
+ 1
+
+
+ width4
+ 1
+
+
+ alpha5
+ 1.0
+
+
+ color5
+ "cyan"
+
+
+ label5
+
+
+
+ marker5
+ -1
+
+
+ style5
+ 1
+
+
+ width5
+ 1
+
+
+ alpha6
+ 1.0
+
+
+ color6
+ "magenta"
+
+
+ label6
+
+
+
+ marker6
+ -1
+
+
+ style6
+ 1
+
+
+ width6
+ 1
+
+
+ alpha7
+ 1.0
+
+
+ color7
+ "yellow"
+
+
+ label7
+
+
+
+ marker7
+ -1
+
+
+ style7
+ 1
+
+
+ width7
+ 1
+
+
+ alpha8
+ 1.0
+
+
+ color8
+ "dark red"
+
+
+ label8
+
+
+
+ marker8
+ -1
+
+
+ style8
+ 1
+
+
+ width8
+ 1
+
+
+ alpha9
+ 1.0
+
+
+ color9
+ "dark green"
+
+
+ label9
+
+
+
+ marker9
+ -1
+
+
+ style9
+ 1
+
+
+ width9
+ 1
+
+
+ name
+ ""
+
+
+ nconnections
+ 1
+
+
+ size
+ 1024
+
+
+ srate
+ baud_rate
+
+
+ tr_chan
+ 0
+
+
+ tr_delay
+ 0
+
+
+ tr_level
+ 0.0
+
+
+ tr_mode
+ qtgui.TRIG_MODE_FREE
+
+
+ tr_slope
+ qtgui.TRIG_SLOPE_POS
+
+
+ tr_tag
+ ""
+
+
+ type
+ float
+
+
+ update_time
+ 0.10
+
+
+ ylabel
+ Amplitude
+
+
+ yunit
+ ""
+
+
+ ymax
+ 1
+
+
+ ymin
+ -1
+
+
+
+ qtgui_time_sink_x
+
+ autoscale
+ False
+
+
+ alias
+
+
+
+ comment
+
+
+
+ ctrlpanel
+ True
+
+
+ affinity
+
+
+
+ entags
+ True
+
+
+ _enabled
+ 0
+
+
+ _coordinate
+ (1208, 350)
+
+
+ gui_hint
+
+
+
+ _rotation
+ 0
+
+
+ grid
+ False
+
+
+ id
+ qtgui_time_sink_x_0_0
+
+
+ legend
+ True
+
+
+ alpha1
+ 1.0
+
+
+ color1
+ "blue"
+
+
+ label1
+
+
+
+ marker1
+ 2
+
+
+ style1
+ 1
+
+
+ width1
+ 1
+
+
+ alpha10
+ 1.0
+
+
+ color10
+ "blue"
+
+
+ label10
+
+
+
+ marker10
+ -1
+
+
+ style10
+ 1
+
+
+ width10
+ 1
+
+
+ alpha2
+ 1.0
+
+
+ color2
+ "red"
+
+
+ label2
+
+
+
+ marker2
+ -1
+
+
+ style2
+ 1
+
+
+ width2
+ 1
+
+
+ alpha3
+ 1.0
+
+
+ color3
+ "green"
+
+
+ label3
+
+
+
+ marker3
+ -1
+
+
+ style3
+ 1
+
+
+ width3
+ 1
+
+
+ alpha4
+ 1.0
+
+
+ color4
+ "black"
+
+
+ label4
+
+
+
+ marker4
+ -1
+
+
+ style4
+ 1
+
+
+ width4
+ 1
+
+
+ alpha5
+ 1.0
+
+
+ color5
+ "cyan"
+
+
+ label5
+
+
+
+ marker5
+ -1
+
+
+ style5
+ 1
+
+
+ width5
+ 1
+
+
+ alpha6
+ 1.0
+
+
+ color6
+ "magenta"
+
+
+ label6
+
+
+
+ marker6
+ -1
+
+
+ style6
+ 1
+
+
+ width6
+ 1
+
+
+ alpha7
+ 1.0
+
+
+ color7
+ "yellow"
+
+
+ label7
+
+
+
+ marker7
+ -1
+
+
+ style7
+ 1
+
+
+ width7
+ 1
+
+
+ alpha8
+ 1.0
+
+
+ color8
+ "dark red"
+
+
+ label8
+
+
+
+ marker8
+ -1
+
+
+ style8
+ 1
+
+
+ width8
+ 1
+
+
+ alpha9
+ 1.0
+
+
+ color9
+ "dark green"
+
+
+ label9
+
+
+
+ marker9
+ -1
+
+
+ style9
+ 1
+
+
+ width9
+ 1
+
+
+ name
+ ""
+
+
+ nconnections
+ 1
+
+
+ size
+ 1024
+
+
+ srate
+ samp_rate_tx
+
+
+ tr_chan
+ 0
+
+
+ tr_delay
+ 0
+
+
+ tr_level
+ 0.0
+
+
+ tr_mode
+ qtgui.TRIG_MODE_FREE
+
+
+ tr_slope
+ qtgui.TRIG_SLOPE_POS
+
+
+ tr_tag
+ ""
+
+
+ type
+ float
+
+
+ update_time
+ 0.10
+
+
+ ylabel
+ Amplitude
+
+
+ yunit
+ ""
+
+
+ ymax
+ 1
+
+
+ ymin
+ -1
+
+
rational_resampler_xxx
@@ -468,6 +1249,65 @@ is too great and becomes a bottlneck.
fff
+
+ rational_resampler_xxx
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ decim
+ 5
+
+
+ _enabled
+ 0
+
+
+ fbw
+ 0
+
+
+ _coordinate
+ (1232, 559)
+
+
+ _rotation
+ 180
+
+
+ id
+ rational_resampler_xxx_0_0
+
+
+ interp
+ 1
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ taps
+
+
+
+ type
+ fff
+
+
satnogs_debug_msg_source
@@ -508,7 +1348,7 @@ is too great and becomes a bottlneck.
msg
- "HELLO"
+ "HELLO"*4
minoutbuf
@@ -519,6 +1359,41 @@ is too great and becomes a bottlneck.
True
+
+ satnogs_multi_format_msg_sink
+
+ alias
+
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 0
+
+
+ _coordinate
+ (424, 452)
+
+
+ _rotation
+ 180
+
+
+ id
+ satnogs_multi_format_msg_sink_0
+
+
+ format
+ 0
+
+
satnogs_udp_msg_source
@@ -541,7 +1416,7 @@ similar to produce dynamic payloads.
_coordinate
- (192, 382)
+ (136, 366)
_rotation
@@ -572,6 +1447,69 @@ similar to produce dynamic payloads.
16886
+
+ satnogs_upsat_fsk_frame_acquisition
+
+ alias
+
+
+
+ check_crc
+ False
+
+
+ comment
+
+
+
+ affinity
+
+
+
+ _enabled
+ 0
+
+
+ preamble
+ [0x33]*8
+
+
+ _coordinate
+ (672, 417)
+
+
+ _rotation
+ 180
+
+
+ id
+ satnogs_upsat_fsk_frame_acquisition_0
+
+
+ maxoutbuf
+ 0
+
+
+ minoutbuf
+ 0
+
+
+ sync_word
+ [0x7A, 0x0E]
+
+
+ ax_25
+ True
+
+
+ manchester
+ False
+
+
+ whitening
+ False
+
+
satnogs_upsat_fsk_frame_encoder
@@ -665,12 +1603,42 @@ similar to produce dynamic payloads.
0
0
+
+ blocks_multiply_const_vxx_0
+ qtgui_time_sink_x_0_0
+ 0
+ 0
+
+
+ blocks_multiply_const_vxx_0
+ rational_resampler_xxx_0_0
+ 0
+ 0
+
+
+ digital_clock_recovery_mm_xx_0
+ qtgui_time_sink_x_0
+ 0
+ 0
+
+
+ digital_clock_recovery_mm_xx_0
+ satnogs_upsat_fsk_frame_acquisition_0
+ 0
+ 0
+
rational_resampler_xxx_0
blocks_multiply_const_vxx_0
0
0
+
+ rational_resampler_xxx_0_0
+ digital_clock_recovery_mm_xx_0
+ 0
+ 0
+
satnogs_debug_msg_source_0
satnogs_upsat_fsk_frame_encoder_0
@@ -683,6 +1651,12 @@ similar to produce dynamic payloads.
msg
pdu
+
+ satnogs_upsat_fsk_frame_acquisition_0
+ satnogs_multi_format_msg_sink_0
+ pdu
+ in
+
satnogs_upsat_fsk_frame_encoder_0
rational_resampler_xxx_0