diff options
author | Tom Rondeau <tom@trondeau.com> | 2014-05-12 15:40:55 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2014-05-17 17:45:15 -0400 |
commit | 1d1069b2edb1f3647d4d76b21ee0a68d45632ab1 (patch) | |
tree | 8dffea6e7fc120b242fc9ac38565d51ec6fbb40d /gr-fec | |
parent | 81b7275ea6e915c7da2e593bb29a3b01df14805b (diff) |
fec: wip: adding a dummy encoder/decoder and repetition code to exercise the API.
Diffstat (limited to 'gr-fec')
37 files changed, 8477 insertions, 3083 deletions
diff --git a/gr-fec/examples/CMakeLists.txt b/gr-fec/examples/CMakeLists.txt index b5f253b9a1..d0cf5e4b84 100644 --- a/gr-fec/examples/CMakeLists.txt +++ b/gr-fec/examples/CMakeLists.txt @@ -21,6 +21,8 @@ include(GrPython) install( FILES + ber_test.grc + ber_curve_gen.grc fecapi_decoders.grc fecapi_encoders.grc fecapi_tagged_decoders.grc diff --git a/gr-fec/examples/ber_curve_gen.grc b/gr-fec/examples/ber_curve_gen.grc new file mode 100644 index 0000000000..f4844fd139 --- /dev/null +++ b/gr-fec/examples/ber_curve_gen.grc @@ -0,0 +1,2068 @@ +<?xml version='1.0' encoding='ASCII'?> +<flow_graph> + <timestamp>Mon May 12 21:57:30 2014</timestamp> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>framebits</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>4096</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(160, 101)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>rate</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>2</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(249, 373)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>polys</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>[79, 109]</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(110, 371)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>k</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>7</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(16, 370)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>esno_0</value> + </param> + <param> + <key>_enabled</key> + <value>False</value> + </param> + <param> + <key>value</key> + <value>numpy.arange(0, 8, .5) </value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(13, 192)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>samp_rate_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>35000000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(12, 99)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>esno_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>numpy.arange(0, 14, 0.5) </value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(14, 283)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fec_bercurve_generator</key> + <param> + <key>id</key> + <value>fec_bercurve_generator_0_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_rep</value> + </param> + <param> + <key>decoder_list</key> + <value>dec_rep</value> + </param> + <param> + <key>puncpat</key> + <value>'11'</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>(481, 132)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <bus_source>1</bus_source> + </block> + <block> + <key>fec_bercurve_generator</key> + <param> + <key>id</key> + <value>fec_bercurve_generator_0_0_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_dummy</value> + </param> + <param> + <key>decoder_list</key> + <value>dec_dummy</value> + </param> + <param> + <key>puncpat</key> + <value>'11'</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>(481, 9)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <bus_source>1</bus_source> + </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_cc</value> + </param> + <param> + <key>decoder_list</key> + <value>dec_cc</value> + </param> + <param> + <key>puncpat</key> + <value>'11'</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>(481, 260)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <bus_source>1</bus_source> + </block> + <block> + <key>options</key> + <param> + <key>id</key> + <value>ber_curve_gen</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>title</key> + <value></value> + </param> + <param> + <key>author</key> + <value></value> + </param> + <param> + <key>description</key> + <value></value> + </param> + <param> + <key>window_size</key> + <value>2000,2000</value> + </param> + <param> + <key>generate_options</key> + <value>qt_gui</value> + </param> + <param> + <key>category</key> + <value>Custom</value> + </param> + <param> + <key>run_options</key> + <value>prompt</value> + </param> + <param> + <key>run</key> + <value>True</value> + </param> + <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> + <key>realtime_scheduling</key> + <value></value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(10, 10)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>qtgui_bercurve_sink</key> + <param> + <key>id</key> + <value>qtgui_bercurve_sink_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>esno</key> + <value>esno_0</value> + </param> + <param> + <key>berminerrors</key> + <value>10000000</value> + </param> + <param> + <key>berlimit</key> + <value>-15</value> + </param> + <param> + <key>num_curves</key> + <value>3</value> + </param> + <param> + <key>curvenames</key> + <value>[]</value> + </param> + <param> + <key>ymin</key> + <value>-10</value> + </param> + <param> + <key>ymax</key> + <value>0</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>label1</key> + <value>None</value> + </param> + <param> + <key>width1</key> + <value>2</value> + </param> + <param> + <key>color1</key> + <value>"blue"</value> + </param> + <param> + <key>style1</key> + <value>1</value> + </param> + <param> + <key>marker1</key> + <value>0</value> + </param> + <param> + <key>alpha1</key> + <value>1</value> + </param> + <param> + <key>label2</key> + <value>Rep. (Rate=3)</value> + </param> + <param> + <key>width2</key> + <value>2</value> + </param> + <param> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>style2</key> + <value>2</value> + </param> + <param> + <key>marker2</key> + <value>1</value> + </param> + <param> + <key>alpha2</key> + <value>1</value> + </param> + <param> + <key>label3</key> + <value>CC (K=7, Rate=2)</value> + </param> + <param> + <key>width3</key> + <value>2</value> + </param> + <param> + <key>color3</key> + <value>"magenta"</value> + </param> + <param> + <key>style3</key> + <value>5</value> + </param> + <param> + <key>marker3</key> + <value>0</value> + </param> + <param> + <key>alpha3</key> + <value>1</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>width4</key> + <value>1</value> + </param> + <param> + <key>color4</key> + <value>"red"</value> + </param> + <param> + <key>style4</key> + <value>0</value> + </param> + <param> + <key>marker4</key> + <value>0</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>"red"</value> + </param> + <param> + <key>style5</key> + <value>0</value> + </param> + <param> + <key>marker5</key> + <value>0</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>"red"</value> + </param> + <param> + <key>style6</key> + <value>0</value> + </param> + <param> + <key>marker6</key> + <value>0</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>"red"</value> + </param> + <param> + <key>style7</key> + <value>0</value> + </param> + <param> + <key>marker7</key> + <value>0</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>"red"</value> + </param> + <param> + <key>style8</key> + <value>0</value> + </param> + <param> + <key>marker8</key> + <value>0</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>"red"</value> + </param> + <param> + <key>style9</key> + <value>0</value> + </param> + <param> + <key>marker9</key> + <value>0</value> + </param> + <param> + <key>alpha9</key> + <value>1.0</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>color10</key> + <value>"red"</value> + </param> + <param> + <key>style10</key> + <value>0</value> + </param> + <param> + <key>marker10</key> + <value>0</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(934, 58)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + <bus_sink>1</bus_sink> + </block> + <block> + <key>variable_dummy_decoder_def</key> + <param> + <key>id</key> + <value>dec_dummy</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>2</value> + </param> + <param> + <key>dim1</key> + <value>len(esno_0)</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(594, 604)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_dummy_encoder_def</key> + <param> + <key>id</key> + <value>enc_dummy</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>2</value> + </param> + <param> + <key>dim1</key> + <value>len(esno_0)</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(592, 455)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_repetition_encoder_def</key> + <param> + <key>id</key> + <value>enc_rep</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>2</value> + </param> + <param> + <key>dim1</key> + <value>len(esno_0)</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>rep</key> + <value>3</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(301, 455)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_cc_encoder_def</key> + <param> + <key>id</key> + <value>enc_cc</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>2</value> + </param> + <param> + <key>dim1</key> + <value>len(esno_0)</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>k</key> + <value>k</value> + </param> + <param> + <key>rate</key> + <value>rate</value> + </param> + <param> + <key>polys</key> + <value>polys</value> + </param> + <param> + <key>state_start</key> + <value>0</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_STREAMING</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(13, 451)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_cc_decoder_def</key> + <param> + <key>id</key> + <value>dec_cc</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>2</value> + </param> + <param> + <key>dim1</key> + <value>len(esno_0)</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>k</key> + <value>k</value> + </param> + <param> + <key>rate</key> + <value>rate</value> + </param> + <param> + <key>polys</key> + <value>polys</value> + </param> + <param> + <key>state_start</key> + <value>0</value> + </param> + <param> + <key>state_end</key> + <value>-1</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_STREAMING</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(15, 705)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_repetition_decoder_def</key> + <param> + <key>id</key> + <value>dec_rep</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>2</value> + </param> + <param> + <key>dim1</key> + <value>len(esno_0)</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>rep</key> + <value>3</value> + </param> + <param> + <key>prob</key> + <value>0.5</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(301, 626)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <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>56</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>57</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>58</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>59</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>60</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>61</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>62</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>63</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>8</source_key> + <sink_key>64</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>65</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>66</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>67</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>68</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>69</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>70</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>71</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>72</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>17</source_key> + <sink_key>73</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>18</source_key> + <sink_key>74</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>19</source_key> + <sink_key>75</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>20</source_key> + <sink_key>76</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>21</source_key> + <sink_key>77</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>22</source_key> + <sink_key>78</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>23</source_key> + <sink_key>79</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>24</source_key> + <sink_key>80</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>25</source_key> + <sink_key>81</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>26</source_key> + <sink_key>82</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>27</source_key> + <sink_key>83</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>28</source_key> + <sink_key>84</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>29</source_key> + <sink_key>85</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>30</source_key> + <sink_key>86</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>31</source_key> + <sink_key>87</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>32</source_key> + <sink_key>88</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>33</source_key> + <sink_key>89</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>34</source_key> + <sink_key>90</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>35</source_key> + <sink_key>91</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>36</source_key> + <sink_key>92</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>37</source_key> + <sink_key>93</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>38</source_key> + <sink_key>94</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>39</source_key> + <sink_key>95</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>40</source_key> + <sink_key>96</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>41</source_key> + <sink_key>97</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>42</source_key> + <sink_key>98</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>43</source_key> + <sink_key>99</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>44</source_key> + <sink_key>100</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>45</source_key> + <sink_key>101</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>46</source_key> + <sink_key>102</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>47</source_key> + <sink_key>103</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>48</source_key> + <sink_key>104</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>49</source_key> + <sink_key>105</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>50</source_key> + <sink_key>106</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>51</source_key> + <sink_key>107</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>52</source_key> + <sink_key>108</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>53</source_key> + <sink_key>109</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>54</source_key> + <sink_key>110</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>55</source_key> + <sink_key>111</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>56</source_key> + <sink_key>169</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_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>fec_bercurve_generator_0_0_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>fec_bercurve_generator_0_0_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>fec_bercurve_generator_0_0_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>fec_bercurve_generator_0_0_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>fec_bercurve_generator_0_0_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>fec_bercurve_generator_0_0_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>fec_bercurve_generator_0_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> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_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> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <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_0_0</source_block_id> + <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_0_0</source_block_id> + <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_0_0</source_block_id> + <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_0_0</source_block_id> + <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_0_0</source_block_id> + <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_0_0</source_block_id> + <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_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>16</source_key> + <sink_key>16</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>17</source_key> + <sink_key>17</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>18</source_key> + <sink_key>18</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>19</source_key> + <sink_key>19</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>20</source_key> + <sink_key>20</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>21</source_key> + <sink_key>21</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>22</source_key> + <sink_key>22</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>23</source_key> + <sink_key>23</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>24</source_key> + <sink_key>24</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>25</source_key> + <sink_key>25</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>26</source_key> + <sink_key>26</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>27</source_key> + <sink_key>27</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>28</source_key> + <sink_key>28</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>29</source_key> + <sink_key>29</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>30</source_key> + <sink_key>30</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>31</source_key> + <sink_key>31</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>32</source_key> + <sink_key>32</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>33</source_key> + <sink_key>33</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>34</source_key> + <sink_key>34</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>35</source_key> + <sink_key>35</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>36</source_key> + <sink_key>36</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>37</source_key> + <sink_key>37</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>38</source_key> + <sink_key>38</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>39</source_key> + <sink_key>39</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>40</source_key> + <sink_key>40</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>41</source_key> + <sink_key>41</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>42</source_key> + <sink_key>42</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>43</source_key> + <sink_key>43</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>44</source_key> + <sink_key>44</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>45</source_key> + <sink_key>45</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>46</source_key> + <sink_key>46</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>47</source_key> + <sink_key>47</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>48</source_key> + <sink_key>48</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>49</source_key> + <sink_key>49</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>50</source_key> + <sink_key>50</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>51</source_key> + <sink_key>51</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>52</source_key> + <sink_key>52</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>53</source_key> + <sink_key>53</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>54</source_key> + <sink_key>54</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>55</source_key> + <sink_key>55</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>56</source_key> + <sink_key>168</sink_key> + </connection> + <connection> + <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>112</sink_key> + </connection> + <connection> + <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>113</sink_key> + </connection> + <connection> + <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>114</sink_key> + </connection> + <connection> + <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>115</sink_key> + </connection> + <connection> + <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>116</sink_key> + </connection> + <connection> + <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>117</sink_key> + </connection> + <connection> + <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>118</sink_key> + </connection> + <connection> + <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>119</sink_key> + </connection> + <connection> + <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>120</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>9</source_key> + <sink_key>121</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>10</source_key> + <sink_key>122</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>11</source_key> + <sink_key>123</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>12</source_key> + <sink_key>124</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>13</source_key> + <sink_key>125</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>14</source_key> + <sink_key>126</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>15</source_key> + <sink_key>127</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>16</source_key> + <sink_key>128</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>17</source_key> + <sink_key>129</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>18</source_key> + <sink_key>130</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>19</source_key> + <sink_key>131</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>20</source_key> + <sink_key>132</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>21</source_key> + <sink_key>133</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>22</source_key> + <sink_key>134</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>23</source_key> + <sink_key>135</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>24</source_key> + <sink_key>136</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>25</source_key> + <sink_key>137</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>26</source_key> + <sink_key>138</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>27</source_key> + <sink_key>139</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>28</source_key> + <sink_key>140</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>29</source_key> + <sink_key>141</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>30</source_key> + <sink_key>142</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>31</source_key> + <sink_key>143</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>32</source_key> + <sink_key>144</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>33</source_key> + <sink_key>145</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>34</source_key> + <sink_key>146</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>35</source_key> + <sink_key>147</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>36</source_key> + <sink_key>148</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>37</source_key> + <sink_key>149</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>38</source_key> + <sink_key>150</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>39</source_key> + <sink_key>151</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>40</source_key> + <sink_key>152</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>41</source_key> + <sink_key>153</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>42</source_key> + <sink_key>154</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>43</source_key> + <sink_key>155</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>44</source_key> + <sink_key>156</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>45</source_key> + <sink_key>157</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>46</source_key> + <sink_key>158</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>47</source_key> + <sink_key>159</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>48</source_key> + <sink_key>160</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>49</source_key> + <sink_key>161</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>50</source_key> + <sink_key>162</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>51</source_key> + <sink_key>163</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>52</source_key> + <sink_key>164</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>53</source_key> + <sink_key>165</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>54</source_key> + <sink_key>166</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>55</source_key> + <sink_key>167</sink_key> + </connection> + <connection> + <source_block_id>fec_bercurve_generator_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>56</source_key> + <sink_key>170</sink_key> + </connection> +</flow_graph> diff --git a/gr-fec/examples/ber_test.grc b/gr-fec/examples/ber_test.grc new file mode 100644 index 0000000000..3d3a5510db --- /dev/null +++ b/gr-fec/examples/ber_test.grc @@ -0,0 +1,1538 @@ +<?xml version='1.0' encoding='ASCII'?> +<flow_graph> + <timestamp>Mon May 12 21:49:02 2014</timestamp> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>k</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>7</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(241, 11)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>berminerrs</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>100</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(433, 12)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>noise</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>numpy.sqrt((10.0**(-esno/10.0))/2.0)</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(428, 93)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>rate</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>2</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(337, 12)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>framebits</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>4096</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(155, 89)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>samp_rate</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>35000000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(12, 91)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable</key> + <param> + <key>id</key> + <value>polys</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>[79, 109]</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(290, 91)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_unpacked_to_packed_xx</key> + <param> + <key>id</key> + <value>blocks_unpacked_to_packed_xx_0_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>byte</value> + </param> + <param> + <key>bits_per_chunk</key> + <value>1</value> + </param> + <param> + <key>endianness</key> + <value>gr.GR_LSB_FIRST</value> + </param> + <param> + <key>num_ports</key> + <value>1</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>(932, 412)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fec_extended_decoder</key> + <param> + <key>id</key> + <value>fec_extended_decoder_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>fec_extended_decoder</value> + </param> + <param> + <key>decoder_list</key> + <value>dec</value> + </param> + <param> + <key>threadtype</key> + <value>none</value> + </param> + <param> + <key>ann</key> + <value>None</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>None</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>(1026, 258)</value> + </param> + <param> + <key>_rotation</key> + <value>180</value> + </param> + </block> + <block> + <key>blocks_char_to_float</key> + <param> + <key>id</key> + <value>blocks_char_to_float_1</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>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>(1125, 194)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>digital_map_bb</key> + <param> + <key>id</key> + <value>digital_map_bb_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>map</key> + <value>[-1, 1]</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>(942, 194)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fec_extended_encoder</key> + <param> + <key>id</key> + <value>fec_extended_encoder_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>encoder_list</key> + <value>enc</value> + </param> + <param> + <key>threadtype</key> + <value>capillary</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>None</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>(628, 163)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_throttle</key> + <param> + <key>id</key> + <value>blocks_throttle_0</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>ignoretag</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>_coordinate</key> + <value>(90, 337)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_unpack_k_bits_bb</key> + <param> + <key>id</key> + <value>blocks_unpack_k_bits_bb_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>k</key> + <value>8</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>(402, 194)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>analog_fastnoise_source_x</key> + <param> + <key>id</key> + <value>analog_fastnoise_source_x_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>noise_type</key> + <value>analog.GR_GAUSSIAN</value> + </param> + <param> + <key>amp</key> + <value>noise</value> + </param> + <param> + <key>seed</key> + <value>0</value> + </param> + <param> + <key>samples</key> + <value>8192</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>(963, 29)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_add_xx</key> + <param> + <key>id</key> + <value>blocks_add_xx_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>num_inputs</key> + <value>2</value> + </param> + <param> + <key>vlen</key> + <value>1</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>(1358, 162)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>qtgui_number_sink</key> + <param> + <key>id</key> + <value>qtgui_number_sink_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>autoscale</key> + <value>True</value> + </param> + <param> + <key>avg</key> + <value>0</value> + </param> + <param> + <key>graph_type</key> + <value>qtgui.NUM_GRAPH_HORIZ</value> + </param> + <param> + <key>nconnections</key> + <value>1</value> + </param> + <param> + <key>min</key> + <value>-10</value> + </param> + <param> + <key>max</key> + <value>10</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>label1</key> + <value>BER</value> + </param> + <param> + <key>color1</key> + <value>("blue", "red")</value> + </param> + <param> + <key>label2</key> + <value></value> + </param> + <param> + <key>color2</key> + <value>("black", "black")</value> + </param> + <param> + <key>label3</key> + <value></value> + </param> + <param> + <key>color3</key> + <value>("black", "black")</value> + </param> + <param> + <key>label4</key> + <value></value> + </param> + <param> + <key>color4</key> + <value>("black", "black")</value> + </param> + <param> + <key>label5</key> + <value></value> + </param> + <param> + <key>color5</key> + <value>("black", "black")</value> + </param> + <param> + <key>label6</key> + <value></value> + </param> + <param> + <key>color6</key> + <value>("black", "black")</value> + </param> + <param> + <key>label7</key> + <value></value> + </param> + <param> + <key>color7</key> + <value>("black", "black")</value> + </param> + <param> + <key>label8</key> + <value></value> + </param> + <param> + <key>color8</key> + <value>("black", "black")</value> + </param> + <param> + <key>label9</key> + <value></value> + </param> + <param> + <key>color9</key> + <value>("black", "black")</value> + </param> + <param> + <key>label10</key> + <value></value> + </param> + <param> + <key>color10</key> + <value>("black", "black")</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1504, 446)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>qtgui_time_sink_x</key> + <param> + <key>id</key> + <value>qtgui_time_sink_x_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>float</value> + </param> + <param> + <key>name</key> + <value>QT GUI Plot</value> + </param> + <param> + <key>size</key> + <value>1024</value> + </param> + <param> + <key>srate</key> + <value>samp_rate</value> + </param> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>ymin</key> + <value>-1.25</value> + </param> + <param> + <key>ymax</key> + <value>1.25</value> + </param> + <param> + <key>nconnections</key> + <value>1</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>3</value> + </param> + <param> + <key>marker1</key> + <value>0</value> + </param> + <param> + <key>alpha1</key> + <value>0.5</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>label10</key> + <value></value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>color10</key> + <value>"blue"</value> + </param> + <param> + <key>style10</key> + <value>1</value> + </param> + <param> + <key>marker10</key> + <value>-1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1515, 115)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fec_ber_bf</key> + <param> + <key>id</key> + <value>fec_ber_bf_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>test_mode</key> + <value>False</value> + </param> + <param> + <key>berminerrors</key> + <value>berminerrs</value> + </param> + <param> + <key>berlimit</key> + <value>-7.0</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>(1244, 455)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>analog_random_source_x</key> + <param> + <key>id</key> + <value>analog_random_source_x_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>byte</value> + </param> + <param> + <key>min</key> + <value>0</value> + </param> + <param> + <key>max</key> + <value>256</value> + </param> + <param> + <key>num_samps</key> + <value>1000</value> + </param> + <param> + <key>repeat</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>_coordinate</key> + <value>(89, 186)</value> + </param> + <param> + <key>_rotation</key> + <value>180</value> + </param> + </block> + <block> + <key>variable_cc_encoder_def</key> + <param> + <key>id</key> + <value>enc</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>1</value> + </param> + <param> + <key>dim1</key> + <value>1</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>k</key> + <value>k</value> + </param> + <param> + <key>rate</key> + <value>rate</value> + </param> + <param> + <key>polys</key> + <value>polys</value> + </param> + <param> + <key>state_start</key> + <value>0</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_STREAMING</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(28, 419)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_cc_decoder_def</key> + <param> + <key>id</key> + <value>dec</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>1</value> + </param> + <param> + <key>dim1</key> + <value>1</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>k</key> + <value>k</value> + </param> + <param> + <key>rate</key> + <value>rate</value> + </param> + <param> + <key>polys</key> + <value>polys</value> + </param> + <param> + <key>state_start</key> + <value>0</value> + </param> + <param> + <key>state_end</key> + <value>-1</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_STREAMING</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(318, 419)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_qtgui_range</key> + <param> + <key>id</key> + <value>esno</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>label</key> + <value>EsN0</value> + </param> + <param> + <key>value</key> + <value>15</value> + </param> + <param> + <key>start</key> + <value>0</value> + </param> + <param> + <key>stop</key> + <value>15</value> + </param> + <param> + <key>step</key> + <value>0.25</value> + </param> + <param> + <key>widget</key> + <value>counter_slider</value> + </param> + <param> + <key>orient</key> + <value>Qt.Horizontal</value> + </param> + <param> + <key>min_len</key> + <value>200</value> + </param> + <param> + <key>gui_hint</key> + <value></value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(614, 535)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>options</key> + <param> + <key>id</key> + <value>ber_test</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>title</key> + <value></value> + </param> + <param> + <key>author</key> + <value></value> + </param> + <param> + <key>description</key> + <value></value> + </param> + <param> + <key>window_size</key> + <value>2000,2000</value> + </param> + <param> + <key>generate_options</key> + <value>qt_gui</value> + </param> + <param> + <key>category</key> + <value>Custom</value> + </param> + <param> + <key>run_options</key> + <value>prompt</value> + </param> + <param> + <key>run</key> + <value>True</value> + </param> + <param> + <key>max_nouts</key> + <value>0</value> + </param> + <param> + <key>realtime_scheduling</key> + <value></value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(10, 10)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <connection> + <source_block_id>analog_random_source_x_0</source_block_id> + <sink_block_id>blocks_throttle_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>fec_extended_decoder_0</source_block_id> + <sink_block_id>blocks_unpacked_to_packed_xx_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_add_xx_0</source_block_id> + <sink_block_id>fec_extended_decoder_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_throttle_0</source_block_id> + <sink_block_id>fec_ber_bf_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> + <connection> + <source_block_id>blocks_throttle_0</source_block_id> + <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_char_to_float_1</source_block_id> + <sink_block_id>blocks_add_xx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> + <connection> + <source_block_id>fec_extended_encoder_0</source_block_id> + <sink_block_id>digital_map_bb_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>digital_map_bb_0</source_block_id> + <sink_block_id>blocks_char_to_float_1</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_unpacked_to_packed_xx_0_0</source_block_id> + <sink_block_id>fec_ber_bf_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>analog_fastnoise_source_x_0</source_block_id> + <sink_block_id>blocks_add_xx_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_add_xx_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>fec_ber_bf_0</source_block_id> + <sink_block_id>qtgui_number_sink_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> + <sink_block_id>fec_extended_encoder_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> +</flow_graph> diff --git a/gr-fec/examples/cc_ber.grc b/gr-fec/examples/cc_ber.grc deleted file mode 100644 index 785b1cc9e8..0000000000 --- a/gr-fec/examples/cc_ber.grc +++ /dev/null @@ -1,840 +0,0 @@ -<?xml version='1.0' encoding='ASCII'?> -<flow_graph> - <timestamp>Tue Mar 25 13:12:29 2014</timestamp> - <block> - <key>options</key> - <param> - <key>id</key> - <value>cc_ber</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>title</key> - <value></value> - </param> - <param> - <key>author</key> - <value></value> - </param> - <param> - <key>description</key> - <value></value> - </param> - <param> - <key>window_size</key> - <value>1280, 1024</value> - </param> - <param> - <key>generate_options</key> - <value>qt_gui</value> - </param> - <param> - <key>category</key> - <value>Custom</value> - </param> - <param> - <key>run_options</key> - <value>prompt</value> - </param> - <param> - <key>run</key> - <value>True</value> - </param> - <param> - <key>max_nouts</key> - <value>0</value> - </param> - <param> - <key>realtime_scheduling</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(10, 10)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>k</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>7</value> - </param> - <param> - <key>_coordinate</key> - <value>(205, 11)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>samp_rate_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>35000000</value> - </param> - <param> - <key>_coordinate</key> - <value>(12, 85)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>framebits</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>4096</value> - </param> - <param> - <key>_coordinate</key> - <value>(136, 85)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>polys</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>[79, 109]</value> - </param> - <param> - <key>_coordinate</key> - <value>(248, 86)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>rate</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>2</value> - </param> - <param> - <key>_coordinate</key> - <value>(288, 12)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>esno</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>1</value> - </param> - <param> - <key>_coordinate</key> - <value>(13, 158)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>ber_generator</key> - <param> - <key>id</key> - <value>ber_generator_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>generic_encoder</key> - <value>enc</value> - </param> - <param> - <key>generic_decoder</key> - <value>dec</value> - </param> - <param> - <key>samp_rate</key> - <value>samp_rate_0</value> - </param> - <param> - <key>esno</key> - <value>esno</value> - </param> - <param> - <key>puncpat</key> - <value>'11'</value> - </param> - <param> - <key>berlimit</key> - <value>-5.0</value> - </param> - <param> - <key>threading</key> - <value>"None"</value> - </param> - <param> - <key>berminerrors</key> - <value>10000</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>(438, 57)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable_cc_encoder_def</key> - <param> - <key>id</key> - <value>enc</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>"ok"</value> - </param> - <param> - <key>ndim</key> - <value>1</value> - </param> - <param> - <key>dim1</key> - <value>1</value> - </param> - <param> - <key>dim2</key> - <value>1</value> - </param> - <param> - <key>framebits</key> - <value>framebits</value> - </param> - <param> - <key>k</key> - <value>k</value> - </param> - <param> - <key>rate</key> - <value>rate</value> - </param> - <param> - <key>polys</key> - <value>polys</value> - </param> - <param> - <key>state_start</key> - <value>0</value> - </param> - <param> - <key>state_end</key> - <value>-1</value> - </param> - <param> - <key>strb</key> - <value>"streaming"</value> - </param> - <param> - <key>_coordinate</key> - <value>(438, 274)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable_cc_decoder_def</key> - <param> - <key>id</key> - <value>dec</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>"ok"</value> - </param> - <param> - <key>ndim</key> - <value>1</value> - </param> - <param> - <key>dim1</key> - <value>1</value> - </param> - <param> - <key>dim2</key> - <value>1</value> - </param> - <param> - <key>framebits</key> - <value>framebits</value> - </param> - <param> - <key>k</key> - <value>k</value> - </param> - <param> - <key>rate</key> - <value>rate</value> - </param> - <param> - <key>polys</key> - <value>polys</value> - </param> - <param> - <key>state_start</key> - <value>0</value> - </param> - <param> - <key>state_end</key> - <value>-1</value> - </param> - <param> - <key>strb</key> - <value>"streaming"</value> - </param> - <param> - <key>_coordinate</key> - <value>(675, 274)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>qtgui_time_sink_x</key> - <param> - <key>id</key> - <value>qtgui_time_sink_x_0</value> - </param> - <param> - <key>_enabled</key> - <value>False</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>name</key> - <value>QT GUI Plot</value> - </param> - <param> - <key>size</key> - <value>1024</value> - </param> - <param> - <key>srate</key> - <value>samp_rate_0</value> - </param> - <param> - <key>autoscale</key> - <value>False</value> - </param> - <param> - <key>ymin</key> - <value>-1.25</value> - </param> - <param> - <key>ymax</key> - <value>1.25</value> - </param> - <param> - <key>nconnections</key> - <value>1</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>3</value> - </param> - <param> - <key>marker1</key> - <value>0</value> - </param> - <param> - <key>alpha1</key> - <value>0.5</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>(710, 123)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>qtgui_number_sink</key> - <param> - <key>id</key> - <value>qtgui_number_sink_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>autoscale</key> - <value>True</value> - </param> - <param> - <key>avg</key> - <value>0</value> - </param> - <param> - <key>graph_type</key> - <value>qtgui.NUM_GRAPH_HORIZ</value> - </param> - <param> - <key>nconnections</key> - <value>1</value> - </param> - <param> - <key>min</key> - <value>-10</value> - </param> - <param> - <key>max</key> - <value>10</value> - </param> - <param> - <key>update_time</key> - <value>0.10</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>label1</key> - <value>BER</value> - </param> - <param> - <key>color1</key> - <value>("blue", "red")</value> - </param> - <param> - <key>label2</key> - <value></value> - </param> - <param> - <key>color2</key> - <value>("black", "black")</value> - </param> - <param> - <key>label3</key> - <value></value> - </param> - <param> - <key>color3</key> - <value>("black", "black")</value> - </param> - <param> - <key>label4</key> - <value></value> - </param> - <param> - <key>color4</key> - <value>("black", "black")</value> - </param> - <param> - <key>label5</key> - <value></value> - </param> - <param> - <key>color5</key> - <value>("black", "black")</value> - </param> - <param> - <key>label6</key> - <value></value> - </param> - <param> - <key>color6</key> - <value>("black", "black")</value> - </param> - <param> - <key>label7</key> - <value></value> - </param> - <param> - <key>color7</key> - <value>("black", "black")</value> - </param> - <param> - <key>label8</key> - <value></value> - </param> - <param> - <key>color8</key> - <value>("black", "black")</value> - </param> - <param> - <key>label9</key> - <value></value> - </param> - <param> - <key>color9</key> - <value>("black", "black")</value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(708, 27)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <connection> - <source_block_id>ber_generator_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> - <source_key>1</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>ber_generator_0</source_block_id> - <sink_block_id>qtgui_number_sink_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> -</flow_graph> diff --git a/gr-fec/examples/cc_bercurve.grc b/gr-fec/examples/cc_bercurve.grc deleted file mode 100644 index f991b2020f..0000000000 --- a/gr-fec/examples/cc_bercurve.grc +++ /dev/null @@ -1,718 +0,0 @@ -<?xml version='1.0' encoding='ASCII'?> -<flow_graph> - <timestamp>Tue Mar 25 15:21:46 2014</timestamp> - <block> - <key>options</key> - <param> - <key>id</key> - <value>cc_bercurve</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>title</key> - <value></value> - </param> - <param> - <key>author</key> - <value></value> - </param> - <param> - <key>description</key> - <value></value> - </param> - <param> - <key>window_size</key> - <value>1280, 1024</value> - </param> - <param> - <key>generate_options</key> - <value>qt_gui</value> - </param> - <param> - <key>category</key> - <value>Custom</value> - </param> - <param> - <key>run_options</key> - <value>prompt</value> - </param> - <param> - <key>run</key> - <value>True</value> - </param> - <param> - <key>max_nouts</key> - <value>0</value> - </param> - <param> - <key>realtime_scheduling</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(10, 10)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>esno_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>numpy.arange(0, 4, .5) </value> - </param> - <param> - <key>_coordinate</key> - <value>(14, 232)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>polys</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>[79, 109]</value> - </param> - <param> - <key>_coordinate</key> - <value>(248, 86)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>framebits</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>4096</value> - </param> - <param> - <key>_coordinate</key> - <value>(136, 85)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>samp_rate_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>35000000</value> - </param> - <param> - <key>_coordinate</key> - <value>(12, 85)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>rate</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>2</value> - </param> - <param> - <key>_coordinate</key> - <value>(288, 12)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>k</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>7</value> - </param> - <param> - <key>_coordinate</key> - <value>(205, 11)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable</key> - <param> - <key>id</key> - <value>esno_0</value> - </param> - <param> - <key>_enabled</key> - <value>False</value> - </param> - <param> - <key>value</key> - <value>numpy.arange(0, 8, .5) </value> - </param> - <param> - <key>_coordinate</key> - <value>(13, 158)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable_cc_decoder_def</key> - <param> - <key>id</key> - <value>dec</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>"ok"</value> - </param> - <param> - <key>ndim</key> - <value>2</value> - </param> - <param> - <key>dim1</key> - <value>len(esno_0)</value> - </param> - <param> - <key>dim2</key> - <value>1</value> - </param> - <param> - <key>framebits</key> - <value>framebits</value> - </param> - <param> - <key>k</key> - <value>k</value> - </param> - <param> - <key>rate</key> - <value>rate</value> - </param> - <param> - <key>polys</key> - <value>polys</value> - </param> - <param> - <key>state_start</key> - <value>0</value> - </param> - <param> - <key>state_end</key> - <value>-1</value> - </param> - <param> - <key>strb</key> - <value>"streaming"</value> - </param> - <param> - <key>_coordinate</key> - <value>(246, 431)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>variable_cc_encoder_def</key> - <param> - <key>id</key> - <value>enc</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>value</key> - <value>"ok"</value> - </param> - <param> - <key>ndim</key> - <value>2</value> - </param> - <param> - <key>dim1</key> - <value>len(esno_0)</value> - </param> - <param> - <key>dim2</key> - <value>1</value> - </param> - <param> - <key>framebits</key> - <value>framebits</value> - </param> - <param> - <key>k</key> - <value>k</value> - </param> - <param> - <key>rate</key> - <value>rate</value> - </param> - <param> - <key>polys</key> - <value>polys</value> - </param> - <param> - <key>state_start</key> - <value>0</value> - </param> - <param> - <key>state_end</key> - <value>-1</value> - </param> - <param> - <key>strb</key> - <value>"streaming"</value> - </param> - <param> - <key>_coordinate</key> - <value>(9, 431)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </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>fec_bercurve_generator</key> - <param> - <key>id</key> - <value>fec_bercurve_generator_0_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>None</value> - </param> - <param> - <key>decoder_list</key> - <value>None</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>(383, 130)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <bus_source>1</bus_source> - </block> - <block> - <key>qtgui_bercurve_sink</key> - <param> - <key>id</key> - <value>qtgui_bercurve_sink_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>esno</key> - <value>esno_0</value> - </param> - <param> - <key>berminerrors</key> - <value>100</value> - </param> - <param> - <key>berlimit</key> - <value>-7.0</value> - </param> - <param> - <key>num_curves</key> - <value>2</value> - </param> - <param> - <key>curvenames</key> - <value>[]</value> - </param> - <param> - <key>ymin</key> - <value>-10</value> - </param> - <param> - <key>ymax</key> - <value>0</value> - </param> - <param> - <key>update_time</key> - <value>0.10</value> - </param> - <param> - <key>gui_hint</key> - <value></value> - </param> - <param> - <key>affinity</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(774, 26)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - <bus_sink>1</bus_sink> - </block> - <connection> - <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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>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>23</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>8</source_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/examples/ber_generator.grc b/gr-fec/examples/fecapi_cc_decoders.grc index 2e233a3d0e..26f5b03a91 100644 --- a/gr-fec/examples/ber_generator.grc +++ b/gr-fec/examples/fecapi_cc_decoders.grc @@ -1,11 +1,11 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Tue Mar 25 12:37:24 2014</timestamp> + <timestamp>Mon May 12 22:11:14 2014</timestamp> <block> <key>options</key> <param> <key>id</key> - <value>ber_generator</value> + <value>fecapi_cc_decoders</value> </param> <param> <key>_enabled</key> @@ -13,7 +13,7 @@ </param> <param> <key>title</key> - <value>BER Generator</value> + <value></value> </param> <param> <key>author</key> @@ -25,15 +25,15 @@ </param> <param> <key>window_size</key> - <value>2000, 1024</value> + <value>3000,2000</value> </param> <param> <key>generate_options</key> - <value>hb</value> + <value>qt_gui</value> </param> <param> <key>category</key> - <value>Error Coding</value> + <value>Custom</value> </param> <param> <key>run_options</key> @@ -52,6 +52,10 @@ <value></value> </param> <param> + <key>alias</key> + <value></value> + </param> + <param> <key>_coordinate</key> <value>(10, 10)</value> </param> @@ -64,7 +68,7 @@ <key>variable</key> <param> <key>id</key> - <value>noise</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> @@ -72,11 +76,15 @@ </param> <param> <key>value</key> - <value>numpy.sqrt((10.0**(-esno/10.0))/2.0)</value> + <value>50000</value> + </param> + <param> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(673, 509)</value> + <value>(9, 95)</value> </param> <param> <key>_rotation</key> @@ -84,46 +92,53 @@ </param> </block> <block> - <key>blocks_unpacked_to_packed_xx</key> + <key>variable</key> <param> <key>id</key> - <value>blocks_unpacked_to_packed_xx_0</value> + <value>polys</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>value</key> + <value>[79, 109]</value> </param> <param> - <key>bits_per_chunk</key> - <value>1</value> + <key>alias</key> + <value></value> </param> <param> - <key>endianness</key> - <value>gr.GR_LSB_FIRST</value> + <key>_coordinate</key> + <value>(363, 697)</value> </param> <param> - <key>num_ports</key> - <value>1</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>variable</key> <param> - <key>affinity</key> - <value></value> + <key>id</key> + <value>k</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>value</key> + <value>7</value> + </param> + <param> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(575, 331)</value> + <value>(304, 615)</value> </param> <param> <key>_rotation</key> @@ -131,46 +146,53 @@ </param> </block> <block> - <key>blocks_unpacked_to_packed_xx</key> + <key>variable</key> <param> <key>id</key> - <value>blocks_unpacked_to_packed_xx_0_0</value> + <value>polys</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>value</key> + <value>[109, 79]</value> </param> <param> - <key>bits_per_chunk</key> - <value>1</value> + <key>alias</key> + <value></value> </param> <param> - <key>endianness</key> - <value>gr.GR_LSB_FIRST</value> + <key>_coordinate</key> + <value>(221, 700)</value> </param> <param> - <key>num_ports</key> - <value>1</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>variable</key> <param> - <key>affinity</key> - <value></value> + <key>id</key> + <value>rate</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>value</key> + <value>2</value> + </param> + <param> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(575, 258)</value> + <value>(405, 612)</value> </param> <param> <key>_rotation</key> @@ -178,10 +200,10 @@ </param> </block> <block> - <key>pad_sink</key> + <key>parameter</key> <param> <key>id</key> - <value>pad_sink_0_1</value> + <value>puncpat</value> </param> <param> <key>_enabled</key> @@ -189,27 +211,27 @@ </param> <param> <key>label</key> - <value>out</value> + <value></value> </param> <param> - <key>type</key> - <value>float</value> + <key>value</key> + <value>'11'</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>type</key> + <value>string</value> </param> <param> - <key>num_streams</key> - <value>1</value> + <key>short_id</key> + <value></value> </param> <param> - <key>optional</key> - <value>False</value> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(1087, 322)</value> + <value>(420, 9)</value> </param> <param> <key>_rotation</key> @@ -217,26 +239,34 @@ </param> </block> <block> - <key>fec_extended_encoder</key> + <key>blocks_throttle</key> <param> <key>id</key> - <value>fec_extended_encoder_0</value> + <value>blocks_throttle_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>encoder_list</key> - <value>generic_encoder</value> + <key>type</key> + <value>byte</value> </param> <param> - <key>threadtype</key> - <value>capillary</value> + <key>samples_per_second</key> + <value>samp_rate</value> </param> <param> - <key>puncpat</key> - <value>puncpat</value> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>ignoretag</key> + <value>True</value> + </param> + <param> + <key>alias</key> + <value></value> </param> <param> <key>affinity</key> @@ -252,7 +282,7 @@ </param> <param> <key>_coordinate</key> - <value>(588, 16)</value> + <value>(102, 328)</value> </param> <param> <key>_rotation</key> @@ -260,80 +290,120 @@ </param> </block> <block> - <key>parameter</key> + <key>analog_random_source_x</key> <param> <key>id</key> - <value>generic_encoder</value> + <value>analog_random_source_x_0</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> - <key>label</key> - <value></value> + <key>type</key> + <value>byte</value> </param> <param> - <key>value</key> + <key>min</key> <value>0</value> </param> <param> - <key>type</key> + <key>max</key> + <value>256</value> + </param> + <param> + <key>num_samps</key> + <value>1000</value> + </param> + <param> + <key>repeat</key> + <value>True</value> + </param> + <param> + <key>alias</key> <value></value> </param> <param> - <key>short_id</key> + <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>(365, 542)</value> + <value>(57, 525)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>parameter</key> + <key>blocks_vector_source_x</key> <param> <key>id</key> - <value>generic_decoder</value> + <value>blocks_vector_source_x_0_1_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value></value> + <key>type</key> + <value>byte</value> </param> <param> - <key>value</key> - <value>0</value> + <key>vector</key> + <value>(frame_size/15)*[1, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value> </param> <param> - <key>type</key> + <key>tags</key> + <value>[]</value> + </param> + <param> + <key>repeat</key> + <value>True</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>alias</key> <value></value> </param> <param> - <key>short_id</key> + <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>(364, 612)</value> + <value>(59, 200)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> <key>parameter</key> <param> <key>id</key> - <value>samp_rate</value> + <value>frame_size</value> </param> <param> <key>_enabled</key> @@ -341,11 +411,11 @@ </param> <param> <key>label</key> - <value></value> + <value>Frame Size</value> </param> <param> <key>value</key> - <value>32000</value> + <value>60</value> </param> <param> <key>type</key> @@ -356,8 +426,12 @@ <value></value> </param> <param> + <key>alias</key> + <value></value> + </param> + <param> <key>_coordinate</key> - <value>(122, 503)</value> + <value>(249, 7)</value> </param> <param> <key>_rotation</key> @@ -365,34 +439,50 @@ </param> </block> <block> - <key>parameter</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>esno</value> + <value>fec_extended_encoder_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>EsNo</value> + <key>encoder_list</key> + <value>enc_cc</value> </param> <param> - <key>value</key> - <value>0</value> + <key>threadtype</key> + <value>ordinary</value> </param> <param> - <key>type</key> - <value>eng_float</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>short_id</key> + <key>lentagname</key> + <value>None</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>(22, 484)</value> + <value>(425, 399)</value> </param> <param> <key>_rotation</key> @@ -400,34 +490,58 @@ </param> </block> <block> - <key>parameter</key> + <key>fec_extended_decoder</key> <param> <key>id</key> - <value>puncpat</value> + <value>fec_extended_decoder_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value></value> + <key>value</key> + <value>fec_extended_decoder</value> </param> <param> - <key>value</key> - <value>'11'</value> + <key>decoder_list</key> + <value>dec_cc</value> </param> <param> - <key>type</key> - <value>string</value> + <key>threadtype</key> + <value>capillary</value> </param> <param> - <key>short_id</key> + <key>ann</key> + <value>None</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>None</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>(232, 503)</value> + <value>(1153, 391)</value> </param> <param> <key>_rotation</key> @@ -435,34 +549,42 @@ </param> </block> <block> - <key>parameter</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>berlimit</value> + <value>blocks_char_to_float_1</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value></value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>value</key> - <value>-5.0</value> + <key>scale</key> + <value>1</value> </param> <param> - <key>type</key> - <value>eng_float</value> + <key>alias</key> + <value></value> </param> <param> - <key>short_id</key> + <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>(146, 593)</value> + <value>(923, 430)</value> </param> <param> <key>_rotation</key> @@ -470,34 +592,38 @@ </param> </block> <block> - <key>parameter</key> + <key>digital_map_bb</key> <param> <key>id</key> - <value>threading</value> + <value>digital_map_bb_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> + <key>map</key> + <value>[-1, 1]</value> + </param> + <param> + <key>alias</key> <value></value> </param> <param> - <key>value</key> - <value>capillary</value> + <key>affinity</key> + <value></value> </param> <param> - <key>type</key> - <value>string</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>short_id</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(246, 593)</value> + <value>(740, 429)</value> </param> <param> <key>_rotation</key> @@ -505,34 +631,42 @@ </param> </block> <block> - <key>parameter</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>berminerrors</value> + <value>blocks_char_to_float_1_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value></value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>value</key> - <value>100</value> + <key>scale</key> + <value>1</value> </param> <param> - <key>type</key> - <value>intx</value> + <key>alias</key> + <value></value> </param> <param> - <key>short_id</key> + <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>(21, 593)</value> + <value>(1462, 432)</value> </param> <param> <key>_rotation</key> @@ -540,253 +674,361 @@ </param> </block> <block> - <key>fec_puncture_ff</key> + <key>blocks_ctrlport_monitor_performance</key> <param> <key>id</key> - <value>fec_puncture_ff_0</value> + <value>blocks_ctrlport_monitor_performance_0</value> </param> <param> <key>_enabled</key> + <value>False</value> + </param> + <param> + <key>en</key> <value>True</value> </param> <param> - <key>delay</key> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(552, 13)</value> + </param> + <param> + <key>_rotation</key> <value>0</value> </param> + </block> + <block> + <key>qtgui_time_sink_x</key> <param> - <key>puncpat</key> - <value>fec.read_bitlist(puncpat)</value> + <key>id</key> + <value>qtgui_time_sink_x_0_0</value> </param> <param> - <key>puncholes</key> - <value>puncpat.count('0')</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>puncsize</key> - <value>len(puncpat)</value> + <key>type</key> + <value>float</value> </param> <param> - <key>affinity</key> + <key>name</key> + <value>QT GUI Plot</value> + </param> + <param> + <key>size</key> + <value>2048</value> + </param> + <param> + <key>srate</key> + <value>samp_rate</value> + </param> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>ymin</key> + <value>-0.5</value> + </param> + <param> + <key>ymax</key> + <value>1.5</value> + </param> + <param> + <key>nconnections</key> + <value>2</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>minoutbuf</key> + <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>maxoutbuf</key> + <key>tr_chan</key> <value>0</value> </param> <param> - <key>_coordinate</key> - <value>(882, 7)</value> + <key>tr_tag</key> + <value>""</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>label1</key> + <value>Dummy Code</value> </param> - </block> - <block> - <key>fec_extended_decoder</key> <param> - <key>id</key> - <value>fec_extended_decoder_0</value> + <key>width1</key> + <value>1</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>color1</key> + <value>"blue"</value> </param> <param> - <key>value</key> - <value>fec_extended_decoder</value> + <key>style1</key> + <value>1</value> </param> <param> - <key>decoder_list</key> - <value>generic_decoder</value> + <key>marker1</key> + <value>-1</value> </param> <param> - <key>threadtype</key> - <value>none</value> + <key>alpha1</key> + <value>1.0</value> </param> <param> - <key>ann</key> - <value>None</value> + <key>label2</key> + <value>CCSDS</value> </param> <param> - <key>puncpat</key> - <value>puncpat</value> + <key>width2</key> + <value>1</value> </param> <param> - <key>affinity</key> + <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>0.6</value> + </param> + <param> + <key>label3</key> <value></value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>width3</key> + <value>1</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>color3</key> + <value>"green"</value> </param> <param> - <key>_coordinate</key> - <value>(589, 115)</value> + <key>style3</key> + <value>1</value> </param> <param> - <key>_rotation</key> - <value>180</value> + <key>marker3</key> + <value>-1</value> </param> - </block> - <block> - <key>blocks_add_xx</key> <param> - <key>id</key> - <value>blocks_add_xx_0</value> + <key>alpha3</key> + <value>1.0</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>label4</key> + <value></value> </param> <param> - <key>type</key> - <value>float</value> + <key>width4</key> + <value>1</value> </param> <param> - <key>num_inputs</key> - <value>2</value> + <key>color4</key> + <value>"black"</value> </param> <param> - <key>vlen</key> + <key>style4</key> <value>1</value> </param> <param> - <key>affinity</key> + <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>minoutbuf</key> - <value>0</value> + <key>width5</key> + <value>1</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>color5</key> + <value>"cyan"</value> </param> <param> - <key>_coordinate</key> - <value>(938, 130)</value> + <key>style5</key> + <value>1</value> </param> <param> - <key>_rotation</key> - <value>180</value> + <key>marker5</key> + <value>-1</value> </param> - </block> - <block> - <key>blocks_head</key> <param> - <key>id</key> - <value>blocks_head_0</value> + <key>alpha5</key> + <value>1.0</value> </param> <param> - <key>_enabled</key> - <value>False</value> + <key>label6</key> + <value></value> </param> <param> - <key>type</key> - <value>byte</value> + <key>width6</key> + <value>1</value> </param> <param> - <key>num_items</key> - <value>14000</value> + <key>color6</key> + <value>"magenta"</value> </param> <param> - <key>vlen</key> + <key>style6</key> <value>1</value> </param> <param> - <key>affinity</key> + <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>minoutbuf</key> - <value>0</value> + <key>width7</key> + <value>1</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>color7</key> + <value>"yellow"</value> </param> <param> - <key>_coordinate</key> - <value>(242, 151)</value> + <key>style7</key> + <value>1</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>marker7</key> + <value>-1</value> </param> - </block> - <block> - <key>blocks_throttle</key> <param> - <key>id</key> - <value>blocks_throttle_0</value> + <key>alpha7</key> + <value>1.0</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>label8</key> + <value></value> </param> <param> - <key>type</key> - <value>byte</value> + <key>width8</key> + <value>1</value> </param> <param> - <key>samples_per_second</key> - <value>samp_rate</value> + <key>color8</key> + <value>"dark red"</value> </param> <param> - <key>vlen</key> + <key>style8</key> <value>1</value> </param> <param> - <key>ignoretag</key> - <value>True</value> + <key>marker8</key> + <value>-1</value> </param> <param> - <key>affinity</key> + <key>alpha8</key> + <value>1.0</value> + </param> + <param> + <key>label9</key> <value></value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>width9</key> + <value>1</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>color9</key> + <value>"dark green"</value> </param> <param> - <key>_coordinate</key> - <value>(132, 331)</value> + <key>style9</key> + <value>1</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>marker9</key> + <value>-1</value> </param> - </block> - <block> - <key>import</key> <param> - <key>id</key> - <value>import_numpy</value> + <key>alpha9</key> + <value>1.0</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>label10</key> + <value></value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>color10</key> + <value>"blue"</value> + </param> + <param> + <key>style10</key> + <value>1</value> + </param> + <param> + <key>marker10</key> + <value>-1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>alias</key> + <value></value> </param> <param> - <key>import</key> - <value>import numpy</value> + <key>affinity</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(228, 16)</value> + <value>(1763, 317)</value> </param> <param> <key>_rotation</key> @@ -794,101 +1036,129 @@ </param> </block> <block> - <key>analog_fastnoise_source_x</key> + <key>variable_cc_encoder_def</key> <param> <key>id</key> - <value>analog_fastnoise_source_x_0</value> + <value>enc_cc</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>float</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>noise_type</key> - <value>analog.GR_GAUSSIAN</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>amp</key> - <value>noise</value> + <key>dim1</key> + <value>4</value> </param> <param> - <key>seed</key> - <value>0</value> + <key>dim2</key> + <value>1</value> </param> <param> - <key>samples</key> - <value>8192</value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>affinity</key> - <value></value> + <key>k</key> + <value>k</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>rate</key> + <value>rate</value> </param> <param> - <key>maxoutbuf</key> + <key>polys</key> + <value>polys</value> + </param> + <param> + <key>state_start</key> <value>0</value> </param> <param> + <key>mode</key> + <value>fec.CC_TERMINATED</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> <key>_coordinate</key> - <value>(1100, 133)</value> + <value>(501, 616)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <block> - <key>analog_random_source_x</key> + <key>variable_cc_decoder_def</key> <param> <key>id</key> - <value>analog_random_source_x_0</value> + <value>dec_cc</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>min</key> - <value>0</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>max</key> - <value>256</value> + <key>dim1</key> + <value>4</value> </param> <param> - <key>num_samps</key> - <value>1000</value> + <key>dim2</key> + <value>4</value> </param> <param> - <key>repeat</key> - <value>True</value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>affinity</key> - <value></value> + <key>k</key> + <value>k</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>rate</key> + <value>rate</value> </param> <param> - <key>maxoutbuf</key> + <key>polys</key> + <value>polys</value> + </param> + <param> + <key>state_start</key> <value>0</value> </param> <param> + <key>state_end</key> + <value>-1</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_TERMINATED</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> <key>_coordinate</key> - <value>(22, 124)</value> + <value>(797, 614)</value> </param> <param> <key>_rotation</key> @@ -896,22 +1166,22 @@ </param> </block> <block> - <key>fec_ber_bf</key> + <key>blocks_unpack_k_bits_bb</key> <param> <key>id</key> - <value>fec_ber_bf_0</value> + <value>blocks_unpack_k_bits_bb_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>berminerrors</key> - <value>berminerrors</value> + <key>k</key> + <value>8</value> </param> <param> - <key>berlimit</key> - <value>-7.0</value> + <key>alias</key> + <value></value> </param> <param> <key>affinity</key> @@ -927,7 +1197,7 @@ </param> <param> <key>_coordinate</key> - <value>(851, 310)</value> + <value>(105, 430)</value> </param> <param> <key>_rotation</key> @@ -935,38 +1205,42 @@ </param> </block> <block> - <key>pad_sink</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>pad_sink_1</value> + <value>blocks_char_to_float_0_1</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>enc</value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>type</key> - <value>float</value> + <key>scale</key> + <value>1</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>alias</key> + <value></value> </param> <param> - <key>num_streams</key> - <value>1</value> + <key>affinity</key> + <value></value> </param> <param> - <key>optional</key> - <value>True</value> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(923, 219)</value> + <value>(450, 299)</value> </param> <param> <key>_rotation</key> @@ -974,86 +1248,68 @@ </param> </block> <connection> - <source_block_id>fec_extended_decoder_0</source_block_id> - <sink_block_id>blocks_unpacked_to_packed_xx_0_0</sink_block_id> + <source_block_id>blocks_vector_source_x_0_1_0</source_block_id> + <sink_block_id>blocks_throttle_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_unpacked_to_packed_xx_0</source_block_id> - <sink_block_id>fec_ber_bf_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>blocks_unpacked_to_packed_xx_0_0</source_block_id> - <sink_block_id>fec_ber_bf_0</sink_block_id> + <source_block_id>analog_random_source_x_0</source_block_id> + <sink_block_id>blocks_throttle_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>fec_ber_bf_0</source_block_id> - <sink_block_id>pad_sink_0_1</sink_block_id> + <source_block_id>blocks_throttle_0</source_block_id> + <sink_block_id>blocks_unpack_k_bits_bb_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>fec_extended_encoder_0</source_block_id> - <sink_block_id>fec_puncture_ff_0</sink_block_id> + <source_block_id>blocks_char_to_float_1_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id> <source_key>0</source_key> - <sink_key>0</sink_key> + <sink_key>1</sink_key> </connection> <connection> - <source_block_id>blocks_throttle_0</source_block_id> + <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> <sink_block_id>fec_extended_encoder_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_throttle_0</source_block_id> - <sink_block_id>blocks_unpacked_to_packed_xx_0</sink_block_id> + <source_block_id>blocks_char_to_float_0_1</source_block_id> + <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>analog_random_source_x_0</source_block_id> - <sink_block_id>blocks_head_0</sink_block_id> + <source_block_id>fec_extended_decoder_0_0</source_block_id> + <sink_block_id>blocks_char_to_float_1_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_head_0</source_block_id> - <sink_block_id>blocks_throttle_0</sink_block_id> + <source_block_id>blocks_char_to_float_1</source_block_id> + <sink_block_id>fec_extended_decoder_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>analog_random_source_x_0</source_block_id> - <sink_block_id>blocks_throttle_0</sink_block_id> + <source_block_id>digital_map_bb_0</source_block_id> + <sink_block_id>blocks_char_to_float_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>fec_puncture_ff_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> - <source_block_id>analog_fastnoise_source_x_0</source_block_id> - <sink_block_id>blocks_add_xx_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</sink_key> - </connection> - <connection> - <source_block_id>blocks_add_xx_0</source_block_id> - <sink_block_id>fec_extended_decoder_0</sink_block_id> + <source_block_id>fec_extended_encoder_0</source_block_id> + <sink_block_id>digital_map_bb_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_add_xx_0</source_block_id> - <sink_block_id>pad_sink_1</sink_block_id> + <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> + <sink_block_id>blocks_char_to_float_0_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> diff --git a/gr-fec/examples/fecapi_decoders.grc b/gr-fec/examples/fecapi_decoders.grc index 1782b0f4e2..5cb00ddf47 100644 --- a/gr-fec/examples/fecapi_decoders.grc +++ b/gr-fec/examples/fecapi_decoders.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Wed May 7 19:28:14 2014</timestamp> + <timestamp>Mon May 12 22:15:20 2014</timestamp> <block> <key>options</key> <param> @@ -68,7 +68,7 @@ <key>variable</key> <param> <key>id</key> - <value>samp_rate</value> + <value>rate</value> </param> <param> <key>_enabled</key> @@ -76,7 +76,7 @@ </param> <param> <key>value</key> - <value>50000</value> + <value>2</value> </param> <param> <key>alias</key> @@ -84,7 +84,7 @@ </param> <param> <key>_coordinate</key> - <value>(9, 95)</value> + <value>(276, 837)</value> </param> <param> <key>_rotation</key> @@ -95,15 +95,15 @@ <key>variable</key> <param> <key>id</key> - <value>rate</value> + <value>polys</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> <key>value</key> - <value>2</value> + <value>[79, 109]</value> </param> <param> <key>alias</key> @@ -111,7 +111,7 @@ </param> <param> <key>_coordinate</key> - <value>(347, 716)</value> + <value>(234, 922)</value> </param> <param> <key>_rotation</key> @@ -122,7 +122,7 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>k</value> </param> <param> <key>_enabled</key> @@ -130,7 +130,7 @@ </param> <param> <key>value</key> - <value>[109, 79]</value> + <value>7</value> </param> <param> <key>alias</key> @@ -138,7 +138,7 @@ </param> <param> <key>_coordinate</key> - <value>(163, 804)</value> + <value>(175, 840)</value> </param> <param> <key>_rotation</key> @@ -149,7 +149,7 @@ <key>variable</key> <param> <key>id</key> - <value>k</value> + <value>polys</value> </param> <param> <key>_enabled</key> @@ -157,7 +157,7 @@ </param> <param> <key>value</key> - <value>7</value> + <value>[109, 79]</value> </param> <param> <key>alias</key> @@ -165,7 +165,7 @@ </param> <param> <key>_coordinate</key> - <value>(246, 719)</value> + <value>(92, 925)</value> </param> <param> <key>_rotation</key> @@ -176,15 +176,15 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> <key>value</key> - <value>[79, 109]</value> + <value>50000</value> </param> <param> <key>alias</key> @@ -192,7 +192,7 @@ </param> <param> <key>_coordinate</key> - <value>(305, 801)</value> + <value>(9, 95)</value> </param> <param> <key>_rotation</key> @@ -239,57 +239,6 @@ </param> </block> <block> - <key>fec_extended_encoder</key> - <param> - <key>id</key> - <value>fec_extended_encoder_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>encoder_list</key> - <value>enc_cc</value> - </param> - <param> - <key>threadtype</key> - <value>capillary</value> - </param> - <param> - <key>puncpat</key> - <value>puncpat</value> - </param> - <param> - <key>lentagname</key> - <value>None</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>(440, 498)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> <key>blocks_throttle</key> <param> <key>id</key> @@ -396,18 +345,49 @@ </param> </block> <block> - <key>digital_map_bb</key> + <key>blocks_ctrlport_monitor_performance</key> <param> <key>id</key> - <value>digital_map_bb_0</value> + <value>blocks_ctrlport_monitor_performance_0</value> + </param> + <param> + <key>_enabled</key> + <value>False</value> + </param> + <param> + <key>en</key> + <value>True</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(557, 17)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_char_to_float</key> + <param> + <key>id</key> + <value>blocks_char_to_float_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>map</key> - <value>[-1, 1]</value> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>scale</key> + <value>1</value> </param> <param> <key>alias</key> @@ -427,7 +407,7 @@ </param> <param> <key>_coordinate</key> - <value>(755, 528)</value> + <value>(942, 584)</value> </param> <param> <key>_rotation</key> @@ -466,7 +446,7 @@ </param> <param> <key>_coordinate</key> - <value>(747, 349)</value> + <value>(749, 583)</value> </param> <param> <key>_rotation</key> @@ -474,22 +454,18 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>digital_map_bb</key> <param> <key>id</key> - <value>blocks_char_to_float_0</value> + <value>digital_map_bb_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> + <key>map</key> + <value>[-1, 1]</value> </param> <param> <key>alias</key> @@ -509,7 +485,7 @@ </param> <param> <key>_coordinate</key> - <value>(940, 350)</value> + <value>(755, 730)</value> </param> <param> <key>_rotation</key> @@ -552,7 +528,7 @@ </param> <param> <key>_coordinate</key> - <value>(938, 529)</value> + <value>(938, 731)</value> </param> <param> <key>_rotation</key> @@ -560,10 +536,10 @@ </param> </block> <block> - <key>fec_extended_decoder</key> + <key>variable_repetition_encoder_def</key> <param> <key>id</key> - <value>fec_extended_decoder_0</value> + <value>enc_rep</value> </param> <param> <key>_enabled</key> @@ -571,47 +547,35 @@ </param> <param> <key>value</key> - <value>fec_extended_decoder</value> + <value>"ok"</value> </param> <param> - <key>decoder_list</key> - <value>dec_ccsds</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>threadtype</key> - <value>none</value> + <key>dim1</key> + <value>4</value> </param> <param> - <key>ann</key> - <value>None</value> + <key>dim2</key> + <value>1</value> </param> <param> - <key>puncpat</key> - <value>puncpat</value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>lentagname</key> - <value>None</value> + <key>rep</key> + <value>3</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>(1188, 308)</value> + <value>(1213, 880)</value> </param> <param> <key>_rotation</key> @@ -619,10 +583,10 @@ </param> </block> <block> - <key>fec_extended_decoder</key> + <key>variable_repetition_decoder_def</key> <param> <key>id</key> - <value>fec_extended_decoder_0_0</value> + <value>dec_rep</value> </param> <param> <key>_enabled</key> @@ -630,47 +594,39 @@ </param> <param> <key>value</key> - <value>fec_extended_decoder</value> + <value>"ok"</value> </param> <param> - <key>decoder_list</key> - <value>dec_cc</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>threadtype</key> - <value>capillary</value> + <key>dim1</key> + <value>4</value> </param> <param> - <key>ann</key> - <value>None</value> + <key>dim2</key> + <value>1</value> </param> <param> - <key>puncpat</key> - <value>puncpat</value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>lentagname</key> - <value>None</value> + <key>rep</key> + <value>3</value> </param> <param> - <key>alias</key> - <value></value> + <key>prob</key> + <value>0.5</value> </param> <param> - <key>affinity</key> + <key>alias</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>(1192, 488)</value> + <value>(1213, 1022)</value> </param> <param> <key>_rotation</key> @@ -678,42 +634,42 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>variable_dummy_decoder_def</key> <param> <key>id</key> - <value>blocks_char_to_float_1_0</value> + <value>dec_dummy</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>scale</key> + <key>ndim</key> <value>1</value> </param> <param> - <key>alias</key> - <value></value> + <key>dim1</key> + <value>1</value> </param> <param> - <key>affinity</key> - <value></value> + <key>dim2</key> + <value>1</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(1562, 487)</value> + <value>(947, 1007)</value> </param> <param> <key>_rotation</key> @@ -721,50 +677,42 @@ </param> </block> <block> - <key>blocks_delay</key> + <key>variable_dummy_encoder_def</key> <param> <key>id</key> - <value>blocks_delay_0_0</value> + <value>enc_dummy</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>float</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>delay</key> - <value>32</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>num_ports</key> + <key>dim1</key> <value>1</value> </param> <param> - <key>vlen</key> + <key>dim2</key> <value>1</value> </param> <param> - <key>alias</key> - <value></value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>affinity</key> + <key>alias</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>(1634, 592)</value> + <value>(949, 881)</value> </param> <param> <key>_rotation</key> @@ -772,322 +720,281 @@ </param> </block> <block> - <key>qtgui_time_sink_x</key> + <key>variable_cc_decoder_def</key> <param> <key>id</key> - <value>qtgui_time_sink_x_0</value> + <value>dec_cc</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>name</key> - <value>QT GUI Plot</value> - </param> - <param> - <key>size</key> - <value>2048</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>srate</key> - <value>samp_rate</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>autoscale</key> - <value>False</value> + <key>dim1</key> + <value>1</value> </param> <param> - <key>ymin</key> - <value>-0.5</value> + <key>dim2</key> + <value>4</value> </param> <param> - <key>ymax</key> - <value>1.5</value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>nconnections</key> - <value>2</value> + <key>k</key> + <value>k</value> </param> <param> - <key>update_time</key> - <value>0.10</value> + <key>rate</key> + <value>rate</value> </param> <param> - <key>entags</key> - <value>True</value> + <key>polys</key> + <value>polys</value> </param> <param> - <key>gui_hint</key> - <value></value> + <key>state_start</key> + <value>0</value> </param> <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_FREE</value> + <key>state_end</key> + <value>-1</value> </param> <param> - <key>tr_slope</key> - <value>qtgui.TRIG_SLOPE_POS</value> + <key>mode</key> + <value>fec.CC_STREAMING</value> </param> <param> - <key>tr_level</key> - <value>0.0</value> + <key>alias</key> + <value></value> </param> <param> - <key>tr_delay</key> - <value>0</value> + <key>_coordinate</key> + <value>(384, 1069)</value> </param> <param> - <key>tr_chan</key> + <key>_rotation</key> <value>0</value> </param> + </block> + <block> + <key>variable_cc_encoder_def</key> <param> - <key>tr_tag</key> - <value>""</value> - </param> - <param> - <key>label1</key> - <value>CCSDS</value> + <key>id</key> + <value>enc_cc</value> </param> <param> - <key>width1</key> - <value>1</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>color1</key> - <value>"blue"</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>style1</key> + <key>ndim</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>CC</value> - </param> - <param> - <key>width2</key> + <key>dim1</key> <value>1</value> </param> <param> - <key>color2</key> - <value>"red"</value> - </param> - <param> - <key>style2</key> + <key>dim2</key> <value>1</value> </param> <param> - <key>marker2</key> - <value>-1</value> - </param> - <param> - <key>alpha2</key> - <value>0.6</value> - </param> - <param> - <key>label3</key> - <value></value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>width3</key> - <value>1</value> + <key>k</key> + <value>k</value> </param> <param> - <key>color3</key> - <value>"green"</value> + <key>rate</key> + <value>rate</value> </param> <param> - <key>style3</key> - <value>1</value> + <key>polys</key> + <value>polys</value> </param> <param> - <key>marker3</key> - <value>-1</value> + <key>state_start</key> + <value>0</value> </param> <param> - <key>alpha3</key> - <value>1.0</value> + <key>mode</key> + <value>fec.CC_STREAMING</value> </param> <param> - <key>label4</key> + <key>alias</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> + <key>_coordinate</key> + <value>(383, 840)</value> </param> <param> - <key>marker4</key> - <value>-1</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>blocks_char_to_float</key> <param> - <key>alpha4</key> - <value>1.0</value> + <key>id</key> + <value>blocks_char_to_float_0_2_0</value> </param> <param> - <key>label5</key> - <value></value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>width5</key> + <key>vlen</key> <value>1</value> </param> <param> - <key>color5</key> - <value>"cyan"</value> - </param> - <param> - <key>style5</key> + <key>scale</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> + <key>alias</key> <value></value> </param> <param> - <key>width6</key> - <value>1</value> + <key>affinity</key> + <value></value> </param> <param> - <key>color6</key> - <value>"magenta"</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>style6</key> - <value>1</value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> - <key>marker6</key> - <value>-1</value> + <key>_coordinate</key> + <value>(942, 292)</value> </param> <param> - <key>alpha6</key> - <value>1.0</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>digital_map_bb</key> <param> - <key>label7</key> - <value></value> + <key>id</key> + <value>digital_map_bb_0_0_0_0</value> </param> <param> - <key>width7</key> - <value>1</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>color7</key> - <value>"yellow"</value> + <key>map</key> + <value>[-1, 1]</value> </param> <param> - <key>style7</key> - <value>1</value> + <key>alias</key> + <value></value> </param> <param> - <key>marker7</key> - <value>-1</value> + <key>affinity</key> + <value></value> </param> <param> - <key>alpha7</key> - <value>1.0</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>label8</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> - <key>width8</key> - <value>1</value> + <key>_coordinate</key> + <value>(749, 291)</value> </param> <param> - <key>color8</key> - <value>"dark red"</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>blocks_unpack_k_bits_bb</key> <param> - <key>style8</key> - <value>1</value> + <key>id</key> + <value>blocks_unpack_k_bits_bb_0</value> </param> <param> - <key>marker8</key> - <value>-1</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>alpha8</key> - <value>1.0</value> + <key>k</key> + <value>8</value> </param> <param> - <key>label9</key> + <key>alias</key> <value></value> </param> <param> - <key>width9</key> - <value>1</value> + <key>affinity</key> + <value></value> </param> <param> - <key>color9</key> - <value>"dark green"</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>style9</key> - <value>1</value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> - <key>marker9</key> - <value>-1</value> + <key>_coordinate</key> + <value>(119, 432)</value> </param> <param> - <key>alpha9</key> - <value>1.0</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>fec_extended_encoder</key> <param> - <key>label10</key> - <value></value> + <key>id</key> + <value>fec_extended_encoder_1_0_0</value> </param> <param> - <key>width10</key> - <value>1</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>color10</key> - <value>"blue"</value> + <key>encoder_list</key> + <value>enc_dummy</value> </param> <param> - <key>style10</key> - <value>1</value> + <key>threadtype</key> + <value>capillary</value> </param> <param> - <key>marker10</key> - <value>-1</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>alpha10</key> - <value>1.0</value> + <key>lentagname</key> + <value>None</value> </param> <param> <key>alias</key> @@ -1098,8 +1005,16 @@ <value></value> </param> <param> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> <key>_coordinate</key> - <value>(1889, 404)</value> + <value>(440, 260)</value> </param> <param> <key>_rotation</key> @@ -1110,7 +1025,7 @@ <key>fec_extended_encoder</key> <param> <key>id</key> - <value>fec_extended_encoder_1</value> + <value>fec_extended_encoder_1_0</value> </param> <param> <key>_enabled</key> @@ -1118,7 +1033,7 @@ </param> <param> <key>encoder_list</key> - <value>enc_ccsds</value> + <value>enc_rep</value> </param> <param> <key>threadtype</key> @@ -1150,7 +1065,7 @@ </param> <param> <key>_coordinate</key> - <value>(440, 318)</value> + <value>(443, 403)</value> </param> <param> <key>_rotation</key> @@ -1158,22 +1073,18 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>digital_map_bb</key> <param> <key>id</key> - <value>blocks_char_to_float_0_1</value> + <value>digital_map_bb_0_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> + <key>map</key> + <value>[-1, 1]</value> </param> <param> <key>alias</key> @@ -1193,7 +1104,7 @@ </param> <param> <key>_coordinate</key> - <value>(441, 228)</value> + <value>(750, 434)</value> </param> <param> <key>_rotation</key> @@ -1201,29 +1112,21 @@ </param> </block> <block> - <key>blocks_delay</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_delay_0</value> + <value>blocks_char_to_float_0_2</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>float</value> - </param> - <param> - <key>delay</key> - <value>32</value> - </param> - <param> - <key>num_ports</key> + <key>vlen</key> <value>1</value> </param> <param> - <key>vlen</key> + <key>scale</key> <value>1</value> </param> <param> @@ -1244,7 +1147,7 @@ </param> <param> <key>_coordinate</key> - <value>(696, 228)</value> + <value>(943, 435)</value> </param> <param> <key>_rotation</key> @@ -1252,38 +1155,38 @@ </param> </block> <block> - <key>blocks_unpack_k_bits_bb</key> + <key>parameter</key> <param> <key>id</key> - <value>blocks_unpack_k_bits_bb_0</value> + <value>frame_size</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>k</key> - <value>8</value> + <key>label</key> + <value>Frame Size</value> </param> <param> - <key>alias</key> - <value></value> + <key>value</key> + <value>30</value> </param> <param> - <key>affinity</key> - <value></value> + <key>type</key> + <value>intx</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>short_id</key> + <value></value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(105, 430)</value> + <value>(249, 7)</value> </param> <param> <key>_rotation</key> @@ -1291,30 +1194,26 @@ </param> </block> <block> - <key>blocks_vector_source_x</key> + <key>blocks_delay</key> <param> <key>id</key> - <value>blocks_vector_source_x_0_1_0</value> + <value>blocks_delay_0_0</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> <key>type</key> - <value>byte</value> - </param> - <param> - <key>vector</key> - <value>(frame_size/15)*[1, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value> + <value>float</value> </param> <param> - <key>tags</key> - <value>[]</value> + <key>delay</key> + <value>32</value> </param> <param> - <key>repeat</key> - <value>True</value> + <key>num_ports</key> + <value>1</value> </param> <param> <key>vlen</key> @@ -1338,70 +1237,93 @@ </param> <param> <key>_coordinate</key> - <value>(59, 200)</value> + <value>(1698, 899)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <block> - <key>variable_cc_encoder_def</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>enc_cc</value> + <value>blocks_char_to_float_1_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>"ok"</value> - </param> - <param> - <key>ndim</key> + <key>vlen</key> <value>1</value> </param> <param> - <key>dim1</key> + <key>scale</key> <value>1</value> </param> <param> - <key>dim2</key> - <value>1</value> + <key>alias</key> + <value></value> </param> <param> - <key>framebits</key> - <value>frame_size*8</value> + <key>affinity</key> + <value></value> </param> <param> - <key>k</key> - <value>k</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>rate</key> - <value>rate</value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> - <key>polys</key> - <value>polys</value> + <key>_coordinate</key> + <value>(1466, 731)</value> </param> <param> - <key>state_start</key> + <key>_rotation</key> <value>0</value> </param> + </block> + <block> + <key>blocks_char_to_float</key> <param> - <key>mode</key> - <value>fec.CC_STREAMING</value> + <key>id</key> + <value>blocks_char_to_float_0_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>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>(443, 720)</value> + <value>(1466, 435)</value> </param> <param> <key>_rotation</key> @@ -1409,10 +1331,10 @@ </param> </block> <block> - <key>variable_cc_decoder_def</key> + <key>fec_extended_decoder</key> <param> <key>id</key> - <value>dec_cc</value> + <value>fec_extended_decoder_0_1</value> </param> <param> <key>_enabled</key> @@ -1420,55 +1342,47 @@ </param> <param> <key>value</key> - <value>"ok"</value> + <value>fec_extended_decoder</value> </param> <param> - <key>ndim</key> - <value>1</value> + <key>decoder_list</key> + <value>dec_rep</value> </param> <param> - <key>dim1</key> - <value>1</value> + <key>threadtype</key> + <value>none</value> </param> <param> - <key>dim2</key> - <value>4</value> + <key>ann</key> + <value>None</value> </param> <param> - <key>framebits</key> - <value>frame_size*8</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>k</key> - <value>k</value> + <key>lentagname</key> + <value>None</value> </param> <param> - <key>rate</key> - <value>rate</value> + <key>alias</key> + <value></value> </param> <param> - <key>polys</key> - <value>polys</value> + <key>affinity</key> + <value></value> </param> <param> - <key>state_start</key> + <key>minoutbuf</key> <value>0</value> </param> <param> - <key>state_end</key> - <value>-1</value> - </param> - <param> - <key>mode</key> - <value>fec.CC_STREAMING</value> - </param> - <param> - <key>alias</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(739, 718)</value> + <value>(1162, 393)</value> </param> <param> <key>_rotation</key> @@ -1476,50 +1390,42 @@ </param> </block> <block> - <key>variable_ccsds_encoder_def</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>enc_ccsds</value> + <value>blocks_char_to_float_0_0_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>"ok"</value> - </param> - <param> - <key>ndim</key> + <key>vlen</key> <value>1</value> </param> <param> - <key>dim1</key> + <key>scale</key> <value>1</value> </param> <param> - <key>dim2</key> - <value>4</value> + <key>alias</key> + <value></value> </param> <param> - <key>framebits</key> - <value>frame_size*8</value> + <key>affinity</key> + <value></value> </param> <param> - <key>state_start</key> + <key>minoutbuf</key> <value>0</value> </param> <param> - <key>mode</key> - <value>fec.CC_STREAMING</value> - </param> - <param> - <key>alias</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(1161, 742)</value> + <value>(1465, 292)</value> </param> <param> <key>_rotation</key> @@ -1527,54 +1433,42 @@ </param> </block> <block> - <key>variable_ccsds_decoder_def</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>dec_ccsds</value> + <value>blocks_char_to_float_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>"ok"</value> - </param> - <param> - <key>ndim</key> + <key>vlen</key> <value>1</value> </param> <param> - <key>dim1</key> + <key>scale</key> <value>1</value> </param> <param> - <key>dim2</key> - <value>4</value> + <key>alias</key> + <value></value> </param> <param> - <key>framebits</key> - <value>frame_size*8</value> + <key>affinity</key> + <value></value> </param> <param> - <key>state_start</key> + <key>minoutbuf</key> <value>0</value> </param> <param> - <key>end_state</key> - <value>-1</value> - </param> - <param> - <key>mode</key> - <value>fec.CC_STREAMING</value> - </param> - <param> - <key>alias</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(1449, 735)</value> + <value>(1465, 584)</value> </param> <param> <key>_rotation</key> @@ -1582,22 +1476,38 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>fec_extended_decoder</key> <param> <key>id</key> - <value>blocks_char_to_float_0_0</value> + <value>fec_extended_decoder_0_1_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>value</key> + <value>fec_extended_decoder</value> </param> <param> - <key>scale</key> - <value>1</value> + <key>decoder_list</key> + <value>dec_dummy</value> + </param> + <param> + <key>threadtype</key> + <value>none</value> + </param> + <param> + <key>ann</key> + <value>None</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>None</value> </param> <param> <key>alias</key> @@ -1617,7 +1527,7 @@ </param> <param> <key>_coordinate</key> - <value>(1492, 350)</value> + <value>(1161, 250)</value> </param> <param> <key>_rotation</key> @@ -1628,7 +1538,7 @@ <key>qtgui_time_sink_x</key> <param> <key>id</key> - <value>qtgui_time_sink_x_0_0</value> + <value>qtgui_time_sink_x_0</value> </param> <param> <key>_enabled</key> @@ -1664,7 +1574,7 @@ </param> <param> <key>nconnections</key> - <value>2</value> + <value>5</value> </param> <param> <key>update_time</key> @@ -1728,7 +1638,7 @@ </param> <param> <key>label2</key> - <value>CCSDS</value> + <value>Dummy</value> </param> <param> <key>width2</key> @@ -1752,7 +1662,7 @@ </param> <param> <key>label3</key> - <value></value> + <value>Rep. (Rate=3)</value> </param> <param> <key>width3</key> @@ -1776,7 +1686,7 @@ </param> <param> <key>label4</key> - <value></value> + <value>CC (K=7, Rate=2)</value> </param> <param> <key>width4</key> @@ -1800,7 +1710,7 @@ </param> <param> <key>label5</key> - <value></value> + <value>CCSDS</value> </param> <param> <key>width5</key> @@ -1952,7 +1862,7 @@ </param> <param> <key>_coordinate</key> - <value>(1885, 216)</value> + <value>(1845, 201)</value> </param> <param> <key>_rotation</key> @@ -1960,26 +1870,109 @@ </param> </block> <block> - <key>blocks_ctrlport_monitor_performance</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>blocks_ctrlport_monitor_performance_0</value> + <value>fec_extended_encoder_1</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> - <key>en</key> + <key>encoder_list</key> + <value>enc_cc</value> + </param> + <param> + <key>threadtype</key> + <value>capillary</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>None</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>(441, 552)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fec_extended_decoder</key> + <param> + <key>id</key> + <value>fec_extended_decoder_0</value> + </param> + <param> + <key>_enabled</key> <value>True</value> </param> <param> + <key>value</key> + <value>fec_extended_decoder</value> + </param> + <param> + <key>decoder_list</key> + <value>dec_cc</value> + </param> + <param> + <key>threadtype</key> + <value>none</value> + </param> + <param> + <key>ann</key> + <value>None</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>None</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>(557, 17)</value> + <value>(1161, 542)</value> </param> <param> <key>_rotation</key> @@ -1987,44 +1980,370 @@ </param> </block> <block> - <key>parameter</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>frame_size</value> + <value>fec_extended_encoder_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Frame Size</value> + <key>encoder_list</key> + <value>enc_ccsds</value> + </param> + <param> + <key>threadtype</key> + <value>capillary</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>None</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>(440, 700)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fec_extended_decoder</key> + <param> + <key>id</key> + <value>fec_extended_decoder_0_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> </param> <param> <key>value</key> - <value>60</value> + <value>fec_extended_decoder</value> + </param> + <param> + <key>decoder_list</key> + <value>dec_ccsds</value> + </param> + <param> + <key>threadtype</key> + <value>capillary</value> + </param> + <param> + <key>ann</key> + <value>None</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>None</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>(1162, 689)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_char_to_float</key> + <param> + <key>id</key> + <value>blocks_char_to_float_0_1</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>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>(440, 184)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_delay</key> + <param> + <key>id</key> + <value>blocks_delay_0</value> + </param> + <param> + <key>_enabled</key> + <value>False</value> </param> <param> <key>type</key> - <value>intx</value> + <value>float</value> </param> <param> - <key>short_id</key> + <key>delay</key> + <value>32</value> + </param> + <param> + <key>num_ports</key> + <value>1</value> + </param> + <param> + <key>vlen</key> + <value>1</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>(695, 184)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_ccsds_encoder_def</key> + <param> + <key>id</key> + <value>enc_ccsds</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>1</value> + </param> + <param> + <key>dim1</key> + <value>1</value> + </param> + <param> + <key>dim2</key> + <value>4</value> + </param> + <param> + <key>framebits</key> + <value>frame_size*8</value> + </param> + <param> + <key>state_start</key> + <value>0</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_STREAMING</value> + </param> + <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> - <value>(249, 7)</value> + <value>(669, 841)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> </block> + <block> + <key>variable_ccsds_decoder_def</key> + <param> + <key>id</key> + <value>dec_ccsds</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>1</value> + </param> + <param> + <key>dim1</key> + <value>1</value> + </param> + <param> + <key>dim2</key> + <value>4</value> + </param> + <param> + <key>framebits</key> + <value>frame_size*8</value> + </param> + <param> + <key>state_start</key> + <value>0</value> + </param> + <param> + <key>end_state</key> + <value>-1</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_STREAMING</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(668, 1007)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_vector_source_x</key> + <param> + <key>id</key> + <value>blocks_vector_source_x_0_1_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>byte</value> + </param> + <param> + <key>vector</key> + <value>(frame_size/15)*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value> + </param> + <param> + <key>tags</key> + <value>[]</value> + </param> + <param> + <key>repeat</key> + <value>True</value> + </param> + <param> + <key>vlen</key> + <value>1</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>(59, 200)</value> + </param> + <param> + <key>_rotation</key> + <value>180</value> + </param> + </block> <connection> <source_block_id>blocks_vector_source_x_0_1_0</source_block_id> <sink_block_id>blocks_throttle_0</sink_block_id> @@ -2050,20 +2369,20 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_delay_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id> + <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> + <sink_block_id>fec_extended_encoder_1</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>fec_extended_decoder_0</sink_block_id> + <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> + <sink_block_id>blocks_char_to_float_0_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>fec_extended_encoder_1</source_block_id> - <sink_block_id>digital_map_bb_0_0</sink_block_id> + <source_block_id>blocks_char_to_float_0_1</source_block_id> + <sink_block_id>blocks_delay_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -2074,14 +2393,14 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> - <sink_block_id>fec_extended_encoder_1</sink_block_id> + <source_block_id>fec_extended_encoder_1</source_block_id> + <sink_block_id>digital_map_bb_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> - <sink_block_id>blocks_char_to_float_0_1</sink_block_id> + <source_block_id>blocks_char_to_float_0</source_block_id> + <sink_block_id>fec_extended_decoder_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -2104,32 +2423,92 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_delay_0_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_block_id>digital_map_bb_0_0_0_0</source_block_id> + <sink_block_id>blocks_char_to_float_0_2_0</sink_block_id> <source_key>0</source_key> - <sink_key>1</sink_key> + <sink_key>0</sink_key> </connection> <connection> - <source_block_id>fec_extended_decoder_0</source_block_id> - <sink_block_id>blocks_char_to_float_0_0</sink_block_id> + <source_block_id>fec_extended_encoder_1_0_0</source_block_id> + <sink_block_id>digital_map_bb_0_0_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_char_to_float_0_0</source_block_id> + <source_block_id>blocks_char_to_float_0_2_0</source_block_id> + <sink_block_id>fec_extended_decoder_0_1_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> + <sink_block_id>fec_extended_encoder_1_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> + <sink_block_id>fec_extended_encoder_1_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_char_to_float_0_2</source_block_id> + <sink_block_id>fec_extended_decoder_0_1</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>fec_extended_encoder_1_0</source_block_id> + <sink_block_id>digital_map_bb_0_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>digital_map_bb_0_0_0</source_block_id> + <sink_block_id>blocks_char_to_float_0_2</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>fec_extended_decoder_0_1</source_block_id> + <sink_block_id>blocks_char_to_float_0_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_char_to_float_0_1</source_block_id> <sink_block_id>qtgui_time_sink_x_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_char_to_float_0_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id> + <source_block_id>blocks_char_to_float_0_0_0_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> <source_key>0</source_key> <sink_key>1</sink_key> </connection> <connection> - <source_block_id>fec_extended_decoder_0_0</source_block_id> - <sink_block_id>blocks_char_to_float_1_0</sink_block_id> + <source_block_id>blocks_char_to_float_0_0_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>2</sink_key> + </connection> + <connection> + <source_block_id>blocks_char_to_float_0_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>3</sink_key> + </connection> + <connection> + <source_block_id>blocks_char_to_float_1_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>4</sink_key> + </connection> + <connection> + <source_block_id>fec_extended_decoder_0_1_0</source_block_id> + <sink_block_id>blocks_char_to_float_0_0_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -2140,8 +2519,14 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_char_to_float_0_1</source_block_id> - <sink_block_id>blocks_delay_0</sink_block_id> + <source_block_id>fec_extended_decoder_0_0</source_block_id> + <sink_block_id>blocks_char_to_float_1_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>fec_extended_decoder_0</source_block_id> + <sink_block_id>blocks_char_to_float_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> diff --git a/gr-fec/examples/fecapi_encoders.grc b/gr-fec/examples/fecapi_encoders.grc index f2d320b416..1bf3c47035 100644 --- a/gr-fec/examples/fecapi_encoders.grc +++ b/gr-fec/examples/fecapi_encoders.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Wed May 7 19:04:31 2014</timestamp> + <timestamp>Mon May 12 16:15:19 2014</timestamp> <block> <key>options</key> <param> @@ -68,7 +68,7 @@ <key>variable</key> <param> <key>id</key> - <value>samp_rate</value> + <value>rate</value> </param> <param> <key>_enabled</key> @@ -76,7 +76,7 @@ </param> <param> <key>value</key> - <value>50000</value> + <value>2</value> </param> <param> <key>alias</key> @@ -84,7 +84,7 @@ </param> <param> <key>_coordinate</key> - <value>(7, 95)</value> + <value>(454, 692)</value> </param> <param> <key>_rotation</key> @@ -95,7 +95,7 @@ <key>variable</key> <param> <key>id</key> - <value>k</value> + <value>polys</value> </param> <param> <key>_enabled</key> @@ -103,7 +103,7 @@ </param> <param> <key>value</key> - <value>7</value> + <value>[109, 79]</value> </param> <param> <key>alias</key> @@ -111,7 +111,7 @@ </param> <param> <key>_coordinate</key> - <value>(353, 695)</value> + <value>(270, 780)</value> </param> <param> <key>_rotation</key> @@ -149,7 +149,7 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>k</value> </param> <param> <key>_enabled</key> @@ -157,7 +157,7 @@ </param> <param> <key>value</key> - <value>[109, 79]</value> + <value>7</value> </param> <param> <key>alias</key> @@ -165,7 +165,7 @@ </param> <param> <key>_coordinate</key> - <value>(270, 780)</value> + <value>(353, 695)</value> </param> <param> <key>_rotation</key> @@ -176,7 +176,7 @@ <key>variable</key> <param> <key>id</key> - <value>rate</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> @@ -184,7 +184,7 @@ </param> <param> <key>value</key> - <value>2</value> + <value>50000</value> </param> <param> <key>alias</key> @@ -192,7 +192,7 @@ </param> <param> <key>_coordinate</key> - <value>(454, 692)</value> + <value>(7, 95)</value> </param> <param> <key>_rotation</key> @@ -345,45 +345,6 @@ </param> </block> <block> - <key>blocks_unpack_k_bits_bb</key> - <param> - <key>id</key> - <value>blocks_unpack_k_bits_bb_0</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>k</key> - <value>8</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>(118, 440)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> <key>parameter</key> <param> <key>id</key> @@ -541,50 +502,151 @@ </param> </block> <block> - <key>variable_ccsds_encoder_def</key> + <key>blocks_ctrlport_monitor_performance</key> <param> <key>id</key> - <value>enc_ccsds</value> + <value>blocks_ctrlport_monitor_performance_0</value> </param> <param> <key>_enabled</key> + <value>False</value> + </param> + <param> + <key>en</key> <value>True</value> </param> <param> - <key>value</key> - <value>"ok"</value> + <key>alias</key> + <value></value> </param> <param> - <key>ndim</key> + <key>_coordinate</key> + <value>(549, 10)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_unpack_k_bits_bb</key> + <param> + <key>id</key> + <value>blocks_unpack_k_bits_bb_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>k</key> + <value>8</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>(118, 440)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_char_to_float</key> + <param> + <key>id</key> + <value>blocks_char_to_float_1_0_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>vlen</key> <value>1</value> </param> <param> - <key>dim1</key> + <key>scale</key> <value>1</value> </param> <param> - <key>dim2</key> - <value>4</value> + <key>alias</key> + <value></value> </param> <param> - <key>framebits</key> - <value>frame_size*8</value> + <key>affinity</key> + <value></value> </param> <param> - <key>state_start</key> + <key>minoutbuf</key> <value>0</value> </param> <param> - <key>mode</key> - <value>fec.CC_TERMINATED</value> + <key>maxoutbuf</key> + <value>0</value> + </param> + <param> + <key>_coordinate</key> + <value>(853, 255)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_char_to_float</key> + <param> + <key>id</key> + <value>blocks_char_to_float_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>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>(869, 700)</value> + <value>(848, 392)</value> </param> <param> <key>_rotation</key> @@ -635,7 +697,7 @@ </param> <param> <key>_coordinate</key> - <value>(482, 287)</value> + <value>(512, 361)</value> </param> <param> <key>_rotation</key> @@ -646,7 +708,7 @@ <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_char_to_float_0</value> + <value>blocks_char_to_float_1</value> </param> <param> <key>_enabled</key> @@ -678,7 +740,7 @@ </param> <param> <key>_coordinate</key> - <value>(818, 318)</value> + <value>(837, 554)</value> </param> <param> <key>_rotation</key> @@ -729,7 +791,7 @@ </param> <param> <key>_coordinate</key> - <value>(481, 498)</value> + <value>(511, 525)</value> </param> <param> <key>_rotation</key> @@ -737,24 +799,461 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>qtgui_time_sink_x</key> <param> <key>id</key> - <value>blocks_char_to_float_1</value> + <value>qtgui_time_sink_x_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>vlen</key> + <key>type</key> + <value>float</value> + </param> + <param> + <key>name</key> + <value>QT GUI Plot</value> + </param> + <param> + <key>size</key> + <value>2048</value> + </param> + <param> + <key>srate</key> + <value>samp_rate</value> + </param> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>ymin</key> + <value>-0.5</value> + </param> + <param> + <key>ymax</key> + <value>1.5</value> + </param> + <param> + <key>nconnections</key> + <value>2</value> + </param> + <param> + <key>update_time</key> + <value>0.05</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>CCSDS</value> + </param> + <param> + <key>width1</key> <value>1</value> </param> <param> - <key>scale</key> + <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>CC</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>0.6</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>label10</key> + <value></value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>color10</key> + <value>"blue"</value> + </param> + <param> + <key>style10</key> + <value>1</value> + </param> + <param> + <key>marker10</key> + <value>-1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1193, 420)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_ccsds_encoder_def</key> + <param> + <key>id</key> + <value>enc_ccsds</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>1</value> + </param> + <param> + <key>dim1</key> + <value>1</value> + </param> + <param> + <key>dim2</key> + <value>4</value> + </param> + <param> + <key>framebits</key> + <value>frame_size*8</value> + </param> + <param> + <key>state_start</key> + <value>0</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_TERMINATED</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(843, 698)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_dummy_encoder_def</key> + <param> + <key>id</key> + <value>enc_dummy</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> <value>1</value> </param> <param> + <key>dim1</key> + <value>1</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>frame_size*8</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1139, 698)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>fec_extended_encoder</key> + <param> + <key>id</key> + <value>fec_extended_encoder_0_0_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>encoder_list</key> + <value>enc_rep</value> + </param> + <param> + <key>threadtype</key> + <value>none</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>none</value> + </param> + <param> <key>alias</key> <value></value> </param> @@ -772,7 +1271,7 @@ </param> <param> <key>_coordinate</key> - <value>(807, 527)</value> + <value>(512, 224)</value> </param> <param> <key>_rotation</key> @@ -783,7 +1282,7 @@ <key>qtgui_time_sink_x</key> <param> <key>id</key> - <value>qtgui_time_sink_x_0</value> + <value>qtgui_time_sink_x_0_0_1</value> </param> <param> <key>_enabled</key> @@ -819,7 +1318,7 @@ </param> <param> <key>nconnections</key> - <value>2</value> + <value>1</value> </param> <param> <key>update_time</key> @@ -855,11 +1354,11 @@ </param> <param> <key>tr_tag</key> - <value>""</value> + <value>packet_len</value> </param> <param> <key>label1</key> - <value>CCSDS</value> + <value></value> </param> <param> <key>width1</key> @@ -1107,7 +1606,7 @@ </param> <param> <key>_coordinate</key> - <value>(1163, 381)</value> + <value>(1084, 224)</value> </param> <param> <key>_rotation</key> @@ -1115,18 +1614,38 @@ </param> </block> <block> - <key>blocks_ctrlport_monitor_performance</key> + <key>variable_repetition_encoder_def</key> <param> <key>id</key> - <value>blocks_ctrlport_monitor_performance_0</value> + <value>enc_rep</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> - <key>en</key> - <value>True</value> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>1</value> + </param> + <param> + <key>dim1</key> + <value>1</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>frame_size*8</value> + </param> + <param> + <key>rep</key> + <value>3</value> </param> <param> <key>alias</key> @@ -1134,7 +1653,7 @@ </param> <param> <key>_coordinate</key> - <value>(549, 10)</value> + <value>(1141, 829)</value> </param> <param> <key>_rotation</key> @@ -1166,20 +1685,20 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_char_to_float_1</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_block_id>blocks_unpack_k_bits_bb_0</source_block_id> + <sink_block_id>fec_extended_encoder_0_0_0</sink_block_id> <source_key>0</source_key> - <sink_key>1</sink_key> + <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_char_to_float_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_block_id>blocks_char_to_float_1_0_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0_0_1</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>fec_extended_encoder_0</source_block_id> - <sink_block_id>blocks_char_to_float_1</sink_block_id> + <source_block_id>fec_extended_encoder_0_0_0</source_block_id> + <sink_block_id>blocks_char_to_float_1_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -1195,4 +1714,22 @@ <source_key>0</source_key> <sink_key>0</sink_key> </connection> + <connection> + <source_block_id>fec_extended_encoder_0</source_block_id> + <sink_block_id>blocks_char_to_float_1</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>qtgui_time_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_char_to_float_1</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_key>0</source_key> + <sink_key>1</sink_key> + </connection> </flow_graph> diff --git a/gr-fec/examples/fecapi_tagged_decoders.grc b/gr-fec/examples/fecapi_tagged_decoders.grc index b9936b8f41..91053cbd47 100644 --- a/gr-fec/examples/fecapi_tagged_decoders.grc +++ b/gr-fec/examples/fecapi_tagged_decoders.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Wed May 7 19:28:30 2014</timestamp> + <timestamp>Mon May 12 22:12:23 2014</timestamp> <block> <key>options</key> <param> @@ -68,7 +68,7 @@ <key>variable</key> <param> <key>id</key> - <value>length_tag</value> + <value>k</value> </param> <param> <key>_enabled</key> @@ -76,7 +76,7 @@ </param> <param> <key>value</key> - <value>"packet_len"</value> + <value>7</value> </param> <param> <key>alias</key> @@ -84,7 +84,7 @@ </param> <param> <key>_coordinate</key> - <value>(202, 112)</value> + <value>(384, 683)</value> </param> <param> <key>_rotation</key> @@ -95,7 +95,7 @@ <key>variable</key> <param> <key>id</key> - <value>samp_rate</value> + <value>polys</value> </param> <param> <key>_enabled</key> @@ -103,7 +103,7 @@ </param> <param> <key>value</key> - <value>50000</value> + <value>[109, 79]</value> </param> <param> <key>alias</key> @@ -111,7 +111,7 @@ </param> <param> <key>_coordinate</key> - <value>(9, 95)</value> + <value>(301, 768)</value> </param> <param> <key>_rotation</key> @@ -122,15 +122,15 @@ <key>variable</key> <param> <key>id</key> - <value>k</value> + <value>polys</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> <key>value</key> - <value>7</value> + <value>[79, 109]</value> </param> <param> <key>alias</key> @@ -138,7 +138,7 @@ </param> <param> <key>_coordinate</key> - <value>(562, 734)</value> + <value>(443, 765)</value> </param> <param> <key>_rotation</key> @@ -165,7 +165,7 @@ </param> <param> <key>_coordinate</key> - <value>(663, 731)</value> + <value>(485, 680)</value> </param> <param> <key>_rotation</key> @@ -176,7 +176,7 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>length_tag</value> </param> <param> <key>_enabled</key> @@ -184,7 +184,7 @@ </param> <param> <key>value</key> - <value>[109, 79]</value> + <value>"packet_len"</value> </param> <param> <key>alias</key> @@ -192,7 +192,7 @@ </param> <param> <key>_coordinate</key> - <value>(479, 819)</value> + <value>(202, 112)</value> </param> <param> <key>_rotation</key> @@ -203,15 +203,293 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> <key>value</key> - <value>[79, 109]</value> + <value>50000</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(9, 95)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_unpack_k_bits_bb</key> + <param> + <key>id</key> + <value>blocks_unpack_k_bits_bb_0_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>k</key> + <value>8</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>(359, 341)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_vector_source_x</key> + <param> + <key>id</key> + <value>blocks_vector_source_x_0_1_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>byte</value> + </param> + <param> + <key>vector</key> + <value>4*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value> + </param> + <param> + <key>tags</key> + <value>[]</value> + </param> + <param> + <key>repeat</key> + <value>True</value> + </param> + <param> + <key>vlen</key> + <value>1</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>(123, 218)</value> + </param> + <param> + <key>_rotation</key> + <value>180</value> + </param> + </block> + <block> + <key>blocks_throttle</key> + <param> + <key>id</key> + <value>blocks_throttle_0</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>ignoretag</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>_coordinate</key> + <value>(100, 341)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_stream_to_tagged_stream</key> + <param> + <key>id</key> + <value>blocks_stream_to_tagged_stream_0_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>type</key> + <value>byte</value> + </param> + <param> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>packet_len</key> + <value>frame_size*8</value> + </param> + <param> + <key>len_tag_key</key> + <value>length_tag</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>(595, 331)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>analog_random_source_x</key> + <param> + <key>id</key> + <value>analog_random_source_x_0</value> + </param> + <param> + <key>_enabled</key> + <value>False</value> + </param> + <param> + <key>type</key> + <value>byte</value> + </param> + <param> + <key>min</key> + <value>0</value> + </param> + <param> + <key>max</key> + <value>256</value> + </param> + <param> + <key>num_samps</key> + <value>1000</value> + </param> + <param> + <key>repeat</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>_coordinate</key> + <value>(99, 633)</value> + </param> + <param> + <key>_rotation</key> + <value>180</value> + </param> + </block> + <block> + <key>blocks_ctrlport_monitor_performance</key> + <param> + <key>id</key> + <value>blocks_ctrlport_monitor_performance_0</value> + </param> + <param> + <key>_enabled</key> + <value>False</value> + </param> + <param> + <key>en</key> + <value>True</value> </param> <param> <key>alias</key> @@ -219,7 +497,7 @@ </param> <param> <key>_coordinate</key> - <value>(621, 816)</value> + <value>(651, 15)</value> </param> <param> <key>_rotation</key> @@ -269,7 +547,7 @@ <key>parameter</key> <param> <key>id</key> - <value>MTU</value> + <value>frame_size</value> </param> <param> <key>_enabled</key> @@ -277,11 +555,11 @@ </param> <param> <key>label</key> - <value>MTU</value> + <value>Frame Size</value> </param> <param> <key>value</key> - <value>1500</value> + <value>30</value> </param> <param> <key>type</key> @@ -297,7 +575,7 @@ </param> <param> <key>_coordinate</key> - <value>(365, 9)</value> + <value>(484, 10)</value> </param> <param> <key>_rotation</key> @@ -305,32 +583,24 @@ </param> </block> <block> - <key>fec_extended_decoder</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>fec_extended_decoder_0_0</value> + <value>fec_extended_encoder_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>fec_extended_decoder</value> - </param> - <param> - <key>decoder_list</key> - <value>dec_cc</value> + <key>encoder_list</key> + <value>enc_rep</value> </param> <param> <key>threadtype</key> <value>none</value> </param> <param> - <key>ann</key> - <value>None</value> - </param> - <param> <key>puncpat</key> <value>puncpat</value> </param> @@ -356,7 +626,7 @@ </param> <param> <key>_coordinate</key> - <value>(923, 464)</value> + <value>(138, 474)</value> </param> <param> <key>_rotation</key> @@ -364,42 +634,38 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>parameter</key> <param> <key>id</key> - <value>blocks_char_to_float_1_0</value> + <value>MTU</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>label</key> + <value>MTU</value> </param> <param> - <key>scale</key> - <value>1</value> + <key>value</key> + <value>1000</value> </param> <param> - <key>alias</key> - <value></value> + <key>type</key> + <value>intx</value> </param> <param> - <key>affinity</key> + <key>short_id</key> <value></value> </param> <param> - <key>minoutbuf</key> - <value>0</value> - </param> - <param> - <key>maxoutbuf</key> - <value>0</value> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(1265, 506)</value> + <value>(365, 9)</value> </param> <param> <key>_rotation</key> @@ -407,22 +673,18 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>digital_map_bb</key> <param> <key>id</key> - <value>blocks_char_to_float_1</value> + <value>digital_map_bb_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> + <key>map</key> + <value>[-1, 1]</value> </param> <param> <key>alias</key> @@ -442,7 +704,7 @@ </param> <param> <key>_coordinate</key> - <value>(678, 506)</value> + <value>(493, 506)</value> </param> <param> <key>_rotation</key> @@ -450,18 +712,22 @@ </param> </block> <block> - <key>digital_map_bb</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>digital_map_bb_0</value> + <value>blocks_char_to_float_1</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>map</key> - <value>[-1, 1]</value> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>scale</key> + <value>1</value> </param> <param> <key>alias</key> @@ -481,7 +747,7 @@ </param> <param> <key>_coordinate</key> - <value>(493, 506)</value> + <value>(678, 506)</value> </param> <param> <key>_rotation</key> @@ -492,7 +758,7 @@ <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_char_to_float_0_1</value> + <value>blocks_char_to_float_1_0</value> </param> <param> <key>_enabled</key> @@ -524,7 +790,7 @@ </param> <param> <key>_coordinate</key> - <value>(1014, 340)</value> + <value>(1242, 506)</value> </param> <param> <key>_rotation</key> @@ -532,18 +798,38 @@ </param> </block> <block> - <key>blocks_unpack_k_bits_bb</key> + <key>fec_extended_decoder</key> <param> <key>id</key> - <value>blocks_unpack_k_bits_bb_0_0</value> + <value>fec_extended_decoder_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>k</key> - <value>8</value> + <key>value</key> + <value>fec_extended_decoder</value> + </param> + <param> + <key>decoder_list</key> + <value>dec_rep</value> + </param> + <param> + <key>threadtype</key> + <value>none</value> + </param> + <param> + <key>ann</key> + <value>None</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>length_tag</value> </param> <param> <key>alias</key> @@ -563,7 +849,7 @@ </param> <param> <key>_coordinate</key> - <value>(359, 341)</value> + <value>(900, 464)</value> </param> <param> <key>_rotation</key> @@ -610,7 +896,7 @@ </param> <param> <key>nconnections</key> - <value>2</value> + <value>1</value> </param> <param> <key>update_time</key> @@ -898,7 +1184,7 @@ </param> <param> <key>_coordinate</key> - <value>(1530, 372)</value> + <value>(1475, 452)</value> </param> <param> <key>_rotation</key> @@ -906,105 +1192,129 @@ </param> </block> <block> - <key>blocks_vector_source_x</key> + <key>variable_cc_decoder_def</key> <param> <key>id</key> - <value>blocks_vector_source_x_0_1_0</value> + <value>dec_cc</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>vector</key> - <value>4*[0, 0, 1, 0, 3, 0, 7, 0, 15, 0, 31, 0, 63, 0, 127]</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>tags</key> - <value>[]</value> + <key>dim1</key> + <value>2</value> </param> <param> - <key>repeat</key> - <value>True</value> + <key>dim2</key> + <value>4</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>framebits</key> + <value>MTU*8</value> </param> <param> - <key>alias</key> - <value></value> + <key>k</key> + <value>k</value> </param> <param> - <key>affinity</key> - <value></value> + <key>rate</key> + <value>rate</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>polys</key> + <value>polys</value> </param> <param> - <key>maxoutbuf</key> + <key>state_start</key> <value>0</value> </param> <param> + <key>state_end</key> + <value>-1</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_TERMINATED</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> <key>_coordinate</key> - <value>(123, 218)</value> + <value>(882, 676)</value> </param> <param> <key>_rotation</key> - <value>180</value> + <value>0</value> </param> </block> <block> - <key>blocks_throttle</key> + <key>variable_cc_encoder_def</key> <param> <key>id</key> - <value>blocks_throttle_0</value> + <value>enc_cc</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>samples_per_second</key> - <value>samp_rate</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>vlen</key> + <key>dim1</key> + <value>4</value> + </param> + <param> + <key>dim2</key> <value>1</value> </param> <param> - <key>ignoretag</key> - <value>True</value> + <key>framebits</key> + <value>MTU*8</value> </param> <param> - <key>alias</key> - <value></value> + <key>k</key> + <value>k</value> </param> <param> - <key>affinity</key> - <value></value> + <key>rate</key> + <value>rate</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>polys</key> + <value>polys</value> </param> <param> - <key>maxoutbuf</key> + <key>state_start</key> <value>0</value> </param> <param> + <key>mode</key> + <value>fec.CC_TERMINATED</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> <key>_coordinate</key> - <value>(100, 341)</value> + <value>(581, 684)</value> </param> <param> <key>_rotation</key> @@ -1012,50 +1322,50 @@ </param> </block> <block> - <key>blocks_stream_to_tagged_stream</key> + <key>variable_repetition_decoder_def</key> <param> <key>id</key> - <value>blocks_stream_to_tagged_stream_0_0</value> + <value>dec_rep</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>vlen</key> + <key>ndim</key> <value>1</value> </param> <param> - <key>packet_len</key> - <value>frame_size*8</value> + <key>dim1</key> + <value>1</value> </param> <param> - <key>len_tag_key</key> - <value>length_tag</value> + <key>dim2</key> + <value>1</value> </param> <param> - <key>alias</key> - <value></value> + <key>framebits</key> + <value>MTU*8</value> </param> <param> - <key>affinity</key> - <value></value> + <key>rep</key> + <value>3</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>prob</key> + <value>0.5</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(595, 331)</value> + <value>(1215, 765)</value> </param> <param> <key>_rotation</key> @@ -1063,30 +1373,69 @@ </param> </block> <block> - <key>fec_extended_encoder</key> + <key>variable_repetition_encoder_def</key> <param> <key>id</key> - <value>fec_extended_encoder_0</value> + <value>enc_rep</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>encoder_list</key> - <value>enc_cc</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>threadtype</key> - <value>none</value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>puncpat</key> - <value>puncpat</value> + <key>dim1</key> + <value>1</value> </param> <param> - <key>lentagname</key> - <value>length_tag</value> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>MTU*8</value> + </param> + <param> + <key>rep</key> + <value>3</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1215, 623)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_char_to_float</key> + <param> + <key>id</key> + <value>blocks_char_to_float_0_1</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>alias</key> @@ -1106,7 +1455,7 @@ </param> <param> <key>_coordinate</key> - <value>(138, 474)</value> + <value>(1540, 340)</value> </param> <param> <key>_rotation</key> @@ -1114,250 +1463,334 @@ </param> </block> <block> - <key>analog_random_source_x</key> + <key>qtgui_time_sink_x</key> <param> <key>id</key> - <value>analog_random_source_x_0</value> + <value>qtgui_time_sink_x_0_0</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> <key>type</key> - <value>byte</value> + <value>float</value> </param> <param> - <key>min</key> - <value>0</value> + <key>name</key> + <value>QT GUI Plot</value> </param> <param> - <key>max</key> - <value>256</value> + <key>size</key> + <value>2048</value> </param> <param> - <key>num_samps</key> - <value>1000</value> + <key>srate</key> + <value>samp_rate</value> </param> <param> - <key>repeat</key> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>ymin</key> + <value>-0.5</value> + </param> + <param> + <key>ymax</key> + <value>1.5</value> + </param> + <param> + <key>nconnections</key> + <value>1</value> + </param> + <param> + <key>update_time</key> + <value>0.10</value> + </param> + <param> + <key>entags</key> <value>True</value> </param> <param> - <key>alias</key> + <key>gui_hint</key> <value></value> </param> <param> - <key>affinity</key> - <value></value> + <key>tr_mode</key> + <value>qtgui.TRIG_MODE_FREE</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>tr_slope</key> + <value>qtgui.TRIG_SLOPE_POS</value> </param> <param> - <key>maxoutbuf</key> + <key>tr_level</key> + <value>0.0</value> + </param> + <param> + <key>tr_delay</key> <value>0</value> </param> <param> - <key>_coordinate</key> - <value>(99, 633)</value> + <key>tr_chan</key> + <value>0</value> </param> <param> - <key>_rotation</key> - <value>180</value> + <key>tr_tag</key> + <value>""</value> </param> - </block> - <block> - <key>variable_cc_encoder_def</key> <param> - <key>id</key> - <value>enc_cc</value> + <key>label1</key> + <value>Input</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>width1</key> + <value>1</value> </param> <param> - <key>value</key> - <value>"ok"</value> + <key>color1</key> + <value>"blue"</value> </param> <param> - <key>ndim</key> + <key>style1</key> <value>1</value> </param> <param> - <key>dim1</key> + <key>marker1</key> + <value>-1</value> + </param> + <param> + <key>alpha1</key> + <value>1.0</value> + </param> + <param> + <key>label2</key> + <value>CC</value> + </param> + <param> + <key>width2</key> <value>1</value> </param> <param> - <key>dim2</key> + <key>color2</key> + <value>"red"</value> + </param> + <param> + <key>style2</key> <value>1</value> </param> <param> - <key>framebits</key> - <value>MTU*8</value> + <key>marker2</key> + <value>-1</value> </param> <param> - <key>k</key> - <value>k</value> + <key>alpha2</key> + <value>0.6</value> </param> <param> - <key>rate</key> - <value>rate</value> + <key>label3</key> + <value></value> </param> <param> - <key>polys</key> - <value>polys</value> + <key>width3</key> + <value>1</value> </param> <param> - <key>state_start</key> - <value>0</value> + <key>color3</key> + <value>"green"</value> </param> <param> - <key>mode</key> - <value>fec.CC_STREAMING</value> + <key>style3</key> + <value>1</value> </param> <param> - <key>alias</key> + <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>_coordinate</key> - <value>(759, 735)</value> + <key>width4</key> + <value>1</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>color4</key> + <value>"black"</value> </param> - </block> - <block> - <key>variable_cc_decoder_def</key> <param> - <key>id</key> - <value>dec_cc</value> + <key>style4</key> + <value>1</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>marker4</key> + <value>-1</value> </param> <param> - <key>value</key> - <value>"ok"</value> + <key>alpha4</key> + <value>1.0</value> </param> <param> - <key>ndim</key> + <key>label5</key> + <value></value> + </param> + <param> + <key>width5</key> <value>1</value> </param> <param> - <key>dim1</key> + <key>color5</key> + <value>"cyan"</value> + </param> + <param> + <key>style5</key> <value>1</value> </param> <param> - <key>dim2</key> - <value>4</value> + <key>marker5</key> + <value>-1</value> </param> <param> - <key>framebits</key> - <value>MTU*8</value> + <key>alpha5</key> + <value>1.0</value> </param> <param> - <key>k</key> - <value>k</value> + <key>label6</key> + <value></value> </param> <param> - <key>rate</key> - <value>rate</value> + <key>width6</key> + <value>1</value> </param> <param> - <key>polys</key> - <value>polys</value> + <key>color6</key> + <value>"magenta"</value> </param> <param> - <key>state_start</key> - <value>0</value> + <key>style6</key> + <value>1</value> </param> <param> - <key>state_end</key> + <key>marker6</key> <value>-1</value> </param> <param> - <key>mode</key> - <value>fec.CC_STREAMING</value> + <key>alpha6</key> + <value>1.0</value> </param> <param> - <key>alias</key> + <key>label7</key> <value></value> </param> <param> - <key>_coordinate</key> - <value>(1060, 727)</value> + <key>width7</key> + <value>1</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>color7</key> + <value>"yellow"</value> </param> - </block> - <block> - <key>blocks_ctrlport_monitor_performance</key> <param> - <key>id</key> - <value>blocks_ctrlport_monitor_performance_0</value> + <key>style7</key> + <value>1</value> </param> <param> - <key>_enabled</key> - <value>False</value> + <key>marker7</key> + <value>-1</value> </param> <param> - <key>en</key> - <value>True</value> + <key>alpha7</key> + <value>1.0</value> </param> <param> - <key>alias</key> + <key>label8</key> <value></value> </param> <param> - <key>_coordinate</key> - <value>(651, 15)</value> + <key>width8</key> + <value>1</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>color8</key> + <value>"dark red"</value> </param> - </block> - <block> - <key>parameter</key> <param> - <key>id</key> - <value>frame_size</value> + <key>style8</key> + <value>1</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>marker8</key> + <value>-1</value> </param> <param> - <key>label</key> - <value>Frame Size</value> + <key>alpha8</key> + <value>1.0</value> </param> <param> - <key>value</key> - <value>6000</value> + <key>label9</key> + <value></value> </param> <param> - <key>type</key> - <value>intx</value> + <key>width9</key> + <value>1</value> </param> <param> - <key>short_id</key> + <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>label10</key> <value></value> </param> <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>color10</key> + <value>"blue"</value> + </param> + <param> + <key>style10</key> + <value>1</value> + </param> + <param> + <key>marker10</key> + <value>-1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> <key>alias</key> <value></value> </param> <param> + <key>affinity</key> + <value></value> + </param> + <param> <key>_coordinate</key> - <value>(484, 10)</value> + <value>(1812, 287)</value> </param> <param> <key>_rotation</key> @@ -1395,12 +1828,6 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_char_to_float_1_0</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> - <source_key>0</source_key> - <sink_key>1</sink_key> - </connection> - <connection> <source_block_id>fec_extended_encoder_0</source_block_id> <sink_block_id>digital_map_bb_0</sink_block_id> <source_key>0</source_key> @@ -1413,26 +1840,26 @@ <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id> - <sink_block_id>blocks_char_to_float_0_1</sink_block_id> + <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id> + <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_char_to_float_0_1</source_block_id> - <sink_block_id>qtgui_time_sink_x_0</sink_block_id> + <source_block_id>blocks_throttle_0</source_block_id> + <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_unpack_k_bits_bb_0_0</source_block_id> - <sink_block_id>blocks_stream_to_tagged_stream_0_0</sink_block_id> + <source_block_id>blocks_char_to_float_1_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> <connection> - <source_block_id>blocks_throttle_0</source_block_id> - <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id> + <source_block_id>blocks_char_to_float_0_1</source_block_id> + <sink_block_id>qtgui_time_sink_x_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> diff --git a/gr-fec/examples/fecapi_tagged_encoders.grc b/gr-fec/examples/fecapi_tagged_encoders.grc index d6a05046a6..649df7d007 100644 --- a/gr-fec/examples/fecapi_tagged_encoders.grc +++ b/gr-fec/examples/fecapi_tagged_encoders.grc @@ -1,6 +1,6 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Wed May 7 19:01:11 2014</timestamp> + <timestamp>Mon May 12 15:18:11 2014</timestamp> <block> <key>options</key> <param> @@ -68,7 +68,7 @@ <key>variable</key> <param> <key>id</key> - <value>k</value> + <value>length_tag</value> </param> <param> <key>_enabled</key> @@ -76,7 +76,7 @@ </param> <param> <key>value</key> - <value>7</value> + <value>"packet_len"</value> </param> <param> <key>alias</key> @@ -84,7 +84,7 @@ </param> <param> <key>_coordinate</key> - <value>(421, 692)</value> + <value>(152, 116)</value> </param> <param> <key>_rotation</key> @@ -95,7 +95,7 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> @@ -103,7 +103,7 @@ </param> <param> <key>value</key> - <value>[109, 79]</value> + <value>50000</value> </param> <param> <key>alias</key> @@ -111,7 +111,7 @@ </param> <param> <key>_coordinate</key> - <value>(335, 777)</value> + <value>(13, 88)</value> </param> <param> <key>_rotation</key> @@ -122,15 +122,15 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>rate</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> <key>value</key> - <value>[79, 109]</value> + <value>2</value> </param> <param> <key>alias</key> @@ -138,7 +138,7 @@ </param> <param> <key>_coordinate</key> - <value>(479, 781)</value> + <value>(522, 694)</value> </param> <param> <key>_rotation</key> @@ -149,15 +149,15 @@ <key>variable</key> <param> <key>id</key> - <value>rate</value> + <value>polys</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> <key>value</key> - <value>2</value> + <value>[79, 109]</value> </param> <param> <key>alias</key> @@ -165,7 +165,7 @@ </param> <param> <key>_coordinate</key> - <value>(522, 694)</value> + <value>(479, 781)</value> </param> <param> <key>_rotation</key> @@ -176,7 +176,7 @@ <key>variable</key> <param> <key>id</key> - <value>samp_rate</value> + <value>polys</value> </param> <param> <key>_enabled</key> @@ -184,7 +184,7 @@ </param> <param> <key>value</key> - <value>50000</value> + <value>[109, 79]</value> </param> <param> <key>alias</key> @@ -192,7 +192,7 @@ </param> <param> <key>_coordinate</key> - <value>(13, 88)</value> + <value>(335, 777)</value> </param> <param> <key>_rotation</key> @@ -203,7 +203,7 @@ <key>variable</key> <param> <key>id</key> - <value>length_tag</value> + <value>k</value> </param> <param> <key>_enabled</key> @@ -211,7 +211,7 @@ </param> <param> <key>value</key> - <value>"packet_len"</value> + <value>7</value> </param> <param> <key>alias</key> @@ -219,7 +219,7 @@ </param> <param> <key>_coordinate</key> - <value>(152, 116)</value> + <value>(421, 692)</value> </param> <param> <key>_rotation</key> @@ -505,29 +505,29 @@ </param> </block> <block> - <key>blocks_stream_to_tagged_stream</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>blocks_stream_to_tagged_stream_0_0</value> + <value>fec_extended_encoder_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>byte</value> + <key>encoder_list</key> + <value>enc_cc</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>threadtype</key> + <value>none</value> </param> <param> - <key>packet_len</key> - <value>frame_size*8</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>len_tag_key</key> + <key>lentagname</key> <value>length_tag</value> </param> <param> @@ -548,7 +548,7 @@ </param> <param> <key>_coordinate</key> - <value>(158, 515)</value> + <value>(540, 494)</value> </param> <param> <key>_rotation</key> @@ -556,30 +556,357 @@ </param> </block> <block> - <key>fec_extended_encoder</key> + <key>qtgui_time_sink_x</key> <param> <key>id</key> - <value>fec_extended_encoder_0</value> + <value>qtgui_time_sink_x_0_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>encoder_list</key> - <value>enc_cc</value> + <key>type</key> + <value>float</value> </param> <param> - <key>threadtype</key> - <value>none</value> + <key>name</key> + <value>QT GUI Plot</value> </param> <param> - <key>puncpat</key> - <value>puncpat</value> + <key>size</key> + <value>2048</value> </param> <param> - <key>lentagname</key> - <value>length_tag</value> + <key>srate</key> + <value>samp_rate</value> + </param> + <param> + <key>autoscale</key> + <value>False</value> + </param> + <param> + <key>ymin</key> + <value>-0.5</value> + </param> + <param> + <key>ymax</key> + <value>1.5</value> + </param> + <param> + <key>nconnections</key> + <value>1</value> + </param> + <param> + <key>update_time</key> + <value>0.05</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>packet_len</value> + </param> + <param> + <key>label1</key> + <value>CCSDS</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>CC</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>0.6</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>label10</key> + <value></value> + </param> + <param> + <key>width10</key> + <value>1</value> + </param> + <param> + <key>color10</key> + <value>"blue"</value> + </param> + <param> + <key>style10</key> + <value>1</value> + </param> + <param> + <key>marker10</key> + <value>-1</value> + </param> + <param> + <key>alpha10</key> + <value>1.0</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>affinity</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1106, 494)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_char_to_float</key> + <param> + <key>id</key> + <value>blocks_char_to_float_1</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>alias</key> @@ -599,7 +926,7 @@ </param> <param> <key>_coordinate</key> - <value>(540, 494)</value> + <value>(881, 525)</value> </param> <param> <key>_rotation</key> @@ -607,50 +934,65 @@ </param> </block> <block> - <key>fec_extended_encoder</key> + <key>blocks_ctrlport_monitor_performance</key> <param> <key>id</key> - <value>fec_extended_encoder_0_0</value> + <value>blocks_ctrlport_monitor_performance_0</value> </param> <param> <key>_enabled</key> + <value>False</value> + </param> + <param> + <key>en</key> <value>True</value> </param> <param> - <key>encoder_list</key> - <value>enc_ccsds</value> + <key>alias</key> + <value></value> </param> <param> - <key>threadtype</key> - <value>none</value> + <key>_coordinate</key> + <value>(651, 10)</value> </param> <param> - <key>puncpat</key> - <value>puncpat</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>parameter</key> <param> - <key>lentagname</key> - <value>length_tag</value> + <key>id</key> + <value>frame_size</value> </param> <param> - <key>alias</key> - <value></value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>affinity</key> - <value></value> + <key>label</key> + <value>Frame Size</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>value</key> + <value>30</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>type</key> + <value>intx</value> + </param> + <param> + <key>short_id</key> + <value></value> + </param> + <param> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(541, 339)</value> + <value>(483, 10)</value> </param> <param> <key>_rotation</key> @@ -677,7 +1019,7 @@ </param> <param> <key>dim1</key> - <value>1</value> + <value>2</value> </param> <param> <key>dim2</key> @@ -713,7 +1055,7 @@ </param> <param> <key>_coordinate</key> - <value>(621, 693)</value> + <value>(621, 691)</value> </param> <param> <key>_rotation</key> @@ -721,50 +1063,42 @@ </param> </block> <block> - <key>variable_ccsds_encoder_def</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>enc_ccsds</value> + <value>blocks_char_to_float_1_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>"ok"</value> - </param> - <param> - <key>ndim</key> + <key>vlen</key> <value>1</value> </param> <param> - <key>dim1</key> + <key>scale</key> <value>1</value> </param> <param> - <key>dim2</key> - <value>4</value> + <key>alias</key> + <value></value> </param> <param> - <key>framebits</key> - <value>MTU*8</value> + <key>affinity</key> + <value></value> </param> <param> - <key>state_start</key> + <key>minoutbuf</key> <value>0</value> </param> <param> - <key>mode</key> - <value>fec.CC_TERMINATED</value> - </param> - <param> - <key>alias</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(915, 695)</value> + <value>(880, 370)</value> </param> <param> <key>_rotation</key> @@ -775,7 +1109,7 @@ <key>qtgui_time_sink_x</key> <param> <key>id</key> - <value>qtgui_time_sink_x_0_0_0</value> + <value>qtgui_time_sink_x_0_0</value> </param> <param> <key>_enabled</key> @@ -1099,7 +1433,7 @@ </param> <param> <key>_coordinate</key> - <value>(1106, 494)</value> + <value>(1111, 339)</value> </param> <param> <key>_rotation</key> @@ -1107,38 +1441,195 @@ </param> </block> <block> - <key>parameter</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>frame_size</value> + <value>fec_extended_encoder_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>label</key> - <value>Frame Size</value> + <key>encoder_list</key> + <value>enc_ccsds</value> </param> <param> - <key>value</key> - <value>60</value> + <key>threadtype</key> + <value>none</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>length_tag</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>(541, 339)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>blocks_stream_to_tagged_stream</key> + <param> + <key>id</key> + <value>blocks_stream_to_tagged_stream_0_0</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> </param> <param> <key>type</key> - <value>intx</value> + <value>byte</value> </param> <param> - <key>short_id</key> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>packet_len</key> + <value>frame_size*8</value> + </param> + <param> + <key>len_tag_key</key> + <value>length_tag</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>(158, 515)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_ccsds_encoder_def</key> + <param> + <key>id</key> + <value>enc_ccsds</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>1</value> + </param> + <param> + <key>dim1</key> + <value>2</value> + </param> + <param> + <key>dim2</key> + <value>4</value> + </param> + <param> + <key>framebits</key> + <value>MTU*8</value> + </param> + <param> + <key>state_start</key> + <value>0</value> + </param> + <param> + <key>mode</key> + <value>fec.CC_TERMINATED</value> + </param> + <param> <key>alias</key> <value></value> </param> <param> <key>_coordinate</key> - <value>(483, 10)</value> + <value>(909, 693)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>variable_dummy_encoder_def</key> + <param> + <key>id</key> + <value>enc_dummy</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> + <value>1</value> + </param> + <param> + <key>dim1</key> + <value>1</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>MTU*8</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(1209, 693)</value> </param> <param> <key>_rotation</key> @@ -1149,7 +1640,7 @@ <key>qtgui_time_sink_x</key> <param> <key>id</key> - <value>qtgui_time_sink_x_0_0</value> + <value>qtgui_time_sink_x_0_0_1</value> </param> <param> <key>_enabled</key> @@ -1473,7 +1964,7 @@ </param> <param> <key>_coordinate</key> - <value>(1111, 339)</value> + <value>(1114, 206)</value> </param> <param> <key>_rotation</key> @@ -1484,7 +1975,7 @@ <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_char_to_float_1_0</value> + <value>blocks_char_to_float_1_0_0</value> </param> <param> <key>_enabled</key> @@ -1516,7 +2007,7 @@ </param> <param> <key>_coordinate</key> - <value>(880, 370)</value> + <value>(883, 237)</value> </param> <param> <key>_rotation</key> @@ -1524,22 +2015,30 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>blocks_char_to_float_1</value> + <value>fec_extended_encoder_0_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>encoder_list</key> + <value>enc_dummy</value> </param> <param> - <key>scale</key> - <value>1</value> + <key>threadtype</key> + <value>none</value> + </param> + <param> + <key>puncpat</key> + <value>puncpat</value> + </param> + <param> + <key>lentagname</key> + <value>length_tag</value> </param> <param> <key>alias</key> @@ -1559,34 +2058,7 @@ </param> <param> <key>_coordinate</key> - <value>(881, 525)</value> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>blocks_ctrlport_monitor_performance</key> - <param> - <key>id</key> - <value>blocks_ctrlport_monitor_performance_0</value> - </param> - <param> - <key>_enabled</key> - <value>False</value> - </param> - <param> - <key>en</key> - <value>True</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(651, 10)</value> + <value>(544, 206)</value> </param> <param> <key>_rotation</key> @@ -1653,4 +2125,22 @@ <source_key>0</source_key> <sink_key>0</sink_key> </connection> + <connection> + <source_block_id>blocks_char_to_float_1_0_0</source_block_id> + <sink_block_id>qtgui_time_sink_x_0_0_1</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>fec_extended_encoder_0_0_0</source_block_id> + <sink_block_id>blocks_char_to_float_1_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> + <connection> + <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id> + <sink_block_id>fec_extended_encoder_0_0_0</sink_block_id> + <source_key>0</source_key> + <sink_key>0</sink_key> + </connection> </flow_graph> diff --git a/gr-fec/grc/fec_block_tree.xml b/gr-fec/grc/fec_block_tree.xml index 4d1a51aef7..7eabe03d60 100644 --- a/gr-fec/grc/fec_block_tree.xml +++ b/gr-fec/grc/fec_block_tree.xml @@ -12,11 +12,15 @@ <name>Decoders</name> <block>variable_cc_decoder_def</block> <block>variable_ccsds_decoder_def</block> + <block>variable_repetition_decoder_def</block> + <block>variable_dummy_decoder_def</block> </cat> <cat> <name>Encoders</name> <block>variable_cc_encoder_def</block> <block>variable_ccsds_encoder_def</block> + <block>variable_repetition_encoder_def</block> + <block>variable_dummy_encoder_def</block> </cat> <block>fec_extended_encoder</block> <block>fec_extended_decoder</block> diff --git a/gr-fec/grc/variable_cc_decoder_def_list.xml b/gr-fec/grc/variable_cc_decoder_def_list.xml index 57d8ef563d..1e17468805 100644 --- a/gr-fec/grc/variable_cc_decoder_def_list.xml +++ b/gr-fec/grc/variable_cc_decoder_def_list.xml @@ -1,7 +1,7 @@ <?xml version="1.0"?> <!-- ################################################### -# FEC MAKING FOR GREAT JUSTICE +# FEC CC DECODER ################################################### --> <block> @@ -30,20 +30,19 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.cc_decoder.make($frame <value></value> <type>enum</type> <option> - <name>2</name> - <key>2</key> - </option> - <option> <name>1</name> <key>1</key> </option> - + <option> + <name>2</name> + <key>2</key> + </option> </param> <param> <name>Dimension 1</name> <key>dim1</key> - <value>4</value> + <value>1</value> <type>int</type> <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide> </param> @@ -51,7 +50,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.cc_decoder.make($frame <param> <name>Dimension 2</name> <key>dim2</key> - <value>4</value> + <value>1</value> <type>int</type> <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide> </param> diff --git a/gr-fec/grc/variable_dummy_decoder_def_list.xml b/gr-fec/grc/variable_dummy_decoder_def_list.xml new file mode 100644 index 0000000000..2756b585e5 --- /dev/null +++ b/gr-fec/grc/variable_dummy_decoder_def_list.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<!-- +################################################### +# FEC DUMMY DECODER +################################################### + --> +<block> + <name>Dummy Decoder Definition</name> + <key>variable_dummy_decoder_def</key> + <import>from gnuradio import fec</import> + <var_make> +#if int($ndim())==1 # +self.$(id) = $(id) = map( (lambda a: fec.dummy_decoder.make($framebits)), range(0,$dim1) ); #slurp +#else +self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.dummy_decoder.make($framebits)), range(0,$dim2) ) ), range(0,$dim1)); #slurp +#end if</var_make> + <make></make> + + <param> + <name>Ignore Me</name> + <key>value</key> + <value>"ok"</value> + <type>raw</type> + <hide>all</hide> + </param> + + <param> + <name>Threading Dimensions</name> + <key>ndim</key> + <value></value> + <type>enum</type> + <option> + <name>1</name> + <key>1</key> + </option> + <option> + <name>2</name> + <key>2</key> + </option> + </param> + + <param> + <name>Dimension 1</name> + <key>dim1</key> + <value>1</value> + <type>int</type> + <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide> + </param> + + <param> + <name>Dimension 2</name> + <key>dim2</key> + <value>1</value> + <type>int</type> + <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide> + </param> + + <param> + <name>Frame Bits</name> + <key>framebits</key> + <value>2048</value> + <type>int</type> + </param> + + <doc> + </doc> +</block> diff --git a/gr-fec/grc/variable_dummy_encoder_def_list.xml b/gr-fec/grc/variable_dummy_encoder_def_list.xml new file mode 100644 index 0000000000..b599d336c2 --- /dev/null +++ b/gr-fec/grc/variable_dummy_encoder_def_list.xml @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<!-- +################################################### +# FEC DUMMY ENCODER +################################################### + --> +<block> + <name>Dummy Encoder Definition</name> + <key>variable_dummy_encoder_def</key> + <import>from gnuradio import fec</import> + <var_make> +#if int($ndim())==1 # +self.$(id) = $(id) = map( (lambda a: fec.dummy_encoder_make($framebits)), range(0,$dim1) ); #slurp +#else +self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.dummy_encoder_make($framebits)), range(0,$dim2) ) ), range(0,$dim1)); #slurp +#end if</var_make> + <make></make> + + <param> + <name>Ignore Me</name> + <key>value</key> + <value>"ok"</value> + <type>raw</type> + <hide>all</hide> + </param> + + <param> + <name>Threading Dimensions</name> + <key>ndim</key> + <value></value> + <type>enum</type> + <option> + <name>1</name> + <key>1</key> + </option> + <option> + <name>2</name> + <key>2</key> + </option> + </param> + + <param> + <name>Dimension 1</name> + <key>dim1</key> + <value>1</value> + <type>int</type> + <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide> + </param> + + <param> + <name>Dimension 2</name> + <key>dim2</key> + <value>1</value> + <type>int</type> + <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide> + </param> + + <param> + <name>Frame Bits</name> + <key>framebits</key> + <value>2048</value> + <type>int</type> + </param> + + <doc> + </doc> +</block> diff --git a/gr-fec/grc/variable_repetition_decoder_def_list.xml b/gr-fec/grc/variable_repetition_decoder_def_list.xml new file mode 100644 index 0000000000..162b01d317 --- /dev/null +++ b/gr-fec/grc/variable_repetition_decoder_def_list.xml @@ -0,0 +1,81 @@ +<?xml version="1.0"?> +<!-- +################################################### +# FEC REPETITION DECODER +################################################### + --> +<block> + <name>Repetition Decoder Definition</name> + <key>variable_repetition_decoder_def</key> + <import>from gnuradio import fec</import> + <var_make> +#if int($ndim())==1 # +self.$(id) = $(id) = map( (lambda a: fec.repetition_decoder.make($framebits, $rep, $prob)), range(0,$dim1) ); #slurp +#else +self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.repetition_decoder.make($framebits, $rep, $prob)), range(0,$dim2) ) ), range(0,$dim1)); #slurp +#end if</var_make> + <make></make> + + <param> + <name>Ignore Me</name> + <key>value</key> + <value>"ok"</value> + <type>raw</type> + <hide>all</hide> + </param> + + <param> + <name>Threading Dimensions</name> + <key>ndim</key> + <value></value> + <type>enum</type> + <option> + <name>1</name> + <key>1</key> + </option> + <option> + <name>2</name> + <key>2</key> + </option> + </param> + + <param> + <name>Dimension 1</name> + <key>dim1</key> + <value>1</value> + <type>int</type> + <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide> + </param> + + <param> + <name>Dimension 2</name> + <key>dim2</key> + <value>1</value> + <type>int</type> + <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide> + </param> + + <param> + <name>Frame Bits</name> + <key>framebits</key> + <value>2048</value> + <type>int</type> + </param> + + <param> + <name>Repetitions</name> + <key>rep</key> + <value>3</value> + <type>int</type> + </param> + + <param> + <name>a prior prob</name> + <key>prob</key> + <value>0.5</value> + <type>float</type> + </param> + + <doc> + </doc> +</block> diff --git a/gr-fec/grc/variable_repetition_encoder_def_list.xml b/gr-fec/grc/variable_repetition_encoder_def_list.xml new file mode 100644 index 0000000000..615d2b88f4 --- /dev/null +++ b/gr-fec/grc/variable_repetition_encoder_def_list.xml @@ -0,0 +1,74 @@ +<?xml version="1.0"?> +<!-- +################################################### +# FEC REPETITION ENCODER +################################################### + --> +<block> + <name>Repetition Encoder Definition</name> + <key>variable_repetition_encoder_def</key> + <import>from gnuradio import fec</import> + <var_make> +#if int($ndim())==1 # +self.$(id) = $(id) = map( (lambda a: fec.repetition_encoder_make($framebits, $rep)), range(0,$dim1) ); #slurp +#else +self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.repetition_encoder_make($framebits, $rep)), range(0,$dim2) ) ), range(0,$dim1)); #slurp +#end if</var_make> + <make></make> + + <param> + <name>Ignore Me</name> + <key>value</key> + <value>"ok"</value> + <type>raw</type> + <hide>all</hide> + </param> + + <param> + <name>Threading Dimensions</name> + <key>ndim</key> + <value></value> + <type>enum</type> + <option> + <name>1</name> + <key>1</key> + </option> + <option> + <name>2</name> + <key>2</key> + </option> + </param> + + <param> + <name>Dimension 1</name> + <key>dim1</key> + <value>1</value> + <type>int</type> + <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide> + </param> + + <param> + <name>Dimension 2</name> + <key>dim2</key> + <value>1</value> + <type>int</type> + <hide>#if (int($ndim()) >= 2) then 'none' else 'all' #</hide> + </param> + + <param> + <name>Frame Bits</name> + <key>framebits</key> + <value>2048</value> + <type>int</type> + </param> + + <param> + <name>Repetitions</name> + <key>rep</key> + <value>3</value> + <type>int</type> + </param> + + <doc> + </doc> +</block> diff --git a/gr-fec/include/gnuradio/fec/CMakeLists.txt b/gr-fec/include/gnuradio/fec/CMakeLists.txt index 01b1e71946..0935b736d8 100644 --- a/gr-fec/include/gnuradio/fec/CMakeLists.txt +++ b/gr-fec/include/gnuradio/fec/CMakeLists.txt @@ -86,6 +86,10 @@ install(FILES cc_encoder.h ccsds_decoder.h ccsds_encoder.h + dummy_encoder.h + dummy_decoder.h + repetition_encoder.h + repetition_decoder.h decode_ccsds_27_fb.h encode_ccsds_27_bb.h rs.h diff --git a/gr-fec/include/gnuradio/fec/dummy_decoder.h b/gr-fec/include/gnuradio/fec/dummy_decoder.h new file mode 100644 index 0000000000..2786536822 --- /dev/null +++ b/gr-fec/include/gnuradio/fec/dummy_decoder.h @@ -0,0 +1,76 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_FEC_DUMMY_DECODER_H +#define INCLUDED_FEC_DUMMY_DECODER_H + +#include <gnuradio/fec/api.h> +#include <gnuradio/fec/generic_decoder.h> +#include <map> +#include <string> + +namespace gr { + namespace fec { + namespace code { + + /*! + * \brief Dummy Decoding class. + * \ingroup error_coding_blk + * + * \details + * A dummy decoder class that simply passes the input to the + * output. It is meant to allow us to easily use the FECAPI + * encoder and decoder blocks in an application with no coding. + */ + class FEC_API dummy_decoder : virtual public generic_decoder + { + public: + + /*! + * Build a dummy decoding FECAPI object. + * + * \param frame_size Number of bits per frame. If using in the + * tagged stream style, this is the maximum allowable + * number of bits per frame. + */ + static generic_decoder::sptr make(int frame_size); + + /*! + * Sets the uncoded frame size to \p frame_size. If \p + * frame_size is greater than the value given to the + * constructor, the frame size will be capped by that initial + * value and this function will return false. Otherwise, it + * returns true. + */ + virtual bool set_frame_size(unsigned int frame_size) = 0; + + /*! + * Returns the coding rate of this encoder (it will always be 1). + */ + virtual double rate() = 0; + }; + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ + +#endif /* INCLUDED_FEC_DUMMY_DECODER_H */ diff --git a/gr-fec/include/gnuradio/fec/dummy_encoder.h b/gr-fec/include/gnuradio/fec/dummy_encoder.h new file mode 100644 index 0000000000..35bcf596c8 --- /dev/null +++ b/gr-fec/include/gnuradio/fec/dummy_encoder.h @@ -0,0 +1,76 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_FEC_DUMMY_ENCODER_H +#define INCLUDED_FEC_DUMMY_ENCODER_H + +#include <gnuradio/fec/api.h> +#include <gnuradio/fec/encoder.h> +#include <map> +#include <string> + +namespace gr { + namespace fec { + namespace code { + + /*! + * \brief Dummy Encoding class. + * \ingroup error_coding_blk + * + * \details + * A dummy encoder class that simply passes the input to the + * output. It is meant to allow us to easily use the FECAPI + * encoder and decoder blocks in an application with no coding. + */ + class FEC_API dummy_encoder : virtual public generic_encoder + { + public: + + /*! + * Build a dummy encoding FECAPI object. + * + * \param frame_size Number of bits per frame. If using in the + * tagged stream style, this is the maximum allowable + * number of bits per frame. + */ + static generic_encoder::sptr make(int frame_size); + + /*! + * Sets the uncoded frame size to \p frame_size. If \p + * frame_size is greater than the value given to the + * constructor, the frame size will be capped by that initial + * value and this function will return false. Otherwise, it + * returns true. + */ + virtual bool set_frame_size(unsigned int frame_size) = 0; + + /*! + * Returns the coding rate of this encoder (it will always be 1). + */ + virtual double rate() = 0; + }; + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ + +#endif /* INCLUDED_FEC_DUMMY_ENCODER_H */ diff --git a/gr-fec/include/gnuradio/fec/repetition_decoder.h b/gr-fec/include/gnuradio/fec/repetition_decoder.h new file mode 100644 index 0000000000..c46ee710c4 --- /dev/null +++ b/gr-fec/include/gnuradio/fec/repetition_decoder.h @@ -0,0 +1,82 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_FEC_REPETITION_DECODER_H +#define INCLUDED_FEC_REPETITION_DECODER_H + +#include <gnuradio/fec/api.h> +#include <gnuradio/fec/generic_decoder.h> +#include <map> +#include <string> + +namespace gr { + namespace fec { + namespace code { + + /*! + * \brief Repetition Decoding class. + * \ingroup error_coding_blk + * + * \details + * A repetition decoder class. This takes a majority vote, + * biased by the \p ap_prob rate, and decides if the number of 1 + * bits > ap_prob, it is a 1; else, it is a 0. + */ + class FEC_API repetition_decoder : virtual public generic_decoder + { + public: + + /*! + * Build a repetition decoding FECAPI object. + * + * \param frame_size Number of bits per frame. If using in the + * tagged stream style, this is the maximum allowable + * number of bits per frame. + * \param rep Repetition rate; encoder rate is rep bits out + * for each input bit. + * \param ap_prob The a priori probability that a bit is a 1 + * (generally, unless otherwise known, assume to be + * 0.5). + */ + static generic_decoder::sptr make(int frame_size, int rep, + float ap_prob=0.5); + + /*! + * Sets the uncoded frame size to \p frame_size. If \p + * frame_size is greater than the value given to the + * constructor, the frame size will be capped by that initial + * value and this function will return false. Otherwise, it + * returns true. + */ + virtual bool set_frame_size(unsigned int frame_size) = 0; + + /*! + * Returns the coding rate of this encoder (it will always be 1). + */ + virtual double rate() = 0; + }; + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ + +#endif /* INCLUDED_FEC_REPETITION_DECODER_H */ diff --git a/gr-fec/include/gnuradio/fec/repetition_encoder.h b/gr-fec/include/gnuradio/fec/repetition_encoder.h new file mode 100644 index 0000000000..700edb8fa4 --- /dev/null +++ b/gr-fec/include/gnuradio/fec/repetition_encoder.h @@ -0,0 +1,79 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_FEC_REPETITION_ENCODER_H +#define INCLUDED_FEC_REPETITION_ENCODER_H + +#include <gnuradio/fec/api.h> +#include <gnuradio/fec/encoder.h> +#include <map> +#include <string> + +namespace gr { + namespace fec { + namespace code { + + /*! + * \brief Repetition Encoding class. + * \ingroup error_coding_blk + * + * \details + * A repetition encoder class that repeats each input bit \p rep + * times. To decode, take a majority vote over the number of + * repetitions. + */ + class FEC_API repetition_encoder : virtual public generic_encoder + { + public: + + /*! + * Build a repetition encoding FECAPI object. + * + * \param frame_size Number of bits per frame. If using in the + * tagged stream style, this is the maximum allowable + * number of bits per frame. + * \param rep Repetition rate; encoder rate is rep bits out + * for each input bit. + */ + static generic_encoder::sptr make(int frame_size, + int rep); + + /*! + * Sets the uncoded frame size to \p frame_size. If \p + * frame_size is greater than the value given to the + * constructor, the frame size will be capped by that initial + * value and this function will return false. Otherwise, it + * returns true. + */ + virtual bool set_frame_size(unsigned int frame_size) = 0; + + /*! + * Returns the coding rate of this encoder. + */ + virtual double rate() = 0; + }; + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ + +#endif /* INCLUDED_FEC_REPETITION_ENCODER_H */ diff --git a/gr-fec/lib/CMakeLists.txt b/gr-fec/lib/CMakeLists.txt index aa3f977cc0..abd0769150 100644 --- a/gr-fec/lib/CMakeLists.txt +++ b/gr-fec/lib/CMakeLists.txt @@ -59,6 +59,10 @@ list(APPEND gnuradio_fec_sources cc_encoder_impl.cc ccsds_decoder_impl.cc ccsds_encoder_impl.cc + dummy_decoder_impl.cc + dummy_encoder_impl.cc + repetition_decoder_impl.cc + repetition_encoder_impl.cc decode_ccsds_27_fb_impl.cc encode_ccsds_27_bb_impl.cc ber_tools.cc diff --git a/gr-fec/lib/dummy_decoder_impl.cc b/gr-fec/lib/dummy_decoder_impl.cc new file mode 100644 index 0000000000..5ab91d0799 --- /dev/null +++ b/gr-fec/lib/dummy_decoder_impl.cc @@ -0,0 +1,124 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "dummy_decoder_impl.h" +#include <math.h> +#include <boost/assign/list_of.hpp> +#include <volk/volk.h> +#include <sstream> +#include <stdio.h> +#include <vector> + +namespace gr { + namespace fec { + namespace code { + + generic_decoder::sptr + dummy_decoder::make(int frame_size) + { + return generic_decoder::sptr + (new dummy_decoder_impl(frame_size)); + } + + dummy_decoder_impl::dummy_decoder_impl(int frame_size) + : generic_decoder("dummy_decoder") + { + // Set max frame size here; all buffers and settings will be + // based on this value. + d_max_frame_size = frame_size; + set_frame_size(frame_size); + } + + dummy_decoder_impl::~dummy_decoder_impl() + { + } + + int + dummy_decoder_impl::get_output_size() + { + //unpacked bits + return d_frame_size; + } + + int + dummy_decoder_impl::get_input_size() + { + return d_frame_size; + } + + int + dummy_decoder_impl::get_input_item_size() + { + return sizeof(float); + } + + const char* + dummy_decoder_impl::get_input_conversion() + { + return "none"; + } + + float + dummy_decoder_impl::get_shift() + { + return 1; + } + + bool + dummy_decoder_impl::set_frame_size(unsigned int frame_size) + { + bool ret = true; + if(frame_size > d_max_frame_size) { + GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max possible is %2%") \ + % frame_size % d_max_frame_size); + frame_size = d_max_frame_size; + ret = false; + } + + d_frame_size = frame_size; + + return ret; + } + + double + dummy_decoder_impl::rate() + { + return 1.0; + } + + void + dummy_decoder_impl::generic_work(void *inbuffer, void *outbuffer) + { + const float *in = (const float*)inbuffer; + int8_t *out = (int8_t*)outbuffer; + + //memcpy(out, in, d_frame_size*sizeof(char)); + volk_32f_s32f_convert_8i(out, in, 1.0/2.0, d_frame_size); + } + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ diff --git a/gr-fec/lib/dummy_decoder_impl.h b/gr-fec/lib/dummy_decoder_impl.h new file mode 100644 index 0000000000..4685a86f14 --- /dev/null +++ b/gr-fec/lib/dummy_decoder_impl.h @@ -0,0 +1,61 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_FEC_DUMMY_DECODER_IMPL_H +#define INCLUDED_FEC_DUMMY_DECODER_IMPL_H + +#include <map> +#include <string> +#include <gnuradio/fec/dummy_decoder.h> + +namespace gr { + namespace fec { + namespace code { + + class FEC_API dummy_decoder_impl : public dummy_decoder + { + private: + //plug into the generic fec api + void generic_work(void *inbuffer, void *outbuffer); + int get_output_size(); + int get_input_size(); + int get_input_item_size(); + float get_shift(); + const char* get_input_conversion(); + //const char* get_output_conversion(); + + unsigned int d_max_frame_size; + unsigned int d_frame_size; + + public: + dummy_decoder_impl(int frame_size); + ~dummy_decoder_impl(); + + bool set_frame_size(unsigned int frame_size); + double rate(); + }; + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ + +#endif /* INCLUDED_FEC_DUMMY_DECODER_IMPL_H */ diff --git a/gr-fec/lib/dummy_encoder_impl.cc b/gr-fec/lib/dummy_encoder_impl.cc new file mode 100644 index 0000000000..188b07cef6 --- /dev/null +++ b/gr-fec/lib/dummy_encoder_impl.cc @@ -0,0 +1,99 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "dummy_encoder_impl.h" +#include <gnuradio/fec/generic_encoder.h> +#include <volk/volk.h> +#include <sstream> + +namespace gr { + namespace fec { + namespace code { + + generic_encoder::sptr + dummy_encoder::make(int frame_size) + { + return generic_encoder::sptr + (new dummy_encoder_impl(frame_size)); + } + + dummy_encoder_impl::dummy_encoder_impl(int frame_size) + : generic_encoder("dummy_encoder") + { + d_max_frame_size = frame_size; + set_frame_size(frame_size); + } + + dummy_encoder_impl::~dummy_encoder_impl() + { + } + + int + dummy_encoder_impl::get_output_size() + { + return d_frame_size; + } + + int + dummy_encoder_impl::get_input_size() + { + return d_frame_size; + } + + bool + dummy_encoder_impl::set_frame_size(unsigned int frame_size) + { + bool ret = true; + if(frame_size > d_max_frame_size) { + GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max possible is %2%") \ + % frame_size % d_max_frame_size); + frame_size = d_max_frame_size; + ret = false; + } + + d_frame_size = frame_size; + + return ret; + } + + double + dummy_encoder_impl::rate() + { + return 1.0; + } + + void + dummy_encoder_impl::generic_work(void *inbuffer, void *outbuffer) + { + const unsigned char *in = (const unsigned char*)inbuffer; + unsigned char *out = (unsigned char*)outbuffer; + + memcpy(out, in, d_frame_size*sizeof(char)); + } + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ diff --git a/gr-fec/lib/dummy_encoder_impl.h b/gr-fec/lib/dummy_encoder_impl.h new file mode 100644 index 0000000000..7bfb1cd666 --- /dev/null +++ b/gr-fec/lib/dummy_encoder_impl.h @@ -0,0 +1,57 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * +p * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_FEC_DUMMY_ENCODER_IMPL_H +#define INCLUDED_FEC_DUMMY_ENCODER_IMPL_H + +#include <map> +#include <string> +#include <gnuradio/fec/dummy_encoder.h> + +namespace gr { + namespace fec { + namespace code { + + class FEC_API dummy_encoder_impl : public dummy_encoder + { + private: + //plug into the generic fec api + void generic_work(void *inbuffer, void *outbuffer); + int get_output_size(); + int get_input_size(); + + unsigned int d_max_frame_size; + unsigned int d_frame_size; + + public: + dummy_encoder_impl(int frame_size); + ~dummy_encoder_impl(); + + bool set_frame_size(unsigned int frame_size); + double rate(); + }; + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ + +#endif /* INCLUDED_FEC_DUMMY_ENCODER_IMPL_H */ diff --git a/gr-fec/lib/repetition_decoder_impl.cc b/gr-fec/lib/repetition_decoder_impl.cc new file mode 100644 index 0000000000..b7b3f00c01 --- /dev/null +++ b/gr-fec/lib/repetition_decoder_impl.cc @@ -0,0 +1,144 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "repetition_decoder_impl.h" +#include <math.h> +#include <boost/assign/list_of.hpp> +#include <volk/volk.h> +#include <sstream> +#include <stdio.h> +#include <vector> + +namespace gr { + namespace fec { + namespace code { + + generic_decoder::sptr + repetition_decoder::make(int frame_size, int rep, + float ap_prob) + { + return generic_decoder::sptr + (new repetition_decoder_impl(frame_size, rep, + ap_prob)); + } + + repetition_decoder_impl::repetition_decoder_impl(int frame_size, int rep, + float ap_prob) + : generic_decoder("repetition_decoder") + { + // Set max frame size here; all buffers and settings will be + // based on this value. + d_max_frame_size = frame_size; + set_frame_size(frame_size); + + if(rep < 0) + throw std::runtime_error("repetition_encoder: repetition rate must be >= 0"); + if((ap_prob < 0) || (ap_prob > 1.0)) + throw std::runtime_error("repetition_encoder: a priori probability rate must be in [0, 1]"); + + d_rep = rep; + d_ap_prob = ap_prob; + d_trials.resize(d_rep); + } + + repetition_decoder_impl::~repetition_decoder_impl() + { + } + + int + repetition_decoder_impl::get_output_size() + { + //unpacked bits + return d_frame_size; + } + + int + repetition_decoder_impl::get_input_size() + { + return d_frame_size*d_rep; + } + + int + repetition_decoder_impl::get_input_item_size() + { + return sizeof(float); + } + + const char* + repetition_decoder_impl::get_input_conversion() + { + return "none"; + } + + float + repetition_decoder_impl::get_shift() + { + return 0; + } + + bool + repetition_decoder_impl::set_frame_size(unsigned int frame_size) + { + bool ret = true; + if(frame_size > d_max_frame_size) { + GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max possible is %2%") \ + % frame_size % d_max_frame_size); + frame_size = d_max_frame_size; + ret = false; + } + + d_frame_size = frame_size; + + return ret; + } + + double + repetition_decoder_impl::rate() + { + return 1.0/static_cast<double>(d_rep); + } + + void + repetition_decoder_impl::generic_work(void *inbuffer, void *outbuffer) + { + const float *in = (const float*)inbuffer; + int8_t *out = (int8_t*)outbuffer; + + for(unsigned int i = 0; i < d_frame_size; i++) { + for(unsigned int r = 0; r < d_rep; r++) { + d_trials[r] = (in[d_rep*i + r] > 0) ? 1.0f : 0.0f; + } + float res = std::count(d_trials.begin(), d_trials.end(), 1.0f); + if((res / static_cast<float>(d_rep)) > d_ap_prob) + out[i] = 1; + else + out[i] = 0; + } + } + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ diff --git a/gr-fec/lib/repetition_decoder_impl.h b/gr-fec/lib/repetition_decoder_impl.h new file mode 100644 index 0000000000..33fb174456 --- /dev/null +++ b/gr-fec/lib/repetition_decoder_impl.h @@ -0,0 +1,67 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_FEC_REPETITION_DECODER_IMPL_H +#define INCLUDED_FEC_REPETITION_DECODER_IMPL_H + +#include <vector> +#include <algorithm> +#include <string> +#include <gnuradio/fec/repetition_decoder.h> + +namespace gr { + namespace fec { + namespace code { + + class FEC_API repetition_decoder_impl : public repetition_decoder + { + private: + //plug into the generic fec api + void generic_work(void *inbuffer, void *outbuffer); + int get_output_size(); + int get_input_size(); + int get_input_item_size(); + float get_shift(); + const char* get_input_conversion(); + //const char* get_output_conversion(); + + unsigned int d_max_frame_size; + unsigned int d_frame_size; + unsigned int d_rep; + float d_ap_prob; + + std::vector<float> d_trials; + + public: + repetition_decoder_impl(int frame_size, int rep, + float ap_prob=0.5); + ~repetition_decoder_impl(); + + bool set_frame_size(unsigned int frame_size); + double rate(); + }; + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ + +#endif /* INCLUDED_FEC_REPETITION_DECODER_IMPL_H */ diff --git a/gr-fec/lib/repetition_encoder_impl.cc b/gr-fec/lib/repetition_encoder_impl.cc new file mode 100644 index 0000000000..a608ed652b --- /dev/null +++ b/gr-fec/lib/repetition_encoder_impl.cc @@ -0,0 +1,108 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "repetition_encoder_impl.h" +#include <gnuradio/fec/generic_encoder.h> +#include <volk/volk.h> +#include <sstream> + +namespace gr { + namespace fec { + namespace code { + + generic_encoder::sptr + repetition_encoder::make(int frame_size, int rep) + { + return generic_encoder::sptr + (new repetition_encoder_impl(frame_size, rep)); + } + + repetition_encoder_impl::repetition_encoder_impl(int frame_size, int rep) + : generic_encoder("repetition_encoder") + { + d_max_frame_size = frame_size; + set_frame_size(frame_size); + + if(rep < 0) + throw std::runtime_error("repetition_encoder: repetition rate must be >= 0"); + + d_rep = rep; + } + + repetition_encoder_impl::~repetition_encoder_impl() + { + } + + int + repetition_encoder_impl::get_output_size() + { + return d_frame_size*d_rep; + } + + int + repetition_encoder_impl::get_input_size() + { + return d_frame_size; + } + + bool + repetition_encoder_impl::set_frame_size(unsigned int frame_size) + { + bool ret = true; + if(frame_size > d_max_frame_size) { + GR_LOG_INFO(d_logger, boost::format("tried to set frame to %1%; max possible is %2%") \ + % frame_size % d_max_frame_size); + frame_size = d_max_frame_size; + ret = false; + } + + d_frame_size = frame_size; + + return ret; + } + + double + repetition_encoder_impl::rate() + { + return 1.0/static_cast<double>(d_rep); + } + + void + repetition_encoder_impl::generic_work(void *inbuffer, void *outbuffer) + { + const unsigned char *in = (const unsigned char*)inbuffer; + unsigned char *out = (unsigned char*)outbuffer; + + for(unsigned int i = 0; i < d_frame_size; i++) { + for(unsigned int r = 0; r < d_rep; r++) { + out[d_rep*i + r] = in[i]; + } + } + } + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ diff --git a/gr-fec/lib/repetition_encoder_impl.h b/gr-fec/lib/repetition_encoder_impl.h new file mode 100644 index 0000000000..4730110817 --- /dev/null +++ b/gr-fec/lib/repetition_encoder_impl.h @@ -0,0 +1,58 @@ +/* -*- c++ -*- */ +/* + * Copyright 2014 Free Software Foundation, Inc. + * + * This file is part of GNU Radio + * + * GNU Radio is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3, or (at your option) + * any later version. + * + * GNU Radio is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * +p * You should have received a copy of the GNU General Public License + * along with GNU Radio; see the file COPYING. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, + * Boston, MA 02110-1301, USA. + */ + +#ifndef INCLUDED_FEC_REPETITION_ENCODER_IMPL_H +#define INCLUDED_FEC_REPETITION_ENCODER_IMPL_H + +#include <map> +#include <string> +#include <gnuradio/fec/repetition_encoder.h> + +namespace gr { + namespace fec { + namespace code { + + class FEC_API repetition_encoder_impl : public repetition_encoder + { + private: + //plug into the generic fec api + void generic_work(void *inbuffer, void *outbuffer); + int get_output_size(); + int get_input_size(); + + unsigned int d_max_frame_size; + unsigned int d_frame_size; + unsigned int d_rep; + + public: + repetition_encoder_impl(int frame_size, int rep); + ~repetition_encoder_impl(); + + bool set_frame_size(unsigned int frame_size); + double rate(); + }; + + } /* namespace code */ + } /* namespace fec */ +} /* namespace gr */ + +#endif /* INCLUDED_FEC_REPETITION_ENCODER_IMPL_H */ diff --git a/gr-fec/python/fec/CMakeLists.txt b/gr-fec/python/fec/CMakeLists.txt index c8694f4084..2e435ba784 100644 --- a/gr-fec/python/fec/CMakeLists.txt +++ b/gr-fec/python/fec/CMakeLists.txt @@ -31,7 +31,6 @@ GR_PYTHON_INSTALL( threaded_decoder.py threaded_encoder.py fec_test.py - fec_raw_test.py bercurve_generator.py DESTINATION ${GR_PYTHON_DIR}/gnuradio/fec COMPONENT "fec_python" diff --git a/gr-fec/python/fec/__init__.py b/gr-fec/python/fec/__init__.py index 7600856563..96be81ce1c 100644 --- a/gr-fec/python/fec/__init__.py +++ b/gr-fec/python/fec/__init__.py @@ -41,5 +41,4 @@ from capillary_threaded_encoder import capillary_threaded_encoder from fec_test import fec_test -from fec_raw_test import fec_raw_test from bercurve_generator import bercurve_generator diff --git a/gr-fec/python/fec/bercurve_generator.py b/gr-fec/python/fec/bercurve_generator.py index 9b9aef28af..ee51493152 100644 --- a/gr-fec/python/fec/bercurve_generator.py +++ b/gr-fec/python/fec/bercurve_generator.py @@ -24,7 +24,6 @@ from gnuradio import gr, blocks import numpy from fec_test import fec_test -from fec_raw_test import fec_raw_test class bercurve_generator(gr.hier_block2): @@ -46,18 +45,13 @@ class bercurve_generator(gr.hier_block2): self.connect(self.random_gen_b_0, self.deinterleave) self.ber_generators = [] for i in range(0, len(esno)): - if(encoder_list is None): - ber_generator_temp = fec_raw_test( - esno=esno[i], - samp_rate=samp_rate) - else: - ber_generator_temp = fec_test( - generic_encoder=encoder_list[i], - generic_decoder=decoder_list[i], - esno=esno[i], - samp_rate=samp_rate, - threading=threading, - puncpat=puncpat) + ber_generator_temp = fec_test( + generic_encoder=encoder_list[i], + generic_decoder=decoder_list[i], + esno=esno[i], + samp_rate=samp_rate, + threading=threading, + puncpat=puncpat) self.ber_generators.append(ber_generator_temp); for i in range(0, len(esno)): diff --git a/gr-fec/python/fec/fec_raw_test.py b/gr-fec/python/fec/fec_raw_test.py deleted file mode 100644 index e06ff0b3ad..0000000000 --- a/gr-fec/python/fec/fec_raw_test.py +++ /dev/null @@ -1,91 +0,0 @@ -#!/usr/bin/env python -# -# Copyright 2014 Free Software Foundation, Inc. -# -# This file is part of GNU Radio -# -# GNU Radio is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 3, or (at your option) -# any later version. -# -# GNU Radio is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GNU Radio; see the file COPYING. If not, write to -# the Free Software Foundation, Inc., 51 Franklin Street, -# Boston, MA 02110-1301, USA. -# - -from gnuradio import gr, blocks, analog -import math - -class fec_raw_test(gr.hier_block2): - - def __init__(self, esno=0, samp_rate=3200000): - gr.hier_block2.__init__( - self, "fec_raw_test", - gr.io_signature(1, 1, gr.sizeof_char*1), - gr.io_signature(2, 2, gr.sizeof_char*1)) - - self.esno = esno - self.samp_rate = samp_rate - - self.gr_unpacked_to_packed_xx_0_0 = blocks.unpacked_to_packed_bb(1, gr.GR_LSB_FIRST) - self.gr_unpacked_to_packed_xx_0 = blocks.unpacked_to_packed_bb(1, gr.GR_LSB_FIRST) - self.char_to_float = blocks.char_to_float() - self.float_to_char = blocks.float_to_char() - self.gr_throttle_0 = blocks.throttle(gr.sizeof_char*1, samp_rate) - - noise = math.sqrt((10.0**(-esno/10.0))/2.0) - self.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise, 0, 8192) - self.gaussnoise_ff_0 = blocks.add_ff(1) - self.connect(self.fastnoise, (self.gaussnoise_ff_0,1)) - - self.connect((self.gr_unpacked_to_packed_xx_0_0, 0), (self, 0)) - self.connect((self.gr_unpacked_to_packed_xx_0, 0), (self, 1)) - self.connect((self.gr_throttle_0, 0), (self.gr_unpacked_to_packed_xx_0, 0)) - self.connect((self.gaussnoise_ff_0, 0), (self.float_to_char, 0)) - self.connect((self.float_to_char, 0), (self.gr_unpacked_to_packed_xx_0_0, 0)) - self.connect(self, (self.gr_throttle_0, 0)) - self.connect((self.gr_throttle_0, 0), (self.char_to_float, 0)) - self.connect((self.char_to_float, 0), (self.gaussnoise_ff_0, 0)) - - def get_generic_encoder(self): - return None - - def set_generic_encoder(self, generic_encoder): - pass - - def get_generic_decoder(self): - return None - - def set_generic_decoder(self, generic_decoder): - pass - - def get_esno(self): - return self.esno - - def set_esno(self, esno): - self.esno = esno - - def get_samp_rate(self): - return self.samp_rate - - def set_samp_rate(self, samp_rate): - self.samp_rate = samp_rate - - def get_threading(self): - return None - - def set_threading(self, threading): - pass - - def get_puncpat(self): - return None - - def set_puncpat(self, puncpat): - pass diff --git a/gr-fec/python/fec/fec_test.py b/gr-fec/python/fec/fec_test.py index b1bad94298..cacbb35f5e 100644 --- a/gr-fec/python/fec/fec_test.py +++ b/gr-fec/python/fec/fec_test.py @@ -21,7 +21,7 @@ # from gnuradio.fec.bitflip import read_bitlist -from gnuradio import gr, blocks, analog +from gnuradio import gr, blocks, analog, digital import math from extended_encoder import extended_encoder @@ -43,32 +43,41 @@ class fec_test(gr.hier_block2): self.threading = threading self.puncpat = puncpat - self.gr_unpacked_to_packed_xx_0_0 = blocks.unpacked_to_packed_bb(1, gr.GR_LSB_FIRST) - self.gr_unpacked_to_packed_xx_0 = blocks.unpacked_to_packed_bb(1, gr.GR_LSB_FIRST) - self.gr_throttle_0 = blocks.throttle(gr.sizeof_char*1, samp_rate) - self.encoder_interface_0 = extended_encoder(encoder_obj_list=generic_encoder, - threading='capillary', - puncpat=puncpat) + self.map_bb = digital.map_bb(([-1, 1])) + self.b2f = blocks.char_to_float(1, 1) + + self.unpack8 = blocks.unpack_k_bits_bb(8) + self.pack8 = blocks.pack_k_bits_bb(8) + + self.encoder = extended_encoder(encoder_obj_list=generic_encoder, + threading='capillary', + puncpat=puncpat) + + self.decoder = extended_decoder(decoder_obj_list=generic_decoder, + threading='capillary', + ann=None, puncpat=puncpat, + integration_period=10000, rotator=None) noise = math.sqrt((10.0**(-esno/10.0))/2.0) self.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise, 0, 8192) - self.gaussnoise_ff_0 = blocks.add_ff(1) - self.connect(self.fastnoise, (self.gaussnoise_ff_0,1)) - - self.decoder_interface_0 = extended_decoder(decoder_obj_list=generic_decoder, - threading='capillary', - ann=None, puncpat=puncpat, - integration_period=10000, rotator=None) - - self.connect((self.gr_unpacked_to_packed_xx_0_0, 0), (self, 0)) - self.connect((self.gr_unpacked_to_packed_xx_0, 0), (self, 1)) - self.connect((self.gr_throttle_0, 0), (self.gr_unpacked_to_packed_xx_0, 0)) - - self.connect((self.decoder_interface_0, 0), (self.gr_unpacked_to_packed_xx_0_0, 0)) - self.connect((self.gaussnoise_ff_0, 0), (self.decoder_interface_0, 0)) - self.connect(self, (self.gr_throttle_0, 0)) - self.connect((self.gr_throttle_0, 0), (self.encoder_interface_0, 0)) - self.connect((self.encoder_interface_0, 0), (self.gaussnoise_ff_0, 0)) + self.addnoise = blocks.add_ff(1) + + # Send packed input directly to the second output + self.copy_packed = blocks.copy(gr.sizeof_char) + self.connect(self, self.copy_packed) + self.connect(self.copy_packed, (self, 1)) + + # Unpack inputl encode, convert to +/-1, add noise, decode, repack + self.connect(self, self.unpack8) + self.connect(self.unpack8, self.encoder) + self.connect(self.encoder, self.map_bb) + self.connect(self.map_bb, self.b2f) + self.connect(self.b2f, (self.addnoise, 0)) + self.connect(self.fastnoise, (self.addnoise,1)) + self.connect(self.addnoise, self.decoder) + self.connect(self.decoder, self.pack8) + self.connect(self.pack8, (self, 0)) + def get_generic_encoder(self): return self.generic_encoder diff --git a/gr-fec/python/fec/threaded_encoder.py b/gr-fec/python/fec/threaded_encoder.py index 568aaa49fc..391baa5442 100644 --- a/gr-fec/python/fec/threaded_encoder.py +++ b/gr-fec/python/fec/threaded_encoder.py @@ -20,7 +20,7 @@ # Boston, MA 02110-1301, USA. # -from gnuradio import gr +from gnuradio import gr, blocks import fec_swig as fec class threaded_encoder(gr.hier_block2): diff --git a/gr-fec/swig/fec_swig.i b/gr-fec/swig/fec_swig.i index ae9b663ccf..54924a197e 100644 --- a/gr-fec/swig/fec_swig.i +++ b/gr-fec/swig/fec_swig.i @@ -46,6 +46,10 @@ #include "gnuradio/fec/cc_encoder.h" #include "gnuradio/fec/ccsds_decoder.h" #include "gnuradio/fec/ccsds_encoder.h" +#include "gnuradio/fec/dummy_decoder.h" +#include "gnuradio/fec/dummy_encoder.h" +#include "gnuradio/fec/repetition_decoder.h" +#include "gnuradio/fec/repetition_encoder.h" #include "gnuradio/fec/decode_ccsds_27_fb.h" #include "gnuradio/fec/encode_ccsds_27_bb.h" #include "gnuradio/fec/ber_bf.h" @@ -65,6 +69,10 @@ %include "gnuradio/fec/cc_encoder.h" %include "gnuradio/fec/ccsds_decoder.h" %include "gnuradio/fec/ccsds_encoder.h" +%include "gnuradio/fec/dummy_decoder.h" +%include "gnuradio/fec/dummy_encoder.h" +%include "gnuradio/fec/repetition_decoder.h" +%include "gnuradio/fec/repetition_encoder.h" %include "gnuradio/fec/decode_ccsds_27_fb.h" %include "gnuradio/fec/encode_ccsds_27_bb.h" %include "gnuradio/fec/ber_bf.h" |