diff options
author | Tom Rondeau <tom@trondeau.com> | 2014-05-13 14:33:18 -0400 |
---|---|---|
committer | Tom Rondeau <tom@trondeau.com> | 2014-05-17 17:45:15 -0400 |
commit | cf84d24e7792aefe8ae7b24536bde23d2ae00770 (patch) | |
tree | 0f9d168584df51354ceed8501798d922aeb2c0ee /gr-fec | |
parent | 683d10a5d15652fead69ff76213ae94c4bbb2ec2 (diff) |
fec: wip: mods for ber plotting. Now adding theoretical BPSK in AWGN curve.
Diffstat (limited to 'gr-fec')
28 files changed, 1847 insertions, 3124 deletions
diff --git a/gr-fec/doc/fec.dox b/gr-fec/doc/fec.dox index c8114eeedb..3f8850e589 100644 --- a/gr-fec/doc/fec.dox +++ b/gr-fec/doc/fec.dox @@ -21,4 +21,61 @@ by using: help(fec) \endcode + +\section fec_coding_vars Encoding/Decoding Variables + +\subsection fec_parallelism Parallelism + +The code variables in GNU Radio Companion have the ability to create +multiple encoder/decoder variables by selecting the level of +parallelism. It is up the encoder to understand how to handle the +parallelism. The following discussion explains the difference between +the two levels and how and when to use. Generally, normal applications +will just use a single level of parallelism. + +The GRC variable declarations for the different coders has a setting +for <i>Parallelism</i>, which can be either 1 or 2. If set to 1, then +the resulting variable is a list of coder blocks with the same +settings. If set to 2, then the resulting variable is a list of lists +of coder blocks. The code that accepts these variables must understand +how to handle the parallelism. Most applications would set this to 1. + +The standard fec.extended_encoder ("FEC Extended Encoder" in GRC) and +fec.exended_decoder ("FEC Extended Decoder" in GRC) can handle a +Parallelism of 1. They accept a list of coder variables as defined by +Dimension 1 and can multithread the application based on the +"Threading Type" setting: + +\li <b>None</b>: does no parallel threading of the coders. Even if +Dimension 1 is > 1, the encoder/decoder will ignore this setting and +only use the first object in the list. + +\li <b>Ordinary</b>: all "Dimension 1" number (N) of encoder/decoder +blocks will be used in parallel. The hier_block2 will block +deinterleave the packets into N streams (using +gr::blocks::deinterleave with a value of blocksize as the frame length +and no relative rate changes) and pass these to each of the N coders +to process the frames in parallel. The output of each coder is then +interleaved back together to make a single output stream. + +\li <b>Capillary</b>: all "Dimension 1" number (N) of encoder/decoder +blocks will be used in parallel, much like in the <b>Ordinary</b> +mode. In this mode, however, the frames get split up in a tree-like +fashion, where each branch launches 2 more branches. This means that N +must be a factor of 2 for this mode to work. It tends to handle the +load of the encoders/decoders better than the <b>Ordinary</b> mode. + +Note that the threading modes only work when using constant-length +frames. If using the coders in tagged stream mode where the frame +lengths may change, the <b>Ordinary</b> and <b>Capillary</b> modes are +not available. + +The GRC example "ber_curve_gen.grc" uses a Parallelism of 2. This +creates a list of lists of coders. The first dimension of the list +corresponds to the number of Es/N0 values being used in the BER +simulation. This allows the application to process all values of Es/N0 +simultaneously. Dimension 2 in this case allows the same concept of +parallelism discussed above with the <b>None</b>, <b>Ordinary</b>, and +<b>Capillary</b> models of threading. + */ diff --git a/gr-fec/examples/ber_curve_gen.grc b/gr-fec/examples/ber_curve_gen.grc index f4844fd139..dfc57b3bf4 100644 --- a/gr-fec/examples/ber_curve_gen.grc +++ b/gr-fec/examples/ber_curve_gen.grc @@ -1,6 +1,96 @@ <?xml version='1.0' encoding='ASCII'?> <flow_graph> - <timestamp>Mon May 12 21:57:30 2014</timestamp> + <timestamp>Tue May 13 14:23:51 2014</timestamp> + <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>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, 8, .5) </value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(13, 193)</value> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> <block> <key>variable</key> <param> @@ -113,15 +203,15 @@ <key>variable</key> <param> <key>id</key> - <value>esno_0</value> + <value>samp_rate_0</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> <key>value</key> - <value>numpy.arange(0, 8, .5) </value> + <value>35000000</value> </param> <param> <key>alias</key> @@ -129,7 +219,7 @@ </param> <param> <key>_coordinate</key> - <value>(13, 192)</value> + <value>(12, 99)</value> </param> <param> <key>_rotation</key> @@ -137,10 +227,10 @@ </param> </block> <block> - <key>variable</key> + <key>variable_dummy_decoder_def</key> <param> <key>id</key> - <value>samp_rate_0</value> + <value>dec_dummy</value> </param> <param> <key>_enabled</key> @@ -148,7 +238,23 @@ </param> <param> <key>value</key> - <value>35000000</value> + <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> @@ -156,7 +262,7 @@ </param> <param> <key>_coordinate</key> - <value>(12, 99)</value> + <value>(594, 604)</value> </param> <param> <key>_rotation</key> @@ -164,10 +270,10 @@ </param> </block> <block> - <key>variable</key> + <key>variable_dummy_encoder_def</key> <param> <key>id</key> - <value>esno_0</value> + <value>enc_dummy</value> </param> <param> <key>_enabled</key> @@ -175,7 +281,23 @@ </param> <param> <key>value</key> - <value>numpy.arange(0, 14, 0.5) </value> + <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> @@ -183,7 +305,7 @@ </param> <param> <key>_coordinate</key> - <value>(14, 283)</value> + <value>(592, 455)</value> </param> <param> <key>_rotation</key> @@ -191,235 +313,296 @@ </param> </block> <block> - <key>fec_bercurve_generator</key> + <key>variable_repetition_encoder_def</key> <param> <key>id</key> - <value>fec_bercurve_generator_0_0</value> + <value>enc_rep</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>esno</key> - <value>esno_0</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>samp_rate</key> - <value>samp_rate_0</value> + <key>ndim</key> + <value>2</value> </param> <param> - <key>encoder_list</key> - <value>enc_rep</value> + <key>dim1</key> + <value>len(esno_0)</value> </param> <param> - <key>decoder_list</key> - <value>dec_rep</value> + <key>dim2</key> + <value>1</value> </param> <param> - <key>puncpat</key> - <value>'11'</value> + <key>framebits</key> + <value>framebits</value> + </param> + <param> + <key>rep</key> + <value>3</value> </param> <param> <key>alias</key> <value></value> </param> <param> - <key>affinity</key> - <value></value> + <key>_coordinate</key> + <value>(301, 455)</value> </param> <param> - <key>minoutbuf</key> + <key>_rotation</key> <value>0</value> </param> + </block> + <block> + <key>variable_cc_encoder_def</key> <param> - <key>maxoutbuf</key> + <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>(481, 132)</value> + <value>(13, 451)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> - <bus_source>1</bus_source> </block> <block> - <key>fec_bercurve_generator</key> + <key>variable_cc_decoder_def</key> <param> <key>id</key> - <value>fec_bercurve_generator_0_0_0</value> + <value>dec_cc</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>esno</key> - <value>esno_0</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>samp_rate</key> - <value>samp_rate_0</value> + <key>ndim</key> + <value>2</value> </param> <param> - <key>encoder_list</key> - <value>enc_dummy</value> + <key>dim1</key> + <value>len(esno_0)</value> </param> <param> - <key>decoder_list</key> - <value>dec_dummy</value> + <key>dim2</key> + <value>1</value> </param> <param> - <key>puncpat</key> - <value>'11'</value> + <key>framebits</key> + <value>framebits</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_STREAMING</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> <key>_coordinate</key> - <value>(481, 9)</value> + <value>(15, 705)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> - <bus_source>1</bus_source> </block> <block> - <key>fec_bercurve_generator</key> + <key>variable_repetition_decoder_def</key> <param> <key>id</key> - <value>fec_bercurve_generator_0</value> + <value>dec_rep</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> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>encoder_list</key> - <value>enc_cc</value> + <key>ndim</key> + <value>2</value> </param> <param> - <key>decoder_list</key> - <value>dec_cc</value> + <key>dim1</key> + <value>len(esno_0)</value> </param> <param> - <key>puncpat</key> - <value>'11'</value> + <key>dim2</key> + <value>1</value> </param> <param> - <key>alias</key> - <value></value> + <key>framebits</key> + <value>framebits</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>(481, 260)</value> + <value>(301, 626)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> - <bus_source>1</bus_source> </block> <block> - <key>options</key> + <key>fec_bercurve_generator</key> <param> <key>id</key> - <value>ber_curve_gen</value> + <value>fec_bercurve_generator_0_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>title</key> - <value></value> + <key>esno</key> + <value>esno_0</value> </param> <param> - <key>author</key> - <value></value> + <key>samp_rate</key> + <value>samp_rate_0</value> </param> <param> - <key>description</key> - <value></value> + <key>encoder_list</key> + <value>enc_dummy</value> </param> <param> - <key>window_size</key> - <value>2000,2000</value> + <key>decoder_list</key> + <value>dec_dummy</value> </param> <param> - <key>generate_options</key> - <value>qt_gui</value> + <key>puncpat</key> + <value>'11'</value> </param> <param> - <key>category</key> - <value>Custom</value> + <key>threadtype</key> + <value>"capillary"</value> </param> <param> - <key>run_options</key> - <value>prompt</value> + <key>seed</key> + <value>-100</value> </param> <param> - <key>run</key> - <value>True</value> + <key>alias</key> + <value></value> </param> <param> - <key>max_nouts</key> - <value>0</value> + <key>affinity</key> + <value></value> </param> <param> - <key>realtime_scheduling</key> - <value></value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>alias</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(10, 10)</value> + <value>(481, 9)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> + <bus_source>1</bus_source> </block> <block> <key>qtgui_bercurve_sink</key> @@ -437,7 +620,7 @@ </param> <param> <key>berminerrors</key> - <value>10000000</value> + <value>1000</value> </param> <param> <key>berlimit</key> @@ -717,7 +900,7 @@ </param> <param> <key>_coordinate</key> - <value>(934, 58)</value> + <value>(925, 56)</value> </param> <param> <key>_rotation</key> @@ -726,662 +909,134 @@ <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> + <key>fec_bercurve_generator</key> <param> <key>id</key> - <value>enc_dummy</value> + <value>fec_bercurve_generator_0_0</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> + <key>esno</key> + <value>esno_0</value> </param> <param> - <key>_rotation</key> - <value>0</value> + <key>samp_rate</key> + <value>samp_rate_0</value> </param> - </block> - <block> - <key>variable_repetition_encoder_def</key> <param> - <key>id</key> + <key>encoder_list</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> + <key>decoder_list</key> + <value>dec_rep</value> </param> <param> - <key>dim2</key> - <value>1</value> + <key>puncpat</key> + <value>'11'</value> </param> <param> - <key>framebits</key> - <value>framebits</value> + <key>threadtype</key> + <value>"capillary"</value> </param> <param> - <key>rep</key> - <value>3</value> + <key>seed</key> + <value>-100</value> </param> <param> <key>alias</key> <value></value> </param> <param> - <key>_coordinate</key> - <value>(301, 455)</value> + <key>affinity</key> + <value></value> </param> <param> - <key>_rotation</key> + <key>minoutbuf</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> + <key>maxoutbuf</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> + <value>(481, 132)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> + <bus_source>1</bus_source> </block> <block> - <key>variable_cc_decoder_def</key> + <key>fec_bercurve_generator</key> <param> <key>id</key> - <value>dec_cc</value> + <value>fec_bercurve_generator_0</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> + <key>esno</key> + <value>esno_0</value> </param> <param> - <key>k</key> - <value>k</value> + <key>samp_rate</key> + <value>samp_rate_0</value> </param> <param> - <key>rate</key> - <value>rate</value> + <key>encoder_list</key> + <value>enc_cc</value> </param> <param> - <key>polys</key> - <value>polys</value> + <key>decoder_list</key> + <value>dec_cc</value> </param> <param> - <key>state_start</key> - <value>0</value> + <key>puncpat</key> + <value>'11'</value> </param> <param> - <key>state_end</key> - <value>-1</value> + <key>threadtype</key> + <value>"capillary"</value> </param> <param> - <key>mode</key> - <value>fec.CC_STREAMING</value> + <key>seed</key> + <value>-100</value> </param> <param> <key>alias</key> <value></value> </param> <param> - <key>_coordinate</key> - <value>(15, 705)</value> + <key>affinity</key> + <value></value> </param> <param> - <key>_rotation</key> + <key>minoutbuf</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> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(301, 626)</value> + <value>(481, 260)</value> </param> <param> <key>_rotation</key> <value>0</value> </param> + <bus_source>1</bus_source> </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> @@ -1577,492 +1232,402 @@ <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>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>0</source_key> <sink_key>32</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>33</source_key> + <source_key>1</source_key> <sink_key>33</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>34</source_key> + <source_key>2</source_key> <sink_key>34</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>35</source_key> + <source_key>3</source_key> <sink_key>35</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>36</source_key> + <source_key>4</source_key> <sink_key>36</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>37</source_key> + <source_key>5</source_key> <sink_key>37</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>38</source_key> + <source_key>6</source_key> <sink_key>38</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>39</source_key> + <source_key>7</source_key> <sink_key>39</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>40</source_key> + <source_key>8</source_key> <sink_key>40</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>41</source_key> + <source_key>9</source_key> <sink_key>41</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>42</source_key> + <source_key>10</source_key> <sink_key>42</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>43</source_key> + <source_key>11</source_key> <sink_key>43</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>44</source_key> + <source_key>12</source_key> <sink_key>44</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>45</source_key> + <source_key>13</source_key> <sink_key>45</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>46</source_key> + <source_key>14</source_key> <sink_key>46</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>47</source_key> + <source_key>15</source_key> <sink_key>47</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>48</source_key> + <source_key>16</source_key> <sink_key>48</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>49</source_key> + <source_key>17</source_key> <sink_key>49</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>50</source_key> + <source_key>18</source_key> <sink_key>50</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>51</source_key> + <source_key>19</source_key> <sink_key>51</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>52</source_key> + <source_key>20</source_key> <sink_key>52</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>53</source_key> + <source_key>21</source_key> <sink_key>53</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>54</source_key> + <source_key>22</source_key> <sink_key>54</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> - <source_key>55</source_key> + <source_key>23</source_key> <sink_key>55</sink_key> </connection> <connection> - <source_block_id>fec_bercurve_generator_0_0_0</source_block_id> + <source_block_id>fec_bercurve_generator_0_0</source_block_id> + <sink_block_id>qtgui_bercurve_sink_0</sink_block_id> + <source_key>24</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>25</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>26</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>27</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>28</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>29</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>30</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>31</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>56</source_key> - <sink_key>168</sink_key> + <source_key>32</source_key> + <sink_key>97</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> + <sink_key>64</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> + <sink_key>65</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> + <sink_key>66</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> + <sink_key>67</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> + <sink_key>68</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> + <sink_key>69</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> + <sink_key>70</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> + <sink_key>71</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> + <sink_key>72</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> + <sink_key>73</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> + <sink_key>74</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> + <sink_key>75</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> + <sink_key>76</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> + <sink_key>77</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> + <sink_key>78</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> + <sink_key>79</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> + <sink_key>80</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> + <sink_key>81</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> + <sink_key>82</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> + <sink_key>83</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> + <sink_key>84</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> + <sink_key>85</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> + <sink_key>86</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> + <sink_key>87</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> + <sink_key>88</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> + <sink_key>89</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> + <sink_key>90</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> + <sink_key>91</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> + <sink_key>92</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> + <sink_key>93</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> + <sink_key>94</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> + <sink_key>95</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> + <sink_key>98</sink_key> </connection> </flow_graph> diff --git a/gr-fec/examples/fecapi_decoders.grc b/gr-fec/examples/fecapi_decoders.grc index 5cb00ddf47..41692d38fb 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>Mon May 12 22:15:20 2014</timestamp> + <timestamp>Tue May 13 17:26:19 2014</timestamp> <block> <key>options</key> <param> @@ -454,18 +454,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_0_2_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> @@ -485,7 +489,7 @@ </param> <param> <key>_coordinate</key> - <value>(755, 730)</value> + <value>(942, 292)</value> </param> <param> <key>_rotation</key> @@ -493,22 +497,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_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> @@ -528,7 +528,7 @@ </param> <param> <key>_coordinate</key> - <value>(938, 731)</value> + <value>(749, 291)</value> </param> <param> <key>_rotation</key> @@ -536,46 +536,38 @@ </param> </block> <block> - <key>variable_repetition_encoder_def</key> + <key>blocks_unpack_k_bits_bb</key> <param> <key>id</key> - <value>enc_rep</value> + <value>blocks_unpack_k_bits_bb_0</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>4</value> + <key>k</key> + <value>8</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>rep</key> - <value>3</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>alias</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(1213, 880)</value> + <value>(119, 432)</value> </param> <param> <key>_rotation</key> @@ -583,50 +575,50 @@ </param> </block> <block> - <key>variable_repetition_decoder_def</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>dec_rep</value> + <value>fec_extended_encoder_1_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>"ok"</value> + <key>encoder_list</key> + <value>enc_dummy</value> </param> <param> - <key>ndim</key> - <value>1</value> + <key>threadtype</key> + <value>capillary</value> </param> <param> - <key>dim1</key> - <value>4</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>dim2</key> - <value>1</value> + <key>lentagname</key> + <value>None</value> </param> <param> - <key>framebits</key> - <value>frame_size*8</value> + <key>alias</key> + <value></value> </param> <param> - <key>rep</key> - <value>3</value> + <key>affinity</key> + <value></value> </param> <param> - <key>prob</key> - <value>0.5</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>alias</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(1213, 1022)</value> + <value>(440, 260)</value> </param> <param> <key>_rotation</key> @@ -634,42 +626,50 @@ </param> </block> <block> - <key>variable_dummy_decoder_def</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>dec_dummy</value> + <value>fec_extended_encoder_1_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>"ok"</value> + <key>encoder_list</key> + <value>enc_rep</value> </param> <param> - <key>ndim</key> - <value>1</value> + <key>threadtype</key> + <value>capillary</value> </param> <param> - <key>dim1</key> - <value>1</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>dim2</key> - <value>1</value> + <key>lentagname</key> + <value>None</value> </param> <param> - <key>framebits</key> - <value>frame_size*8</value> + <key>alias</key> + <value></value> </param> <param> - <key>alias</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>(947, 1007)</value> + <value>(443, 403)</value> </param> <param> <key>_rotation</key> @@ -677,42 +677,38 @@ </param> </block> <block> - <key>variable_dummy_encoder_def</key> + <key>digital_map_bb</key> <param> <key>id</key> - <value>enc_dummy</value> + <value>digital_map_bb_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> - <value>1</value> + <key>map</key> + <value>[-1, 1]</value> </param> <param> - <key>dim1</key> - <value>1</value> + <key>alias</key> + <value></value> </param> <param> - <key>dim2</key> - <value>1</value> + <key>affinity</key> + <value></value> </param> <param> - <key>framebits</key> - <value>frame_size*8</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>alias</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(949, 881)</value> + <value>(750, 434)</value> </param> <param> <key>_rotation</key> @@ -720,66 +716,42 @@ </param> </block> <block> - <key>variable_cc_decoder_def</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>dec_cc</value> + <value>blocks_char_to_float_0_2</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> - </param> - <param> - <key>framebits</key> - <value>frame_size*8</value> - </param> - <param> - <key>k</key> - <value>k</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>(384, 1069)</value> + <value>(943, 435)</value> </param> <param> <key>_rotation</key> @@ -787,54 +759,30 @@ </param> </block> <block> - <key>variable_cc_encoder_def</key> + <key>parameter</key> <param> <key>id</key> - <value>enc_cc</value> + <value>frame_size</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>k</key> - <value>k</value> - </param> - <param> - <key>rate</key> - <value>rate</value> + <key>label</key> + <value>Frame Size</value> </param> <param> - <key>polys</key> - <value>polys</value> + <key>value</key> + <value>30</value> </param> <param> - <key>state_start</key> - <value>0</value> + <key>type</key> + <value>intx</value> </param> <param> - <key>mode</key> - <value>fec.CC_STREAMING</value> + <key>short_id</key> + <value></value> </param> <param> <key>alias</key> @@ -842,7 +790,7 @@ </param> <param> <key>_coordinate</key> - <value>(383, 840)</value> + <value>(249, 7)</value> </param> <param> <key>_rotation</key> @@ -853,7 +801,7 @@ <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_char_to_float_0_2_0</value> + <value>blocks_char_to_float_0_0_0</value> </param> <param> <key>_enabled</key> @@ -885,7 +833,7 @@ </param> <param> <key>_coordinate</key> - <value>(942, 292)</value> + <value>(1466, 435)</value> </param> <param> <key>_rotation</key> @@ -893,18 +841,38 @@ </param> </block> <block> - <key>digital_map_bb</key> + <key>fec_extended_decoder</key> <param> <key>id</key> - <value>digital_map_bb_0_0_0_0</value> + <value>fec_extended_decoder_0_1</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>map</key> - <value>[-1, 1]</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>None</value> </param> <param> <key>alias</key> @@ -924,7 +892,7 @@ </param> <param> <key>_coordinate</key> - <value>(749, 291)</value> + <value>(1162, 393)</value> </param> <param> <key>_rotation</key> @@ -932,18 +900,22 @@ </param> </block> <block> - <key>blocks_unpack_k_bits_bb</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_unpack_k_bits_bb_0</value> + <value>blocks_char_to_float_0_0_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>k</key> - <value>8</value> + <key>vlen</key> + <value>1</value> + </param> + <param> + <key>scale</key> + <value>1</value> </param> <param> <key>alias</key> @@ -963,7 +935,7 @@ </param> <param> <key>_coordinate</key> - <value>(119, 432)</value> + <value>(1465, 292)</value> </param> <param> <key>_rotation</key> @@ -971,30 +943,22 @@ </param> </block> <block> - <key>fec_extended_encoder</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>fec_extended_encoder_1_0_0</value> + <value>blocks_char_to_float_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>encoder_list</key> - <value>enc_dummy</value> - </param> - <param> - <key>threadtype</key> - <value>capillary</value> - </param> - <param> - <key>puncpat</key> - <value>puncpat</value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>lentagname</key> - <value>None</value> + <key>scale</key> + <value>1</value> </param> <param> <key>alias</key> @@ -1014,7 +978,7 @@ </param> <param> <key>_coordinate</key> - <value>(440, 260)</value> + <value>(1465, 584)</value> </param> <param> <key>_rotation</key> @@ -1022,22 +986,30 @@ </param> </block> <block> - <key>fec_extended_encoder</key> + <key>fec_extended_decoder</key> <param> <key>id</key> - <value>fec_extended_encoder_1_0</value> + <value>fec_extended_decoder_0_1_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>encoder_list</key> - <value>enc_rep</value> + <key>value</key> + <value>fec_extended_decoder</value> + </param> + <param> + <key>decoder_list</key> + <value>dec_dummy</value> </param> <param> <key>threadtype</key> - <value>capillary</value> + <value>none</value> + </param> + <param> + <key>ann</key> + <value>None</value> </param> <param> <key>puncpat</key> @@ -1065,7 +1037,7 @@ </param> <param> <key>_coordinate</key> - <value>(443, 403)</value> + <value>(1161, 250)</value> </param> <param> <key>_rotation</key> @@ -1073,18 +1045,38 @@ </param> </block> <block> - <key>digital_map_bb</key> + <key>fec_extended_decoder</key> <param> <key>id</key> - <value>digital_map_bb_0_0_0</value> + <value>fec_extended_decoder_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>map</key> - <value>[-1, 1]</value> + <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> @@ -1104,7 +1096,7 @@ </param> <param> <key>_coordinate</key> - <value>(750, 434)</value> + <value>(1161, 542)</value> </param> <param> <key>_rotation</key> @@ -1115,7 +1107,7 @@ <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_char_to_float_0_2</value> + <value>blocks_char_to_float_0_1</value> </param> <param> <key>_enabled</key> @@ -1147,7 +1139,7 @@ </param> <param> <key>_coordinate</key> - <value>(943, 435)</value> + <value>(440, 184)</value> </param> <param> <key>_rotation</key> @@ -1155,38 +1147,50 @@ </param> </block> <block> - <key>parameter</key> + <key>blocks_delay</key> <param> <key>id</key> - <value>frame_size</value> + <value>blocks_delay_0</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> - <key>label</key> - <value>Frame Size</value> + <key>type</key> + <value>float</value> </param> <param> - <key>value</key> - <value>30</value> + <key>delay</key> + <value>32</value> </param> <param> - <key>type</key> - <value>intx</value> + <key>num_ports</key> + <value>1</value> </param> <param> - <key>short_id</key> - <value></value> + <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>(249, 7)</value> + <value>(695, 184)</value> </param> <param> <key>_rotation</key> @@ -1194,26 +1198,30 @@ </param> </block> <block> - <key>blocks_delay</key> + <key>blocks_vector_source_x</key> <param> <key>id</key> - <value>blocks_delay_0_0</value> + <value>blocks_vector_source_x_0_1_0</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> <key>type</key> - <value>float</value> + <value>byte</value> </param> <param> - <key>delay</key> - <value>32</value> + <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>num_ports</key> - <value>1</value> + <key>tags</key> + <value>[]</value> + </param> + <param> + <key>repeat</key> + <value>True</value> </param> <param> <key>vlen</key> @@ -1237,50 +1245,58 @@ </param> <param> <key>_coordinate</key> - <value>(1698, 899)</value> + <value>(59, 200)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> - <key>blocks_char_to_float</key> + <key>variable_ccsds_encoder_def</key> <param> <key>id</key> - <value>blocks_char_to_float_1_0</value> + <value>enc_ccsds</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>vlen</key> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> <value>1</value> </param> <param> - <key>scale</key> + <key>dim1</key> <value>1</value> </param> <param> - <key>alias</key> - <value></value> + <key>dim2</key> + <value>4</value> </param> <param> - <key>affinity</key> - <value></value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>minoutbuf</key> + <key>state_start</key> <value>0</value> </param> <param> - <key>maxoutbuf</key> - <value>0</value> + <key>mode</key> + <value>fec.CC_STREAMING</value> + </param> + <param> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(1466, 731)</value> + <value>(379, 841)</value> </param> <param> <key>_rotation</key> @@ -1288,42 +1304,66 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>variable_cc_decoder_def</key> <param> <key>id</key> - <value>blocks_char_to_float_0_0_0</value> + <value>dec_cc</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>vlen</key> + <key>value</key> + <value>"ok"</value> + </param> + <param> + <key>ndim</key> <value>1</value> </param> <param> - <key>scale</key> + <key>dim1</key> <value>1</value> </param> <param> - <key>alias</key> - <value></value> + <key>dim2</key> + <value>4</value> </param> <param> - <key>affinity</key> - <value></value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>minoutbuf</key> - <value>0</value> + <key>k</key> + <value>k</value> </param> <param> - <key>maxoutbuf</key> + <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>(1466, 435)</value> + <value>(379, 1010)</value> </param> <param> <key>_rotation</key> @@ -1331,10 +1371,10 @@ </param> </block> <block> - <key>fec_extended_decoder</key> + <key>variable_repetition_encoder_def</key> <param> <key>id</key> - <value>fec_extended_decoder_0_1</value> + <value>enc_rep</value> </param> <param> <key>_enabled</key> @@ -1342,47 +1382,86 @@ </param> <param> <key>value</key> - <value>fec_extended_decoder</value> + <value>"ok"</value> </param> <param> - <key>decoder_list</key> - <value>dec_rep</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> + <key>_coordinate</key> + <value>(936, 841)</value> </param> <param> - <key>minoutbuf</key> + <key>_rotation</key> <value>0</value> </param> + </block> + <block> + <key>variable_repetition_decoder_def</key> <param> - <key>maxoutbuf</key> - <value>0</value> + <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>1</value> + </param> + <param> + <key>dim1</key> + <value>4</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>prob</key> + <value>0.5</value> + </param> + <param> + <key>alias</key> + <value></value> </param> <param> <key>_coordinate</key> - <value>(1162, 393)</value> + <value>(936, 983)</value> </param> <param> <key>_rotation</key> @@ -1390,42 +1469,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_0_0_0_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>(1465, 292)</value> + <value>(670, 968)</value> </param> <param> <key>_rotation</key> @@ -1433,42 +1512,42 @@ </param> </block> <block> - <key>blocks_char_to_float</key> + <key>variable_dummy_encoder_def</key> <param> <key>id</key> - <value>blocks_char_to_float_0_0</value> + <value>enc_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>(1465, 584)</value> + <value>(672, 842)</value> </param> <param> <key>_rotation</key> @@ -1476,30 +1555,22 @@ </param> </block> <block> - <key>fec_extended_decoder</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>fec_extended_decoder_0_1_0</value> + <value>fec_extended_encoder_1</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_dummy</value> + <key>encoder_list</key> + <value>enc_ccsds</value> </param> <param> <key>threadtype</key> - <value>none</value> - </param> - <param> - <key>ann</key> - <value>None</value> + <value>capillary</value> </param> <param> <key>puncpat</key> @@ -1527,7 +1598,7 @@ </param> <param> <key>_coordinate</key> - <value>(1161, 250)</value> + <value>(441, 552)</value> </param> <param> <key>_rotation</key> @@ -1574,7 +1645,7 @@ </param> <param> <key>nconnections</key> - <value>5</value> + <value>4</value> </param> <param> <key>update_time</key> @@ -1869,481 +1940,6 @@ <value>0</value> </param> </block> - <block> - <key>fec_extended_encoder</key> - <param> - <key>id</key> - <value>fec_extended_encoder_1</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>(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>(1161, 542)</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_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>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>float</value> - </param> - <param> - <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>(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> @@ -2364,12 +1960,6 @@ </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> - <connection> - <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> @@ -2405,24 +1995,6 @@ <sink_key>0</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_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>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> @@ -2501,30 +2073,12 @@ <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> <connection> - <source_block_id>blocks_char_to_float_1_0</source_block_id> - <sink_block_id>blocks_delay_0_0</sink_block_id> - <source_key>0</source_key> - <sink_key>0</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_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> diff --git a/gr-fec/examples/fecapi_tagged_decoders.grc b/gr-fec/examples/fecapi_tagged_decoders.grc index 91053cbd47..977970985b 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>Mon May 12 22:12:23 2014</timestamp> + <timestamp>Tue May 13 16:28:59 2014</timestamp> <block> <key>options</key> <param> @@ -68,7 +68,7 @@ <key>variable</key> <param> <key>id</key> - <value>k</value> + <value>samp_rate</value> </param> <param> <key>_enabled</key> @@ -76,7 +76,7 @@ </param> <param> <key>value</key> - <value>7</value> + <value>50000</value> </param> <param> <key>alias</key> @@ -84,7 +84,7 @@ </param> <param> <key>_coordinate</key> - <value>(384, 683)</value> + <value>(9, 95)</value> </param> <param> <key>_rotation</key> @@ -95,7 +95,7 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>length_tag</value> </param> <param> <key>_enabled</key> @@ -103,7 +103,7 @@ </param> <param> <key>value</key> - <value>[109, 79]</value> + <value>"packet_len"</value> </param> <param> <key>alias</key> @@ -111,7 +111,7 @@ </param> <param> <key>_coordinate</key> - <value>(301, 768)</value> + <value>(202, 112)</value> </param> <param> <key>_rotation</key> @@ -122,15 +122,15 @@ <key>variable</key> <param> <key>id</key> - <value>polys</value> + <value>k</value> </param> <param> <key>_enabled</key> - <value>False</value> + <value>True</value> </param> <param> <key>value</key> - <value>[79, 109]</value> + <value>7</value> </param> <param> <key>alias</key> @@ -138,7 +138,7 @@ </param> <param> <key>_coordinate</key> - <value>(443, 765)</value> + <value>(352, 1017)</value> </param> <param> <key>_rotation</key> @@ -149,7 +149,7 @@ <key>variable</key> <param> <key>id</key> - <value>rate</value> + <value>polys</value> </param> <param> <key>_enabled</key> @@ -157,7 +157,7 @@ </param> <param> <key>value</key> - <value>2</value> + <value>[109, 79]</value> </param> <param> <key>alias</key> @@ -165,7 +165,7 @@ </param> <param> <key>_coordinate</key> - <value>(485, 680)</value> + <value>(269, 1102)</value> </param> <param> <key>_rotation</key> @@ -176,15 +176,15 @@ <key>variable</key> <param> <key>id</key> - <value>length_tag</value> + <value>polys</value> </param> <param> <key>_enabled</key> - <value>True</value> + <value>False</value> </param> <param> <key>value</key> - <value>"packet_len"</value> + <value>[79, 109]</value> </param> <param> <key>alias</key> @@ -192,7 +192,7 @@ </param> <param> <key>_coordinate</key> - <value>(202, 112)</value> + <value>(411, 1099)</value> </param> <param> <key>_rotation</key> @@ -203,7 +203,7 @@ <key>variable</key> <param> <key>id</key> - <value>samp_rate</value> + <value>rate</value> </param> <param> <key>_enabled</key> @@ -211,7 +211,7 @@ </param> <param> <key>value</key> - <value>50000</value> + <value>2</value> </param> <param> <key>alias</key> @@ -219,7 +219,7 @@ </param> <param> <key>_coordinate</key> - <value>(9, 95)</value> + <value>(453, 1014)</value> </param> <param> <key>_rotation</key> @@ -372,50 +372,26 @@ </param> </block> <block> - <key>blocks_stream_to_tagged_stream</key> + <key>blocks_ctrlport_monitor_performance</key> <param> <key>id</key> - <value>blocks_stream_to_tagged_stream_0_0</value> + <value>blocks_ctrlport_monitor_performance_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> + <value>False</value> </param> <param> - <key>len_tag_key</key> - <value>length_tag</value> + <key>en</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>(595, 331)</value> + <value>(651, 15)</value> </param> <param> <key>_rotation</key> @@ -423,73 +399,30 @@ </param> </block> <block> - <key>analog_random_source_x</key> + <key>parameter</key> <param> <key>id</key> - <value>analog_random_source_x_0</value> + <value>puncpat</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> + <key>label</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> + <key>value</key> + <value>'11'</value> </param> <param> - <key>_enabled</key> - <value>False</value> + <key>type</key> + <value>string</value> </param> <param> - <key>en</key> - <value>True</value> + <key>short_id</key> + <value></value> </param> <param> <key>alias</key> @@ -497,7 +430,7 @@ </param> <param> <key>_coordinate</key> - <value>(651, 15)</value> + <value>(248, 9)</value> </param> <param> <key>_rotation</key> @@ -508,7 +441,7 @@ <key>parameter</key> <param> <key>id</key> - <value>puncpat</value> + <value>frame_size</value> </param> <param> <key>_enabled</key> @@ -516,15 +449,15 @@ </param> <param> <key>label</key> - <value></value> + <value>Frame Size</value> </param> <param> <key>value</key> - <value>'11'</value> + <value>30</value> </param> <param> <key>type</key> - <value>string</value> + <value>intx</value> </param> <param> <key>short_id</key> @@ -536,7 +469,7 @@ </param> <param> <key>_coordinate</key> - <value>(248, 9)</value> + <value>(484, 10)</value> </param> <param> <key>_rotation</key> @@ -547,7 +480,7 @@ <key>parameter</key> <param> <key>id</key> - <value>frame_size</value> + <value>MTU</value> </param> <param> <key>_enabled</key> @@ -555,11 +488,11 @@ </param> <param> <key>label</key> - <value>Frame Size</value> + <value>MTU</value> </param> <param> <key>value</key> - <value>30</value> + <value>1000</value> </param> <param> <key>type</key> @@ -575,7 +508,7 @@ </param> <param> <key>_coordinate</key> - <value>(484, 10)</value> + <value>(365, 9)</value> </param> <param> <key>_rotation</key> @@ -583,29 +516,29 @@ </param> </block> <block> - <key>fec_extended_encoder</key> + <key>blocks_stream_to_tagged_stream</key> <param> <key>id</key> - <value>fec_extended_encoder_0</value> + <value>blocks_stream_to_tagged_stream_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>encoder_list</key> - <value>enc_rep</value> + <key>type</key> + <value>byte</value> </param> <param> - <key>threadtype</key> - <value>none</value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>puncpat</key> - <value>puncpat</value> + <key>packet_len</key> + <value>frame_size*8</value> </param> <param> - <key>lentagname</key> + <key>len_tag_key</key> <value>length_tag</value> </param> <param> @@ -626,7 +559,7 @@ </param> <param> <key>_coordinate</key> - <value>(138, 474)</value> + <value>(595, 331)</value> </param> <param> <key>_rotation</key> @@ -634,57 +567,34 @@ </param> </block> <block> - <key>parameter</key> + <key>analog_random_source_x</key> <param> <key>id</key> - <value>MTU</value> + <value>analog_random_source_x_0</value> </param> <param> <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>label</key> - <value>MTU</value> - </param> - <param> - <key>value</key> - <value>1000</value> + <value>False</value> </param> <param> <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>(365, 9)</value> + <value>byte</value> </param> <param> - <key>_rotation</key> + <key>min</key> <value>0</value> </param> - </block> - <block> - <key>digital_map_bb</key> <param> - <key>id</key> - <value>digital_map_bb_0</value> + <key>max</key> + <value>256</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>num_samps</key> + <value>1000</value> </param> <param> - <key>map</key> - <value>[-1, 1]</value> + <key>repeat</key> + <value>True</value> </param> <param> <key>alias</key> @@ -704,18 +614,18 @@ </param> <param> <key>_coordinate</key> - <value>(493, 506)</value> + <value>(387, 203)</value> </param> <param> <key>_rotation</key> - <value>0</value> + <value>180</value> </param> </block> <block> <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_char_to_float_1</value> + <value>blocks_char_to_float_1_0</value> </param> <param> <key>_enabled</key> @@ -747,7 +657,7 @@ </param> <param> <key>_coordinate</key> - <value>(678, 506)</value> + <value>(1242, 536)</value> </param> <param> <key>_rotation</key> @@ -758,7 +668,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</value> </param> <param> <key>_enabled</key> @@ -790,7 +700,7 @@ </param> <param> <key>_coordinate</key> - <value>(1242, 506)</value> + <value>(678, 536)</value> </param> <param> <key>_rotation</key> @@ -798,38 +708,18 @@ </param> </block> <block> - <key>fec_extended_decoder</key> + <key>digital_map_bb</key> <param> <key>id</key> - <value>fec_extended_decoder_0_0</value> + <value>digital_map_bb_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_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> + <key>map</key> + <value>[-1, 1]</value> </param> <param> <key>alias</key> @@ -849,7 +739,7 @@ </param> <param> <key>_coordinate</key> - <value>(900, 464)</value> + <value>(493, 536)</value> </param> <param> <key>_rotation</key> @@ -857,334 +747,332 @@ </param> </block> <block> - <key>qtgui_time_sink_x</key> + <key>blocks_char_to_float</key> <param> <key>id</key> - <value>qtgui_time_sink_x_0</value> + <value>blocks_char_to_float_1_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>type</key> - <value>float</value> + <key>vlen</key> + <value>1</value> </param> <param> - <key>name</key> - <value>QT GUI Plot</value> + <key>scale</key> + <value>1</value> </param> <param> - <key>size</key> - <value>2048</value> + <key>alias</key> + <value></value> </param> <param> - <key>srate</key> - <value>samp_rate</value> + <key>affinity</key> + <value></value> </param> <param> - <key>autoscale</key> - <value>False</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>ymin</key> - <value>-0.5</value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> - <key>ymax</key> - <value>1.5</value> + <key>_coordinate</key> + <value>(1231, 689)</value> </param> <param> - <key>nconnections</key> - <value>1</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>fec_extended_decoder</key> <param> - <key>update_time</key> - <value>0.10</value> + <key>id</key> + <value>fec_extended_decoder_0_0_0</value> </param> <param> - <key>entags</key> + <key>_enabled</key> <value>True</value> </param> <param> - <key>gui_hint</key> - <value></value> + <key>value</key> + <value>fec_extended_decoder</value> </param> <param> - <key>tr_mode</key> - <value>qtgui.TRIG_MODE_FREE</value> + <key>decoder_list</key> + <value>dec_cc</value> </param> <param> - <key>tr_slope</key> - <value>qtgui.TRIG_SLOPE_POS</value> + <key>threadtype</key> + <value>none</value> </param> <param> - <key>tr_level</key> - <value>0.0</value> + <key>ann</key> + <value>None</value> </param> <param> - <key>tr_delay</key> - <value>0</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>tr_chan</key> - <value>0</value> + <key>lentagname</key> + <value>length_tag</value> </param> <param> - <key>tr_tag</key> - <value>""</value> + <key>alias</key> + <value></value> </param> <param> - <key>label1</key> - <value>Input</value> + <key>affinity</key> + <value></value> </param> <param> - <key>width1</key> - <value>1</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>color1</key> - <value>"blue"</value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> - <key>style1</key> - <value>1</value> + <key>_coordinate</key> + <value>(899, 647)</value> </param> <param> - <key>marker1</key> - <value>-1</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>blocks_char_to_float</key> <param> - <key>alpha1</key> - <value>1.0</value> + <key>id</key> + <value>blocks_char_to_float_1_1</value> </param> <param> - <key>label2</key> - <value>CC</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>width2</key> + <key>vlen</key> <value>1</value> </param> <param> - <key>color2</key> - <value>"red"</value> - </param> - <param> - <key>style2</key> + <key>scale</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> + <key>alias</key> <value></value> </param> <param> - <key>width3</key> - <value>1</value> + <key>affinity</key> + <value></value> </param> <param> - <key>color3</key> - <value>"green"</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>style3</key> - <value>1</value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> - <key>marker3</key> - <value>-1</value> + <key>_coordinate</key> + <value>(685, 689)</value> </param> <param> - <key>alpha3</key> - <value>1.0</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>digital_map_bb</key> <param> - <key>label4</key> - <value></value> + <key>id</key> + <value>digital_map_bb_0_0</value> </param> <param> - <key>width4</key> - <value>1</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>color4</key> - <value>"black"</value> + <key>map</key> + <value>[-1, 1]</value> </param> <param> - <key>style4</key> - <value>1</value> + <key>alias</key> + <value></value> </param> <param> - <key>marker4</key> - <value>-1</value> + <key>affinity</key> + <value></value> </param> <param> - <key>alpha4</key> - <value>1.0</value> + <key>minoutbuf</key> + <value>0</value> </param> <param> - <key>label5</key> - <value></value> + <key>maxoutbuf</key> + <value>0</value> </param> <param> - <key>width5</key> - <value>1</value> + <key>_coordinate</key> + <value>(502, 689)</value> </param> <param> - <key>color5</key> - <value>"cyan"</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>variable_ccsds_encoder_def</key> <param> - <key>style5</key> - <value>1</value> + <key>id</key> + <value>enc_ccsds</value> </param> <param> - <key>marker5</key> - <value>-1</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>alpha5</key> - <value>1.0</value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>label6</key> - <value></value> + <key>ndim</key> + <value>1</value> </param> <param> - <key>width6</key> + <key>dim1</key> <value>1</value> </param> <param> - <key>color6</key> - <value>"magenta"</value> + <key>dim2</key> + <value>4</value> </param> <param> - <key>style6</key> - <value>1</value> + <key>framebits</key> + <value>frame_size*8</value> </param> <param> - <key>marker6</key> - <value>-1</value> + <key>state_start</key> + <value>0</value> </param> <param> - <key>alpha6</key> - <value>1.0</value> + <key>mode</key> + <value>fec.CC_STREAMING</value> </param> <param> - <key>label7</key> + <key>alias</key> <value></value> </param> <param> - <key>width7</key> - <value>1</value> - </param> - <param> - <key>color7</key> - <value>"yellow"</value> + <key>_coordinate</key> + <value>(1172, 822)</value> </param> <param> - <key>style7</key> - <value>1</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>variable_repetition_encoder_def</key> <param> - <key>marker7</key> - <value>-1</value> + <key>id</key> + <value>enc_rep</value> </param> <param> - <key>alpha7</key> - <value>1.0</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>label8</key> - <value></value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>width8</key> + <key>ndim</key> <value>1</value> </param> <param> - <key>color8</key> - <value>"dark red"</value> + <key>dim1</key> + <value>1</value> </param> <param> - <key>style8</key> + <key>dim2</key> <value>1</value> </param> <param> - <key>marker8</key> - <value>-1</value> + <key>framebits</key> + <value>MTU*8</value> </param> <param> - <key>alpha8</key> - <value>1.0</value> + <key>rep</key> + <value>3</value> </param> <param> - <key>label9</key> + <key>alias</key> <value></value> </param> <param> - <key>width9</key> - <value>1</value> - </param> - <param> - <key>color9</key> - <value>"dark green"</value> + <key>_coordinate</key> + <value>(874, 869)</value> </param> <param> - <key>style9</key> - <value>1</value> + <key>_rotation</key> + <value>0</value> </param> + </block> + <block> + <key>variable_repetition_decoder_def</key> <param> - <key>marker9</key> - <value>-1</value> + <key>id</key> + <value>dec_rep</value> </param> <param> - <key>alpha9</key> - <value>1.0</value> + <key>_enabled</key> + <value>True</value> </param> <param> - <key>label10</key> - <value></value> + <key>value</key> + <value>"ok"</value> </param> <param> - <key>width10</key> + <key>ndim</key> <value>1</value> </param> <param> - <key>color10</key> - <value>"blue"</value> + <key>dim1</key> + <value>1</value> </param> <param> - <key>style10</key> + <key>dim2</key> <value>1</value> </param> <param> - <key>marker10</key> - <value>-1</value> + <key>framebits</key> + <value>MTU*8</value> </param> <param> - <key>alpha10</key> - <value>1.0</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>_coordinate</key> - <value>(1475, 452)</value> + <value>(874, 1011)</value> </param> <param> <key>_rotation</key> @@ -1192,10 +1080,10 @@ </param> </block> <block> - <key>variable_cc_decoder_def</key> + <key>variable_ccsds_decoder_def</key> <param> <key>id</key> - <value>dec_cc</value> + <value>dec_ccsds</value> </param> <param> <key>_enabled</key> @@ -1211,7 +1099,7 @@ </param> <param> <key>dim1</key> - <value>2</value> + <value>1</value> </param> <param> <key>dim2</key> @@ -1219,31 +1107,19 @@ </param> <param> <key>framebits</key> - <value>MTU*8</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> + <value>frame_size*8</value> </param> <param> <key>state_start</key> <value>0</value> </param> <param> - <key>state_end</key> + <key>end_state</key> <value>-1</value> </param> <param> <key>mode</key> - <value>fec.CC_TERMINATED</value> + <value>fec.CC_STREAMING</value> </param> <param> <key>alias</key> @@ -1251,7 +1127,7 @@ </param> <param> <key>_coordinate</key> - <value>(882, 676)</value> + <value>(1171, 988)</value> </param> <param> <key>_rotation</key> @@ -1278,7 +1154,7 @@ </param> <param> <key>dim1</key> - <value>4</value> + <value>1</value> </param> <param> <key>dim2</key> @@ -1306,7 +1182,7 @@ </param> <param> <key>mode</key> - <value>fec.CC_TERMINATED</value> + <value>fec.CC_STREAMING</value> </param> <param> <key>alias</key> @@ -1314,7 +1190,7 @@ </param> <param> <key>_coordinate</key> - <value>(581, 684)</value> + <value>(567, 843)</value> </param> <param> <key>_rotation</key> @@ -1322,10 +1198,10 @@ </param> </block> <block> - <key>variable_repetition_decoder_def</key> + <key>variable_cc_decoder_def</key> <param> <key>id</key> - <value>dec_rep</value> + <value>dec_cc</value> </param> <param> <key>_enabled</key> @@ -1345,19 +1221,35 @@ </param> <param> <key>dim2</key> - <value>1</value> + <value>4</value> </param> <param> <key>framebits</key> <value>MTU*8</value> </param> <param> - <key>rep</key> - <value>3</value> + <key>k</key> + <value>k</value> </param> <param> - <key>prob</key> - <value>0.5</value> + <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> @@ -1365,7 +1257,7 @@ </param> <param> <key>_coordinate</key> - <value>(1215, 765)</value> + <value>(563, 1076)</value> </param> <param> <key>_rotation</key> @@ -1373,46 +1265,50 @@ </param> </block> <block> - <key>variable_repetition_encoder_def</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>enc_rep</value> + <value>fec_extended_encoder_0_0</value> </param> <param> <key>_enabled</key> <value>True</value> </param> <param> - <key>value</key> - <value>"ok"</value> + <key>encoder_list</key> + <value>enc_cc</value> </param> <param> - <key>ndim</key> - <value>1</value> + <key>threadtype</key> + <value>none</value> </param> <param> - <key>dim1</key> - <value>1</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>dim2</key> - <value>1</value> + <key>lentagname</key> + <value>length_tag</value> </param> <param> - <key>framebits</key> - <value>MTU*8</value> + <key>alias</key> + <value></value> </param> <param> - <key>rep</key> - <value>3</value> + <key>affinity</key> + <value></value> </param> <param> - <key>alias</key> - <value></value> + <key>minoutbuf</key> + <value>0</value> + </param> + <param> + <key>maxoutbuf</key> + <value>0</value> </param> <param> <key>_coordinate</key> - <value>(1215, 623)</value> + <value>(138, 658)</value> </param> <param> <key>_rotation</key> @@ -1420,22 +1316,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_1</value> + <value>fec_extended_decoder_0_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_ccsds</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> @@ -1455,7 +1367,7 @@ </param> <param> <key>_coordinate</key> - <value>(1540, 340)</value> + <value>(900, 494)</value> </param> <param> <key>_rotation</key> @@ -1466,7 +1378,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> @@ -1502,7 +1414,7 @@ </param> <param> <key>nconnections</key> - <value>1</value> + <value>2</value> </param> <param> <key>update_time</key> @@ -1542,7 +1454,7 @@ </param> <param> <key>label1</key> - <value>Input</value> + <value></value> </param> <param> <key>width1</key> @@ -1566,7 +1478,7 @@ </param> <param> <key>label2</key> - <value>CC</value> + <value></value> </param> <param> <key>width2</key> @@ -1790,7 +1702,58 @@ </param> <param> <key>_coordinate</key> - <value>(1812, 287)</value> + <value>(1478, 577)</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_ccsds</value> + </param> + <param> + <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>(138, 505)</value> </param> <param> <key>_rotation</key> @@ -1810,44 +1773,44 @@ <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_block_id>blocks_stream_to_tagged_stream_0_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_char_to_float_1</source_block_id> - <sink_block_id>fec_extended_decoder_0_0</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>fec_extended_decoder_0_0</source_block_id> - <sink_block_id>blocks_char_to_float_1_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>fec_extended_encoder_0</source_block_id> - <sink_block_id>digital_map_bb_0</sink_block_id> + <source_block_id>fec_extended_decoder_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</sink_block_id> + <source_block_id>blocks_char_to_float_1_1</source_block_id> + <sink_block_id>fec_extended_decoder_0_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>fec_extended_encoder_0_0</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_throttle_0</source_block_id> - <sink_block_id>blocks_unpack_k_bits_bb_0_0</sink_block_id> + <source_block_id>blocks_stream_to_tagged_stream_0_0</source_block_id> + <sink_block_id>fec_extended_encoder_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> @@ -1858,8 +1821,38 @@ <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_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>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_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>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_char_to_float_1_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>digital_map_bb_0_0</source_block_id> + <sink_block_id>blocks_char_to_float_1_1</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 649df7d007..0af3d84b03 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>Mon May 12 15:18:11 2014</timestamp> + <timestamp>Tue May 13 16:20:56 2014</timestamp> <block> <key>options</key> <param> @@ -556,10 +556,421 @@ </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>(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> + </param> + <param> + <key>_rotation</key> + <value>0</value> + </param> + </block> + <block> + <key>parameter</key> + <param> + <key>id</key> + <value>frame_size</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>label</key> + <value>Frame Size</value> + </param> + <param> + <key>value</key> + <value>30</value> + </param> + <param> + <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>(483, 10)</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>(158, 515)</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> + <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>1</value> + </param> + <param> + <key>dim1</key> + <value>2</value> + </param> + <param> + <key>dim2</key> + <value>1</value> + </param> + <param> + <key>framebits</key> + <value>MTU*8</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_TERMINATED</value> + </param> + <param> + <key>alias</key> + <value></value> + </param> + <param> + <key>_coordinate</key> + <value>(618, 691)</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>(909, 693)</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</value> + </param> + <param> + <key>_enabled</key> + <value>True</value> + </param> + <param> + <key>encoder_list</key> + <value>enc_ccsds</value> + </param> + <param> + <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>(542, 364)</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</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>(881, 395)</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_0_0</value> + <value>qtgui_time_sink_x_0_0</value> </param> <param> <key>_enabled</key> @@ -883,7 +1294,7 @@ </param> <param> <key>_coordinate</key> - <value>(1106, 494)</value> + <value>(1112, 364)</value> </param> <param> <key>_rotation</key> @@ -894,7 +1305,7 @@ <key>blocks_char_to_float</key> <param> <key>id</key> - <value>blocks_char_to_float_1</value> + <value>blocks_char_to_float_1_0_0</value> </param> <param> <key>_enabled</key> @@ -926,73 +1337,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> - </param> - <param> - <key>_rotation</key> - <value>0</value> - </param> - </block> - <block> - <key>parameter</key> - <param> - <key>id</key> - <value>frame_size</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>label</key> - <value>Frame Size</value> - </param> - <param> - <key>value</key> - <value>30</value> - </param> - <param> - <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>(483, 10)</value> + <value>(880, 262)</value> </param> <param> <key>_rotation</key> @@ -1000,85 +1345,30 @@ </param> </block> <block> - <key>variable_cc_encoder_def</key> + <key>fec_extended_encoder</key> <param> <key>id</key> - <value>enc_cc</value> + <value>fec_extended_encoder_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> - <value>1</value> - </param> - <param> - <key>dim1</key> - <value>2</value> - </param> - <param> - <key>dim2</key> - <value>1</value> - </param> - <param> - <key>framebits</key> - <value>MTU*8</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_TERMINATED</value> - </param> - <param> - <key>alias</key> - <value></value> - </param> - <param> - <key>_coordinate</key> - <value>(621, 691)</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</value> + <key>encoder_list</key> + <value>enc_dummy</value> </param> <param> - <key>_enabled</key> - <value>True</value> + <key>threadtype</key> + <value>none</value> </param> <param> - <key>vlen</key> - <value>1</value> + <key>puncpat</key> + <value>puncpat</value> </param> <param> - <key>scale</key> - <value>1</value> + <key>lentagname</key> + <value>length_tag</value> </param> <param> <key>alias</key> @@ -1098,7 +1388,7 @@ </param> <param> <key>_coordinate</key> - <value>(880, 370)</value> + <value>(541, 231)</value> </param> <param> <key>_rotation</key> @@ -1109,7 +1399,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> @@ -1433,203 +1723,7 @@ </param> <param> <key>_coordinate</key> - <value>(1111, 339)</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</value> - </param> - <param> - <key>_enabled</key> - <value>True</value> - </param> - <param> - <key>encoder_list</key> - <value>enc_ccsds</value> - </param> - <param> - <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>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>(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>(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> + <value>(1111, 231)</value> </param> <param> <key>_rotation</key> @@ -1640,7 +1734,7 @@ <key>qtgui_time_sink_x</key> <param> <key>id</key> - <value>qtgui_time_sink_x_0_0_1</value> + <value>qtgui_time_sink_x_0_0_0</value> </param> <param> <key>_enabled</key> @@ -1964,101 +2058,7 @@ </param> <param> <key>_coordinate</key> - <value>(1114, 206)</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>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>(883, 237)</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_dummy</value> - </param> - <param> - <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>(544, 206)</value> + <value>(1112, 494)</value> </param> <param> <key>_rotation</key> @@ -2072,12 +2072,6 @@ <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</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_key>0</source_key> @@ -2114,14 +2108,14 @@ <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_0</sink_block_id> + <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> <connection> - <source_block_id>fec_extended_encoder_0_0</source_block_id> - <sink_block_id>blocks_char_to_float_1_0</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> @@ -2132,14 +2126,20 @@ <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_block_id>fec_extended_encoder_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_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> </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> + <sink_block_id>fec_extended_encoder_0_0</sink_block_id> <source_key>0</source_key> <sink_key>0</sink_key> </connection> diff --git a/gr-fec/grc/fec_bercurve_generator.xml b/gr-fec/grc/fec_bercurve_generator.xml index d10a88600b..4d0d47e15b 100644 --- a/gr-fec/grc/fec_bercurve_generator.xml +++ b/gr-fec/grc/fec_bercurve_generator.xml @@ -14,45 +14,74 @@ $decoder_list, \#name $esno, \#range of esnos $samp_rate, \#throttle - $puncpat \#puncture pattern + $threadtype, \#threading mode + $puncpat, \#puncture pattern + $seed \# noise gen. seed ) </make> <param> - <name>esno</name> + <name>Es/N0</name> <key>esno</key> <value>numpy.arange(0.0, 4.0, .5)</value> <type>raw</type> </param> <param> - <name>samp_rate</name> + <name>Sample Rate</name> <key>samp_rate</key> <value>3200000</value> - <type>raw</type> + <type>float</type> </param> <param> - <name>encoder_list</name> + <name>Encoder list</name> <key>encoder_list</key> <value>0</value> <type>raw</type> </param> <param> - <name>decoder_list</name> + <name>Decoder list</name> <key>decoder_list</key> <value>0</value> <type>raw</type> </param> <param> - <name>puncpat</name> + <name>Puncture Pat.</name> <key>puncpat</key> <value>'11'</value> <type>string</type> </param> + <param> + <name>Threading Type</name> + <key>threadtype</key> + <type>enum</type> + <hide>part</hide> + <option> + <name>Capillary</name> + <key>"capillary"</key> + </option> + <option> + <name>Ordinary</name> + <key>"ordinary"</key> + </option> + <option> + <name>None</name> + <key>"none"</key> + </option> + </param> + + <param> + <name>Noise Seed</name> + <key>seed</key> + <value>0</value> + <type>int</type> + <hide>part</hide> + </param> + <bus_source>1</bus_source> <source> @@ -62,8 +91,5 @@ </source> <doc> - The GUI hint can be used to position the widget within the application. \ - The hint is of the form [tab_id@tab_index]: [row, col, row_span, col_span]. \ - Both the tab specification and the grid position are optional. </doc> </block> diff --git a/gr-fec/grc/fec_block_tree.xml b/gr-fec/grc/fec_block_tree.xml index 7eabe03d60..88282104b4 100644 --- a/gr-fec/grc/fec_block_tree.xml +++ b/gr-fec/grc/fec_block_tree.xml @@ -11,7 +11,6 @@ <cat> <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> diff --git a/gr-fec/grc/variable_cc_decoder_def_list.xml b/gr-fec/grc/variable_cc_decoder_def_list.xml index 1e17468805..37e5cb65dc 100644 --- a/gr-fec/grc/variable_cc_decoder_def_list.xml +++ b/gr-fec/grc/variable_cc_decoder_def_list.xml @@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.cc_decoder.make($frame </param> <param> - <name>Threading Dimensions</name> + <name>Parallelism</name> <key>ndim</key> <value></value> <type>enum</type> diff --git a/gr-fec/grc/variable_cc_encoder_def_list.xml b/gr-fec/grc/variable_cc_encoder_def_list.xml index 6b20401b47..7e56cf11a1 100644 --- a/gr-fec/grc/variable_cc_encoder_def_list.xml +++ b/gr-fec/grc/variable_cc_encoder_def_list.xml @@ -25,25 +25,24 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.cc_encoder_make($frame </param> <param> - <name>Threading Dimensions</name> + <name>Parallelism</name> <key>ndim</key> <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_encoder_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_ccsds_decoder_def_list.xml b/gr-fec/grc/variable_ccsds_decoder_def_list.xml deleted file mode 100644 index 1017a81725..0000000000 --- a/gr-fec/grc/variable_ccsds_decoder_def_list.xml +++ /dev/null @@ -1,93 +0,0 @@ -<?xml version="1.0"?> -<!-- -################################################### -# FEC CCSDS Decoder -################################################### - --> -<block> - <name>CCSDS Decoder Definition</name> - <key>variable_ccsds_decoder_def</key> - <import>from gnuradio import fec</import> - <var_make> -#if int($ndim())==1 # -self.$(id) = $(id) = map( (lambda a: fec.ccsds_decoder.make($framebits, $state_start, $end_state, $mode)), range(0,$dim1) ); #slurp -#else -self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.ccsds_decoder.make($framebits, $state_start, $end_state, $mode)), 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>2</name> - <key>2</key> - </option> - <option> - <name>1</name> - <key>1</key> - </option> - - </param> - - <param> - <name>Dimension 1</name> - <key>dim1</key> - <value>4</value> - <type>int</type> - <hide>#if (int($ndim()) >= 1) then 'none' else 'all' #</hide> - </param> - - <param> - <name>Dimension 2</name> - <key>dim2</key> - <value>4</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>Start State</name> - <key>state_start</key> - <value>0</value> - <type>int</type> - </param> - - <param> - <name>End State</name> - <key>end_state</key> - <value>-1</value> - <type>int</type> - </param> - - <param> - <name>Streaming Behavior</name> - <key>mode</key> - <value></value> - <type>enum</type> - <option> - <name>Streaming</name> - <key>fec.CC_STREAMING</key> - </option> - </param> - - <doc> - </doc> -</block> diff --git a/gr-fec/grc/variable_ccsds_encoder_def_list.xml b/gr-fec/grc/variable_ccsds_encoder_def_list.xml index 72623a6410..8a9fde8a6e 100644 --- a/gr-fec/grc/variable_ccsds_encoder_def_list.xml +++ b/gr-fec/grc/variable_ccsds_encoder_def_list.xml @@ -25,25 +25,24 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.ccsds_encoder_make($fr </param> <param> - <name>Threading Dimensions</name> + <name>Parallelism</name> <key>ndim</key> <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.ccsds_encoder_make($fr <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 index 2756b585e5..f89a42b50c 100644 --- a/gr-fec/grc/variable_dummy_decoder_def_list.xml +++ b/gr-fec/grc/variable_dummy_decoder_def_list.xml @@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.dummy_decoder.make($fr </param> <param> - <name>Threading Dimensions</name> + <name>Parallelism</name> <key>ndim</key> <value></value> <type>enum</type> diff --git a/gr-fec/grc/variable_dummy_encoder_def_list.xml b/gr-fec/grc/variable_dummy_encoder_def_list.xml index b599d336c2..ca59c0799c 100644 --- a/gr-fec/grc/variable_dummy_encoder_def_list.xml +++ b/gr-fec/grc/variable_dummy_encoder_def_list.xml @@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.dummy_encoder_make($fr </param> <param> - <name>Threading Dimensions</name> + <name>Parallelism</name> <key>ndim</key> <value></value> <type>enum</type> diff --git a/gr-fec/grc/variable_repetition_decoder_def_list.xml b/gr-fec/grc/variable_repetition_decoder_def_list.xml index 162b01d317..1e94f265b2 100644 --- a/gr-fec/grc/variable_repetition_decoder_def_list.xml +++ b/gr-fec/grc/variable_repetition_decoder_def_list.xml @@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.repetition_decoder.mak </param> <param> - <name>Threading Dimensions</name> + <name>Parallelism</name> <key>ndim</key> <value></value> <type>enum</type> diff --git a/gr-fec/grc/variable_repetition_encoder_def_list.xml b/gr-fec/grc/variable_repetition_encoder_def_list.xml index 615d2b88f4..f5d877f838 100644 --- a/gr-fec/grc/variable_repetition_encoder_def_list.xml +++ b/gr-fec/grc/variable_repetition_encoder_def_list.xml @@ -25,7 +25,7 @@ self.$(id) = $(id) = map( (lambda b: map( ( lambda a: fec.repetition_encoder_mak </param> <param> - <name>Threading Dimensions</name> + <name>Parallelism</name> <key>ndim</key> <value></value> <type>enum</type> diff --git a/gr-fec/include/gnuradio/fec/CMakeLists.txt b/gr-fec/include/gnuradio/fec/CMakeLists.txt index 0935b736d8..4d3b58a7f0 100644 --- a/gr-fec/include/gnuradio/fec/CMakeLists.txt +++ b/gr-fec/include/gnuradio/fec/CMakeLists.txt @@ -84,7 +84,6 @@ install(FILES tagged_encoder.h cc_decoder.h cc_encoder.h - ccsds_decoder.h ccsds_encoder.h dummy_encoder.h dummy_decoder.h diff --git a/gr-fec/include/gnuradio/fec/cc_decoder.h b/gr-fec/include/gnuradio/fec/cc_decoder.h index 11f21123ba..8aad32846a 100644 --- a/gr-fec/include/gnuradio/fec/cc_decoder.h +++ b/gr-fec/include/gnuradio/fec/cc_decoder.h @@ -53,21 +53,12 @@ namespace gr { * \li polynomials = [109, 79] * * This is the well-known convolutional part of the Voyager code - * implemented in the CCSDS encoder. See - * gr::fec::code::ccsds_decoder for another variation on this - * block. + * implemented in the CCSDS encoder. * - * Currently, in profiling tests run, the VOLK-accelerated - * Viterbi code used in this block specific to the CCSDS code - * runs faster than the ccsds_decoder version. Furthenr, due to - * I/O issues, the ccsds_decoder does not fully handle all - * streaming behaviors, only 'Streaming' mode. This block - * enables all four streaming modes. - * - * The intent of having both FECAPI code classes is to - * eventually allow this block to take on generic settings, much - * like the cc_encoder class. The ccsds_decoder would then - * handle this specific code case as optimized as possible. + * The intent of having this FECAPI code classes fully + * parameterizable is to eventually allow it to take on generic + * settings, much like the cc_encoder class where the CCSDS + * settings would be a highly-optimized version of this. * * The encoder is set up wtih a number of bits per frame in the * constructor. When not being used in a tagged stream mode, diff --git a/gr-fec/include/gnuradio/fec/ccsds_decoder.h b/gr-fec/include/gnuradio/fec/ccsds_decoder.h deleted file mode 100644 index 84212b4021..0000000000 --- a/gr-fec/include/gnuradio/fec/ccsds_decoder.h +++ /dev/null @@ -1,99 +0,0 @@ -/* -*- 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_CCSDS_DECODER_H -#define INCLUDED_FEC_CCSDS_DECODER_H - -#include <gnuradio/fec/api.h> -#include <gnuradio/fec/generic_decoder.h> -#include <gnuradio/fec/cc_common.h> -#include <map> -#include <string> - -namespace gr { - namespace fec { - namespace code { - - /*! - * \brief Convolutional Code Decoding class. - * \ingroup error_coding_blk - * - * \details - * This class performs convolutional decoding via the Viterbi - * algorithm specific to the CCSDS code: - * - * \li K = 7 - * \li rate = 1/2 - * \li polynomials = [109, 79] - * - * This is the well-known convolutional part of the Voyager - * code. See the discussion in gr::fec::code::cc_decoder for - * the current state of convolutional decoding. - * - * Currently, this block is transitional and only implements - * parts of the FECAPI. - * - * The encoder is set up wtih a number of bits per frame in the - * constructor. When not being used in a tagged stream mode, - * this encoder will only process frames of the length provided - * here. If used in a tagged stream block, this setting becomes - * the maximum allowable frame size that the block may process. - */ - class FEC_API ccsds_decoder : virtual public generic_decoder - { - public: - - /*! - * Build a convolutional code 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 start_state Initialization state of the shift register. - * \param end_state Ending state of the shift register. - * \param mode cc_mode_t mode of the encoding. - */ - static generic_decoder::sptr make - (int frame_size, - int start_state=0, int end_state=-1, - cc_mode_t mode=CC_STREAMING); - - /*! - * 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_CCSDS_DECODER_H */ diff --git a/gr-fec/lib/CMakeLists.txt b/gr-fec/lib/CMakeLists.txt index abd0769150..42940be4c4 100644 --- a/gr-fec/lib/CMakeLists.txt +++ b/gr-fec/lib/CMakeLists.txt @@ -57,7 +57,6 @@ list(APPEND gnuradio_fec_sources tagged_encoder_impl.cc cc_decoder_impl.cc cc_encoder_impl.cc - ccsds_decoder_impl.cc ccsds_encoder_impl.cc dummy_decoder_impl.cc dummy_encoder_impl.cc diff --git a/gr-fec/lib/ccsds_decoder_impl.cc b/gr-fec/lib/ccsds_decoder_impl.cc deleted file mode 100644 index a68d027e57..0000000000 --- a/gr-fec/lib/ccsds_decoder_impl.cc +++ /dev/null @@ -1,192 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2013-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 "ccsds_decoder_impl.h" -#include <math.h> -#include <boost/assign/list_of.hpp> -#include <volk/volk.h> -#include <sstream> -#include <vector> -#include <iostream> - -namespace gr { - namespace fec { - namespace code { - - generic_decoder::sptr - ccsds_decoder::make(int frame_size, - int start_state, int end_state, - cc_mode_t mode) - { - return generic_decoder::sptr - (new ccsds_decoder_impl(frame_size, start_state, end_state, mode)); - } - - ccsds_decoder_impl::ccsds_decoder_impl(int frame_size, - int start_state, int end_state, - cc_mode_t mode) - : generic_decoder("ccsds_decoder"), - d_count(0), d_frame_size(frame_size), - d_mode(mode), - d_start_state_chaining(start_state), - d_start_state_nonchaining(start_state), - d_end_state_nonchaining(end_state) - { - // 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); - - float RATE = 0.5; - float ebn0 = 12.0; - float esn0 = RATE*pow(10.0, ebn0/10.0); - - gen_met(d_mettab, 100, esn0, 0.0, 4); - viterbi_chunks_init(d_state0); - viterbi_chunks_init(d_state1); - } - - ccsds_decoder_impl::~ccsds_decoder_impl() - { - } - - int - ccsds_decoder_impl::get_output_size() - { - // packed bits - return d_frame_size/8; - } - - int - ccsds_decoder_impl::get_input_size() - { - if(d_mode == CC_TERMINATED) { - return 2*(d_frame_size + 7 - 1); - } - else { - return 2*d_frame_size; - } - } - - int - ccsds_decoder_impl::get_input_item_size() - { - return sizeof(float); - } - - int - ccsds_decoder_impl::get_history() - { - if(d_mode == CC_STREAMING) { - return 2*(7 - 1); - } - else { - return 0; - } - } - - float - ccsds_decoder_impl::get_shift() - { - return 0.0; - } - - const char* - ccsds_decoder_impl::get_input_conversion() - { - return "none"; - } - - const char* - ccsds_decoder_impl::get_output_conversion() - { - return "unpack"; - } - - bool - ccsds_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 - ccsds_decoder_impl::rate() - { - return 0.5; - } - - void - ccsds_decoder_impl::generic_work(void *inbuffer, void *outbuffer) - { - const float *in = (const float*)inbuffer; - unsigned char *out = (unsigned char*)outbuffer; - - switch(d_mode) { - - case(CC_STREAMING): - for(unsigned int i = 0; i < d_frame_size*2; i++) { - // Translate and clip [-1.0..1.0] to [28..228] - float sample = in[i]*100.0+128.0; - if(sample > 255.0) - sample = 255.0; - else if(sample < 0.0) - sample = 0.0; - - d_viterbi_in[d_count % 4] = (unsigned char)(floorf(sample)); - if((d_count % 4) == 3) { - // Every fourth symbol, perform butterfly operation - viterbi_butterfly2(d_viterbi_in, d_mettab, d_state0, d_state1); - - // Every sixteenth symbol, read out a byte - if(d_count % 16 == 11) { - unsigned char tmp; - viterbi_get_output(d_state0, out++); - viterbi_get_output(d_state0, &tmp); - } - } - - d_count++; - } - break; - - default: - throw std::runtime_error("ccsds_decoder: mode not recognized"); - } - } - - } /* namespace code */ - } /* namespace fec */ -} /* namespace gr */ diff --git a/gr-fec/lib/ccsds_decoder_impl.h b/gr-fec/lib/ccsds_decoder_impl.h deleted file mode 100644 index 26ccec48c7..0000000000 --- a/gr-fec/lib/ccsds_decoder_impl.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -*- c++ -*- */ -/* - * Copyright 2013-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_CCSDS_DECODER_IMPL_H -#define INCLUDED_FEC_CCSDS_DECODER_IMPL_H - -#include <map> -#include <string> -#include <gnuradio/fec/ccsds_decoder.h> - -extern "C" { -#include <gnuradio/fec/viterbi.h> -} - -namespace gr { - namespace fec { - namespace code { - - class FEC_API ccsds_decoder_impl : public ccsds_decoder - { - private: - //plug into the generic FECAPI - void generic_work(void *inbuffer, void *outbuffer); - int get_output_size(); - int get_input_size(); - int get_history(); - float get_shift(); - int get_input_item_size(); - const char* get_input_conversion(); - const char* get_output_conversion(); - - // Viterbi state - int d_mettab[2][256]; - struct viterbi_state d_state0[64]; - struct viterbi_state d_state1[64]; - unsigned char d_viterbi_in[16]; - int d_count; - - unsigned int d_max_frame_size; - unsigned int d_frame_size; - cc_mode_t d_mode; - - int *d_start_state; - int d_start_state_chaining; - int d_start_state_nonchaining; - int *d_end_state; - int d_end_state_chaining; - int d_end_state_nonchaining; - - public: - ccsds_decoder_impl(int frame_size, - int start_state=0, int end_state=-1, - cc_mode_t mode=CC_STREAMING); - ~ccsds_decoder_impl(); - - bool set_frame_size(unsigned int frame_size); - double rate(); - }; - - } /* namespace code */ - } /* namespace fec */ -} /* namespace gr */ - -#endif /* INCLUDED_FEC_CCSDS_DECODER_IMPL_H */ diff --git a/gr-fec/lib/decoder_impl.cc b/gr-fec/lib/decoder_impl.cc index dfc0842031..ba8a7d000e 100644 --- a/gr-fec/lib/decoder_impl.cc +++ b/gr-fec/lib/decoder_impl.cc @@ -50,7 +50,6 @@ namespace gr { { set_fixed_rate(true); set_relative_rate((double)(my_decoder->get_output_size())/my_decoder->get_input_size()); - GR_LOG_DEBUG(d_debug_logger, boost::format("relative_rate: %1%") % relative_rate()); //want to guarantee you have enough to run at least one time... //remember! this is not a sync block... set_output_multiple does not @@ -58,7 +57,6 @@ namespace gr { //outputs (hence inputs) are made available... this is WEIRD to do in //GNU Radio, and the algorithm is sensitive to this value set_output_multiple(my_decoder->get_output_size() + (my_decoder->get_history())); - d_inbuf = buf_sptr(new unsigned char[(my_decoder->get_input_size() + my_decoder->get_history())*input_item_size]); d_decoder = my_decoder; } @@ -101,11 +99,7 @@ namespace gr { % outnum % ninput_items[0] % items); for(int i = 0; i < items; ++i) { - memcpy((void *)d_inbuf.get(), - in+(i*(d_decoder->get_input_size()) * d_input_item_size), - (d_decoder->get_input_size() + d_decoder->get_history()) * d_input_item_size); - - d_decoder->generic_work((void*)d_inbuf.get(), + d_decoder->generic_work((void*)(in+(i*d_decoder->get_input_size()*d_input_item_size)), (void*)(out+(i*d_decoder->get_output_size()*d_output_item_size))); add_item_tag(0, nitems_written(0) + ((i+1)*d_decoder->get_output_size()*d_output_item_size), diff --git a/gr-fec/lib/decoder_impl.h b/gr-fec/lib/decoder_impl.h index 92cc537102..78b1b926b5 100644 --- a/gr-fec/lib/decoder_impl.h +++ b/gr-fec/lib/decoder_impl.h @@ -34,7 +34,6 @@ namespace gr { generic_decoder::sptr d_decoder; size_t d_input_item_size; size_t d_output_item_size; - buf_sptr d_inbuf; public: decoder_impl(generic_decoder::sptr my_decoder, diff --git a/gr-fec/python/fec/bercurve_generator.py b/gr-fec/python/fec/bercurve_generator.py index ee51493152..e67d1e17c2 100644 --- a/gr-fec/python/fec/bercurve_generator.py +++ b/gr-fec/python/fec/bercurve_generator.py @@ -28,7 +28,7 @@ from fec_test import fec_test class bercurve_generator(gr.hier_block2): def __init__(self, encoder_list, decoder_list, esno=numpy.arange(0.0, 3.0, .25), - samp_rate=3200000, threading='capillary', puncpat='11'): + samp_rate=3200000, threading='capillary', puncpat='11', seed=0): gr.hier_block2.__init__( self, "ber_curve_generator", gr.io_signature(0, 0, 0), @@ -51,7 +51,8 @@ class bercurve_generator(gr.hier_block2): esno=esno[i], samp_rate=samp_rate, threading=threading, - puncpat=puncpat) + puncpat=puncpat, + seed=seed) self.ber_generators.append(ber_generator_temp); for i in range(0, len(esno)): diff --git a/gr-fec/python/fec/extended_decoder.py b/gr-fec/python/fec/extended_decoder.py index 17c9810013..072adcde07 100644 --- a/gr-fec/python/fec/extended_decoder.py +++ b/gr-fec/python/fec/extended_decoder.py @@ -86,10 +86,18 @@ class extended_decoder(gr.hier_block2): self.puncpat=puncpat self.flush=flush + if(type(decoder_obj_list[0]) == list): + gr.log.info("fec.extended_decoder: Parallelism must be 1.") + raise AttributeError + if type(lentagname) == str: if(lentagname.lower() == 'none'): lentagname = None + if lentagname and threading: + gr.log.info("fec.extended_decoder: Cannot use threading with tagged_stream mode.") + raise AttributeError + message_collector_connected=False ##anything going through the annihilator needs shifted, uchar vals diff --git a/gr-fec/python/fec/extended_encoder.py b/gr-fec/python/fec/extended_encoder.py index 01b9e09f2e..f511b53a2b 100644 --- a/gr-fec/python/fec/extended_encoder.py +++ b/gr-fec/python/fec/extended_encoder.py @@ -37,10 +37,18 @@ class extended_encoder(gr.hier_block2): self.blocks=[] self.puncpat=puncpat + if(type(encoder_obj_list[0]) == list): + gr.log.info("fec.extended_encoder: Parallelism must be 1.") + raise AttributeError + if type(lentagname) == str: if(lentagname.lower() == 'none'): lentagname = None + if lentagname and threading: + gr.log.info("fec.extended_decoder: Cannot use threading with tagged_stream mode.") + raise AttributeError + if fec.get_encoder_input_conversion(encoder_obj_list[0]) == "pack": self.blocks.append(blocks.pack_k_bits_bb(8)) diff --git a/gr-fec/python/fec/fec_test.py b/gr-fec/python/fec/fec_test.py index cacbb35f5e..0a7524af74 100644 --- a/gr-fec/python/fec/fec_test.py +++ b/gr-fec/python/fec/fec_test.py @@ -30,11 +30,11 @@ from extended_decoder import extended_decoder class fec_test(gr.hier_block2): def __init__(self, generic_encoder=0, generic_decoder=0, esno=0, - samp_rate=3200000, threading="capillary", puncpat='11'): - gr.hier_block2.__init__( - self, "fec_test", - gr.io_signature(1, 1, gr.sizeof_char*1), - gr.io_signature(2, 2, gr.sizeof_char*1)) + samp_rate=3200000, threading="capillary", puncpat='11', + seed=0): + gr.hier_block2.__init__(self, "fec_test", + gr.io_signature(1, 1, gr.sizeof_char*1), + gr.io_signature(2, 2, gr.sizeof_char*1)) self.generic_encoder = generic_encoder self.generic_decoder = generic_decoder @@ -50,16 +50,17 @@ class fec_test(gr.hier_block2): self.pack8 = blocks.pack_k_bits_bb(8) self.encoder = extended_encoder(encoder_obj_list=generic_encoder, - threading='capillary', + threading=threading, puncpat=puncpat) self.decoder = extended_decoder(decoder_obj_list=generic_decoder, - threading='capillary', + threading=threading, 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.fastnoise = analog.fastnoise_source_f(analog.GR_GAUSSIAN, noise, seed, 8192) + self.fastnoise = analog.noise_source_f(analog.GR_GAUSSIAN, noise, seed) self.addnoise = blocks.add_ff(1) # Send packed input directly to the second output diff --git a/gr-fec/swig/fec_swig.i b/gr-fec/swig/fec_swig.i index 54924a197e..051896c942 100644 --- a/gr-fec/swig/fec_swig.i +++ b/gr-fec/swig/fec_swig.i @@ -44,7 +44,6 @@ #include "gnuradio/fec/tagged_encoder.h" #include "gnuradio/fec/cc_decoder.h" #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" @@ -67,7 +66,6 @@ %include "gnuradio/fec/tagged_encoder.h" %include "gnuradio/fec/cc_decoder.h" %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" |