diff options
Diffstat (limited to 'gr-digital/examples')
-rw-r--r-- | gr-digital/examples/CMakeLists.txt | 1 | ||||
-rwxr-xr-x | gr-digital/examples/berawgn.py | 104 | ||||
-rw-r--r-- | gr-digital/examples/demod/ber_simulation.grc | 305 | ||||
-rw-r--r-- | gr-digital/examples/demod/digital_freq_lock.grc | 806 | ||||
-rw-r--r-- | gr-digital/examples/demod/dpsk_loopback.grc | 198 | ||||
-rw-r--r-- | gr-digital/examples/demod/gfsk_loopback.grc | 646 | ||||
-rw-r--r-- | gr-digital/examples/demod/mpsk_demod.grc | 10 | ||||
-rw-r--r-- | gr-digital/examples/demod/pam_sync.grc | 1117 | ||||
-rw-r--r-- | gr-digital/examples/demod/pam_timing.grc | 370 |
9 files changed, 1811 insertions, 1746 deletions
diff --git a/gr-digital/examples/CMakeLists.txt b/gr-digital/examples/CMakeLists.txt index 33d257e59..63e1eba4e 100644 --- a/gr-digital/examples/CMakeLists.txt +++ b/gr-digital/examples/CMakeLists.txt @@ -71,6 +71,7 @@ install( demod/pam_timing.grc demod/ber_simulation.grc demod/dpsk_loopback.grc + demod/gfsk_loopback.grc DESTINATION ${GR_PKG_DIGITAL_EXAMPLES_DIR}/demod COMPONENT "digital_python" ) diff --git a/gr-digital/examples/berawgn.py b/gr-digital/examples/berawgn.py new file mode 100755 index 000000000..d58dfbaae --- /dev/null +++ b/gr-digital/examples/berawgn.py @@ -0,0 +1,104 @@ +#!/usr/bin/env python +""" +BER simulation for QPSK signals, compare to theoretical values. +Change the N_BITS value to simulate more bits per Eb/N0 value, +thus allowing to check for lower BER values. + +Lower values will work faster, higher values will use a lot of RAM. +Also, this app isn't highly optimized--the flow graph is completely +reinstantiated for every Eb/N0 value. +Of course, expect the maximum value for BER to be one order of +magnitude below what you chose for N_BITS. +""" + + +import math +import numpy +from scipy.special import erfc +import pylab +from gnuradio import gr, digital + +# Best to choose powers of 10 +N_BITS = 1e7 +RAND_SEED = 42 + +def berawgn(EbN0): + """ Calculates theoretical bit error rate in AWGN (for BPSK and given Eb/N0) """ + return 0.5 * erfc(math.sqrt(10**(float(EbN0)/10))) + +class BitErrors(gr.hier_block2): + """ Two inputs: true and received bits. We compare them and + add up the number of incorrect bits. Because integrate_ff() + can only add up a certain number of values, the output is + not a scalar, but a sequence of values, the sum of which is + the BER. """ + def __init__(self, bits_per_byte): + gr.hier_block2.__init__(self, "BitErrors", + gr.io_signature(2, 2, gr.sizeof_char), + gr.io_signature(1, 1, gr.sizeof_int)) + + # Bit comparison + comp = gr.xor_bb() + intdump_decim = 100000 + if N_BITS < intdump_decim: + intdump_decim = int(N_BITS) + self.connect(self, + comp, + gr.unpack_k_bits_bb(bits_per_byte), + gr.uchar_to_float(), + gr.integrate_ff(intdump_decim), + gr.multiply_const_ff(1.0/N_BITS), + self) + self.connect((self, 1), (comp, 1)) + +class BERAWGNSimu(gr.top_block): + " This contains the simulation flow graph " + def __init__(self, EbN0): + gr.top_block.__init__(self) + self.const = digital.qpsk_constellation() + # Source is N_BITS bits, non-repeated + data = map(int, numpy.random.randint(0, self.const.arity(), N_BITS/self.const.bits_per_symbol())) + src = gr.vector_source_b(data, False) + mod = gr.chunks_to_symbols_bc((self.const.points()), 1) + add = gr.add_vcc() + noise = gr.noise_source_c(gr.GR_GAUSSIAN, + self.EbN0_to_noise_voltage(EbN0), + RAND_SEED) + demod = digital.constellation_decoder_cb(self.const.base()) + ber = BitErrors(self.const.bits_per_symbol()) + self.sink = gr.vector_sink_f() + self.connect(src, mod, add, demod, ber, self.sink) + self.connect(noise, (add, 1)) + self.connect(src, (ber, 1)) + + def EbN0_to_noise_voltage(self, EbN0): + """ Converts Eb/N0 to a single-sided noise voltage (assuming unit symbol power) """ + return 1.0 / math.sqrt(2.0 * self.const.bits_per_symbol() * 10**(float(EbN0)/10)) + + +def simulate_ber(EbN0): + """ All the work's done here: create flow graph, run, read out BER """ + print "Eb/N0 = %d dB" % EbN0 + fg = BERAWGNSimu(EbN0) + fg.run() + return numpy.sum(fg.sink.data()) + +if __name__ == "__main__": + EbN0_min = 0 + EbN0_max = 15 + EbN0_range = range(EbN0_min, EbN0_max+1) + ber_theory = [berawgn(x) for x in EbN0_range] + print "Simulating..." + ber_simu = [simulate_ber(x) for x in EbN0_range] + + f = pylab.figure() + s = f.add_subplot(1,1,1) + s.semilogy(EbN0_range, ber_theory, 'g-.', label="Theoretical") + s.semilogy(EbN0_range, ber_simu, 'b-o', label="Simulated") + s.set_title('BER Simulation') + s.set_xlabel('Eb/N0 (dB)') + s.set_ylabel('BER') + s.legend() + s.grid() + pylab.show() + diff --git a/gr-digital/examples/demod/ber_simulation.grc b/gr-digital/examples/demod/ber_simulation.grc index 6a9361ed1..b7c6a624b 100644 --- a/gr-digital/examples/demod/ber_simulation.grc +++ b/gr-digital/examples/demod/ber_simulation.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Tue Apr 3 18:11:51 2012</timestamp> + <timestamp>Thu Jul 5 15:57:06 2012</timestamp> <block> <key>options</key> <param> @@ -44,6 +44,10 @@ <value>True</value> </param> <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> <key>realtime_scheduling</key> <value></value> </param> @@ -57,10 +61,41 @@ </param> </block> <block> - <key>gr_noise_source_x</key> + <key>gr_throttle</key> <param> <key>id</key> - <value>gr_noise_source_x</value> + <value>gr_throttle</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>byte</value> + </param> + <param> + <key>samples_per_second</key> + <value>samp_rate</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(284, 24)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>gr_add_xx</key> + <param> + <key>id</key> + <value>gr_add_xx</value> </param> <param> <key>_enabled</key> @@ -71,20 +106,39 @@ <value>complex</value> </param> <param> - <key>noise_type</key> - <value>gr.GR_GAUSSIAN</value> + <key>num_inputs</key> + <value>2</value> </param> <param> - <key>amp</key> - <value>noise</value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>seed</key> - <value>42</value> + <key>_coordinate</key> + <value>(486, 151)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>digital_constellation_decoder_cb</key> + <param> + <key>id</key> + <value>digital_constellation_decoder_cb_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>constellation</key> + <value>const.base()</value> </param> <param> <key>_coordinate</key> - <value>(235, 379)</value> + <value>(618, 164)</value> </param> <param> <key>_rotation</key> @@ -171,38 +225,30 @@ </param> <param> <key>_coordinate</key> - <value>(1062, 11)</value> + <value>(791, 228)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>gr_throttle</key> + <key>import</key> <param> <key>id</key> - <value>gr_throttle</value> + <value>import</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>samples_per_second</key> - <value>samp_rate</value> - </param> - <param> - <key>vlen</key> - <value>1</value> + <key>import</key> + <value>import math</value> </param> <param> <key>_coordinate</key> - <value>(397, 27)</value> + <value>(18, 373)</value> </param> <param> <key>_rotation</key> @@ -213,7 +259,7 @@ <key>variable</key> <param> <key>id</key> - <value>samp_rate</value> + <value>const</value> </param> <param> <key>_enabled</key> @@ -221,11 +267,11 @@ </param> <param> <key>value</key> - <value>50e3</value> + <value>digital.qpsk_constellation()</value> </param> <param> <key>_coordinate</key> - <value>(20, 168)</value> + <value>(116, 310)</value> </param> <param> <key>_rotation</key> @@ -233,22 +279,22 @@ </param> </block> <block> - <key>import</key> + <key>variable</key> <param> <key>id</key> - <value>import</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>import</key> - <value>import math</value> + <key>value</key> + <value>100e3</value> </param> <param> <key>_coordinate</key> - <value>(138, 168)</value> + <value>(16, 308)</value> </param> <param> <key>_rotation</key> @@ -271,7 +317,7 @@ </param> <param> <key>title</key> - <value>"Constellation: "+str(const)</value> + <value>"Constellation: "+str(const.arity()) + "-PSK"</value> </param> <param> <key>samp_rate</key> @@ -323,7 +369,7 @@ </param> <param> <key>_coordinate</key> - <value>(828, 368)</value> + <value>(623, 228)</value> </param> <param> <key>_rotation</key> @@ -331,10 +377,10 @@ </param> </block> <block> - <key>gr_add_xx</key> + <key>blks2_error_rate</key> <param> <key>id</key> - <value>gr_add_xx</value> + <value>blks2_error_rate</value> </param> <param> <key>_enabled</key> @@ -342,42 +388,19 @@ </param> <param> <key>type</key> - <value>complex</value> - </param> - <param> - <key>num_inputs</key> - <value>2</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(652, 395)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>digital_constellation_decoder_cb</key> - <param> - <key>id</key> - <value>digital_constellation_decoder_cb_0</value> + <value>'BER'</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>win_size</key> + <value>int(1e7)</value> </param> <param> - <key>constellation</key> - <value>const.base()</value> + <key>bits_per_symbol</key> + <value>const.bits_per_symbol()</value> </param> <param> <key>_coordinate</key> - <value>(693, 205)</value> + <value>(720, 25)</value> </param> <param> <key>_rotation</key> @@ -385,45 +408,34 @@ </param> </block> <block> - <key>variable</key> + <key>gr_noise_source_x</key> <param> <key>id</key> - <value>const</value> + <value>gr_noise_source_x</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>digital.qpsk_constellation()</value> - </param> - <param> - <key>_coordinate</key> - <value>(16, 461)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> + <key>type</key> + <value>complex</value> </param> - </block> - <block> - <key>variable</key> <param> - <key>id</key> - <value>const_points</value> + <key>noise_type</key> + <value>gr.GR_GAUSSIAN</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>amp</key> + <value>1.0 / math.sqrt(2.0 * const.bits_per_symbol() * 10**(EbN0/10))</value> </param> <param> - <key>value</key> - <value>const.points()</value> + <key>seed</key> + <value>42</value> </param> <param> <key>_coordinate</key> - <value>(17, 532)</value> + <value>(16, 224)</value> </param> <param> <key>_rotation</key> @@ -431,38 +443,38 @@ </param> </block> <block> - <key>random_source_x</key> + <key>gr_chunks_to_symbols_xx</key> <param> <key>id</key> - <value>random_source_x</value> + <value>gr_chunks_to_symbols_xx</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> + <key>in_type</key> <value>byte</value> </param> <param> - <key>min</key> - <value>0</value> + <key>out_type</key> + <value>complex</value> </param> <param> - <key>max</key> - <value>len(const_points)</value> + <key>symbol_table</key> + <value>const.points()</value> </param> <param> - <key>num_samps</key> - <value>1000000</value> + <key>dimension</key> + <value>1</value> </param> <param> - <key>repeat</key> - <value>False</value> + <key>num_ports</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(15, 244)</value> + <value>(240, 140)</value> </param> <param> <key>_rotation</key> @@ -470,69 +482,54 @@ </param> </block> <block> - <key>gr_chunks_to_symbols_xx</key> + <key>variable_slider</key> <param> <key>id</key> - <value>gr_chunks_to_symbols_xx</value> + <value>EbN0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>in_type</key> - <value>byte</value> - </param> - <param> - <key>out_type</key> - <value>complex</value> - </param> - <param> - <key>symbol_table</key> - <value>const_points</value> - </param> - <param> - <key>dimension</key> - <value>1</value> + <key>label</key> + <value>Eb/N0 (dB)</value> </param> <param> - <key>num_ports</key> - <value>1</value> + <key>value</key> + <value>10</value> </param> <param> - <key>_coordinate</key> - <value>(367, 260)</value> + <key>min</key> + <value>-10</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>max</key> + <value>200</value> </param> - </block> - <block> - <key>blks2_error_rate</key> <param> - <key>id</key> - <value>blks2_error_rate</value> + <key>num_steps</key> + <value>211</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> </param> <param> - <key>type</key> - <value>'BER'</value> + <key>converver</key> + <value>float_converter</value> </param> <param> - <key>win_size</key> - <value>1000000</value> + <key>grid_pos</key> + <value></value> </param> <param> - <key>bits_per_symbol</key> - <value>int(math.log(len(const_points))/math.log(2))</value> + <key>notebook</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(670, 41)</value> + <value>(311, 309)</value> </param> <param> <key>_rotation</key> @@ -540,22 +537,18 @@ </param> </block> <block> - <key>variable_slider</key> + <key>random_source_x</key> <param> <key>id</key> - <value>noise</value> + <value>random_source_x</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>AWGN Noise</value> - </param> - <param> - <key>value</key> - <value>0.10</value> + <key>type</key> + <value>byte</value> </param> <param> <key>min</key> @@ -563,31 +556,19 @@ </param> <param> <key>max</key> - <value>1</value> - </param> - <param> - <key>num_steps</key> - <value>100</value> + <value>const.arity()</value> </param> <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> - </param> - <param> - <key>converver</key> - <value>float_converter</value> - </param> - <param> - <key>grid_pos</key> - <value></value> + <key>num_samps</key> + <value>10000000</value> </param> <param> - <key>notebook</key> - <value></value> + <key>repeat</key> + <value>True</value> </param> <param> <key>_coordinate</key> - <value>(268, 481)</value> + <value>(17, 125)</value> </param> <param> <key>_rotation</key> diff --git a/gr-digital/examples/demod/digital_freq_lock.grc b/gr-digital/examples/demod/digital_freq_lock.grc index 36037febb..df105dd7f 100644 --- a/gr-digital/examples/demod/digital_freq_lock.grc +++ b/gr-digital/examples/demod/digital_freq_lock.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Sat Mar 6 17:17:12 2010</timestamp> + <timestamp>Thu Jul 5 18:11:22 2012</timestamp> <block> <key>options</key> <param> @@ -44,12 +44,16 @@ <value>True</value> </param> <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> <key>realtime_scheduling</key> <value></value> </param> <param> <key>_coordinate</key> - <value>(10, 10)</value> + <value>(-1, 0)</value> </param> <param> <key>_rotation</key> @@ -57,37 +61,38 @@ </param> </block> <block> - <key>gr_uchar_to_float</key> + <key>random_source_x</key> <param> <key>id</key> - <value>gr_uchar_to_float_0</value> + <value>random_source_x</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>_coordinate</key> - <value>(217, 108)</value> + <key>type</key> + <value>byte</value> </param> <param> - <key>_rotation</key> + <key>min</key> <value>0</value> </param> - </block> - <block> - <key>gr_uchar_to_float</key> <param> - <key>id</key> - <value>gr_uchar_to_float_0_0</value> + <key>max</key> + <value>256</value> </param> <param> - <key>_enabled</key> + <key>num_samps</key> + <value>10000000</value> + </param> + <param> + <key>repeat</key> <value>True</value> </param> <param> <key>_coordinate</key> - <value>(216, 273)</value> + <value>(-2, 111)</value> </param> <param> <key>_rotation</key> @@ -95,54 +100,30 @@ </param> </block> <block> - <key>variable_slider</key> + <key>gr_throttle</key> <param> <key>id</key> - <value>freq_offset</value> + <value>gr_throttle_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Frequency Offset</value> - </param> - <param> - <key>value</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>-0.5</value> - </param> - <param> - <key>max</key> - <value>0.5</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> - </param> - <param> - <key>converver</key> - <value>float_converter</value> + <key>type</key> + <value>complex</value> </param> <param> - <key>grid_pos</key> - <value></value> + <key>samples_per_second</key> + <value>samp_rate</value> </param> <param> - <key>notebook</key> - <value></value> + <key>vlen</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(293, 684)</value> + <value>(456, 134)</value> </param> <param> <key>_rotation</key> @@ -150,38 +131,22 @@ </param> </block> <block> - <key>random_source_x</key> + <key>variable</key> <param> <key>id</key> - <value>random_source_x_0</value> + <value>sps</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>max</key> - <value>pam_amp</value> - </param> - <param> - <key>num_samps</key> - <value>10000</value> - </param> - <param> - <key>repeat</key> - <value>True</value> + <key>value</key> + <value>4</value> </param> <param> <key>_coordinate</key> - <value>(13, 80)</value> + <value>(166, -2)</value> </param> <param> <key>_rotation</key> @@ -189,38 +154,22 @@ </param> </block> <block> - <key>random_source_x</key> + <key>variable</key> <param> <key>id</key> - <value>random_source_x_0_0</value> + <value>rolloff</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>max</key> - <value>pam_amp</value> - </param> - <param> - <key>num_samps</key> - <value>10000</value> - </param> - <param> - <key>repeat</key> - <value>True</value> + <key>value</key> + <value>0.35</value> </param> <param> <key>_coordinate</key> - <value>(15, 245)</value> + <value>(231, 0)</value> </param> <param> <key>_rotation</key> @@ -228,10 +177,10 @@ </param> </block> <block> - <key>const_source_x</key> + <key>digital_fll_band_edge_cc</key> <param> <key>id</key> - <value>const_source_x_0</value> + <value>digital_fll_band_edge_cc_0</value> </param> <param> <key>_enabled</key> @@ -239,42 +188,27 @@ </param> <param> <key>type</key> - <value>float</value> - </param> - <param> - <key>const</key> - <value>-0.5*(pam_amp-1)</value> - </param> - <param> - <key>_coordinate</key> - <value>(213, 197)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> + <value>cc</value> </param> - </block> - <block> - <key>const_source_x</key> <param> - <key>id</key> - <value>const_source_x_0_0</value> + <key>samps_per_sym</key> + <value>sps</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>rolloff</key> + <value>rolloff</value> </param> <param> - <key>type</key> - <value>float</value> + <key>filter_size</key> + <value>44</value> </param> <param> - <key>const</key> - <value>-0.5*(pam_amp-1)</value> + <key>w</key> + <value>freq_bw</value> </param> <param> <key>_coordinate</key> - <value>(200, 360)</value> + <value>(81, 248)</value> </param> <param> <key>_rotation</key> @@ -282,61 +216,54 @@ </param> </block> <block> - <key>gr_add_xx</key> + <key>variable_slider</key> <param> <key>id</key> - <value>gr_add_xx_0</value> + <value>freq_bw</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>float</value> + <key>label</key> + <value>FLL Loop Bandwidth</value> </param> <param> - <key>num_inputs</key> - <value>2</value> + <key>value</key> + <value>0</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>min</key> + <value>0</value> </param> <param> - <key>_coordinate</key> - <value>(440, 167)</value> + <key>max</key> + <value>0.1</value> </param> <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>gr_add_xx</key> - <param> - <key>id</key> - <value>gr_add_xx_0_1</value> + <key>num_steps</key> + <value>1000</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> </param> <param> - <key>type</key> - <value>float</value> + <key>converver</key> + <value>float_converter</value> </param> <param> - <key>num_inputs</key> - <value>2</value> + <key>grid_pos</key> + <value></value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>notebook</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(430, 330)</value> + <value>(80, 382)</value> </param> <param> <key>_rotation</key> @@ -347,7 +274,7 @@ <key>variable</key> <param> <key>id</key> - <value>nfilts</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> @@ -355,11 +282,11 @@ </param> <param> <key>value</key> - <value>32</value> + <value>32000</value> </param> <param> <key>_coordinate</key> - <value>(435, 686)</value> + <value>(439, -1)</value> </param> <param> <key>_rotation</key> @@ -414,7 +341,7 @@ </param> <param> <key>_coordinate</key> - <value>(168, 684)</value> + <value>(553, 0)</value> </param> <param> <key>_rotation</key> @@ -422,91 +349,54 @@ </param> </block> <block> - <key>variable</key> + <key>variable_slider</key> <param> <key>id</key> - <value>spb_gen</value> + <value>freq_offset</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>4</value> - </param> - <param> - <key>_coordinate</key> - <value>(119, 841)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>pam_amp</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> + <key>label</key> + <value>Frequency Offset</value> </param> <param> <key>value</key> - <value>2</value> - </param> - <param> - <key>_coordinate</key> - <value>(223, 9)</value> - </param> - <param> - <key>_rotation</key> <value>0</value> </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>spb</value> - </param> <param> - <key>_enabled</key> - <value>True</value> + <key>min</key> + <value>-0.5</value> </param> <param> - <key>value</key> - <value>4.1</value> + <key>max</key> + <value>0.5</value> </param> <param> - <key>_coordinate</key> - <value>(32, 842)</value> + <key>num_steps</key> + <value>1000</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> </param> - </block> - <block> - <key>gr_float_to_complex</key> <param> - <key>id</key> - <value>gr_float_to_complex_0</value> + <key>converver</key> + <value>float_converter</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>grid_pos</key> + <value></value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>notebook</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(590, 184)</value> + <value>(673, -1)</value> </param> <param> <key>_rotation</key> @@ -514,65 +404,38 @@ </param> </block> <block> - <key>gr_throttle</key> + <key>gr_channel_model</key> <param> <key>id</key> - <value>gr_throttle_0</value> + <value>gr_channel_model_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>complex</value> - </param> - <param> - <key>samples_per_second</key> - <value>samp_rate</value> - </param> - <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(788, 197)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>notebook</key> - <param> - <key>id</key> - <value>notebook_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> + <key>noise_voltage</key> + <value>noise_amp</value> </param> <param> - <key>style</key> - <value>wx.NB_TOP</value> + <key>freq_offset</key> + <value>freq_offset</value> </param> <param> - <key>labels</key> - <value>['Freq', 'Time']</value> + <key>epsilon</key> + <value>1.0</value> </param> <param> - <key>grid_pos</key> - <value></value> + <key>taps</key> + <value>1.0</value> </param> <param> - <key>notebook</key> - <value></value> + <key>seed</key> + <value>42</value> </param> <param> <key>_coordinate</key> - <value>(216, 845)</value> + <value>(649, 104)</value> </param> <param> <key>_rotation</key> @@ -638,8 +501,16 @@ <value>notebook_0,1</value> </param> <param> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> + </param> + <param> + <key>y_axis_label</key> + <value>Counts</value> + </param> + <param> <key>_coordinate</key> - <value>(1123, 392)</value> + <value>(875, 0)</value> </param> <param> <key>_rotation</key> @@ -725,8 +596,59 @@ <value>notebook_0,0</value> </param> <param> + <key>freqvar</key> + <value>None</value> + </param> + <param> <key>_coordinate</key> - <value>(1122, 473)</value> + <value>(875, 108)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>digital_psk_mod</key> + <param> + <key>id</key> + <value>digital_psk_mod_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>constellation_points</key> + <value>2</value> + </param> + <param> + <key>mod_code</key> + <value>"gray"</value> + </param> + <param> + <key>differential</key> + <value>False</value> + </param> + <param> + <key>samples_per_symbol</key> + <value>sps</value> + </param> + <param> + <key>excess_bw</key> + <value>0.35</value> + </param> + <param> + <key>verbose</key> + <value>False</value> + </param> + <param> + <key>log</key> + <value>False</value> + </param> + <param> + <key>_coordinate</key> + <value>(194, 104)</value> </param> <param> <key>_rotation</key> @@ -792,8 +714,16 @@ <value>notebook_0,1</value> </param> <param> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> + </param> + <param> + <key>y_axis_label</key> + <value>Counts</value> + </param> + <param> <key>_coordinate</key> - <value>(1122, 680)</value> + <value>(439, 289)</value> </param> <param> <key>_rotation</key> @@ -879,233 +809,12 @@ <value>notebook_0,0</value> </param> <param> - <key>_coordinate</key> - <value>(1121, 762)</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>32000</value> - </param> - <param> - <key>_coordinate</key> - <value>(128, 9)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>sig_amp</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(315, 9)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>rolloff</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>0.35</value> - </param> - <param> - <key>_coordinate</key> - <value>(398, 12)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>rrctaps</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>firdes.root_raised_cosine(nfilts,1.0,1.0/(spb*nfilts), .35, int(11*spb*nfilts))</value> - </param> - <param> - <key>_coordinate</key> - <value>(826, 61)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>root_raised_cosine_filter</key> - <param> - <key>id</key> - <value>root_raised_cosine_filter_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>interp_fir_filter_ccf</value> - </param> - <param> - <key>decim</key> - <value>1</value> - </param> - <param> - <key>interp</key> - <value>spb_gen</value> - </param> - <param> - <key>gain</key> - <value>2*spb_gen</value> - </param> - <param> - <key>samp_rate</key> - <value>1.0</value> - </param> - <param> - <key>sym_rate</key> - <value>1./spb_gen</value> - </param> - <param> - <key>alpha</key> - <value>rolloff</value> - </param> - <param> - <key>ntaps</key> - <value>44</value> - </param> - <param> - <key>_coordinate</key> - <value>(978, 157)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>gr_fll_band_edge_cc</key> - <param> - <key>id</key> - <value>gr_fll_band_edge_cc_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>cc</value> - </param> - <param> - <key>samps_per_sym</key> - <value>spb_gen</value> - </param> - <param> - <key>rolloff</key> - <value>rolloff</value> - </param> - <param> - <key>filter_size</key> - <value>44</value> - </param> - <param> - <key>alpha</key> - <value>alpha</value> - </param> - <param> - <key>beta</key> - <value>beta</value> - </param> - <param> - <key>_coordinate</key> - <value>(874, 664)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>gr_channel_model</key> - <param> - <key>id</key> - <value>gr_channel_model_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>noise_voltage</key> - <value>noise_amp</value> - </param> - <param> - <key>freq_offset</key> - <value>freq_offset</value> - </param> - <param> - <key>epsilon</key> - <value>1.0</value> - </param> - <param> - <key>taps</key> - <value>1.0</value> - </param> - <param> - <key>seed</key> - <value>42</value> + <key>freqvar</key> + <value>None</value> </param> <param> <key>_coordinate</key> - <value>(618, 376)</value> + <value>(439, 423)</value> </param> <param> <key>_rotation</key> @@ -1113,97 +822,22 @@ </param> </block> <block> - <key>variable_slider</key> - <param> - <key>id</key> - <value>beta</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>label</key> - <value>Freq Beta</value> - </param> - <param> - <key>value</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>0.0</value> - </param> - <param> - <key>max</key> - <value>0.01</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> - </param> - <param> - <key>converver</key> - <value>float_converter</value> - </param> - <param> - <key>grid_pos</key> - <value></value> - </param> - <param> - <key>notebook</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(668, 5)</value> - </param> - <param> - <key>_rotation</key> - <value>180</value> - </param> - </block> - <block> - <key>variable_slider</key> + <key>notebook</key> <param> <key>id</key> - <value>alpha</value> + <value>notebook_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Freq Alpha</value> - </param> - <param> - <key>value</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>max</key> - <value>0.1</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> <key>style</key> - <value>wx.SL_HORIZONTAL</value> + <value>wx.NB_TOP</value> </param> <param> - <key>converver</key> - <value>float_converter</value> + <key>labels</key> + <value>['Freq', 'Time']</value> </param> <param> <key>grid_pos</key> @@ -1215,7 +849,7 @@ </param> <param> <key>_coordinate</key> - <value>(552, 4)</value> + <value>(114, 521)</value> </param> <param> <key>_rotation</key> @@ -1223,97 +857,49 @@ </param> </block> <connection> - <source_block_id>random_source_x_0</source_block_id> - <sink_block_id>gr_uchar_to_float_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>gr_uchar_to_float_0</source_block_id> - <sink_block_id>gr_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>const_source_x_0</source_block_id> - <sink_block_id>gr_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>gr_uchar_to_float_0_0</source_block_id> - <sink_block_id>gr_add_xx_0_1</sink_block_id> + <source_block_id>gr_channel_model_0</source_block_id> + <sink_block_id>wxgui_scopesink2_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>const_source_x_0_0</source_block_id> - <sink_block_id>gr_add_xx_0_1</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>random_source_x_0_0</source_block_id> - <sink_block_id>gr_uchar_to_float_0_0</sink_block_id> + <source_block_id>gr_channel_model_0</source_block_id> + <sink_block_id>wxgui_fftsink2_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_add_xx_0</source_block_id> - <sink_block_id>gr_float_to_complex_0</sink_block_id> + <source_block_id>random_source_x</source_block_id> + <sink_block_id>digital_psk_mod_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_add_xx_0_1</source_block_id> - <sink_block_id>gr_float_to_complex_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>gr_float_to_complex_0</source_block_id> + <source_block_id>digital_psk_mod_0</source_block_id> <sink_block_id>gr_throttle_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>gr_throttle_0</source_block_id> - <sink_block_id>root_raised_cosine_filter_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>gr_channel_model_0</source_block_id> - <sink_block_id>wxgui_scopesink2_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>root_raised_cosine_filter_0</source_block_id> <sink_block_id>gr_channel_model_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> <source_block_id>gr_channel_model_0</source_block_id> - <sink_block_id>wxgui_fftsink2_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>gr_channel_model_0</source_block_id> - <sink_block_id>gr_fll_band_edge_cc_0</sink_block_id> + <sink_block_id>digital_fll_band_edge_cc_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_fll_band_edge_cc_0</source_block_id> + <source_block_id>digital_fll_band_edge_cc_0</source_block_id> <sink_block_id>wxgui_scopesink2_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_fll_band_edge_cc_0</source_block_id> + <source_block_id>digital_fll_band_edge_cc_0</source_block_id> <sink_block_id>wxgui_fftsink2_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> diff --git a/gr-digital/examples/demod/dpsk_loopback.grc b/gr-digital/examples/demod/dpsk_loopback.grc index aef6a7738..c9867bea2 100644 --- a/gr-digital/examples/demod/dpsk_loopback.grc +++ b/gr-digital/examples/demod/dpsk_loopback.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Tue Apr 3 18:03:52 2012</timestamp> + <timestamp>Thu Jul 5 16:26:53 2012</timestamp> <block> <key>options</key> <param> @@ -17,11 +17,11 @@ </param> <param> <key>author</key> - <value>Example</value> + <value>GNU Radio</value> </param> <param> <key>description</key> - <value>gnuradio flow graph</value> + <value>Encode a signal into a packet, modulate, demodulate, decode and show it's the same data.</value> </param> <param> <key>window_size</key> @@ -44,6 +44,10 @@ <value>True</value> </param> <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> <key>realtime_scheduling</key> <value></value> </param> @@ -72,7 +76,7 @@ </param> <param> <key>_coordinate</key> - <value>(10, 170)</value> + <value>(11, 120)</value> </param> <param> <key>_rotation</key> @@ -127,7 +131,7 @@ </param> <param> <key>_coordinate</key> - <value>(12, 257)</value> + <value>(13, 188)</value> </param> <param> <key>_rotation</key> @@ -135,10 +139,10 @@ </param> </block> <block> - <key>gr_throttle</key> + <key>gr_sig_source_x</key> <param> <key>id</key> - <value>gr_throttle_0_0</value> + <value>gr_sig_source_x_0</value> </param> <param> <key>_enabled</key> @@ -149,16 +153,28 @@ <value>float</value> </param> <param> - <key>samples_per_second</key> + <key>samp_rate</key> <value>samp_rate</value> </param> <param> - <key>vlen</key> + <key>waveform</key> + <value>gr.GR_COS_WAVE</value> + </param> + <param> + <key>freq</key> + <value>freq</value> + </param> + <param> + <key>amp</key> <value>1</value> </param> <param> + <key>offset</key> + <value>0</value> + </param> + <param> <key>_coordinate</key> - <value>(225, 174)</value> + <value>(184, 9)</value> </param> <param> <key>_rotation</key> @@ -166,10 +182,10 @@ </param> </block> <block> - <key>gr_sig_source_x</key> + <key>digital_dxpsk_mod</key> <param> <key>id</key> - <value>gr_sig_source_x_0</value> + <value>digital_dxpsk_mod_1</value> </param> <param> <key>_enabled</key> @@ -177,31 +193,31 @@ </param> <param> <key>type</key> - <value>float</value> + <value>dbpsk</value> </param> <param> - <key>samp_rate</key> - <value>samp_rate</value> + <key>samples_per_symbol</key> + <value>2</value> </param> <param> - <key>waveform</key> - <value>gr.GR_COS_WAVE</value> + <key>excess_bw</key> + <value>0.35</value> </param> <param> - <key>freq</key> - <value>freq</value> + <key>gray_coded</key> + <value>True</value> </param> <param> - <key>amp</key> - <value>1</value> + <key>verbose</key> + <value>False</value> </param> <param> - <key>offset</key> - <value>0</value> + <key>log</key> + <value>False</value> </param> <param> <key>_coordinate</key> - <value>(203, 8)</value> + <value>(745, 16)</value> </param> <param> <key>_rotation</key> @@ -209,10 +225,10 @@ </param> </block> <block> - <key>blks2_packet_decoder</key> + <key>gr_throttle</key> <param> <key>id</key> - <value>blks2_packet_decoder_0</value> + <value>gr_throttle_0_0</value> </param> <param> <key>_enabled</key> @@ -223,16 +239,16 @@ <value>float</value> </param> <param> - <key>access_code</key> - <value></value> + <key>samples_per_second</key> + <value>samp_rate</value> </param> <param> - <key>threshold</key> - <value>-1</value> + <key>vlen</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(551, 65)</value> + <value>(358, 39)</value> </param> <param> <key>_rotation</key> @@ -240,10 +256,10 @@ </param> </block> <block> - <key>digital_dxpsk_demod</key> + <key>blks2_packet_encoder</key> <param> <key>id</key> - <value>digital_dxpsk_demod_0</value> + <value>blks2_packet_encoder_0</value> </param> <param> <key>_enabled</key> @@ -251,51 +267,31 @@ </param> <param> <key>type</key> - <value>dbpsk</value> + <value>float</value> </param> <param> <key>samples_per_symbol</key> <value>2</value> </param> <param> - <key>excess_bw</key> - <value>0.35</value> - </param> - <param> - <key>freq_bw</key> - <value>6.28/100.0</value> - </param> - <param> - <key>phase_bw</key> - <value>6.28/100.0</value> - </param> - <param> - <key>timing_bw</key> - <value>6.28/100.0</value> + <key>bits_per_symbol</key> + <value>1</value> </param> <param> - <key>omega_relative_limit</key> - <value>0.005</value> + <key>access_code</key> + <value></value> </param> <param> - <key>gray_coded</key> + <key>pad_for_usrp</key> <value>True</value> </param> <param> - <key>verbose</key> - <value>False</value> - </param> - <param> - <key>log</key> - <value>False</value> - </param> - <param> - <key>sync_out</key> - <value>False</value> + <key>payload_length</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(639, 254)</value> + <value>(541, 9)</value> </param> <param> <key>_rotation</key> @@ -303,10 +299,10 @@ </param> </block> <block> - <key>digital_dxpsk_mod</key> + <key>digital_dxpsk_demod</key> <param> <key>id</key> - <value>digital_dxpsk_mod_0</value> + <value>digital_dxpsk_demod_1</value> </param> <param> <key>_enabled</key> @@ -325,6 +321,22 @@ <value>0.35</value> </param> <param> + <key>freq_bw</key> + <value>6.28/100.0</value> + </param> + <param> + <key>phase_bw</key> + <value>6.28/100.0</value> + </param> + <param> + <key>timing_bw</key> + <value>6.28/100.0</value> + </param> + <param> + <key>omega_relative_limit</key> + <value>0.005</value> + </param> + <param> <key>gray_coded</key> <value>True</value> </param> @@ -337,19 +349,23 @@ <value>False</value> </param> <param> + <key>sync_out</key> + <value>False</value> + </param> + <param> <key>_coordinate</key> - <value>(421, 294)</value> + <value>(746, 135)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>blks2_packet_encoder</key> + <key>blks2_packet_decoder</key> <param> <key>id</key> - <value>blks2_packet_encoder_0</value> + <value>blks2_packet_decoder_0</value> </param> <param> <key>_enabled</key> @@ -360,32 +376,20 @@ <value>float</value> </param> <param> - <key>samples_per_symbol</key> - <value>2</value> - </param> - <param> - <key>bits_per_symbol</key> - <value>1</value> - </param> - <param> <key>access_code</key> <value></value> </param> <param> - <key>pad_for_usrp</key> - <value>True</value> - </param> - <param> - <key>payload_length</key> - <value>0</value> + <key>threshold</key> + <value>-1</value> </param> <param> <key>_coordinate</key> - <value>(216, 286)</value> + <value>(545, 187)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> @@ -456,46 +460,46 @@ </param> <param> <key>_coordinate</key> - <value>(760, 41)</value> + <value>(184, 165)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <connection> - <source_block_id>gr_sig_source_x_0</source_block_id> - <sink_block_id>gr_throttle_0_0</sink_block_id> + <source_block_id>blks2_packet_decoder_0</source_block_id> + <sink_block_id>wxgui_scopesink2_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_throttle_0_0</source_block_id> - <sink_block_id>blks2_packet_encoder_0</sink_block_id> + <source_block_id>blks2_packet_encoder_0</source_block_id> + <sink_block_id>digital_dxpsk_mod_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blks2_packet_decoder_0</source_block_id> - <sink_block_id>wxgui_scopesink2_0</sink_block_id> + <source_block_id>digital_dxpsk_mod_1</source_block_id> + <sink_block_id>digital_dxpsk_demod_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>digital_dxpsk_demod_0</source_block_id> + <source_block_id>digital_dxpsk_demod_1</source_block_id> <sink_block_id>blks2_packet_decoder_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>digital_dxpsk_mod_0</source_block_id> - <sink_block_id>digital_dxpsk_demod_0</sink_block_id> + <source_block_id>gr_throttle_0_0</source_block_id> + <sink_block_id>blks2_packet_encoder_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blks2_packet_encoder_0</source_block_id> - <sink_block_id>digital_dxpsk_mod_0</sink_block_id> + <source_block_id>gr_sig_source_x_0</source_block_id> + <sink_block_id>gr_throttle_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> diff --git a/gr-digital/examples/demod/gfsk_loopback.grc b/gr-digital/examples/demod/gfsk_loopback.grc new file mode 100644 index 000000000..f74a83526 --- /dev/null +++ b/gr-digital/examples/demod/gfsk_loopback.grc @@ -0,0 +1,646 @@ +<?xml version='1.0' encoding='ASCII'?> +<flow_graph> + <timestamp>Sun Jul 8 16:56:18 2012</timestamp> + <block> + <key>variable_slider</key> + <param> + <key>id</key> + <value>freq</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>label</key> + <value>Frequency (Hz)</value> + </param> + <param> + <key>value</key> + <value>500</value> + </param> + <param> + <key>min</key> + <value>0</value> + </param> + <param> + <key>max</key> + <value>samp_rate/2</value> + </param> + <param> + <key>num_steps</key> + <value>100</value> + </param> + <param> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> + </param> + <param> + <key>converver</key> + <value>float_converter</value> + </param> + <param> + <key>grid_pos</key> + <value></value> + </param> + <param> + <key>notebook</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(34, 241)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>gr_sig_source_x</key> + <param> + <key>id</key> + <value>gr_sig_source_x_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>waveform</key> + <value>gr.GR_COS_WAVE</value> + </param> + <param> + <key>freq</key> + <value>freq</value> + </param> + <param> + <key>amp</key> + <value>1</value> + </param> + <param> + <key>offset</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(215, 26)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>gr_throttle</key> + <param> + <key>id</key> + <value>gr_throttle_0_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>samples_per_second</key> + <value>samp_rate</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(272.5, 142.0)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blks2_packet_encoder</key> + <param> + <key>id</key> + <value>blks2_packet_encoder_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>samples_per_symbol</key> + <value>2</value> + </param> + <param> + <key>bits_per_symbol</key> + <value>1</value> + </param> + <param> + <key>access_code</key> + <value></value> + </param> + <param> + <key>pad_for_usrp</key> + <value>True</value> + </param> + <param> + <key>payload_length</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(261, 227)</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>10000</value> + </param> + <param> + <key>_coordinate</key> + <value>(10, 170)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>digital_gfsk_demod</key> + <param> + <key>id</key> + <value>digital_gfsk_demod_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>samples_per_symbol</key> + <value>sps</value> + </param> + <param> + <key>sensitivity</key> + <value>fm_sensitivity</value> + </param> + <param> + <key>gain_mu</key> + <value>0.175</value> + </param> + <param> + <key>mu</key> + <value>0.5</value> + </param> + <param> + <key>omega_relative_limit</key> + <value>0.005</value> + </param> + <param> + <key>freq_error</key> + <value>0.0</value> + </param> + <param> + <key>verbose</key> + <value>False</value> + </param> + <param> + <key>log</key> + <value>False</value> + </param> + <param> + <key>_coordinate</key> + <value>(669, 257)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>sps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>8</value> + </param> + <param> + <key>_coordinate</key> + <value>(47, 445)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>digital_gfsk_mod</key> + <param> + <key>id</key> + <value>digital_gfsk_mod_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>samples_per_symbol</key> + <value>sps</value> + </param> + <param> + <key>sensitivity</key> + <value>fm_sensitivity</value> + </param> + <param> + <key>bt</key> + <value>0.35</value> + </param> + <param> + <key>verbose</key> + <value>False</value> + </param> + <param> + <key>log</key> + <value>False</value> + </param> + <param> + <key>_coordinate</key> + <value>(456, 277)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>fm_sensitivity</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>1.0</value> + </param> + <param> + <key>_coordinate</key> + <value>(40, 366)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blks2_packet_decoder</key> + <param> + <key>id</key> + <value>blks2_packet_decoder_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>access_code</key> + <value></value> + </param> + <param> + <key>threshold</key> + <value>-1</value> + </param> + <param> + <key>_coordinate</key> + <value>(705, 130)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>gr_quadrature_demod_cf</key> + <param> + <key>id</key> + <value>gr_quadrature_demod_cf_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>gain</key> + <value>1</value> + </param> + <param> + <key>_coordinate</key> + <value>(627, 417)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>options</key> + <param> + <key>id</key> + <value>gfsk_loopback</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>wx_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>max_nouts</key> + <value>0</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>wxgui_scopesink2</key> + <param> + <key>id</key> + <value>wxgui_scopesink2_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>title</key> + <value>Scope Plot</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>v_scale</key> + <value>0</value> + </param> + <param> + <key>v_offset</key> + <value>0</value> + </param> + <param> + <key>t_scale</key> + <value>1./freq</value> + </param> + <param> + <key>ac_couple</key> + <value>False</value> + </param> + <param> + <key>xy_mode</key> + <value>False</value> + </param> + <param> + <key>num_inputs</key> + <value>1</value> + </param> + <param> + <key>win_size</key> + <value></value> + </param> + <param> + <key>grid_pos</key> + <value></value> + </param> + <param> + <key>notebook</key> + <value></value> + </param> + <param> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> + </param> + <param> + <key>y_axis_label</key> + <value>Counts</value> + </param> + <param> + <key>_coordinate</key> + <value>(907, 59)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>wxgui_scopesink2</key> + <param> + <key>id</key> + <value>wxgui_scopesink2_1</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>title</key> + <value>Scope Plot</value> + </param> + <param> + <key>samp_rate</key> + <value>samp_rate</value> + </param> + <param> + <key>v_scale</key> + <value>0</value> + </param> + <param> + <key>v_offset</key> + <value>0</value> + </param> + <param> + <key>t_scale</key> + <value>0</value> + </param> + <param> + <key>ac_couple</key> + <value>False</value> + </param> + <param> + <key>xy_mode</key> + <value>False</value> + </param> + <param> + <key>num_inputs</key> + <value>1</value> + </param> + <param> + <key>win_size</key> + <value></value> + </param> + <param> + <key>grid_pos</key> + <value></value> + </param> + <param> + <key>notebook</key> + <value></value> + </param> + <param> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> + </param> + <param> + <key>y_axis_label</key> + <value>Counts</value> + </param> + <param> + <key>_coordinate</key> + <value>(853, 400)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <connection> + <source_block_id>digital_gfsk_mod_0</source_block_id> + <sink_block_id>digital_gfsk_demod_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>gr_sig_source_x_0</source_block_id> + <sink_block_id>gr_throttle_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>gr_throttle_0_0</source_block_id> + <sink_block_id>blks2_packet_encoder_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blks2_packet_encoder_0</source_block_id> + <sink_block_id>digital_gfsk_mod_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>digital_gfsk_demod_0</source_block_id> + <sink_block_id>blks2_packet_decoder_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blks2_packet_decoder_0</source_block_id> + <sink_block_id>wxgui_scopesink2_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>digital_gfsk_mod_0</source_block_id> + <sink_block_id>gr_quadrature_demod_cf_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>gr_quadrature_demod_cf_0</source_block_id> + <sink_block_id>wxgui_scopesink2_1</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> +</flow_graph> diff --git a/gr-digital/examples/demod/mpsk_demod.grc b/gr-digital/examples/demod/mpsk_demod.grc index d7cca9661..b718fb68a 100644 --- a/gr-digital/examples/demod/mpsk_demod.grc +++ b/gr-digital/examples/demod/mpsk_demod.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Tue Apr 3 18:01:57 2012</timestamp> + <timestamp>Thu Jul 5 16:28:45 2012</timestamp> <block> <key>options</key> <param> @@ -44,6 +44,10 @@ <value>True</value> </param> <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> <key>realtime_scheduling</key> <value></value> </param> @@ -405,6 +409,10 @@ <value>notebook, 1</value> </param> <param> + <key>freqvar</key> + <value>None</value> + </param> + <param> <key>_coordinate</key> <value>(847, 10)</value> </param> diff --git a/gr-digital/examples/demod/pam_sync.grc b/gr-digital/examples/demod/pam_sync.grc index 8571995a5..f870a0b06 100644 --- a/gr-digital/examples/demod/pam_sync.grc +++ b/gr-digital/examples/demod/pam_sync.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Sat Mar 6 17:17:22 2010</timestamp> + <timestamp>Thu Jul 5 17:54:54 2012</timestamp> <block> <key>options</key> <param> @@ -44,12 +44,16 @@ <value>True</value> </param> <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> <key>realtime_scheduling</key> <value></value> </param> <param> <key>_coordinate</key> - <value>(10, 10)</value> + <value>(-1, 0)</value> </param> <param> <key>_rotation</key> @@ -57,37 +61,22 @@ </param> </block> <block> - <key>gr_uchar_to_float</key> + <key>variable</key> <param> <key>id</key> - <value>gr_uchar_to_float_0</value> + <value>const</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>_coordinate</key> - <value>(217, 108)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>gr_uchar_to_float</key> - <param> - <key>id</key> - <value>gr_uchar_to_float_0_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> + <key>value</key> + <value>digital.qpsk_constellation()</value> </param> <param> <key>_coordinate</key> - <value>(216, 273)</value> + <value>(336, -2)</value> </param> <param> <key>_rotation</key> @@ -98,7 +87,7 @@ <key>variable</key> <param> <key>id</key> - <value>samp_rate</value> + <value>rrctaps</value> </param> <param> <key>_enabled</key> @@ -106,11 +95,11 @@ </param> <param> <key>value</key> - <value>32000</value> + <value>firdes.root_raised_cosine(nfilts,1.0,1.0/(spb*nfilts), rolloff, int(11*spb*nfilts))</value> </param> <param> <key>_coordinate</key> - <value>(128, 9)</value> + <value>(686, -1)</value> </param> <param> <key>_rotation</key> @@ -118,54 +107,22 @@ </param> </block> <block> - <key>variable_slider</key> + <key>variable</key> <param> <key>id</key> - <value>freq_offset</value> + <value>rolloff</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Frequency Offset</value> - </param> - <param> <key>value</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>-0.5</value> - </param> - <param> - <key>max</key> - <value>0.5</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> - </param> - <param> - <key>converver</key> - <value>float_converter</value> - </param> - <param> - <key>grid_pos</key> - <value></value> - </param> - <param> - <key>notebook</key> - <value></value> + <value>0.35</value> </param> <param> <key>_coordinate</key> - <value>(293, 684)</value> + <value>(607, -1)</value> </param> <param> <key>_rotation</key> @@ -173,38 +130,22 @@ </param> </block> <block> - <key>random_source_x</key> + <key>variable</key> <param> <key>id</key> - <value>random_source_x_0</value> + <value>spb</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>max</key> - <value>pam_amp</value> - </param> - <param> - <key>num_samps</key> - <value>10000</value> - </param> - <param> - <key>repeat</key> - <value>True</value> + <key>value</key> + <value>4.0</value> </param> <param> <key>_coordinate</key> - <value>(13, 80)</value> + <value>(542, -1)</value> </param> <param> <key>_rotation</key> @@ -212,38 +153,22 @@ </param> </block> <block> - <key>random_source_x</key> + <key>variable</key> <param> <key>id</key> - <value>random_source_x_0_0</value> + <value>sig_amp</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>max</key> - <value>pam_amp</value> - </param> - <param> - <key>num_samps</key> - <value>10000</value> - </param> - <param> - <key>repeat</key> - <value>True</value> + <key>value</key> + <value>1.0</value> </param> <param> <key>_coordinate</key> - <value>(15, 245)</value> + <value>(861, 0)</value> </param> <param> <key>_rotation</key> @@ -251,26 +176,22 @@ </param> </block> <block> - <key>const_source_x</key> + <key>virtual_sink</key> <param> <key>id</key> - <value>const_source_x_0</value> + <value>virtual_sink_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>const</key> - <value>-0.5*(pam_amp-1)</value> + <key>stream_id</key> + <value>input_signal_probe</value> </param> <param> <key>_coordinate</key> - <value>(213, 197)</value> + <value>(330, 183)</value> </param> <param> <key>_rotation</key> @@ -278,10 +199,10 @@ </param> </block> <block> - <key>const_source_x</key> + <key>gr_pfb_clock_sync_xxx</key> <param> <key>id</key> - <value>const_source_x_0_0</value> + <value>gr_pfb_clock_sync_xxx_0</value> </param> <param> <key>_enabled</key> @@ -289,46 +210,43 @@ </param> <param> <key>type</key> - <value>float</value> + <value>ccf</value> </param> <param> - <key>const</key> - <value>-0.5*(pam_amp-1)</value> + <key>sps</key> + <value>spb</value> </param> <param> - <key>_coordinate</key> - <value>(200, 360)</value> + <key>alpha</key> + <value>time_alpha</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>beta</key> + <value>time_beta</value> </param> - </block> - <block> - <key>gr_add_xx</key> <param> - <key>id</key> - <value>gr_add_xx_0</value> + <key>taps</key> + <value>rrctaps</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>filter_size</key> + <value>nfilts</value> </param> <param> - <key>type</key> - <value>float</value> + <key>init_phase</key> + <value>16</value> </param> <param> - <key>num_inputs</key> - <value>2</value> + <key>max_dev</key> + <value>1.5</value> </param> <param> - <key>vlen</key> + <key>osps</key> <value>1</value> </param> <param> <key>_coordinate</key> - <value>(440, 167)</value> + <value>(598, 241)</value> </param> <param> <key>_rotation</key> @@ -336,10 +254,10 @@ </param> </block> <block> - <key>gr_add_xx</key> + <key>digital_fll_band_edge_cc</key> <param> <key>id</key> - <value>gr_add_xx_0_1</value> + <value>digital_fll_band_edge_cc_0</value> </param> <param> <key>_enabled</key> @@ -347,19 +265,27 @@ </param> <param> <key>type</key> - <value>float</value> + <value>cc</value> </param> <param> - <key>num_inputs</key> - <value>2</value> + <key>samps_per_sym</key> + <value>spb</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>rolloff</key> + <value>rolloff</value> + </param> + <param> + <key>filter_size</key> + <value>44</value> + </param> + <param> + <key>w</key> + <value>freq_bw</value> </param> <param> <key>_coordinate</key> - <value>(430, 330)</value> + <value>(331, 239)</value> </param> <param> <key>_rotation</key> @@ -382,7 +308,7 @@ </param> <param> <key>_coordinate</key> - <value>(435, 686)</value> + <value>(598, 186)</value> </param> <param> <key>_rotation</key> @@ -390,54 +316,22 @@ </param> </block> <block> - <key>variable_slider</key> + <key>variable</key> <param> <key>id</key> - <value>noise_amp</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Channel Noise</value> - </param> - <param> <key>value</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>max</key> - <value>1.0</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> - </param> - <param> - <key>converver</key> - <value>float_converter</value> - </param> - <param> - <key>grid_pos</key> - <value></value> - </param> - <param> - <key>notebook</key> - <value></value> + <value>128000</value> </param> <param> <key>_coordinate</key> - <value>(168, 684)</value> + <value>(193, -1)</value> </param> <param> <key>_rotation</key> @@ -445,77 +339,38 @@ </param> </block> <block> - <key>variable_slider</key> + <key>random_source_x</key> <param> <key>id</key> - <value>interpratio</value> + <value>random_source_x</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Timing Offset</value> - </param> - <param> - <key>value</key> - <value>1.00</value> + <key>type</key> + <value>byte</value> </param> <param> <key>min</key> - <value>0.99</value> + <value>0</value> </param> <param> <key>max</key> - <value>1.01</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> + <value>const.arity()</value> </param> <param> - <key>converver</key> - <value>float_converter</value> - </param> - <param> - <key>grid_pos</key> - <value></value> - </param> - <param> - <key>notebook</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(40, 684)</value> - </param> - <param> - <key>_rotation</key> - <value>180</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>pam_amp</value> + <key>num_samps</key> + <value>10000000</value> </param> <param> - <key>_enabled</key> + <key>repeat</key> <value>True</value> </param> <param> - <key>value</key> - <value>2</value> - </param> - <param> <key>_coordinate</key> - <value>(223, 9)</value> + <value>(0, 72)</value> </param> <param> <key>_rotation</key> @@ -523,45 +378,38 @@ </param> </block> <block> - <key>variable</key> + <key>gr_chunks_to_symbols_xx</key> <param> <key>id</key> - <value>sig_amp</value> + <value>gr_chunks_to_symbols_xx</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>1</value> + <key>in_type</key> + <value>byte</value> </param> <param> - <key>_coordinate</key> - <value>(315, 9)</value> + <key>out_type</key> + <value>complex</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>symbol_table</key> + <value>const.points()</value> </param> - </block> - <block> - <key>variable</key> <param> - <key>id</key> - <value>rolloff</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> + <key>dimension</key> + <value>1</value> </param> <param> - <key>value</key> - <value>0.35</value> + <key>num_ports</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(397, 9)</value> + <value>(196, 87)</value> </param> <param> <key>_rotation</key> @@ -569,30 +417,30 @@ </param> </block> <block> - <key>gr_throttle</key> + <key>blks2_pfb_arb_resampler_ccf</key> <param> <key>id</key> - <value>gr_throttle_0</value> + <value>blks2_pfb_arb_resampler_ccf_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>complex</value> + <key>rate</key> + <value>spb</value> </param> <param> - <key>samples_per_second</key> - <value>samp_rate</value> + <key>taps</key> + <value>firdes.root_raised_cosine(32, 32, 1.0, 0.35, 44*32)</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>size</key> + <value>32</value> </param> <param> <key>_coordinate</key> - <value>(253, 575)</value> + <value>(435, 80)</value> </param> <param> <key>_rotation</key> @@ -600,109 +448,69 @@ </param> </block> <block> - <key>variable_slider</key> + <key>gr_channel_model</key> <param> <key>id</key> - <value>time_beta</value> + <value>gr_channel_model_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Timing Beta</value> - </param> - <param> - <key>value</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>0.0</value> - </param> - <param> - <key>max</key> - <value>0.1</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> + <key>noise_voltage</key> + <value>noise_amp</value> </param> <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> + <key>freq_offset</key> + <value>freq_offset</value> </param> <param> - <key>converver</key> - <value>float_converter</value> + <key>epsilon</key> + <value>interpratio</value> </param> <param> - <key>grid_pos</key> - <value></value> + <key>taps</key> + <value>1.0</value> </param> <param> - <key>notebook</key> - <value></value> + <key>seed</key> + <value>42</value> </param> <param> <key>_coordinate</key> - <value>(606, 8)</value> + <value>(46, 183)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <block> - <key>variable_slider</key> + <key>gr_multiply_const_vxx</key> <param> <key>id</key> - <value>time_alpha</value> + <value>gr_multiply_const_vxx_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Timing Alpha</value> - </param> - <param> - <key>value</key> - <value>0</value> + <key>type</key> + <value>complex</value> </param> <param> - <key>min</key> - <value>0</value> + <key>const</key> + <value>sig_amp</value> </param> <param> - <key>max</key> + <key>vlen</key> <value>1</value> </param> <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> - </param> - <param> - <key>converver</key> - <value>float_converter</value> - </param> - <param> - <key>grid_pos</key> - <value></value> - </param> - <param> - <key>notebook</key> - <value></value> - </param> - <param> <key>_coordinate</key> - <value>(490, 8)</value> + <value>(659, 95)</value> </param> <param> <key>_rotation</key> @@ -710,54 +518,30 @@ </param> </block> <block> - <key>variable_slider</key> + <key>gr_throttle</key> <param> <key>id</key> - <value>phase_alpha</value> + <value>gr_throttle_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Phase Alpha</value> - </param> - <param> - <key>value</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>0</value> - </param> - <param> - <key>max</key> - <value>0.1</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> - </param> - <param> - <key>converver</key> - <value>float_converter</value> + <key>type</key> + <value>complex</value> </param> <param> - <key>grid_pos</key> - <value></value> + <key>samples_per_second</key> + <value>samp_rate</value> </param> <param> - <key>notebook</key> - <value></value> + <key>vlen</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(953, 8)</value> + <value>(857, 95)</value> </param> <param> <key>_rotation</key> @@ -765,85 +549,41 @@ </param> </block> <block> - <key>variable_slider</key> + <key>virtual_source</key> <param> <key>id</key> - <value>phase_beta</value> + <value>virtual_source_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Phase Beta</value> - </param> - <param> - <key>value</key> - <value>0</value> - </param> - <param> - <key>min</key> - <value>0.0</value> - </param> - <param> - <key>max</key> - <value>0.01</value> - </param> - <param> - <key>num_steps</key> - <value>1000</value> - </param> - <param> - <key>style</key> - <value>wx.SL_HORIZONTAL</value> - </param> - <param> - <key>converver</key> - <value>float_converter</value> - </param> - <param> - <key>grid_pos</key> - <value></value> - </param> - <param> - <key>notebook</key> - <value></value> + <key>stream_id</key> + <value>input_signal_probe</value> </param> <param> <key>_coordinate</key> - <value>(1066, 8)</value> + <value>(835, 562)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <block> - <key>gr_costas_loop_cc</key> + <key>digital_costas_loop_cc</key> <param> <key>id</key> - <value>gr_costas_loop_cc_0</value> + <value>digital_costas_loop_cc_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>alpha</key> - <value>phase_alpha</value> - </param> - <param> - <key>beta</key> - <value>phase_beta</value> - </param> - <param> - <key>max_freq</key> - <value>0.2</value> - </param> - <param> - <key>min_freq</key> - <value>-0.2</value> + <key>w</key> + <value>phase_bw</value> </param> <param> <key>order</key> @@ -851,7 +591,7 @@ </param> <param> <key>_coordinate</key> - <value>(915, 560)</value> + <value>(866, 246)</value> </param> <param> <key>_rotation</key> @@ -862,7 +602,7 @@ <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>wxgui_scopesink2_0</value> + <value>wxgui_scopesink2_0_0_1</value> </param> <param> <key>_enabled</key> @@ -874,7 +614,7 @@ </param> <param> <key>title</key> - <value>Input Signal</value> + <value>Pre-sync Signal</value> </param> <param> <key>samp_rate</key> @@ -882,7 +622,7 @@ </param> <param> <key>v_scale</key> - <value>0</value> + <value>.5</value> </param> <param> <key>v_offset</key> @@ -914,34 +654,19 @@ </param> <param> <key>notebook</key> - <value>notebook_0,0</value> - </param> - <param> - <key>_coordinate</key> - <value>(1116, 559)</value> + <value>notebook_0,1</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> </param> - </block> - <block> - <key>variable</key> <param> - <key>id</key> - <value>rrctaps</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>firdes.root_raised_cosine(nfilts,1.0,1.0/(spb*nfilts), rolloff, int(11*spb*nfilts))</value> + <key>y_axis_label</key> + <value>Counts</value> </param> <param> <key>_coordinate</key> - <value>(436, 755)</value> + <value>(1081, 439)</value> </param> <param> <key>_rotation</key> @@ -949,85 +674,70 @@ </param> </block> <block> - <key>notebook</key> + <key>wxgui_fftsink2</key> <param> <key>id</key> - <value>notebook_0</value> + <value>wxgui_fftsink2_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>style</key> - <value>wx.NB_TOP</value> - </param> - <param> - <key>labels</key> - <value>['Output Signal', 'Input Signal']</value> - </param> - <param> - <key>grid_pos</key> - <value></value> + <key>type</key> + <value>complex</value> </param> <param> - <key>notebook</key> - <value></value> + <key>title</key> + <value>Received spectrum</value> </param> <param> - <key>_coordinate</key> - <value>(203, 823)</value> + <key>samp_rate</key> + <value>samp_rate</value> </param> <param> - <key>_rotation</key> + <key>baseband_freq</key> <value>0</value> </param> - </block> - <block> - <key>wxgui_scopesink2</key> - <param> - <key>id</key> - <value>wxgui_scopesink2_0_0_1</value> - </param> <param> - <key>_enabled</key> - <value>True</value> + <key>y_per_div</key> + <value>10</value> </param> <param> - <key>type</key> - <value>complex</value> + <key>y_divs</key> + <value>10</value> </param> <param> - <key>title</key> - <value>Input Signal</value> + <key>ref_level</key> + <value>10</value> </param> <param> - <key>samp_rate</key> - <value>samp_rate</value> + <key>ref_scale</key> + <value>2.0</value> </param> <param> - <key>v_scale</key> - <value>.5</value> + <key>fft_size</key> + <value>1024</value> </param> <param> - <key>v_offset</key> - <value>0</value> + <key>fft_rate</key> + <value>30</value> </param> <param> - <key>t_scale</key> - <value>0</value> + <key>peak_hold</key> + <value>False</value> </param> <param> - <key>ac_couple</key> + <key>average</key> <value>False</value> </param> <param> - <key>xy_mode</key> - <value>False</value> + <key>avg_alpha</key> + <value>0</value> </param> <param> - <key>num_inputs</key> - <value>1</value> + <key>win</key> + <value>None</value> </param> <param> <key>win_size</key> @@ -1042,8 +752,12 @@ <value>notebook_0,1</value> </param> <param> + <key>freqvar</key> + <value>None</value> + </param> + <param> <key>_coordinate</key> - <value>(975, 312)</value> + <value>(1081, 563)</value> </param> <param> <key>_rotation</key> @@ -1054,7 +768,7 @@ <key>wxgui_fftsink2</key> <param> <key>id</key> - <value>wxgui_fftsink2_0</value> + <value>wxgui_fftsink2_0_0</value> </param> <param> <key>_enabled</key> @@ -1066,7 +780,7 @@ </param> <param> <key>title</key> - <value>Input Frequency</value> + <value>Post-sync spectrum</value> </param> <param> <key>samp_rate</key> @@ -1126,195 +840,200 @@ </param> <param> <key>notebook</key> - <value>notebook_0,1</value> + <value>notebook_0,0</value> + </param> + <param> + <key>freqvar</key> + <value>None</value> </param> <param> <key>_coordinate</key> - <value>(1116, 355)</value> + <value>(347, 516)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>virtual_source</key> + <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>virtual_source_0</value> + <value>wxgui_scopesink2_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>stream_id</key> - <value>input_signal_probe</value> + <key>type</key> + <value>complex</value> </param> <param> - <key>_coordinate</key> - <value>(801, 453)</value> + <key>title</key> + <value>Post-sync Signal</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>samp_rate</key> + <value>samp_rate</value> </param> - </block> - <block> - <key>virtual_sink</key> <param> - <key>id</key> - <value>virtual_sink_0</value> + <key>v_scale</key> + <value>0</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>v_offset</key> + <value>0</value> </param> <param> - <key>stream_id</key> - <value>input_signal_probe</value> + <key>t_scale</key> + <value>0</value> </param> <param> - <key>_coordinate</key> - <value>(280, 475)</value> + <key>ac_couple</key> + <value>False</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>xy_mode</key> + <value>True</value> </param> - </block> - <block> - <key>wxgui_fftsink2</key> <param> - <key>id</key> - <value>wxgui_fftsink2_0_0</value> + <key>num_inputs</key> + <value>1</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>win_size</key> + <value></value> </param> <param> - <key>type</key> - <value>complex</value> + <key>grid_pos</key> + <value></value> </param> <param> - <key>title</key> - <value>Output Frequency</value> + <key>notebook</key> + <value>notebook_0,0</value> </param> <param> - <key>samp_rate</key> - <value>samp_rate</value> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> </param> <param> - <key>baseband_freq</key> - <value>0</value> + <key>y_axis_label</key> + <value>Counts</value> </param> <param> - <key>y_per_div</key> - <value>10</value> + <key>_coordinate</key> + <value>(1085, 213)</value> </param> <param> - <key>y_divs</key> - <value>10</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>variable_slider</key> <param> - <key>ref_level</key> - <value>10</value> + <key>id</key> + <value>freq_bw</value> </param> <param> - <key>ref_scale</key> - <value>2.0</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>fft_size</key> - <value>1024</value> + <key>label</key> + <value>FLL Bandwidth</value> </param> <param> - <key>fft_rate</key> - <value>30</value> + <key>value</key> + <value>0</value> </param> <param> - <key>peak_hold</key> - <value>False</value> + <key>min</key> + <value>0.0</value> </param> <param> - <key>average</key> - <value>False</value> + <key>max</key> + <value>0.05</value> </param> <param> - <key>avg_alpha</key> - <value>0</value> + <key>num_steps</key> + <value>1000</value> </param> <param> - <key>win</key> - <value>None</value> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> </param> <param> - <key>win_size</key> - <value></value> + <key>converver</key> + <value>float_converter</value> </param> <param> <key>grid_pos</key> - <value></value> + <value>(4,2,1,1)</value> </param> <param> <key>notebook</key> - <value>notebook_0,0</value> + <value></value> </param> <param> <key>_coordinate</key> - <value>(663, 687)</value> + <value>(341, 373)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>gr_pfb_clock_sync_xxx</key> + <key>variable_slider</key> <param> <key>id</key> - <value>gr_pfb_clock_sync_xxx_0</value> + <value>time_alpha</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>ccf</value> + <key>label</key> + <value>Timing Alpha</value> </param> <param> - <key>sps</key> - <value>spb</value> + <key>value</key> + <value>0</value> </param> <param> - <key>alpha</key> - <value>time_alpha</value> + <key>min</key> + <value>0</value> </param> <param> - <key>beta</key> - <value>time_beta</value> + <key>max</key> + <value>1</value> </param> <param> - <key>taps</key> - <value>rrctaps</value> + <key>num_steps</key> + <value>1000</value> </param> <param> - <key>filter_size</key> - <value>nfilts</value> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> </param> <param> - <key>init_phase</key> - <value>16</value> + <key>converver</key> + <value>float_converter</value> </param> <param> - <key>max_dev</key> - <value>1.5</value> + <key>grid_pos</key> + <value>(5,2,1,1)</value> + </param> + <param> + <key>notebook</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(662, 527)</value> + <value>(598, 388)</value> </param> <param> <key>_rotation</key> @@ -1322,92 +1041,109 @@ </param> </block> <block> - <key>gr_float_to_complex</key> + <key>variable_slider</key> <param> <key>id</key> - <value>gr_float_to_complex_0</value> + <value>time_beta</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>vlen</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(592, 184)</value> + <key>label</key> + <value>Timing Beta</value> </param> <param> - <key>_rotation</key> + <key>value</key> <value>0</value> </param> - </block> - <block> - <key>gr_channel_model</key> <param> - <key>id</key> - <value>gr_channel_model_0</value> + <key>min</key> + <value>0.0</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>max</key> + <value>0.1</value> </param> <param> - <key>noise_voltage</key> - <value>noise_amp</value> + <key>num_steps</key> + <value>1000</value> </param> <param> - <key>freq_offset</key> - <value>freq_offset</value> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> </param> <param> - <key>epsilon</key> - <value>interpratio</value> + <key>converver</key> + <value>float_converter</value> </param> <param> - <key>taps</key> - <value>1.0</value> + <key>grid_pos</key> + <value>(6,2,1,1)</value> </param> <param> - <key>seed</key> - <value>42</value> + <key>notebook</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(60, 443)</value> + <value>(708, 388)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>gr_multiply_const_vxx</key> + <key>variable_slider</key> <param> <key>id</key> - <value>gr_multiply_const_vxx_0</value> + <value>phase_bw</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>complex</value> + <key>label</key> + <value>Costas Loop (Phase) Bandwidth</value> </param> <param> - <key>const</key> - <value>sig_amp</value> + <key>value</key> + <value>0</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>min</key> + <value>0</value> + </param> + <param> + <key>max</key> + <value>0.1</value> + </param> + <param> + <key>num_steps</key> + <value>1000</value> + </param> + <param> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> + </param> + <param> + <key>converver</key> + <value>float_converter</value> + </param> + <param> + <key>grid_pos</key> + <value>(7,2,1,1)</value> + </param> + <param> + <key>notebook</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(670, 322)</value> + <value>(866, 313)</value> </param> <param> <key>_rotation</key> @@ -1415,30 +1151,34 @@ </param> </block> <block> - <key>blks2_pfb_arb_resampler_ccf</key> + <key>notebook</key> <param> <key>id</key> - <value>blks2_pfb_arb_resampler_ccf_0</value> + <value>notebook_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>rate</key> - <value>spb</value> + <key>style</key> + <value>wx.NB_TOP</value> </param> <param> - <key>taps</key> - <value>firdes.root_raised_cosine(32, 32, 1.0, 0.35, 44*32)</value> + <key>labels</key> + <value>['Synched Signal', 'Received Signal']</value> </param> <param> - <key>size</key> - <value>32</value> + <key>grid_pos</key> + <value>(1,1,8,1)</value> + </param> + <param> + <key>notebook</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(778, 180)</value> + <value>(9, 601)</value> </param> <param> <key>_rotation</key> @@ -1446,76 +1186,65 @@ </param> </block> <block> - <key>gr_fll_band_edge_cc</key> + <key>variable_slider</key> <param> <key>id</key> - <value>gr_fll_band_edge_cc_0</value> + <value>interpratio</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>cc</value> - </param> - <param> - <key>samps_per_sym</key> - <value>spb</value> - </param> - <param> - <key>rolloff</key> - <value>rolloff</value> + <key>label</key> + <value>Timing Offset</value> </param> <param> - <key>filter_size</key> - <value>44</value> + <key>value</key> + <value>1.00</value> </param> <param> - <key>alpha</key> - <value>freq_alpha</value> + <key>min</key> + <value>0.99</value> </param> <param> - <key>beta</key> - <value>freq_beta</value> + <key>max</key> + <value>1.01</value> </param> <param> - <key>_coordinate</key> - <value>(429, 528)</value> + <key>num_steps</key> + <value>1000</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>style</key> + <value>wx.SL_HORIZONTAL</value> </param> - </block> - <block> - <key>variable</key> <param> - <key>id</key> - <value>spb</value> + <key>converver</key> + <value>float_converter</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>grid_pos</key> + <value>(3,2,1,1)</value> </param> <param> - <key>value</key> - <value>4.0</value> + <key>notebook</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(40, 829)</value> + <value>(60, 407)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> <key>variable_slider</key> <param> <key>id</key> - <value>freq_alpha</value> + <value>noise_amp</value> </param> <param> <key>_enabled</key> @@ -1523,7 +1252,7 @@ </param> <param> <key>label</key> - <value>Freq Alpha</value> + <value>Channel Noise</value> </param> <param> <key>value</key> @@ -1535,7 +1264,7 @@ </param> <param> <key>max</key> - <value>0.1</value> + <value>1.0</value> </param> <param> <key>num_steps</key> @@ -1551,7 +1280,7 @@ </param> <param> <key>grid_pos</key> - <value></value> + <value>(1,2,1,1)</value> </param> <param> <key>notebook</key> @@ -1559,7 +1288,7 @@ </param> <param> <key>_coordinate</key> - <value>(734, 10)</value> + <value>(125, 284)</value> </param> <param> <key>_rotation</key> @@ -1570,7 +1299,7 @@ <key>variable_slider</key> <param> <key>id</key> - <value>freq_beta</value> + <value>freq_offset</value> </param> <param> <key>_enabled</key> @@ -1578,7 +1307,7 @@ </param> <param> <key>label</key> - <value>Freq Beta</value> + <value>Frequency Offset</value> </param> <param> <key>value</key> @@ -1586,11 +1315,11 @@ </param> <param> <key>min</key> - <value>0.0</value> + <value>-0.5</value> </param> <param> <key>max</key> - <value>0.01</value> + <value>0.5</value> </param> <param> <key>num_steps</key> @@ -1606,7 +1335,7 @@ </param> <param> <key>grid_pos</key> - <value></value> + <value>(2,2,1,1)</value> </param> <param> <key>notebook</key> @@ -1614,130 +1343,88 @@ </param> <param> <key>_coordinate</key> - <value>(836, 9)</value> + <value>(6, 284)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <connection> - <source_block_id>random_source_x_0</source_block_id> - <sink_block_id>gr_uchar_to_float_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>gr_uchar_to_float_0_0</source_block_id> - <sink_block_id>gr_add_xx_0_1</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>const_source_x_0_0</source_block_id> - <sink_block_id>gr_add_xx_0_1</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>random_source_x_0_0</source_block_id> - <sink_block_id>gr_uchar_to_float_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> <source_block_id>gr_channel_model_0</source_block_id> - <sink_block_id>gr_throttle_0</sink_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_add_xx_0</source_block_id> - <sink_block_id>gr_float_to_complex_0</sink_block_id> + <source_block_id>digital_fll_band_edge_cc_0</source_block_id> + <sink_block_id>gr_pfb_clock_sync_xxx_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_add_xx_0_1</source_block_id> - <sink_block_id>gr_float_to_complex_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>gr_uchar_to_float_0</source_block_id> - <sink_block_id>gr_add_xx_0</sink_block_id> + <source_block_id>gr_pfb_clock_sync_xxx_0</source_block_id> + <sink_block_id>digital_costas_loop_cc_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>const_source_x_0</source_block_id> - <sink_block_id>gr_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>gr_throttle_0</source_block_id> - <sink_block_id>gr_fll_band_edge_cc_0</sink_block_id> + <source_block_id>digital_costas_loop_cc_0</source_block_id> + <sink_block_id>wxgui_scopesink2_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_fll_band_edge_cc_0</source_block_id> - <sink_block_id>gr_pfb_clock_sync_xxx_0</sink_block_id> + <source_block_id>blks2_pfb_arb_resampler_ccf_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>gr_pfb_clock_sync_xxx_0</source_block_id> - <sink_block_id>gr_costas_loop_cc_0</sink_block_id> + <source_block_id>gr_chunks_to_symbols_xx</source_block_id> + <sink_block_id>blks2_pfb_arb_resampler_ccf_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_costas_loop_cc_0</source_block_id> - <sink_block_id>wxgui_scopesink2_0</sink_block_id> + <source_block_id>gr_channel_model_0</source_block_id> + <sink_block_id>digital_fll_band_edge_cc_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_fll_band_edge_cc_0</source_block_id> + <source_block_id>digital_fll_band_edge_cc_0</source_block_id> <sink_block_id>wxgui_fftsink2_0_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>wxgui_scopesink2_0_0_1</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>wxgui_fftsink2_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_channel_model_0</source_block_id> - <sink_block_id>virtual_sink_0</sink_block_id> + <source_block_id>virtual_source_0</source_block_id> + <sink_block_id>wxgui_scopesink2_0_0_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>gr_float_to_complex_0</source_block_id> - <sink_block_id>blks2_pfb_arb_resampler_ccf_0</sink_block_id> + <source_block_id>random_source_x</source_block_id> + <sink_block_id>gr_chunks_to_symbols_xx</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blks2_pfb_arb_resampler_ccf_0</source_block_id> - <sink_block_id>gr_multiply_const_vxx_0</sink_block_id> + <source_block_id>gr_throttle_0</source_block_id> + <sink_block_id>gr_channel_model_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>gr_channel_model_0</sink_block_id> + <sink_block_id>gr_throttle_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> diff --git a/gr-digital/examples/demod/pam_timing.grc b/gr-digital/examples/demod/pam_timing.grc index 02130f481..14a7d403e 100644 --- a/gr-digital/examples/demod/pam_timing.grc +++ b/gr-digital/examples/demod/pam_timing.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Mon Feb 1 18:54:46 2010</timestamp> + <timestamp>Thu Jul 5 17:55:51 2012</timestamp> <block> <key>options</key> <param> @@ -44,6 +44,10 @@ <value>True</value> </param> <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> <key>realtime_scheduling</key> <value></value> </param> @@ -749,6 +753,14 @@ <value></value> </param> <param> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> + </param> + <param> + <key>y_axis_label</key> + <value>Counts</value> + </param> + <param> <key>_coordinate</key> <value>(1116, 500)</value> </param> @@ -792,7 +804,7 @@ <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>wxgui_scopesink2_0_0</value> + <value>wxgui_scopesink2_0_0_0</value> </param> <param> <key>_enabled</key> @@ -804,7 +816,7 @@ </param> <param> <key>title</key> - <value>Error</value> + <value>Scope Plot</value> </param> <param> <key>samp_rate</key> @@ -812,7 +824,7 @@ </param> <param> <key>v_scale</key> - <value>3</value> + <value>9</value> </param> <param> <key>v_offset</key> @@ -844,11 +856,42 @@ </param> <param> <key>notebook</key> - <value>notebook_0,0</value> + <value>notebook_0,1</value> + </param> + <param> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> + </param> + <param> + <key>y_axis_label</key> + <value>Counts</value> </param> <param> <key>_coordinate</key> - <value>(1110, 651)</value> + <value>(1112, 881)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>rrctaps</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>firdes.root_raised_cosine(nfilts,1.0,1.0/(spb*nfilts), .35, int(11*spb*nfilts))</value> + </param> + <param> + <key>_coordinate</key> + <value>(513, 679)</value> </param> <param> <key>_rotation</key> @@ -859,7 +902,7 @@ <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>wxgui_scopesink2_0_0_0</value> + <value>wxgui_scopesink2_0_0_1</value> </param> <param> <key>_enabled</key> @@ -867,11 +910,11 @@ </param> <param> <key>type</key> - <value>float</value> + <value>complex</value> </param> <param> <key>title</key> - <value>Scope Plot</value> + <value>Error</value> </param> <param> <key>samp_rate</key> @@ -879,7 +922,7 @@ </param> <param> <key>v_scale</key> - <value>9</value> + <value>.5</value> </param> <param> <key>v_offset</key> @@ -911,11 +954,19 @@ </param> <param> <key>notebook</key> - <value>notebook_0,1</value> + <value>notebook_0,3</value> + </param> + <param> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> + </param> + <param> + <key>y_axis_label</key> + <value>Counts</value> </param> <param> <key>_coordinate</key> - <value>(1112, 881)</value> + <value>(1115, 358)</value> </param> <param> <key>_rotation</key> @@ -923,22 +974,22 @@ </param> </block> <block> - <key>variable</key> + <key>gr_float_to_complex</key> <param> <key>id</key> - <value>rrctaps</value> + <value>gr_float_to_complex_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>firdes.root_raised_cosine(nfilts,1.0,1.0/(spb*nfilts), .35, int(11*spb*nfilts))</value> + <key>vlen</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(513, 679)</value> + <value>(590, 184)</value> </param> <param> <key>_rotation</key> @@ -946,50 +997,69 @@ </param> </block> <block> - <key>gr_pfb_clock_sync_xxx</key> + <key>blks2_pfb_arb_resampler_ccf</key> <param> <key>id</key> - <value>gr_pfb_clock_sync_xxx_0</value> + <value>blks2_pfb_arb_resampler_ccf_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>ccf</value> + <key>rate</key> + <value>spb</value> </param> <param> - <key>sps</key> - <value>spb</value> + <key>taps</key> + <value>firdes.root_raised_cosine(32, 32, 1.0, 0.35, 44*32)</value> </param> <param> - <key>alpha</key> - <value>alpha</value> + <key>size</key> + <value>32</value> </param> <param> - <key>beta</key> - <value>beta</value> + <key>_coordinate</key> + <value>(816, 181)</value> </param> <param> - <key>taps</key> - <value>rrctaps</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>gr_channel_model</key> <param> - <key>filter_size</key> - <value>nfilts</value> + <key>id</key> + <value>gr_channel_model_0</value> </param> <param> - <key>init_phase</key> - <value>16</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>max_dev</key> - <value>1.5</value> + <key>noise_voltage</key> + <value>noise_amp</value> + </param> + <param> + <key>freq_offset</key> + <value>freq_offset</value> + </param> + <param> + <key>epsilon</key> + <value>interpratio</value> + </param> + <param> + <key>taps</key> + <value>1.0</value> + </param> + <param> + <key>seed</key> + <value>42</value> </param> <param> <key>_coordinate</key> - <value>(512, 527)</value> + <value>(59, 543)</value> </param> <param> <key>_rotation</key> @@ -997,10 +1067,10 @@ </param> </block> <block> - <key>wxgui_scopesink2</key> + <key>gr_multiply_const_vxx</key> <param> <key>id</key> - <value>wxgui_scopesink2_0_0_0_0</value> + <value>gr_multiply_const_vxx_0</value> </param> <param> <key>_enabled</key> @@ -1008,55 +1078,97 @@ </param> <param> <key>type</key> - <value>float</value> + <value>complex</value> </param> <param> - <key>title</key> - <value>Scope Plot</value> + <key>const</key> + <value>sig_amp</value> </param> <param> - <key>samp_rate</key> - <value>samp_rate</value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>v_scale</key> - <value>1.25</value> + <key>_coordinate</key> + <value>(714, 382)</value> </param> <param> - <key>v_offset</key> + <key>_rotation</key> <value>0</value> </param> + </block> + <block> + <key>variable</key> <param> - <key>t_scale</key> + <key>id</key> + <value>spb</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>4.2563</value> + </param> + <param> + <key>_coordinate</key> + <value>(42, 840)</value> + </param> + <param> + <key>_rotation</key> <value>0</value> </param> + </block> + <block> + <key>gr_pfb_clock_sync_xxx</key> <param> - <key>ac_couple</key> - <value>False</value> + <key>id</key> + <value>gr_pfb_clock_sync_xxx_0</value> </param> <param> - <key>xy_mode</key> - <value>False</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>num_inputs</key> - <value>1</value> + <key>type</key> + <value>ccf</value> </param> <param> - <key>win_size</key> - <value></value> + <key>sps</key> + <value>spb</value> </param> <param> - <key>grid_pos</key> - <value></value> + <key>alpha</key> + <value>alpha</value> </param> <param> - <key>notebook</key> - <value>notebook_0,2</value> + <key>beta</key> + <value>beta</value> + </param> + <param> + <key>taps</key> + <value>rrctaps</value> + </param> + <param> + <key>filter_size</key> + <value>nfilts</value> + </param> + <param> + <key>init_phase</key> + <value>16</value> + </param> + <param> + <key>max_dev</key> + <value>1.5</value> + </param> + <param> + <key>osps</key> + <value>1</value> </param> <param> <key>_coordinate</key> - <value>(1111, 767)</value> + <value>(512, 527)</value> </param> <param> <key>_rotation</key> @@ -1067,7 +1179,7 @@ <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>wxgui_scopesink2_0_0_1</value> + <value>wxgui_scopesink2_0_0</value> </param> <param> <key>_enabled</key> @@ -1075,7 +1187,7 @@ </param> <param> <key>type</key> - <value>complex</value> + <value>float</value> </param> <param> <key>title</key> @@ -1087,7 +1199,7 @@ </param> <param> <key>v_scale</key> - <value>.5</value> + <value>3</value> </param> <param> <key>v_offset</key> @@ -1119,34 +1231,19 @@ </param> <param> <key>notebook</key> - <value>notebook_0,3</value> - </param> - <param> - <key>_coordinate</key> - <value>(1115, 358)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>gr_float_to_complex</key> - <param> - <key>id</key> - <value>gr_float_to_complex_0</value> + <value>notebook_0,0</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>y_axis_label</key> + <value>Counts</value> </param> <param> <key>_coordinate</key> - <value>(590, 184)</value> + <value>(1114, 615)</value> </param> <param> <key>_rotation</key> @@ -1154,123 +1251,74 @@ </param> </block> <block> - <key>blks2_pfb_arb_resampler_ccf</key> + <key>wxgui_scopesink2</key> <param> <key>id</key> - <value>blks2_pfb_arb_resampler_ccf_0</value> + <value>wxgui_scopesink2_0_0_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>rate</key> - <value>spb</value> + <key>type</key> + <value>float</value> </param> <param> - <key>taps</key> - <value>firdes.root_raised_cosine(32, 32, 1.0, 0.35, 44*32)</value> + <key>title</key> + <value>Scope Plot</value> </param> <param> - <key>size</key> - <value>32</value> + <key>samp_rate</key> + <value>samp_rate</value> </param> <param> - <key>_coordinate</key> - <value>(816, 181)</value> + <key>v_scale</key> + <value>1.25</value> </param> <param> - <key>_rotation</key> + <key>v_offset</key> <value>0</value> </param> - </block> - <block> - <key>gr_channel_model</key> - <param> - <key>id</key> - <value>gr_channel_model_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>noise_voltage</key> - <value>noise_amp</value> - </param> <param> - <key>freq_offset</key> - <value>freq_offset</value> - </param> - <param> - <key>epsilon</key> - <value>interpratio</value> - </param> - <param> - <key>taps</key> - <value>1.0</value> - </param> - <param> - <key>seed</key> - <value>42</value> - </param> - <param> - <key>_coordinate</key> - <value>(59, 543)</value> - </param> - <param> - <key>_rotation</key> + <key>t_scale</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> + <key>ac_couple</key> + <value>False</value> </param> <param> - <key>const</key> - <value>sig_amp</value> + <key>xy_mode</key> + <value>False</value> </param> <param> - <key>vlen</key> + <key>num_inputs</key> <value>1</value> </param> <param> - <key>_coordinate</key> - <value>(714, 382)</value> + <key>win_size</key> + <value></value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>grid_pos</key> + <value></value> </param> - </block> - <block> - <key>variable</key> <param> - <key>id</key> - <value>spb</value> + <key>notebook</key> + <value>notebook_0,2</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>trig_mode</key> + <value>gr.gr_TRIG_MODE_AUTO</value> </param> <param> - <key>value</key> - <value>4.2563</value> + <key>y_axis_label</key> + <value>Counts</value> </param> <param> <key>_coordinate</key> - <value>(42, 840)</value> + <value>(1080, 751)</value> </param> <param> <key>_rotation</key> |