summaryrefslogtreecommitdiff
path: root/gr-fec
diff options
context:
space:
mode:
authorNicholas McCarthy <namccart@gmail.com>2014-03-25 18:05:54 -0400
committerTom Rondeau <tom@trondeau.com>2014-05-17 17:45:12 -0400
commite23323e77d33c7e5cf2cd3add323bf15064babc5 (patch)
treedc6efe659df87d1b3de1b92f96eed4b4a0769a8c /gr-fec
parent6f84515d6290230abeea6c13e1c605746a8a272c (diff)
adding ber sink to qt gui
Diffstat (limited to 'gr-fec')
-rw-r--r--gr-fec/examples/cc_bercurve.grc683
-rw-r--r--gr-fec/include/gnuradio/fec/cc_decoder.h2
-rw-r--r--gr-fec/lib/cc_decoder_impl.cc10
-rw-r--r--gr-fec/lib/cc_decoder_impl.h2
-rw-r--r--gr-fec/python/fec/bercurve_generator.py2
-rw-r--r--gr-fec/python/fec/extended_encoder.py3
-rw-r--r--gr-fec/python/fec/fec_raw_test.py2
7 files changed, 208 insertions, 496 deletions
diff --git a/gr-fec/examples/cc_bercurve.grc b/gr-fec/examples/cc_bercurve.grc
index a9c1bfba5f..f991b2020f 100644
--- a/gr-fec/examples/cc_bercurve.grc
+++ b/gr-fec/examples/cc_bercurve.grc
@@ -1,6 +1,6 @@
<?xml version='1.0' encoding='ASCII'?>
<flow_graph>
- <timestamp>Tue Mar 25 13:27:18 2014</timestamp>
+ <timestamp>Tue Mar 25 15:21:46 2014</timestamp>
<block>
<key>options</key>
<param>
@@ -64,7 +64,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>polys</value>
+ <value>esno_0</value>
</param>
<param>
<key>_enabled</key>
@@ -72,11 +72,11 @@
</param>
<param>
<key>value</key>
- <value>[79, 109]</value>
+ <value>numpy.arange(0, 4, .5) </value>
</param>
<param>
<key>_coordinate</key>
- <value>(248, 86)</value>
+ <value>(14, 232)</value>
</param>
<param>
<key>_rotation</key>
@@ -87,7 +87,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>framebits</value>
+ <value>polys</value>
</param>
<param>
<key>_enabled</key>
@@ -95,11 +95,11 @@
</param>
<param>
<key>value</key>
- <value>4096</value>
+ <value>[79, 109]</value>
</param>
<param>
<key>_coordinate</key>
- <value>(136, 85)</value>
+ <value>(248, 86)</value>
</param>
<param>
<key>_rotation</key>
@@ -110,7 +110,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>samp_rate_0</value>
+ <value>framebits</value>
</param>
<param>
<key>_enabled</key>
@@ -118,11 +118,11 @@
</param>
<param>
<key>value</key>
- <value>35000000</value>
+ <value>4096</value>
</param>
<param>
<key>_coordinate</key>
- <value>(12, 85)</value>
+ <value>(136, 85)</value>
</param>
<param>
<key>_rotation</key>
@@ -133,7 +133,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>rate</value>
+ <value>samp_rate_0</value>
</param>
<param>
<key>_enabled</key>
@@ -141,11 +141,11 @@
</param>
<param>
<key>value</key>
- <value>2</value>
+ <value>35000000</value>
</param>
<param>
<key>_coordinate</key>
- <value>(288, 12)</value>
+ <value>(12, 85)</value>
</param>
<param>
<key>_rotation</key>
@@ -156,7 +156,7 @@
<key>variable</key>
<param>
<key>id</key>
- <value>k</value>
+ <value>rate</value>
</param>
<param>
<key>_enabled</key>
@@ -164,11 +164,11 @@
</param>
<param>
<key>value</key>
- <value>7</value>
+ <value>2</value>
</param>
<param>
<key>_coordinate</key>
- <value>(205, 11)</value>
+ <value>(288, 12)</value>
</param>
<param>
<key>_rotation</key>
@@ -179,19 +179,19 @@
<key>variable</key>
<param>
<key>id</key>
- <value>esno_0</value>
+ <value>k</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
<key>value</key>
- <value>numpy.arange(0, 8, .5) </value>
+ <value>7</value>
</param>
<param>
<key>_coordinate</key>
- <value>(13, 158)</value>
+ <value>(205, 11)</value>
</param>
<param>
<key>_rotation</key>
@@ -206,15 +206,15 @@
</param>
<param>
<key>_enabled</key>
- <value>True</value>
+ <value>False</value>
</param>
<param>
<key>value</key>
- <value>numpy.arange(0, 2, .5) </value>
+ <value>numpy.arange(0, 8, .5) </value>
</param>
<param>
<key>_coordinate</key>
- <value>(14, 232)</value>
+ <value>(13, 158)</value>
</param>
<param>
<key>_rotation</key>
@@ -351,11 +351,11 @@
<key>fec_bercurve_generator</key>
<param>
<key>id</key>
- <value>fec_bercurve_generator_0_0</value>
+ <value>fec_bercurve_generator_0</value>
</param>
<param>
<key>_enabled</key>
- <value>False</value>
+ <value>True</value>
</param>
<param>
<key>esno</key>
@@ -367,11 +367,11 @@
</param>
<param>
<key>encoder_list</key>
- <value>None</value>
+ <value>enc</value>
</param>
<param>
<key>decoder_list</key>
- <value>None</value>
+ <value>dec</value>
</param>
<param>
<key>puncpat</key>
@@ -391,7 +391,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(383, 131)</value>
+ <value>(384, 15)</value>
</param>
<param>
<key>_rotation</key>
@@ -400,65 +400,34 @@
<bus_source>1</bus_source>
</block>
<block>
- <key>blocks_char_to_float</key>
+ <key>fec_bercurve_generator</key>
<param>
<key>id</key>
- <value>blocks_char_to_float_0</value>
+ <value>fec_bercurve_generator_0_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
- </param>
- <param>
- <key>scale</key>
- <value>1</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>(914, 42)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- </block>
- <block>
- <key>blocks_stream_to_streams</key>
- <param>
- <key>id</key>
- <value>blocks_stream_to_streams_0</value>
+ <key>esno</key>
+ <value>esno_0</value>
</param>
<param>
- <key>_enabled</key>
- <value>True</value>
+ <key>samp_rate</key>
+ <value>samp_rate_0</value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>encoder_list</key>
+ <value>None</value>
</param>
<param>
- <key>num_streams</key>
- <value>len(esno_0)*2</value>
+ <key>decoder_list</key>
+ <value>None</value>
</param>
<param>
- <key>vlen</key>
- <value>1</value>
+ <key>puncpat</key>
+ <value>'11'</value>
</param>
<param>
<key>affinity</key>
@@ -474,7 +443,7 @@
</param>
<param>
<key>_coordinate</key>
- <value>(654, 163)</value>
+ <value>(383, 130)</value>
</param>
<param>
<key>_rotation</key>
@@ -483,306 +452,58 @@
<bus_source>1</bus_source>
</block>
<block>
- <key>qtgui_time_sink_x</key>
+ <key>qtgui_bercurve_sink</key>
<param>
<key>id</key>
- <value>qtgui_time_sink_x_0</value>
+ <value>qtgui_bercurve_sink_0</value>
</param>
<param>
<key>_enabled</key>
<value>True</value>
</param>
<param>
- <key>type</key>
- <value>float</value>
+ <key>esno</key>
+ <value>esno_0</value>
</param>
<param>
- <key>name</key>
- <value>QT GUI Plot</value>
+ <key>berminerrors</key>
+ <value>100</value>
</param>
<param>
- <key>size</key>
- <value>1024</value>
+ <key>berlimit</key>
+ <value>-7.0</value>
</param>
<param>
- <key>srate</key>
- <value>samp_rate_0</value>
+ <key>num_curves</key>
+ <value>2</value>
</param>
<param>
- <key>autoscale</key>
- <value>False</value>
+ <key>curvenames</key>
+ <value>[]</value>
</param>
<param>
<key>ymin</key>
- <value>-1</value>
+ <value>-10</value>
</param>
<param>
<key>ymax</key>
- <value>1</value>
- </param>
- <param>
- <key>nconnections</key>
- <value>len(esno_0)*2</value>
+ <value>0</value>
</param>
<param>
<key>update_time</key>
<value>0.10</value>
</param>
<param>
- <key>entags</key>
- <value>True</value>
- </param>
- <param>
<key>gui_hint</key>
<value></value>
</param>
<param>
- <key>tr_mode</key>
- <value>qtgui.TRIG_MODE_FREE</value>
- </param>
- <param>
- <key>tr_slope</key>
- <value>qtgui.TRIG_SLOPE_POS</value>
- </param>
- <param>
- <key>tr_level</key>
- <value>0.0</value>
- </param>
- <param>
- <key>tr_delay</key>
- <value>0</value>
- </param>
- <param>
- <key>tr_chan</key>
- <value>0</value>
- </param>
- <param>
- <key>tr_tag</key>
- <value>""</value>
- </param>
- <param>
- <key>label1</key>
- <value></value>
- </param>
- <param>
- <key>width1</key>
- <value>1</value>
- </param>
- <param>
- <key>color1</key>
- <value>"blue"</value>
- </param>
- <param>
- <key>style1</key>
- <value>1</value>
- </param>
- <param>
- <key>marker1</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha1</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label2</key>
- <value></value>
- </param>
- <param>
- <key>width2</key>
- <value>1</value>
- </param>
- <param>
- <key>color2</key>
- <value>"red"</value>
- </param>
- <param>
- <key>style2</key>
- <value>1</value>
- </param>
- <param>
- <key>marker2</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha2</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label3</key>
- <value></value>
- </param>
- <param>
- <key>width3</key>
- <value>1</value>
- </param>
- <param>
- <key>color3</key>
- <value>"green"</value>
- </param>
- <param>
- <key>style3</key>
- <value>1</value>
- </param>
- <param>
- <key>marker3</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha3</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label4</key>
- <value></value>
- </param>
- <param>
- <key>width4</key>
- <value>1</value>
- </param>
- <param>
- <key>color4</key>
- <value>"black"</value>
- </param>
- <param>
- <key>style4</key>
- <value>1</value>
- </param>
- <param>
- <key>marker4</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha4</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label5</key>
- <value></value>
- </param>
- <param>
- <key>width5</key>
- <value>1</value>
- </param>
- <param>
- <key>color5</key>
- <value>"cyan"</value>
- </param>
- <param>
- <key>style5</key>
- <value>1</value>
- </param>
- <param>
- <key>marker5</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha5</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label6</key>
- <value></value>
- </param>
- <param>
- <key>width6</key>
- <value>1</value>
- </param>
- <param>
- <key>color6</key>
- <value>"magenta"</value>
- </param>
- <param>
- <key>style6</key>
- <value>1</value>
- </param>
- <param>
- <key>marker6</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha6</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label7</key>
- <value></value>
- </param>
- <param>
- <key>width7</key>
- <value>1</value>
- </param>
- <param>
- <key>color7</key>
- <value>"yellow"</value>
- </param>
- <param>
- <key>style7</key>
- <value>1</value>
- </param>
- <param>
- <key>marker7</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha7</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label8</key>
- <value></value>
- </param>
- <param>
- <key>width8</key>
- <value>1</value>
- </param>
- <param>
- <key>color8</key>
- <value>"dark red"</value>
- </param>
- <param>
- <key>style8</key>
- <value>1</value>
- </param>
- <param>
- <key>marker8</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha8</key>
- <value>1.0</value>
- </param>
- <param>
- <key>label9</key>
- <value></value>
- </param>
- <param>
- <key>width9</key>
- <value>1</value>
- </param>
- <param>
- <key>color9</key>
- <value>"dark green"</value>
- </param>
- <param>
- <key>style9</key>
- <value>1</value>
- </param>
- <param>
- <key>marker9</key>
- <value>-1</value>
- </param>
- <param>
- <key>alpha9</key>
- <value>1.0</value>
- </param>
- <param>
<key>affinity</key>
<value></value>
</param>
<param>
<key>_coordinate</key>
- <value>(1005, 183)</value>
+ <value>(774, 26)</value>
</param>
<param>
<key>_rotation</key>
@@ -790,220 +511,208 @@
</param>
<bus_sink>1</bus_sink>
</block>
- <block>
- <key>fec_bercurve_generator</key>
- <param>
- <key>id</key>
- <value>fec_bercurve_generator_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>esno</key>
- <value>esno_0</value>
- </param>
- <param>
- <key>samp_rate</key>
- <value>samp_rate_0</value>
- </param>
- <param>
- <key>encoder_list</key>
- <value>enc</value>
- </param>
- <param>
- <key>decoder_list</key>
- <value>dec</value>
- </param>
- <param>
- <key>puncpat</key>
- <value>'11'</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>(384, 15)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- <bus_source>1</bus_source>
- </block>
- <block>
- <key>blocks_streams_to_stream</key>
- <param>
- <key>id</key>
- <value>blocks_streams_to_stream_0</value>
- </param>
- <param>
- <key>_enabled</key>
- <value>True</value>
- </param>
- <param>
- <key>type</key>
- <value>byte</value>
- </param>
- <param>
- <key>num_streams</key>
- <value>len(esno_0)*2</value>
- </param>
- <param>
- <key>vlen</key>
- <value>1</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>(676, 20)</value>
- </param>
- <param>
- <key>_rotation</key>
- <value>0</value>
- </param>
- <bus_sink>1</bus_sink>
- </block>
- <connection>
- <source_block_id>blocks_streams_to_stream_0</source_block_id>
- <sink_block_id>blocks_char_to_float_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
- <connection>
- <source_block_id>blocks_char_to_float_0</source_block_id>
- <sink_block_id>blocks_stream_to_streams_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
- </connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>0</source_key>
<sink_key>0</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>1</source_key>
<sink_key>1</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>2</source_key>
<sink_key>2</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>3</source_key>
<sink_key>3</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>4</source_key>
<sink_key>4</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>5</source_key>
<sink_key>5</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>6</source_key>
<sink_key>6</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>7</source_key>
<sink_key>7</sink_key>
</connection>
<connection>
- <source_block_id>blocks_stream_to_streams_0</source_block_id>
- <sink_block_id>qtgui_time_sink_x_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>8</source_key>
<sink_key>8</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
- <source_key>0</source_key>
- <sink_key>0</sink_key>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>9</source_key>
+ <sink_key>9</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
- <source_key>1</source_key>
- <sink_key>1</sink_key>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>10</source_key>
+ <sink_key>10</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
- <source_key>2</source_key>
- <sink_key>2</sink_key>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>11</source_key>
+ <sink_key>11</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
- <source_key>3</source_key>
- <sink_key>3</sink_key>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>12</source_key>
+ <sink_key>12</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
- <source_key>4</source_key>
- <sink_key>4</sink_key>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>13</source_key>
+ <sink_key>13</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
- <source_key>5</source_key>
- <sink_key>5</sink_key>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>14</source_key>
+ <sink_key>14</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
- <source_key>6</source_key>
- <sink_key>6</sink_key>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>15</source_key>
+ <sink_key>15</sink_key>
</connection>
<connection>
<source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>16</source_key>
+ <sink_key>32</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>0</source_key>
+ <sink_key>16</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>1</source_key>
+ <sink_key>17</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>2</source_key>
+ <sink_key>18</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>3</source_key>
+ <sink_key>19</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>4</source_key>
+ <sink_key>20</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>5</source_key>
+ <sink_key>21</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>6</source_key>
+ <sink_key>22</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>7</source_key>
- <sink_key>7</sink_key>
+ <sink_key>23</sink_key>
</connection>
<connection>
- <source_block_id>fec_bercurve_generator_0</source_block_id>
- <sink_block_id>blocks_streams_to_stream_0</sink_block_id>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
<source_key>8</source_key>
- <sink_key>8</sink_key>
+ <sink_key>24</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>9</source_key>
+ <sink_key>25</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>10</source_key>
+ <sink_key>26</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>11</source_key>
+ <sink_key>27</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>12</source_key>
+ <sink_key>28</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>13</source_key>
+ <sink_key>29</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>14</source_key>
+ <sink_key>30</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>15</source_key>
+ <sink_key>31</sink_key>
+ </connection>
+ <connection>
+ <source_block_id>fec_bercurve_generator_0_0</source_block_id>
+ <sink_block_id>qtgui_bercurve_sink_0</sink_block_id>
+ <source_key>16</source_key>
+ <sink_key>33</sink_key>
</connection>
</flow_graph>
diff --git a/gr-fec/include/gnuradio/fec/cc_decoder.h b/gr-fec/include/gnuradio/fec/cc_decoder.h
index 821730c377..3babb5e9bd 100644
--- a/gr-fec/include/gnuradio/fec/cc_decoder.h
+++ b/gr-fec/include/gnuradio/fec/cc_decoder.h
@@ -34,7 +34,7 @@ namespace gr {
namespace code {
typedef void(*conv_kernel)(unsigned char *Y, unsigned char *X,
- const unsigned char *syms, unsigned char *dec,
+ unsigned char *syms, unsigned char *dec,
unsigned int framebits, unsigned int excess,
unsigned char *Branchtab);
diff --git a/gr-fec/lib/cc_decoder_impl.cc b/gr-fec/lib/cc_decoder_impl.cc
index 1941306df0..e09064c3bc 100644
--- a/gr-fec/lib/cc_decoder_impl.cc
+++ b/gr-fec/lib/cc_decoder_impl.cc
@@ -79,7 +79,9 @@ namespace gr {
if(d_tailbiting) {
d_end_state = &d_end_state_chaining;
d_veclen = d_framebits + (6 * (d_k - 1));
- if(posix_memalign((void**)&d_managed_in, 16, d_veclen * d_rate * sizeof(COMPUTETYPE))) {
+ d_managed_in = (COMPUTETYPE*)volk_malloc(d_veclen*d_rate*sizeof(COMPUTETYPE),
+ volk_get_alignment());
+ if(d_managed_in) {
printf("allocation failed\n");
exit(1);
}
@@ -341,7 +343,7 @@ namespace gr {
}
int
- cc_decoder_impl::update_viterbi_blk(const COMPUTETYPE* syms, int nbits)
+ cc_decoder_impl::update_viterbi_blk(COMPUTETYPE* syms, int nbits)
{
DECISIONTYPE *d;
@@ -470,7 +472,7 @@ namespace gr {
*/
else if(d_truncated) {
- update_viterbi_blk(&in[0], d_veclen);
+ update_viterbi_blk((COMPUTETYPE*)(&in[0]), d_veclen);
d_end_state_chaining = find_endstate();
//printf("...end %d\n", d_end_state_chaining);
for(unsigned int i = 0; i < d_k-1; ++i) {
@@ -486,7 +488,7 @@ namespace gr {
}
//terminated or streaming
else {
- update_viterbi_blk(&in[0], d_veclen);
+ update_viterbi_blk((COMPUTETYPE*)(&in[0]), d_veclen);
d_end_state_chaining = find_endstate();
//printf("es: %d\n", d_end_state_chaining);
d_start_state_chaining = chainback_viterbi(&out[0], d_framebits, *d_end_state,
diff --git a/gr-fec/lib/cc_decoder_impl.h b/gr-fec/lib/cc_decoder_impl.h
index cad1df9d38..7fe093496e 100644
--- a/gr-fec/lib/cc_decoder_impl.h
+++ b/gr-fec/lib/cc_decoder_impl.h
@@ -48,7 +48,7 @@ namespace gr {
void create_viterbi();
int init_viterbi(struct v* vp, int starting_state);
int init_viterbi_unbiased(struct v* vp);
- int update_viterbi_blk(const COMPUTETYPE* syms, int nbits);
+ int update_viterbi_blk(COMPUTETYPE* syms, int nbits);
int chainback_viterbi(unsigned char* data, unsigned int nbits,
unsigned int endstate, unsigned int tailsize);
int find_endstate();
diff --git a/gr-fec/python/fec/bercurve_generator.py b/gr-fec/python/fec/bercurve_generator.py
index 0f0ef7e4aa..9b9aef28af 100644
--- a/gr-fec/python/fec/bercurve_generator.py
+++ b/gr-fec/python/fec/bercurve_generator.py
@@ -58,7 +58,7 @@ class bercurve_generator(gr.hier_block2):
samp_rate=samp_rate,
threading=threading,
puncpat=puncpat)
- self.ber_generators.append(ber_generator_temp);
+ self.ber_generators.append(ber_generator_temp);
for i in range(0, len(esno)):
self.connect((self.deinterleave, i), (self.ber_generators[i]))
diff --git a/gr-fec/python/fec/extended_encoder.py b/gr-fec/python/fec/extended_encoder.py
index e9576fa4a8..b7f414cccb 100644
--- a/gr-fec/python/fec/extended_encoder.py
+++ b/gr-fec/python/fec/extended_encoder.py
@@ -25,6 +25,7 @@ from gnuradio import gr
import fec_swig as fec
from threaded_encoder import threaded_encoder
from capillary_threaded_encoder import capillary_threaded_encoder
+from bitflip import read_bitlist
class extended_encoder(gr.hier_block2):
def __init__(self, encoder_obj_list, threading, puncpat=None):
@@ -43,7 +44,7 @@ class extended_encoder(gr.hier_block2):
self.blocks.append(fec.encoder(encoder_obj_list[0]))
if self.puncpat != '11':
- self.blocks.append(fec.puncture_ff(0, fec.read_bitlist(puncpat),
+ self.blocks.append(fec.puncture_ff(0, read_bitlist(puncpat),
puncpat.count('0'), len(puncpat)))
self.connect((self, 0), (self.blocks[0], 0));
diff --git a/gr-fec/python/fec/fec_raw_test.py b/gr-fec/python/fec/fec_raw_test.py
index e6df0f03df..e06ff0b3ad 100644
--- a/gr-fec/python/fec/fec_raw_test.py
+++ b/gr-fec/python/fec/fec_raw_test.py
@@ -20,7 +20,7 @@
# Boston, MA 02110-1301, USA.
#
-from gnuradio import gr, blocks
+from gnuradio import gr, blocks, analog
import math
class fec_raw_test(gr.hier_block2):