Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

digital: updated PSK and added QAM tx/rx and new loopback sim examples.

  • Loading branch information...
commit 71965fec931484d6c58343a377165b1c649b130e 1 parent 18725c9
Tom Rondeau authored
444 digital/bpsk_tx.grc
View
@@ -1,444 +0,0 @@
-<?xml version='1.0' encoding='ASCII'?>
-<flow_graph>
- <timestamp>Tue Apr 26 11:53:19 2011</timestamp>
- <block>
- <key>options</key>
- <param>
- <key>id</key>
- <value>bpsk_tx</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>title</key>
- <value>BPSK - Transmitter</value>
- </param>
- <param>
- <key>author</key>
- <value>Tom Rondeau</value>
- </param>
- <param>
- <key>description</key>
- <value>Transmit BPSK signals to samples</value>
- </param>
- <param>
- <key>window_size</key>
- <value>1280, 1024</value>
- </param>
- <param>
- <key>generate_options</key>
- <value>hb</value>
- </param>
- <param>
- <key>category</key>
- <value>MyDigital</value>
- </param>
- <param>
- <key>run_options</key>
- <value>prompt</value>
- </param>
- <param>
- <key>run</key>
- <value>True</value>
- </param>
- <param>
- <key>realtime_scheduling</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(10, 10)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>sps</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>Samples per Symbol</value>
- </param>
- <param>
- <key>value</key>
- <value>2</value>
- </param>
- <param>
- <key>type</key>
- <value>intx</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(196, 12)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>parameter</key>
- <param>
- <key>id</key>
- <value>excess_bw</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>Excess Bandwidth</value>
- </param>
- <param>
- <key>value</key>
- <value>0.35</value>
- </param>
- <param>
- <key>type</key>
- <value>eng_float</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(196, 112)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>arity</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>2</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(16, 192)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>import</key>
- <param>
- <key>id</key>
- <value>import_scipy</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>import</key>
- <value>import scipy</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(15, 138)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>import</key>
- <param>
- <key>id</key>
- <value>import_psk</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>import</key>
- <value>from gnuradio.blks2 import psk</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(105, 138)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>const_map</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>psk.constellation[arity]</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(374, 16)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>nfilts</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>32</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(94, 194)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>gr_vector_source_x</key>
- <param>
- <key>id</key>
- <value>gr_vector_source_x_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>int</value>
- </param>
- <param>
- <key>vector</key>
- <value>scipy.array(scipy.random.randint(0,2,10000), dtype=scipy.uint8).tolist()</value>
- </param>
- <param>
- <key>repeat</key>
- <value>True</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(296, 304)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>pad_sink</key>
- <param>
- <key>id</key>
- <value>pad_sink_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>label</key>
- <value>out</value>
- </param>
- <param>
- <key>type</key>
- <value>complex</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(1017, 312)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blks2_pfb_arb_resampler_ccf</key>
- <param>
- <key>id</key>
- <value>blks2_pfb_arb_resampler_ccf_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>rate</key>
- <value>sps</value>
- </param>
- <param>
- <key>taps</key>
- <value>taps</value>
- </param>
- <param>
- <key>size</key>
- <value>nfilts</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(783, 296)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>taps</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>firdes.root_raised_cosine(nfilts, nfilts, 1.0, excess_bw, ntaps)</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(372, 84)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>gr_chunks_to_symbols_xx</key>
- <param>
- <key>id</key>
- <value>gr_chunks_to_symbols_xx_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>in_type</key>
- <value>int</value>
- </param>
- <param>
- <key>out_type</key>
- <value>complex</value>
- </param>
- <param>
- <key>symbol_table</key>
- <value>const_map</value>
- </param>
- <param>
- <key>dimension</key>
- <value>1</value>
- </param>
- <param>
- <key>num_ports</key>
- <value>1</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(539, 304)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>ntaps</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>int(11*nfilts*sps)</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(14, 259)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <connection>
- <source_block_id>gr_chunks_to_symbols_xx_0</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_vector_source_x_0</source_block_id>
- <sink_block_id>gr_chunks_to_symbols_xx_0</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>pad_sink_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
-</flow_graph>
761 digital/psk_loopback.grc
View
@@ -0,0 +1,761 @@
+<?xml version='1.0' encoding='ASCII'?>
+<flow_graph>
+ <timestamp>Mon Oct 15 15:49:09 2012</timestamp>
+ <block>
+ <key>options</key>
+ <param>
+ <key>id</key>
+ <value>psk_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>qt_gui</value>
+ </param>
+ <param>
+ <key>category</key>
+ <value>Custom</value>
+ </param>
+ <param>
+ <key>run_options</key>
+ <value>prompt</value>
+ </param>
+ <param>
+ <key>run</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>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>gr_throttle</key>
+ <param>
+ <key>id</key>
+ <value>gr_throttle_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>(306, 188)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>channel_model</key>
+ <param>
+ <key>id</key>
+ <value>channel_model_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>noise_voltage</key>
+ <value>noise</value>
+ </param>
+ <param>
+ <key>freq_offset</key>
+ <value>freq</value>
+ </param>
+ <param>
+ <key>epsilon</key>
+ <value>timing</value>
+ </param>
+ <param>
+ <key>taps</key>
+ <value>1.0 + 1.0j</value>
+ </param>
+ <param>
+ <key>seed</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(516, 156)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>qtgui_sink_x</key>
+ <param>
+ <key>id</key>
+ <value>qtgui_sink_x_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>complex</value>
+ </param>
+ <param>
+ <key>name</key>
+ <value>QT GUI Plot</value>
+ </param>
+ <param>
+ <key>fftsize</key>
+ <value>1024</value>
+ </param>
+ <param>
+ <key>wintype</key>
+ <value>firdes.WIN_BLACKMAN_hARRIS</value>
+ </param>
+ <param>
+ <key>fc</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>bw</key>
+ <value>samp_rate</value>
+ </param>
+ <param>
+ <key>plotfreq</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>plotwaterfall</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>plottime</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>plotconst</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value>0,0,1,1</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(773, 289)</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>200000</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(176, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_qtgui_range</key>
+ <param>
+ <key>id</key>
+ <value>freq</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Frequency Offset</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>init_freq</value>
+ </param>
+ <param>
+ <key>start</key>
+ <value>-0.5</value>
+ </param>
+ <param>
+ <key>stop</key>
+ <value>0.5</value>
+ </param>
+ <param>
+ <key>step</key>
+ <value>0.01</value>
+ </param>
+ <param>
+ <key>widget</key>
+ <value>counter_slider</value>
+ </param>
+ <param>
+ <key>orient</key>
+ <value>Qt.Horizontal</value>
+ </param>
+ <param>
+ <key>min_len</key>
+ <value>200</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(154, 434)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_qtgui_range</key>
+ <param>
+ <key>id</key>
+ <value>noise</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Noise</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>init_noise</value>
+ </param>
+ <param>
+ <key>start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>stop</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>step</key>
+ <value>0.01</value>
+ </param>
+ <param>
+ <key>widget</key>
+ <value>counter_slider</value>
+ </param>
+ <param>
+ <key>orient</key>
+ <value>Qt.Horizontal</value>
+ </param>
+ <param>
+ <key>min_len</key>
+ <value>200</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(24, 433)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>init_freq</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Initial frequency offset</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>0.02</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>f</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(947, 9)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>init_noise</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Initial noise valeu</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>0.2</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>n</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(802, 8)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>psk_tx</key>
+ <param>
+ <key>id</key>
+ <value>psk_tx_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>excess_bw</key>
+ <value>excess_bw</value>
+ </param>
+ <param>
+ <key>arity</key>
+ <value>arity</value>
+ </param>
+ <param>
+ <key>diff</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>sps</key>
+ <value>sps</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(39, 164)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>arity</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Order of modulation</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>4</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>intx</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>m</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(270, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>sps</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Samples per symbol</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>4</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>intx</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>s</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(427, 12)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>init_timing</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Initial timing offset</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>1.001</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>t</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1097, 9)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_qtgui_range</key>
+ <param>
+ <key>id</key>
+ <value>timing</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Timing Offset</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>init_timing</value>
+ </param>
+ <param>
+ <key>start</key>
+ <value>0.99</value>
+ </param>
+ <param>
+ <key>stop</key>
+ <value>1.01</value>
+ </param>
+ <param>
+ <key>step</key>
+ <value>0.0001</value>
+ </param>
+ <param>
+ <key>widget</key>
+ <value>counter_slider</value>
+ </param>
+ <param>
+ <key>orient</key>
+ <value>Qt.Horizontal</value>
+ </param>
+ <param>
+ <key>min_len</key>
+ <value>200</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(295, 434)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>excess_bw</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>RRC Excess bandwidth</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>0.25</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>b</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(583, 13)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>psk_rx</key>
+ <param>
+ <key>id</key>
+ <value>psk_rx_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>arity</key>
+ <value>arity</value>
+ </param>
+ <param>
+ <key>excess_bw</key>
+ <value>excess_bw</value>
+ </param>
+ <param>
+ <key>timing_loop_bw</key>
+ <value>0.1</value>
+ </param>
+ <param>
+ <key>sps</key>
+ <value>sps</value>
+ </param>
+ <param>
+ <key>phase_loop_bw</key>
+ <value>2*3.14/100.0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(776, 156)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>qtgui_sink_x</key>
+ <param>
+ <key>id</key>
+ <value>qtgui_sink_x_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>complex</value>
+ </param>
+ <param>
+ <key>name</key>
+ <value>QT GUI Plot</value>
+ </param>
+ <param>
+ <key>fftsize</key>
+ <value>1024</value>
+ </param>
+ <param>
+ <key>wintype</key>
+ <value>firdes.WIN_BLACKMAN_hARRIS</value>
+ </param>
+ <param>
+ <key>fc</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>bw</key>
+ <value>samp_rate</value>
+ </param>
+ <param>
+ <key>plotfreq</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>plotwaterfall</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>plottime</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>plotconst</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value>0,1,1,1</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1036, 286)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <connection>
+ <source_block_id>psk_tx_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>channel_model_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>psk_rx_0</source_block_id>
+ <sink_block_id>qtgui_sink_x_0_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>channel_model_0</source_block_id>
+ <sink_block_id>psk_rx_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>channel_model_0</source_block_id>
+ <sink_block_id>qtgui_sink_x_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>0</sink_key>
+ </connection>
+</flow_graph>
256 digital/qpsk_rx.grc → digital/psk_rx.grc
View
@@ -1,11 +1,11 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Mon Apr 18 20:12:54 2011</timestamp>
+ <timestamp>Mon Oct 15 15:41:07 2012</timestamp>
<block>
<key>options</key>
<param>
<key>id</key>
- <value>qpsk_rx</value>
+ <value>psk_rx</value>
</param>
<param>
<key>_enabled</key>
@@ -13,7 +13,7 @@
</param>
<param>
<key>title</key>
- <value>QPSK - Receiver</value>
+ <value>M-PSK - Receiver</value>
</param>
<param>
<key>author</key>
@@ -21,7 +21,7 @@
</param>
<param>
<key>description</key>
- <value>Receive QPSK signals to samples</value>
+ <value>Receive M-PSK signals to samples</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>
@@ -57,53 +61,34 @@
</param>
</block>
<block>
- <key>variable</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>pfb_taps</value>
+ <value>arity</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, ntaps)</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(552, 70)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>pad_sink</key>
- <param>
- <key>id</key>
- <value>pad_sink_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
+ <key>label</key>
+ <value>Order of the constellation</value>
</param>
<param>
- <key>label</key>
- <value>out</value>
+ <key>value</key>
+ <value>4</value>
</param>
<param>
<key>type</key>
- <value>complex</value>
+ <value>intx</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1048, 162)</value>
+ <value>(498, 13)</value>
</param>
<param>
<key>_rotation</key>
@@ -114,7 +99,7 @@
<key>parameter</key>
<param>
<key>id</key>
- <value>sps</value>
+ <value>excess_bw</value>
</param>
<param>
<key>_enabled</key>
@@ -122,15 +107,15 @@
</param>
<param>
<key>label</key>
- <value>Samples per Symbol</value>
+ <value>Excess Bandwidth</value>
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>0.35</value>
</param>
<param>
<key>type</key>
- <value>intx</value>
+ <value>eng_float</value>
</param>
<param>
<key>short_id</key>
@@ -138,7 +123,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(196, 12)</value>
+ <value>(354, 13)</value>
</param>
<param>
<key>_rotation</key>
@@ -146,34 +131,22 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>variable</key>
<param>
<key>id</key>
- <value>excess_bw</value>
+ <value>nfilts</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value>Excess Bandwidth</value>
- </param>
- <param>
<key>value</key>
- <value>0.35</value>
- </param>
- <param>
- <key>type</key>
- <value>eng_float</value>
- </param>
- <param>
- <key>short_id</key>
- <value></value>
+ <value>32</value>
</param>
<param>
<key>_coordinate</key>
- <value>(196, 112)</value>
+ <value>(540, 343)</value>
</param>
<param>
<key>_rotation</key>
@@ -184,7 +157,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>nfilts</value>
+ <value>ntaps</value>
</param>
<param>
<key>_enabled</key>
@@ -192,11 +165,11 @@
</param>
<param>
<key>value</key>
- <value>32</value>
+ <value>11*nfilts*sps</value>
</param>
<param>
<key>_coordinate</key>
- <value>(11, 234)</value>
+ <value>(540, 407)</value>
</param>
<param>
<key>_rotation</key>
@@ -207,7 +180,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>ntaps</value>
+ <value>pfb_taps</value>
</param>
<param>
<key>_enabled</key>
@@ -215,11 +188,11 @@
</param>
<param>
<key>value</key>
- <value>11*nfilts*sps</value>
+ <value>firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, ntaps)</value>
</param>
<param>
<key>_coordinate</key>
- <value>(11, 298)</value>
+ <value>(608, 343)</value>
</param>
<param>
<key>_rotation</key>
@@ -227,38 +200,61 @@
</param>
</block>
<block>
- <key>gr_costas_loop_cc</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>gr_costas_loop_cc_0</value>
+ <value>timing_loop_bw</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>alpha</key>
+ <key>label</key>
+ <value>Timing Loop's BW</value>
+ </param>
+ <param>
+ <key>value</key>
<value>0.1</value>
</param>
<param>
- <key>beta</key>
- <value>0.01</value>
+ <key>type</key>
+ <value>eng_float</value>
</param>
<param>
- <key>max_freq</key>
- <value>0.5</value>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
- <key>min_freq</key>
- <value>-0.5</value>
+ <key>_coordinate</key>
+ <value>(657, 13)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>digital_costas_loop_cc</key>
+ <param>
+ <key>id</key>
+ <value>digital_costas_loop_cc_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>w</key>
+ <value>phase_loop_bw</value>
</param>
<param>
<key>order</key>
- <value>4</value>
+ <value>arity</value>
</param>
<param>
<key>_coordinate</key>
- <value>(859, 147)</value>
+ <value>(811, 174)</value>
</param>
<param>
<key>_rotation</key>
@@ -266,10 +262,10 @@
</param>
</block>
<block>
- <key>pad_source</key>
+ <key>pad_sink</key>
<param>
<key>id</key>
- <value>pad_source_0</value>
+ <value>pad_sink_0</value>
</param>
<param>
<key>_enabled</key>
@@ -277,7 +273,7 @@
</param>
<param>
<key>label</key>
- <value>in</value>
+ <value>out</value>
</param>
<param>
<key>type</key>
@@ -288,8 +284,12 @@
<value>1</value>
</param>
<param>
+ <key>optional</key>
+ <value>False</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(135, 281)</value>
+ <value>(1074, 170)</value>
</param>
<param>
<key>_rotation</key>
@@ -316,11 +316,11 @@
</param>
<param>
<key>alpha</key>
- <value>0.1</value>
+ <value>timing_loop_bw</value>
</param>
<param>
<key>beta</key>
- <value>0.01</value>
+ <value>0.25*timing_loop_bw*timing_loop_bw</value>
</param>
<param>
<key>taps</key>
@@ -339,6 +339,10 @@
<value>1</value>
</param>
<param>
+ <key>osps</key>
+ <value>1</value>
+ </param>
+ <param>
<key>_coordinate</key>
<value>(540, 182)</value>
</param>
@@ -348,42 +352,104 @@
</param>
</block>
<block>
- <key>gr_fll_band_edge_cc</key>
+ <key>pad_source</key>
<param>
<key>id</key>
- <value>gr_fll_band_edge_cc_0</value>
+ <value>pad_source_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
+ <key>label</key>
+ <value>in</value>
+ </param>
+ <param>
<key>type</key>
- <value>cc</value>
+ <value>complex</value>
</param>
<param>
- <key>samps_per_sym</key>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>optional</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(79, 238)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
<value>sps</value>
</param>
<param>
- <key>rolloff</key>
- <value>excess_bw</value>
+ <key>_enabled</key>
+ <value>True</value>
</param>
<param>
- <key>filter_size</key>
- <value>11*sps</value>
+ <key>label</key>
+ <value>Samples per Symbol</value>
</param>
<param>
- <key>alpha</key>
- <value>0.010</value>
+ <key>value</key>
+ <value>4</value>
</param>
<param>
- <key>beta</key>
- <value>0.001</value>
+ <key>type</key>
+ <value>intx</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(196, 12)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>phase_loop_bw</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Phase Loop's BW</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>2*3.14/100.0</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(304, 234)</value>
+ <value>(803, 14)</value>
</param>
<param>
<key>_rotation</key>
@@ -392,24 +458,18 @@
</block>
<connection>
<source_block_id>gr_pfb_clock_sync_xxx_0</source_block_id>
- <sink_block_id>gr_costas_loop_cc_0</sink_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>gr_costas_loop_cc_0</source_block_id>
+ <source_block_id>digital_costas_loop_cc_0</source_block_id>
<sink_block_id>pad_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
<source_block_id>pad_source_0</source_block_id>
- <sink_block_id>gr_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>
<sink_block_id>gr_pfb_clock_sync_xxx_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
292 digital/bpsk_rx.grc → digital/psk_tx.grc
View
@@ -1,55 +1,23 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Mon Apr 18 20:12:50 2011</timestamp>
+ <timestamp>Mon Oct 15 15:45:59 2012</timestamp>
<block>
- <key>options</key>
+ <key>import</key>
<param>
<key>id</key>
- <value>bpsk_rx</value>
+ <value>import_scipy</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>title</key>
- <value>BPSK - Receiver</value>
- </param>
- <param>
- <key>author</key>
- <value>Tom Rondeau</value>
- </param>
- <param>
- <key>description</key>
- <value>Receive BPSK signals to samples</value>
- </param>
- <param>
- <key>window_size</key>
- <value>1280, 1024</value>
- </param>
- <param>
- <key>generate_options</key>
- <value>hb</value>
- </param>
- <param>
- <key>category</key>
- <value>MyDigital</value>
- </param>
- <param>
- <key>run_options</key>
- <value>prompt</value>
- </param>
- <param>
- <key>run</key>
- <value>True</value>
- </param>
- <param>
- <key>realtime_scheduling</key>
- <value></value>
+ <key>import</key>
+ <value>import scipy</value>
</param>
<param>
<key>_coordinate</key>
- <value>(10, 10)</value>
+ <value>(15, 138)</value>
</param>
<param>
<key>_rotation</key>
@@ -57,61 +25,34 @@
</param>
</block>
<block>
- <key>variable</key>
- <param>
- <key>id</key>
- <value>pfb_taps</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>value</key>
- <value>firdes.root_raised_cosine(nfilts, nfilts, 1.0/float(sps), excess_bw, ntaps)</value>
- </param>
- <param>
- <key>_coordinate</key>
- <value>(552, 70)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>gr_costas_loop_cc</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>gr_costas_loop_cc_0</value>
+ <value>excess_bw</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>alpha</key>
- <value>0.1</value>
- </param>
- <param>
- <key>beta</key>
- <value>0.01</value>
+ <key>label</key>
+ <value>Excess Bandwidth</value>
</param>
<param>
- <key>max_freq</key>
- <value>0.5</value>
+ <key>value</key>
+ <value>0.35</value>
</param>
<param>
- <key>min_freq</key>
- <value>-0.5</value>
+ <key>type</key>
+ <value>eng_float</value>
</param>
<param>
- <key>order</key>
- <value>2</value>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(859, 147)</value>
+ <value>(352, 12)</value>
</param>
<param>
<key>_rotation</key>
@@ -119,10 +60,10 @@
</param>
</block>
<block>
- <key>pad_sink</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>pad_sink_0</value>
+ <value>arity</value>
</param>
<param>
<key>_enabled</key>
@@ -130,19 +71,23 @@
</param>
<param>
<key>label</key>
- <value>out</value>
+ <value>Order of the constellation</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>4</value>
</param>
<param>
<key>type</key>
- <value>complex</value>
+ <value>intx</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1048, 162)</value>
+ <value>(499, 12)</value>
</param>
<param>
<key>_rotation</key>
@@ -153,7 +98,7 @@
<key>parameter</key>
<param>
<key>id</key>
- <value>sps</value>
+ <value>diff</value>
</param>
<param>
<key>_enabled</key>
@@ -161,11 +106,11 @@
</param>
<param>
<key>label</key>
- <value>Samples per Symbol</value>
+ <value>Use differential encoding</value>
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>True</value>
</param>
<param>
<key>type</key>
@@ -177,7 +122,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(196, 12)</value>
+ <value>(657, 12)</value>
</param>
<param>
<key>_rotation</key>
@@ -185,34 +130,34 @@
</param>
</block>
<block>
- <key>parameter</key>
+ <key>gr_vector_source_x</key>
<param>
<key>id</key>
- <value>excess_bw</value>
+ <value>gr_vector_source_x_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>label</key>
- <value>Excess Bandwidth</value>
+ <key>type</key>
+ <value>byte</value>
</param>
<param>
- <key>value</key>
- <value>0.35</value>
+ <key>vector</key>
+ <value>scipy.array(scipy.random.randint(0,256,10000), dtype=scipy.uint8).tolist()</value>
</param>
<param>
- <key>type</key>
- <value>eng_float</value>
+ <key>repeat</key>
+ <value>True</value>
</param>
<param>
- <key>short_id</key>
- <value></value>
+ <key>vlen</key>
+ <value>1</value>
</param>
<param>
<key>_coordinate</key>
- <value>(196, 112)</value>
+ <value>(215, 161)</value>
</param>
<param>
<key>_rotation</key>
@@ -220,45 +165,46 @@
</param>
</block>
<block>
- <key>variable</key>
+ <key>digital_psk_mod</key>
<param>
<key>id</key>
- <value>nfilts</value>
+ <value>digital_psk_mod_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>value</key>
- <value>32</value>
+ <key>constellation_points</key>
+ <value>arity</value>
</param>
<param>
- <key>_coordinate</key>
- <value>(11, 234)</value>
+ <key>mod_code</key>
+ <value>"gray"</value>
</param>
<param>
- <key>_rotation</key>
- <value>0</value>
+ <key>differential</key>
+ <value>diff</value>
</param>
- </block>
- <block>
- <key>variable</key>
<param>
- <key>id</key>
- <value>ntaps</value>
+ <key>samples_per_symbol</key>
+ <value>sps</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>excess_bw</key>
+ <value>excess_bw</value>
</param>
<param>
- <key>value</key>
- <value>11*nfilts*sps</value>
+ <key>verbose</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>log</key>
+ <value>False</value>
</param>
<param>
<key>_coordinate</key>
- <value>(11, 298)</value>
+ <value>(472, 137)</value>
</param>
<param>
<key>_rotation</key>
@@ -266,10 +212,10 @@
</param>
</block>
<block>
- <key>pad_source</key>
+ <key>pad_sink</key>
<param>
<key>id</key>
- <value>pad_source_0</value>
+ <value>pad_sink_0</value>
</param>
<param>
<key>_enabled</key>
@@ -277,7 +223,7 @@
</param>
<param>
<key>label</key>
- <value>in</value>
+ <value>out</value>
</param>
<param>
<key>type</key>
@@ -288,8 +234,12 @@
<value>1</value>
</param>
<param>
+ <key>optional</key>
+ <value>False</value>
+ </param>
+ <param>
<key>_coordinate</key>
- <value>(135, 282)</value>
+ <value>(808, 169)</value>
</param>
<param>
<key>_rotation</key>
@@ -297,50 +247,34 @@
</param>
</block>
<block>
- <key>gr_pfb_clock_sync_xxx</key>
+ <key>parameter</key>
<param>
<key>id</key>
- <value>gr_pfb_clock_sync_xxx_0</value>
+ <value>sps</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>ccf</value>
- </param>
- <param>
- <key>sps</key>
- <value>sps</value>
- </param>
- <param>
- <key>alpha</key>
- <value>0.1</value>
- </param>
- <param>
- <key>beta</key>
- <value>0.01</value>
- </param>
- <param>
- <key>taps</key>
- <value>pfb_taps</value>
+ <key>label</key>
+ <value>Samples per Symbol</value>
</param>
<param>
- <key>filter_size</key>
- <value>nfilts</value>
+ <key>value</key>
+ <value>4</value>
</param>
<param>
- <key>init_phase</key>
- <value>nfilts/2</value>
+ <key>type</key>
+ <value>intx</value>
</param>
<param>
- <key>max_dev</key>
- <value>1</value>
+ <key>short_id</key>
+ <value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(540, 182)</value>
+ <value>(196, 12)</value>
</param>
<param>
<key>_rotation</key>
@@ -348,42 +282,58 @@
</param>
</block>
<block>
- <key>gr_fll_band_edge_cc</key>
+ <key>options</key>
<param>
<key>id</key>
- <value>gr_fll_band_edge_cc_0</value>
+ <value>psk_tx</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>cc</value>
+ <key>title</key>
+ <value>M-PSK - Transmitter</value>
</param>
<param>
- <key>samps_per_sym</key>
- <value>sps</value>
+ <key>author</key>
+ <value>Tom Rondeau</value>
</param>
<param>
- <key>rolloff</key>
- <value>excess_bw</value>
+ <key>description</key>
+ <value>Transmit M-PSK signals to samples</value>
</param>
<param>
- <key>filter_size</key>
- <value>11*sps</value>
+ <key>window_size</key>
+ <value>1280, 1024</value>
</param>
<param>
- <key>alpha</key>
- <value>0.010</value>
+ <key>generate_options</key>
+ <value>hb</value>
</param>
<param>
- <key>beta</key>
- <value>0.001</value>
+ <key>category</key>
+ <value>MyDigital</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>(304, 234)</value>
+ <value>(10, 10)</value>
</param>
<param>
<key>_rotation</key>
@@ -391,27 +341,15 @@
</param>
</block>
<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_vector_source_x_0</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_costas_loop_cc_0</source_block_id>
+ <source_block_id>digital_psk_mod_0</source_block_id>
<sink_block_id>pad_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
- <connection>
- <source_block_id>pad_source_0</source_block_id>
- <sink_block_id>gr_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>
- <sink_block_id>gr_pfb_clock_sync_xxx_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
</flow_graph>
798 digital/qam_loopback.grc
View
@@ -0,0 +1,798 @@
+<?xml version='1.0' encoding='ASCII'?>
+<flow_graph>
+ <timestamp>Mon Oct 15 16:53:46 2012</timestamp>
+ <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>200000</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(176, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_qtgui_range</key>
+ <param>
+ <key>id</key>
+ <value>freq</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Frequency Offset</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>init_freq</value>
+ </param>
+ <param>
+ <key>start</key>
+ <value>-0.5</value>
+ </param>
+ <param>
+ <key>stop</key>
+ <value>0.5</value>
+ </param>
+ <param>
+ <key>step</key>
+ <value>0.01</value>
+ </param>
+ <param>
+ <key>widget</key>
+ <value>counter_slider</value>
+ </param>
+ <param>
+ <key>orient</key>
+ <value>Qt.Horizontal</value>
+ </param>
+ <param>
+ <key>min_len</key>
+ <value>200</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(154, 434)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_qtgui_range</key>
+ <param>
+ <key>id</key>
+ <value>noise</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Noise</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>init_noise</value>
+ </param>
+ <param>
+ <key>start</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>stop</key>
+ <value>2</value>
+ </param>
+ <param>
+ <key>step</key>
+ <value>0.01</value>
+ </param>
+ <param>
+ <key>widget</key>
+ <value>counter_slider</value>
+ </param>
+ <param>
+ <key>orient</key>
+ <value>Qt.Horizontal</value>
+ </param>
+ <param>
+ <key>min_len</key>
+ <value>200</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(24, 433)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>init_freq</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Initial frequency offset</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>0.02</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>f</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(947, 9)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>sps</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Samples per symbol</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>4</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>intx</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>s</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(427, 12)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>init_timing</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Initial timing offset</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>1.001</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>t</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1097, 9)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>variable_qtgui_range</key>
+ <param>
+ <key>id</key>
+ <value>timing</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Timing Offset</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>init_timing</value>
+ </param>
+ <param>
+ <key>start</key>
+ <value>0.99</value>
+ </param>
+ <param>
+ <key>stop</key>
+ <value>1.01</value>
+ </param>
+ <param>
+ <key>step</key>
+ <value>0.0001</value>
+ </param>
+ <param>
+ <key>widget</key>
+ <value>counter_slider</value>
+ </param>
+ <param>
+ <key>orient</key>
+ <value>Qt.Horizontal</value>
+ </param>
+ <param>
+ <key>min_len</key>
+ <value>200</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value></value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(295, 434)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>gr_throttle</key>
+ <param>
+ <key>id</key>
+ <value>gr_throttle_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>(306, 188)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>qam_tx</key>
+ <param>
+ <key>id</key>
+ <value>qam_tx_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>excess_bw</key>
+ <value>excess_bw</value>
+ </param>
+ <param>
+ <key>diff</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>sps</key>
+ <value>sps</value>
+ </param>
+ <param>
+ <key>arity</key>
+ <value>arity</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(33, 164)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>excess_bw</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>RRC Excess bandwidth</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>0.35</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>eng_float</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>b</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(583, 13)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>qtgui_sink_x</key>
+ <param>
+ <key>id</key>
+ <value>qtgui_sink_x_0_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>complex</value>
+ </param>
+ <param>
+ <key>name</key>
+ <value>QT GUI Plot</value>
+ </param>
+ <param>
+ <key>fftsize</key>
+ <value>1024</value>
+ </param>
+ <param>
+ <key>wintype</key>
+ <value>firdes.WIN_BLACKMAN_hARRIS</value>
+ </param>
+ <param>
+ <key>fc</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>bw</key>
+ <value>samp_rate</value>
+ </param>
+ <param>
+ <key>plotfreq</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>plotwaterfall</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>plottime</key>
+ <value>False</value>
+ </param>
+ <param>
+ <key>plotconst</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value>0,1,1,1</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1054, 287)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>qam_rx</key>
+ <param>
+ <key>id</key>
+ <value>qam_rx_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>arity</key>
+ <value>arity</value>
+ </param>
+ <param>
+ <key>excess_bw</key>
+ <value>excess_bw</value>
+ </param>
+ <param>
+ <key>timing_loop_bw</key>
+ <value>0.1</value>
+ </param>
+ <param>
+ <key>sps</key>
+ <value>sps</value>
+ </param>
+ <param>
+ <key>phase_loop_bw</key>
+ <value>2*3.14/100.0</value>
+ </param>
+ <param>
+ <key>diff</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(774, 148)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>gr_null_sink</key>
+ <param>
+ <key>id</key>
+ <value>gr_null_sink_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>byte</value>
+ </param>
+ <param>
+ <key>vlen</key>
+ <value>1</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(1093, 175)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>qtgui_sink_x</key>
+ <param>
+ <key>id</key>
+ <value>qtgui_sink_x_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>complex</value>
+ </param>
+ <param>
+ <key>name</key>
+ <value>QT GUI Plot</value>
+ </param>
+ <param>
+ <key>fftsize</key>
+ <value>1024</value>
+ </param>
+ <param>
+ <key>wintype</key>
+ <value>firdes.WIN_BLACKMAN_hARRIS</value>
+ </param>
+ <param>
+ <key>fc</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>bw</key>
+ <value>samp_rate</value>
+ </param>
+ <param>
+ <key>plotfreq</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>plotwaterfall</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>plottime</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>plotconst</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>gui_hint</key>
+ <value>0,0,1,1</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(773, 289)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>parameter</key>
+ <param>
+ <key>id</key>
+ <value>arity</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>label</key>
+ <value>Order of modulation</value>
+ </param>
+ <param>
+ <key>value</key>
+ <value>64</value>
+ </param>
+ <param>
+ <key>type</key>
+ <value>intx</value>
+ </param>
+ <param>
+ <key>short_id</key>
+ <value>m</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(270, 10)</value>
+ </param>
+ <param>
+ <key>_rotation</key>
+ <value>0</value>
+ </param>
+ </block>
+ <block>
+ <key>channel_model</key>
+ <param>
+ <key>id</key>
+ <value>channel_model_0</value>
+ </param>
+ <param>
+ <key>_enabled</key>
+ <value>True</value>
+ </param>
+ <param>
+ <key>noise_voltage</key>
+ <value>noise</value>
+ </param>
+ <param>
+ <key>freq_offset</key>
+ <value>freq</value>
+ </param>
+ <param>
+ <key>epsilon</key>
+ <value>timing</value>
+ </param>
+ <param>
+ <key>taps</key>
+ <value>1.0</value>
+ </param>
+ <param>
+ <key>seed</key>
+ <value>0</value>
+ </param>
+ <param>
+ <key>_coordinate</key>
+ <value>(518, 156)</value>
+ </param>
+ <param>