<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
<timestamp>Sun Jul 15 15:11:20 2012</timestamp>
<block>
<key>options</key>
<param>
<key>id</key>
<value>top_block</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>title</key>
<value></value>
</param>
<param>
<key>author</key>
<value></value>
</param>
<param>
<key>description</key>
<value></value>
</param>
<param>
<key>window_size</key>
<value>1280, 1024</value>
</param>
<param>
<key>generate_options</key>
<value>qt_gui</value>
</param>
<param>
<key>category</key>
<value>Custom</value>
</param>
<param>
<key>run_options</key>
<value>prompt</value>
</param>
<param>
<key>run</key>
<value>True</value>
</param>
<param>
<key>realtime_scheduling</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
<value>(10, 10)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>gr_complex_to_float</key>
<param>
<key>id</key>
<value>gr_complex_to_float_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(771, 414)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>digital_binary_slicer_fb</key>
<param>
<key>id</key>
<value>digital_binary_slicer_fb_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(1027, 391)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>samp_rate</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>250e3</value>
</param>
<param>
<key>_coordinate</key>
<value>(183, 14)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>xlate_filter_taps</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>firdes.low_pass(1, samp_rate, samp_rate/2, 25000, firdes.WIN_HAMMING, 6.76)</value>
</param>
<param>
<key>_coordinate</key>
<value>(397, 17)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>uhd_usrp_source</key>
<param>
<key>id</key>
<value>uhd_usrp_source_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>fc32</value>
</param>
<param>
<key>otw</key>
<value></value>
</param>
<param>
<key>stream_args</key>
<value></value>
</param>
<param>
<key>dev_addr</key>
<value></value>
</param>
<param>
<key>sync</key>
<value></value>
</param>
<param>
<key>clock_rate</key>
<value>0.0</value>
</param>
<param>
<key>num_mboards</key>
<value>1</value>
</param>
<param>
<key>clock_source0</key>
<value></value>
</param>
<param>
<key>time_source0</key>
<value></value>
</param>
<param>
<key>sd_spec0</key>
<value>A:0</value>
</param>
<param>
<key>clock_source1</key>
<value></value>
</param>
<param>
<key>time_source1</key>
<value></value>
</param>
<param>
<key>sd_spec1</key>
<value></value>
</param>
<param>
<key>clock_source2</key>
<value></value>
</param>
<param>
<key>time_source2</key>
<value></value>
</param>
<param>
<key>sd_spec2</key>
<value></value>
</param>
<param>
<key>clock_source3</key>
<value></value>
</param>
<param>
<key>time_source3</key>
<value></value>
</param>
<param>
<key>sd_spec3</key>
<value></value>
</param>
<param>
<key>clock_source4</key>
<value></value>
</param>
<param>
<key>time_source4</key>
<value></value>
</param>
<param>
<key>sd_spec4</key>
<value></value>
</param>
<param>
<key>clock_source5</key>
<value></value>
</param>
<param>
<key>time_source5</key>
<value></value>
</param>
<param>
<key>sd_spec5</key>
<value></value>
</param>
<param>
<key>clock_source6</key>
<value></value>
</param>
<param>
<key>time_source6</key>
<value></value>
</param>
<param>
<key>sd_spec6</key>
<value></value>
</param>
<param>
<key>clock_source7</key>
<value></value>
</param>
<param>
<key>time_source7</key>
<value></value>
</param>
<param>
<key>sd_spec7</key>
<value></value>
</param>
<param>
<key>nchan</key>
<value>1</value>
</param>
<param>
<key>samp_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>center_freq0</key>
<value>144360000</value>
</param>
<param>
<key>gain0</key>
<value>25</value>
</param>
<param>
<key>ant0</key>
<value>RX2</value>
</param>
<param>
<key>bw0</key>
<value>0</value>
</param>
<param>
<key>center_freq1</key>
<value>0</value>
</param>
<param>
<key>gain1</key>
<value>0</value>
</param>
<param>
<key>ant1</key>
<value></value>
</param>
<param>
<key>bw1</key>
<value>0</value>
</param>
<param>
<key>center_freq2</key>
<value>0</value>
</param>
<param>
<key>gain2</key>
<value>0</value>
</param>
<param>
<key>ant2</key>
<value></value>
</param>
<param>
<key>bw2</key>
<value>0</value>
</param>
<param>
<key>center_freq3</key>
<value>0</value>
</param>
<param>
<key>gain3</key>
<value>0</value>
</param>
<param>
<key>ant3</key>
<value></value>
</param>
<param>
<key>bw3</key>
<value>0</value>
</param>
<param>
<key>center_freq4</key>
<value>0</value>
</param>
<param>
<key>gain4</key>
<value>0</value>
</param>
<param>
<key>ant4</key>
<value></value>
</param>
<param>
<key>bw4</key>
<value>0</value>
</param>
<param>
<key>center_freq5</key>
<value>0</value>
</param>
<param>
<key>gain5</key>
<value>0</value>
</param>
<param>
<key>ant5</key>
<value></value>
</param>
<param>
<key>bw5</key>
<value>0</value>
</param>
<param>
<key>center_freq6</key>
<value>0</value>
</param>
<param>
<key>gain6</key>
<value>0</value>
</param>
<param>
<key>ant6</key>
<value></value>
</param>
<param>
<key>bw6</key>
<value>0</value>
</param>
<param>
<key>center_freq7</key>
<value>0</value>
</param>
<param>
<key>gain7</key>
<value>0</value>
</param>
<param>
<key>ant7</key>
<value></value>
</param>
<param>
<key>bw7</key>
<value>0</value>
</param>
<param>
<key>center_freq8</key>
<value>0</value>
</param>
<param>
<key>gain8</key>
<value>0</value>
</param>
<param>
<key>ant8</key>
<value></value>
</param>
<param>
<key>bw8</key>
<value>0</value>
</param>
<param>
<key>center_freq9</key>
<value>0</value>
</param>
<param>
<key>gain9</key>
<value>0</value>
</param>
<param>
<key>ant9</key>
<value></value>
</param>
<param>
<key>bw9</key>
<value>0</value>
</param>
<param>
<key>center_freq10</key>
<value>0</value>
</param>
<param>
<key>gain10</key>
<value>0</value>
</param>
<param>
<key>ant10</key>
<value></value>
</param>
<param>
<key>bw10</key>
<value>0</value>
</param>
<param>
<key>center_freq11</key>
<value>0</value>
</param>
<param>
<key>gain11</key>
<value>0</value>
</param>
<param>
<key>ant11</key>
<value></value>
</param>
<param>
<key>bw11</key>
<value>0</value>
</param>
<param>
<key>center_freq12</key>
<value>0</value>
</param>
<param>
<key>gain12</key>
<value>0</value>
</param>
<param>
<key>ant12</key>
<value></value>
</param>
<param>
<key>bw12</key>
<value>0</value>
</param>
<param>
<key>center_freq13</key>
<value>0</value>
</param>
<param>
<key>gain13</key>
<value>0</value>
</param>
<param>
<key>ant13</key>
<value></value>
</param>
<param>
<key>bw13</key>
<value>0</value>
</param>
<param>
<key>center_freq14</key>
<value>0</value>
</param>
<param>
<key>gain14</key>
<value>0</value>
</param>
<param>
<key>ant14</key>
<value></value>
</param>
<param>
<key>bw14</key>
<value>0</value>
</param>
<param>
<key>center_freq15</key>
<value>0</value>
</param>
<param>
<key>gain15</key>
<value>0</value>
</param>
<param>
<key>ant15</key>
<value></value>
</param>
<param>
<key>bw15</key>
<value>0</value>
</param>
<param>
<key>center_freq16</key>
<value>0</value>
</param>
<param>
<key>gain16</key>
<value>0</value>
</param>
<param>
<key>ant16</key>
<value></value>
</param>
<param>
<key>bw16</key>
<value>0</value>
</param>
<param>
<key>center_freq17</key>
<value>0</value>
</param>
<param>
<key>gain17</key>
<value>0</value>
</param>
<param>
<key>ant17</key>
<value></value>
</param>
<param>
<key>bw17</key>
<value>0</value>
</param>
<param>
<key>center_freq18</key>
<value>0</value>
</param>
<param>
<key>gain18</key>
<value>0</value>
</param>
<param>
<key>ant18</key>
<value></value>
</param>
<param>
<key>bw18</key>
<value>0</value>
</param>
<param>
<key>center_freq19</key>
<value>0</value>
</param>
<param>
<key>gain19</key>
<value>0</value>
</param>
<param>
<key>ant19</key>
<value></value>
</param>
<param>
<key>bw19</key>
<value>0</value>
</param>
<param>
<key>center_freq20</key>
<value>0</value>
</param>
<param>
<key>gain20</key>
<value>0</value>
</param>
<param>
<key>ant20</key>
<value></value>
</param>
<param>
<key>bw20</key>
<value>0</value>
</param>
<param>
<key>center_freq21</key>
<value>0</value>
</param>
<param>
<key>gain21</key>
<value>0</value>
</param>
<param>
<key>ant21</key>
<value></value>
</param>
<param>
<key>bw21</key>
<value>0</value>
</param>
<param>
<key>center_freq22</key>
<value>0</value>
</param>
<param>
<key>gain22</key>
<value>0</value>
</param>
<param>
<key>ant22</key>
<value></value>
</param>
<param>
<key>bw22</key>
<value>0</value>
</param>
<param>
<key>center_freq23</key>
<value>0</value>
</param>
<param>
<key>gain23</key>
<value>0</value>
</param>
<param>
<key>ant23</key>
<value></value>
</param>
<param>
<key>bw23</key>
<value>0</value>
</param>
<param>
<key>center_freq24</key>
<value>0</value>
</param>
<param>
<key>gain24</key>
<value>0</value>
</param>
<param>
<key>ant24</key>
<value></value>
</param>
<param>
<key>bw24</key>
<value>0</value>
</param>
<param>
<key>center_freq25</key>
<value>0</value>
</param>
<param>
<key>gain25</key>
<value>0</value>
</param>
<param>
<key>ant25</key>
<value></value>
</param>
<param>
<key>bw25</key>
<value>0</value>
</param>
<param>
<key>center_freq26</key>
<value>0</value>
</param>
<param>
<key>gain26</key>
<value>0</value>
</param>
<param>
<key>ant26</key>
<value></value>
</param>
<param>
<key>bw26</key>
<value>0</value>
</param>
<param>
<key>center_freq27</key>
<value>0</value>
</param>
<param>
<key>gain27</key>
<value>0</value>
</param>
<param>
<key>ant27</key>
<value></value>
</param>
<param>
<key>bw27</key>
<value>0</value>
</param>
<param>
<key>center_freq28</key>
<value>0</value>
</param>
<param>
<key>gain28</key>
<value>0</value>
</param>
<param>
<key>ant28</key>
<value></value>
</param>
<param>
<key>bw28</key>
<value>0</value>
</param>
<param>
<key>center_freq29</key>
<value>0</value>
</param>
<param>
<key>gain29</key>
<value>0</value>
</param>
<param>
<key>ant29</key>
<value></value>
</param>
<param>
<key>bw29</key>
<value>0</value>
</param>
<param>
<key>center_freq30</key>
<value>0</value>
</param>
<param>
<key>gain30</key>
<value>0</value>
</param>
<param>
<key>ant30</key>
<value></value>
</param>
<param>
<key>bw30</key>
<value>0</value>
</param>
<param>
<key>center_freq31</key>
<value>0</value>
</param>
<param>
<key>gain31</key>
<value>0</value>
</param>
<param>
<key>ant31</key>
<value></value>
</param>
<param>
<key>bw31</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(12, 79)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>psk_rate</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>31.25</value>
</param>
<param>
<key>_coordinate</key>
<value>(554, 17)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>gr_multiply_const_vxx</key>
<param>
<key>id</key>
<value>gr_multiply_const_vxx_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>complex</value>
</param>
<param>
<key>const</key>
<value>2048e3</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(282, 112)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>gr_freq_xlating_fir_filter_xxx</key>
<param>
<key>id</key>
<value>xlating_fir_filter_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>ccc</value>
</param>
<param>
<key>decim</key>
<value>1</value>
</param>
<param>
<key>taps</key>
<value>xlate_filter_taps</value>
</param>
<param>
<key>center_freq</key>
<value>-1500</value>
</param>
<param>
<key>samp_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>_coordinate</key>
<value>(476, 88)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>gr_file_sink</key>
<param>
<key>id</key>
<value>gr_file_sink_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>file</key>
<value>/tmp/bpsk_fifo_a</value>
</param>
<param>
<key>type</key>
<value>byte</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
<param>
<key>unbuffered</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(1039, 452)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
</param>
</block>
<block>
<key>gr_file_sink</key>
<param>
<key>id</key>
<value>gr_file_sink_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>file</key>
<value>/tmp/bpsk_fifo_b</value>
</param>
<param>
<key>type</key>
<value>byte</value>
</param>
<param>
<key>vlen</key>
<value>1</value>
</param>
<param>
<key>unbuffered</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(1008, 569)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
</param>
</block>
<block>
<key>variable</key>
<param>
<key>id</key>
<value>samp_rate_base</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>value</key>
<value>24000</value>
</param>
<param>
<key>_coordinate</key>
<value>(279, 15)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>virtual_source</key>
<param>
<key>id</key>
<value>virtual_source_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>stream_id</key>
<value>decoder-a</value>
</param>
<param>
<key>_coordinate</key>
<value>(11, 443)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>digital_mpsk_receiver_cc</key>
<param>
<key>id</key>
<value>digital_mpsk_receiver_cc_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>M</key>
<value>2</value>
</param>
<param>
<key>theta</key>
<value>0</value>
</param>
<param>
<key>w</key>
<value>0.01</value>
</param>
<param>
<key>fmin</key>
<value>500/samp_rate_base</value>
</param>
<param>
<key>fmax</key>
<value>1500/samp_rate_base</value>
</param>
<param>
<key>mu</key>
<value>1</value>
</param>
<param>
<key>gain_mu</key>
<value>0.005</value>
</param>
<param>
<key>omega</key>
<value>samp_rate_base/psk_rate</value>
</param>
<param>
<key>gain_omega</key>
<value>((samp_rate_base/psk_rate)**2)/4</value>
</param>
<param>
<key>omega_relative_limit</key>
<value>0.005</value>
</param>
<param>
<key>_coordinate</key>
<value>(243, 377)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>blks2_rational_resampler_xxx</key>
<param>
<key>id</key>
<value>blks2_rational_resampler_xxx_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>ccc</value>
</param>
<param>
<key>decim</key>
<value>250000</value>
</param>
<param>
<key>interp</key>
<value>samp_rate_base</value>
</param>
<param>
<key>taps</key>
<value>[]</value>
</param>
<param>
<key>fractional_bw</key>
<value>0</value>
</param>
<param>
<key>_coordinate</key>
<value>(1012, 260)</value>
</param>
<param>
<key>_rotation</key>
<value>180</value>
</param>
</block>
<block>
<key>gr_diff_phasor_cc</key>
<param>
<key>id</key>
<value>gr_diff_phasor_cc_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>_coordinate</key>
<value>(524, 421)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>band_pass_filter</key>
<param>
<key>id</key>
<value>band_pass_filter_0_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>fir_filter_ccf</value>
</param>
<param>
<key>decim</key>
<value>1</value>
</param>
<param>
<key>interp</key>
<value>1</value>
</param>
<param>
<key>gain</key>
<value>1</value>
</param>
<param>
<key>samp_rate</key>
<value>samp_rate</value>
</param>
<param>
<key>low_cutoff_freq</key>
<value>1</value>
</param>
<param>
<key>high_cutoff_freq</key>
<value>16000</value>
</param>
<param>
<key>width</key>
<value>600</value>
</param>
<param>
<key>win</key>
<value>firdes.WIN_HAMMING</value>
</param>
<param>
<key>beta</key>
<value>6.76</value>
</param>
<param>
<key>_coordinate</key>
<value>(743, 56)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>gr_agc2_xx</key>
<param>
<key>id</key>
<value>gr_agc2_xx_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>complex</value>
</param>
<param>
<key>attack_rate</key>
<value>1e-1</value>
</param>
<param>
<key>decay_rate</key>
<value>50e-6</value>
</param>
<param>
<key>reference</key>
<value>9e-1</value>
</param>
<param>
<key>gain</key>
<value>1.0</value>
</param>
<param>
<key>max_gain</key>
<value>1.0</value>
</param>
<param>
<key>_coordinate</key>
<value>(1150, 106)</value>
</param>
<param>
<key>_rotation</key>
<value>270</value>
</param>
</block>
<block>
<key>gr_simple_squelch_cc</key>
<param>
<key>id</key>
<value>gr_simple_squelch_cc_0</value>
</param>
<param>
<key>_enabled</key>
<value>False</value>
</param>
<param>
<key>threshold</key>
<value>38</value>
</param>
<param>
<key>alpha</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(985, 97)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>virtual_sink</key>
<param>
<key>id</key>
<value>virtual_sink_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>stream_id</key>
<value>decoder-a</value>
</param>
<param>
<key>_coordinate</key>
<value>(1003, 184)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>digital_psk_demod</key>
<param>
<key>id</key>
<value>digital_psk_demod_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>constellation_points</key>
<value>2</value>
</param>
<param>
<key>differential</key>
<value>False</value>
</param>
<param>
<key>samples_per_symbol</key>
<value>int(samp_rate_base/psk_rate)</value>
</param>
<param>
<key>excess_bw</key>
<value>0.01</value>
</param>
<param>
<key>freq_bw</key>
<value>0.01</value>
</param>
<param>
<key>timing_bw</key>
<value>0.01</value>
</param>
<param>
<key>phase_bw</key>
<value>0.01</value>
</param>
<param>
<key>gray_coded</key>
<value>"none"</value>
</param>
<param>
<key>verbose</key>
<value>False</value>
</param>
<param>
<key>log</key>
<value>False</value>
</param>
<param>
<key>_coordinate</key>
<value>(225, 580)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<block>
<key>gr_packed_to_unpacked_xx</key>
<param>
<key>id</key>
<value>gr_packed_to_unpacked_xx_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
<key>type</key>
<value>byte</value>
</param>
<param>
<key>bits_per_chunk</key>
<value>8</value>
</param>
<param>
<key>endianness</key>
<value>gr.GR_MSB_FIRST</value>
</param>
<param>
<key>num_ports</key>
<value>1</value>
</param>
<param>
<key>_coordinate</key>
<value>(610, 630)</value>
</param>
<param>
<key>_rotation</key>
<value>0</value>
</param>
</block>
<connection>
<source_block_id>band_pass_filter_0_0_0</source_block_id>
<sink_block_id>gr_simple_squelch_cc_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>gr_simple_squelch_cc_0</source_block_id>
<sink_block_id>gr_agc2_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>gr_multiply_const_vxx_0</source_block_id>
<sink_block_id>xlating_fir_filter_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>xlating_fir_filter_0</source_block_id>
<sink_block_id>band_pass_filter_0_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>uhd_usrp_source_0</source_block_id>
<sink_block_id>gr_multiply_const_vxx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>blks2_rational_resampler_xxx_0</source_block_id>
<sink_block_id>virtual_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>gr_diff_phasor_cc_0</source_block_id>
<sink_block_id>gr_complex_to_float_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>gr_complex_to_float_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>digital_binary_slicer_fb_0</source_block_id>
<sink_block_id>gr_file_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>digital_mpsk_receiver_cc_0</source_block_id>
<sink_block_id>gr_diff_phasor_cc_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>virtual_source_0</source_block_id>
<sink_block_id>digital_mpsk_receiver_cc_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>band_pass_filter_0_0_0</source_block_id>
<sink_block_id>gr_agc2_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>virtual_source_0</source_block_id>
<sink_block_id>digital_psk_demod_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>digital_psk_demod_0</source_block_id>
<sink_block_id>gr_packed_to_unpacked_xx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>gr_packed_to_unpacked_xx_0</source_block_id>
<sink_block_id>gr_file_sink_0_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>gr_agc2_xx_0</source_block_id>
<sink_block_id>blks2_rational_resampler_xxx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
</flow_graph>
Hi Folks,
Inspired by Javier and Martin's recent posts on DPSK, I thought I would
resurrect my (Amateur Radio )(B) PSK31 transceiver implemented in GRC.
I can use the MPSK receiver block in GRC to successfully decode anything
up to BPSK500 - I'm sure I could go higher, but fldigi only transmits up
to 500, and I was using that as a known good transmitter.
Knowing that in the future I would want DBPSK (for some satellite work),
and transmit capability (I could not find a MPSK Transmitter block), I
started to think about using the PSK Demod block in GRC instead.
I set the number of constellation points to 2 (for BPSK), set the
differential encoding to "No", and set the samples/symbol to the
equivalent value in the MPSK Receiver block.
There I come across a problem. What to set Excess BW, Frequency BW,
Timing BW, and Grey code to. I have looked at Tom's page on the
Frequency BW, but am afraid I don't grok that side of things at all
well.
Is there a way to work out what those value should be from the working
values of the MPSK Receiver block ?
Attached is a flowgraph (both .png and .grc) Both the MPSK Receiver
chain, and the PSK Demod chain eventually output to a file sink for
doing the varicode decoding.
Two quick further questions on the PSK Demod block (which actually
uses the Gerneric Demod block to do most of the dirty work):
1) Can someone confirm if I need to use the packed to unpacked block
that I'm using ? I've seen notes that the output is indeed packed (hence
the unpacker being in the flowgraph), but also other places saying it's
already unpacked ? Or is it just the DxPSK block that has the unpacked
output ?
2) Do I need to use AGC before it ? Again I came across some places
that say it's already in there, but couldn't see any evidence. Is it
just the DxPSK block that incorporates the AGC block ?
All the Best
Iain

No comments:
Post a Comment