summaryrefslogtreecommitdiff
path: root/gr-digital/examples
diff options
context:
space:
mode:
Diffstat (limited to 'gr-digital/examples')
-rw-r--r--gr-digital/examples/CMakeLists.txt1
-rwxr-xr-xgr-digital/examples/berawgn.py104
-rw-r--r--gr-digital/examples/demod/ber_simulation.grc305
-rw-r--r--gr-digital/examples/demod/digital_freq_lock.grc806
-rw-r--r--gr-digital/examples/demod/dpsk_loopback.grc198
-rw-r--r--gr-digital/examples/demod/gfsk_loopback.grc646
-rw-r--r--gr-digital/examples/demod/mpsk_demod.grc10
-rw-r--r--gr-digital/examples/demod/pam_sync.grc1117
-rw-r--r--gr-digital/examples/demod/pam_timing.grc370
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>