diff options
author | Nicholas McCarthy <namccart@gmail.com> | 2014-03-25 18:05:54 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2014-05-17 17:45:12 -0400 |
commit | e23323e77d33c7e5cf2cd3add323bf15064babc5 (patch) | |
tree | dc6efe659df87d1b3de1b92f96eed4b4a0769a8c /gr-fec | |
parent | 6f84515d6290230abeea6c13e1c605746a8a272c (diff) |
adding ber sink to qt gui
Diffstat (limited to 'gr-fec')
-rw-r--r-- | gr-fec/examples/cc_bercurve.grc | 683 | ||||
-rw-r--r-- | gr-fec/include/gnuradio/fec/cc_decoder.h | 2 | ||||
-rw-r--r-- | gr-fec/lib/cc_decoder_impl.cc | 10 | ||||
-rw-r--r-- | gr-fec/lib/cc_decoder_impl.h | 2 | ||||
-rw-r--r-- | gr-fec/python/fec/bercurve_generator.py | 2 | ||||
-rw-r--r-- | gr-fec/python/fec/extended_encoder.py | 3 | ||||
-rw-r--r-- | gr-fec/python/fec/fec_raw_test.py | 2 |
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): |