Merge pull request #13 from andrepuschmann/fer-rebase
Frame error rate calculation
This commit is contained in:
+515
-221
@@ -1,5 +1,5 @@
|
|||||||
<?xml version='1.0' encoding='ASCII'?>
|
<?xml version='1.0' encoding='ASCII'?>
|
||||||
<?grc format='1' created='3.8.git'?>
|
<?grc format='1' created='3.7.7'?>
|
||||||
<flow_graph>
|
<flow_graph>
|
||||||
<timestamp>Sat Feb 1 18:28:19 2014</timestamp>
|
<timestamp>Sat Feb 1 18:28:19 2014</timestamp>
|
||||||
<block>
|
<block>
|
||||||
@@ -52,10 +52,18 @@
|
|||||||
<key>realtime_scheduling</key>
|
<key>realtime_scheduling</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>thread_safe_setters</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>alias</key>
|
<key>alias</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(7, 4)</value>
|
<value>(7, 4)</value>
|
||||||
@@ -65,33 +73,6 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
</block>
|
</block>
|
||||||
<block>
|
|
||||||
<key>variable</key>
|
|
||||||
<param>
|
|
||||||
<key>id</key>
|
|
||||||
<value>out_buf_size</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_enabled</key>
|
|
||||||
<value>True</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>value</key>
|
|
||||||
<value>96000</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>alias</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_coordinate</key>
|
|
||||||
<value>(1136, 147)</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_rotation</key>
|
|
||||||
<value>0</value>
|
|
||||||
</param>
|
|
||||||
</block>
|
|
||||||
<block>
|
<block>
|
||||||
<key>variable</key>
|
<key>variable</key>
|
||||||
<param>
|
<param>
|
||||||
@@ -110,6 +91,10 @@
|
|||||||
<key>alias</key>
|
<key>alias</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(179, 4)</value>
|
<value>(179, 4)</value>
|
||||||
@@ -123,7 +108,7 @@
|
|||||||
<key>variable</key>
|
<key>variable</key>
|
||||||
<param>
|
<param>
|
||||||
<key>id</key>
|
<key>id</key>
|
||||||
<value>variable_0</value>
|
<value>out_buf_size</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_enabled</key>
|
<key>_enabled</key>
|
||||||
@@ -131,15 +116,19 @@
|
|||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>value</key>
|
<key>value</key>
|
||||||
<value>0</value>
|
<value>96000</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>alias</key>
|
<key>alias</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(952, 384)</value>
|
<value>(1136, 147)</value>
|
||||||
</param>
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_rotation</key>
|
<key>_rotation</key>
|
||||||
@@ -192,6 +181,10 @@
|
|||||||
<key>alias</key>
|
<key>alias</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(1067, 10)</value>
|
<value>(1067, 10)</value>
|
||||||
@@ -219,6 +212,10 @@
|
|||||||
<key>alias</key>
|
<key>alias</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(422, 11)</value>
|
<value>(422, 11)</value>
|
||||||
@@ -278,6 +275,10 @@
|
|||||||
<key>alias</key>
|
<key>alias</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(693, 7)</value>
|
<value>(693, 7)</value>
|
||||||
@@ -325,6 +326,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(592, 280)</value>
|
<value>(592, 280)</value>
|
||||||
@@ -364,6 +369,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(384, 264)</value>
|
<value>(384, 264)</value>
|
||||||
@@ -373,41 +382,6 @@
|
|||||||
<value>180</value>
|
<value>180</value>
|
||||||
</param>
|
</param>
|
||||||
</block>
|
</block>
|
||||||
<block>
|
|
||||||
<key>ieee802_11_ofdm_parse_mac</key>
|
|
||||||
<param>
|
|
||||||
<key>id</key>
|
|
||||||
<value>ieee802_11_ofdm_parse_mac_0</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_enabled</key>
|
|
||||||
<value>True</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>log</key>
|
|
||||||
<value>True</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>debug</key>
|
|
||||||
<value>True</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>alias</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>affinity</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_coordinate</key>
|
|
||||||
<value>(104, 251)</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_rotation</key>
|
|
||||||
<value>180</value>
|
|
||||||
</param>
|
|
||||||
</block>
|
|
||||||
<block>
|
<block>
|
||||||
<key>blocks_multiply_xx</key>
|
<key>blocks_multiply_xx</key>
|
||||||
<param>
|
<param>
|
||||||
@@ -446,6 +420,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(544, 432)</value>
|
<value>(544, 432)</value>
|
||||||
@@ -505,6 +483,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(328, 539)</value>
|
<value>(328, 539)</value>
|
||||||
@@ -564,6 +546,10 @@
|
|||||||
<key>alias</key>
|
<key>alias</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(814, 8)</value>
|
<value>(814, 8)</value>
|
||||||
@@ -573,53 +559,6 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
</block>
|
</block>
|
||||||
<block>
|
|
||||||
<key>variable_static_text</key>
|
|
||||||
<param>
|
|
||||||
<key>id</key>
|
|
||||||
<value>snr</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_enabled</key>
|
|
||||||
<value>True</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>label</key>
|
|
||||||
<value>SNR</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>value</key>
|
|
||||||
<value>str(10 * math.log10(signal_power/noise_power)) + "dB"</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>converver</key>
|
|
||||||
<value>str_converter</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>formatter</key>
|
|
||||||
<value>None</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>grid_pos</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>notebook</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>alias</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_coordinate</key>
|
|
||||||
<value>(515, 8)</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_rotation</key>
|
|
||||||
<value>0</value>
|
|
||||||
</param>
|
|
||||||
</block>
|
|
||||||
<block>
|
<block>
|
||||||
<key>analog_noise_source_x</key>
|
<key>analog_noise_source_x</key>
|
||||||
<param>
|
<param>
|
||||||
@@ -662,6 +601,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(856, 259)</value>
|
<value>(856, 259)</value>
|
||||||
@@ -709,6 +652,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(696, 443)</value>
|
<value>(696, 443)</value>
|
||||||
@@ -752,6 +699,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(696, 155)</value>
|
<value>(696, 155)</value>
|
||||||
@@ -799,6 +750,10 @@
|
|||||||
<key>affinity</key>
|
<key>affinity</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(888, 155)</value>
|
<value>(888, 155)</value>
|
||||||
@@ -846,6 +801,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(416, 139)</value>
|
<value>(416, 139)</value>
|
||||||
@@ -905,6 +864,10 @@
|
|||||||
<key>alias</key>
|
<key>alias</key>
|
||||||
<value></value>
|
<value></value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(947, 7)</value>
|
<value>(947, 7)</value>
|
||||||
@@ -914,108 +877,6 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
</block>
|
</block>
|
||||||
<block>
|
|
||||||
<key>variable_slider</key>
|
|
||||||
<param>
|
|
||||||
<key>id</key>
|
|
||||||
<value>pdu_length</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_enabled</key>
|
|
||||||
<value>True</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>label</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>value</key>
|
|
||||||
<value>500</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>min</key>
|
|
||||||
<value>0</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>max</key>
|
|
||||||
<value>1500</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>int_converter</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>grid_pos</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>notebook</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>alias</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_coordinate</key>
|
|
||||||
<value>(1120, 227)</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_rotation</key>
|
|
||||||
<value>0</value>
|
|
||||||
</param>
|
|
||||||
</block>
|
|
||||||
<block>
|
|
||||||
<key>blocks_message_strobe</key>
|
|
||||||
<param>
|
|
||||||
<key>id</key>
|
|
||||||
<value>blocks_message_strobe_0</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_enabled</key>
|
|
||||||
<value>True</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>msg</key>
|
|
||||||
<value>pmt.intern("".join("x" for i in range(pdu_length)))</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>period</key>
|
|
||||||
<value>300</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>alias</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>affinity</key>
|
|
||||||
<value></value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>minoutbuf</key>
|
|
||||||
<value>0</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>maxoutbuf</key>
|
|
||||||
<value>0</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_coordinate</key>
|
|
||||||
<value>(48, 131)</value>
|
|
||||||
</param>
|
|
||||||
<param>
|
|
||||||
<key>_rotation</key>
|
|
||||||
<value>0</value>
|
|
||||||
</param>
|
|
||||||
</block>
|
|
||||||
<block>
|
<block>
|
||||||
<key>foo_packet_pad2</key>
|
<key>foo_packet_pad2</key>
|
||||||
<param>
|
<param>
|
||||||
@@ -1062,6 +923,10 @@
|
|||||||
<key>maxoutbuf</key>
|
<key>maxoutbuf</key>
|
||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
<param>
|
<param>
|
||||||
<key>_coordinate</key>
|
<key>_coordinate</key>
|
||||||
<value>(320, 395)</value>
|
<value>(320, 395)</value>
|
||||||
@@ -1071,6 +936,423 @@
|
|||||||
<value>0</value>
|
<value>0</value>
|
||||||
</param>
|
</param>
|
||||||
</block>
|
</block>
|
||||||
|
<block>
|
||||||
|
<key>blocks_pdu_to_tagged_stream</key>
|
||||||
|
<param>
|
||||||
|
<key>id</key>
|
||||||
|
<value>blocks_pdu_to_tagged_stream_0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_enabled</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>type</key>
|
||||||
|
<value>float</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>tag</key>
|
||||||
|
<value>packet_len</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>alias</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>affinity</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>minoutbuf</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>maxoutbuf</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_coordinate</key>
|
||||||
|
<value>(136, 635)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_rotation</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
</block>
|
||||||
|
<block>
|
||||||
|
<key>ieee802_11_ofdm_parse_mac</key>
|
||||||
|
<param>
|
||||||
|
<key>id</key>
|
||||||
|
<value>ieee802_11_ofdm_parse_mac_0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_enabled</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>log</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>debug</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>alias</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>affinity</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>minoutbuf</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>maxoutbuf</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_coordinate</key>
|
||||||
|
<value>(104, 251)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_rotation</key>
|
||||||
|
<value>180</value>
|
||||||
|
</param>
|
||||||
|
</block>
|
||||||
|
<block>
|
||||||
|
<key>blocks_message_strobe</key>
|
||||||
|
<param>
|
||||||
|
<key>id</key>
|
||||||
|
<value>blocks_message_strobe_0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_enabled</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>msg</key>
|
||||||
|
<value>pmt.intern("".join("x" for i in range(pdu_length)))</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>period</key>
|
||||||
|
<value>interval</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>alias</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>affinity</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>minoutbuf</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>maxoutbuf</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_coordinate</key>
|
||||||
|
<value>(48, 131)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_rotation</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
</block>
|
||||||
|
<block>
|
||||||
|
<key>variable_slider</key>
|
||||||
|
<param>
|
||||||
|
<key>id</key>
|
||||||
|
<value>pdu_length</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_enabled</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>label</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>value</key>
|
||||||
|
<value>10</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>min</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>max</key>
|
||||||
|
<value>1500</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>int_converter</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>grid_pos</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>notebook</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>alias</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_coordinate</key>
|
||||||
|
<value>(1120, 227)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_rotation</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
</block>
|
||||||
|
<block>
|
||||||
|
<key>variable_slider</key>
|
||||||
|
<param>
|
||||||
|
<key>id</key>
|
||||||
|
<value>interval</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_enabled</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>label</key>
|
||||||
|
<value>PDU Interval (ms)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>value</key>
|
||||||
|
<value>10</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>min</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>max</key>
|
||||||
|
<value>1000</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>int_converter</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>grid_pos</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>notebook</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>alias</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_coordinate</key>
|
||||||
|
<value>(1120, 355)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_rotation</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
</block>
|
||||||
|
<block>
|
||||||
|
<key>variable_static_text</key>
|
||||||
|
<param>
|
||||||
|
<key>id</key>
|
||||||
|
<value>snr</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_enabled</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>label</key>
|
||||||
|
<value>SNR</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>value</key>
|
||||||
|
<value>str(10 * math.log10(signal_power/noise_power)) + "dB"</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>converver</key>
|
||||||
|
<value>str_converter</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>formatter</key>
|
||||||
|
<value>None</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>grid_pos</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>notebook</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>alias</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_coordinate</key>
|
||||||
|
<value>(515, 8)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_rotation</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
</block>
|
||||||
|
<block>
|
||||||
|
<key>wxgui_numbersink2</key>
|
||||||
|
<param>
|
||||||
|
<key>id</key>
|
||||||
|
<value>wxgui_numbersink2_0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_enabled</key>
|
||||||
|
<value>True</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>type</key>
|
||||||
|
<value>float</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>title</key>
|
||||||
|
<value>Frame Error Rate</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>units</key>
|
||||||
|
<value>%</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>samp_rate</key>
|
||||||
|
<value>1</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>min_value</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>max_value</key>
|
||||||
|
<value>100</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>factor</key>
|
||||||
|
<value>1.0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>decimal_places</key>
|
||||||
|
<value>2</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>ref_level</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>number_rate</key>
|
||||||
|
<value>15</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>peak_hold</key>
|
||||||
|
<value>False</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>average</key>
|
||||||
|
<value>False</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>avg_alpha</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>show_gauge</key>
|
||||||
|
<value>True</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>alias</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>affinity</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>comment</key>
|
||||||
|
<value></value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_coordinate</key>
|
||||||
|
<value>(672, 563)</value>
|
||||||
|
</param>
|
||||||
|
<param>
|
||||||
|
<key>_rotation</key>
|
||||||
|
<value>0</value>
|
||||||
|
</param>
|
||||||
|
</block>
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>analog_sig_source_x_0</source_block_id>
|
<source_block_id>analog_sig_source_x_0</source_block_id>
|
||||||
<sink_block_id>blocks_multiply_xx_0</sink_block_id>
|
<sink_block_id>blocks_multiply_xx_0</sink_block_id>
|
||||||
@@ -1131,12 +1413,6 @@
|
|||||||
<source_key>mac_out</source_key>
|
<source_key>mac_out</source_key>
|
||||||
<sink_key>phy in</sink_key>
|
<sink_key>phy in</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
<connection>
|
|
||||||
<source_block_id>ieee802_11_ofdm_mac_0</source_block_id>
|
|
||||||
<sink_block_id>wifi_phy_hier_0</sink_block_id>
|
|
||||||
<source_key>phy out</source_key>
|
|
||||||
<sink_key>mac_in</sink_key>
|
|
||||||
</connection>
|
|
||||||
<connection>
|
<connection>
|
||||||
<source_block_id>ieee802_11_ofdm_mac_0</source_block_id>
|
<source_block_id>ieee802_11_ofdm_mac_0</source_block_id>
|
||||||
<sink_block_id>foo_wireshark_connector_0</sink_block_id>
|
<sink_block_id>foo_wireshark_connector_0</sink_block_id>
|
||||||
@@ -1149,4 +1425,22 @@
|
|||||||
<source_key>0</source_key>
|
<source_key>0</source_key>
|
||||||
<sink_key>0</sink_key>
|
<sink_key>0</sink_key>
|
||||||
</connection>
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<source_block_id>ieee802_11_ofdm_mac_0</source_block_id>
|
||||||
|
<sink_block_id>wifi_phy_hier_0</sink_block_id>
|
||||||
|
<source_key>phy out</source_key>
|
||||||
|
<sink_key>mac_in</sink_key>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<source_block_id>ieee802_11_ofdm_parse_mac_0</source_block_id>
|
||||||
|
<sink_block_id>blocks_pdu_to_tagged_stream_0</sink_block_id>
|
||||||
|
<source_key>fer</source_key>
|
||||||
|
<sink_key>pdus</sink_key>
|
||||||
|
</connection>
|
||||||
|
<connection>
|
||||||
|
<source_block_id>blocks_pdu_to_tagged_stream_0</source_block_id>
|
||||||
|
<sink_block_id>wxgui_numbersink2_0</sink_block_id>
|
||||||
|
<source_key>0</source_key>
|
||||||
|
<sink_key>0</sink_key>
|
||||||
|
</connection>
|
||||||
</flow_graph>
|
</flow_graph>
|
||||||
|
|||||||
@@ -44,5 +44,11 @@
|
|||||||
<type>message</type>
|
<type>message</type>
|
||||||
</sink>
|
</sink>
|
||||||
|
|
||||||
|
<source>
|
||||||
|
<name>fer</name>
|
||||||
|
<type>message</type>
|
||||||
|
<optional>1</optional>
|
||||||
|
</source>
|
||||||
|
|
||||||
</block>
|
</block>
|
||||||
|
|
||||||
|
|||||||
+32
-2
@@ -23,6 +23,8 @@
|
|||||||
|
|
||||||
using namespace gr::ieee802_11;
|
using namespace gr::ieee802_11;
|
||||||
|
|
||||||
|
#define FER_ALPHA 0.2f
|
||||||
|
|
||||||
class ofdm_parse_mac_impl : public ofdm_parse_mac {
|
class ofdm_parse_mac_impl : public ofdm_parse_mac {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
@@ -36,6 +38,10 @@ ofdm_parse_mac_impl(bool log, bool debug) :
|
|||||||
|
|
||||||
message_port_register_in(pmt::mp("in"));
|
message_port_register_in(pmt::mp("in"));
|
||||||
set_msg_handler(pmt::mp("in"), boost::bind(&ofdm_parse_mac_impl::parse, this, _1));
|
set_msg_handler(pmt::mp("in"), boost::bind(&ofdm_parse_mac_impl::parse, this, _1));
|
||||||
|
|
||||||
|
message_port_register_out(pmt::mp("fer"));
|
||||||
|
d_last_fer = 0.0f;
|
||||||
|
d_last_seq_no = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
~ofdm_parse_mac_impl() {
|
~ofdm_parse_mac_impl() {
|
||||||
@@ -251,13 +257,36 @@ void parse_data(char *buf, int length) {
|
|||||||
}
|
}
|
||||||
dout << std::endl;
|
dout << std::endl;
|
||||||
|
|
||||||
dout << "seq nr: " << int(h->seq_nr >> 4) << std::endl;
|
int seq_no = int(h->seq_nr >> 4);
|
||||||
|
dout << "seq nr: " << seq_no << std::endl;
|
||||||
dout << "mac 1: ";
|
dout << "mac 1: ";
|
||||||
print_mac_address(h->addr1, true);
|
print_mac_address(h->addr1, true);
|
||||||
dout << "mac 2: ";
|
dout << "mac 2: ";
|
||||||
print_mac_address(h->addr2, true);
|
print_mac_address(h->addr2, true);
|
||||||
dout << "mac 3: ";
|
dout << "mac 3: ";
|
||||||
print_mac_address(h->addr3, true);
|
print_mac_address(h->addr3, true);
|
||||||
|
|
||||||
|
int lost_frames = seq_no - d_last_seq_no - 1;
|
||||||
|
dout << "d_last_seq_no: " << d_last_seq_no << std::endl;
|
||||||
|
dout << "lost frames: " << lost_frames << std::endl;
|
||||||
|
|
||||||
|
// calculate instantaneous error rate
|
||||||
|
float curr_fer = 0.0f;
|
||||||
|
if (lost_frames > 0)
|
||||||
|
curr_fer = 1 - (1 / (static_cast<float>(lost_frames) + 1));
|
||||||
|
dout << "instantaneous fer: " << curr_fer << std::endl;
|
||||||
|
|
||||||
|
// update FER estimate
|
||||||
|
float fer = (1.0f - FER_ALPHA) * d_last_fer + FER_ALPHA * curr_fer;
|
||||||
|
dout << "rolling fer: " << fer << std::endl;
|
||||||
|
|
||||||
|
// keep track of values
|
||||||
|
d_last_seq_no = seq_no;
|
||||||
|
d_last_fer = fer;
|
||||||
|
|
||||||
|
// publish FER estimate
|
||||||
|
pmt::pmt_t pdu = pmt::make_f32vector(1, fer * 100);
|
||||||
|
message_port_pub(pmt::mp("fer"), pmt::cons( pmt::PMT_NIL, pdu ));
|
||||||
}
|
}
|
||||||
|
|
||||||
void parse_control(char *buf, int length) {
|
void parse_control(char *buf, int length) {
|
||||||
@@ -341,7 +370,8 @@ void print_ascii(char* buf, int length) {
|
|||||||
private:
|
private:
|
||||||
bool d_log;
|
bool d_log;
|
||||||
bool d_debug;
|
bool d_debug;
|
||||||
|
float d_last_fer;
|
||||||
|
int d_last_seq_no;
|
||||||
};
|
};
|
||||||
|
|
||||||
ofdm_parse_mac::sptr
|
ofdm_parse_mac::sptr
|
||||||
|
|||||||
Reference in New Issue
Block a user