summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gr-digital/examples/demod/ber_simulation.grc305
1 files changed, 143 insertions, 162 deletions
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>