Burst Shaper: Difference between revisions

From GNU Radio
Jump to navigation Jump to search
(Created page with "Category:Block Docs Category:Stub Docs This is the template for the "Page-per-block Docs". This first section should describe what the block...")
 
(add example flowgraph)
(One intermediate revision by one other user not shown)
Line 1: Line 1:
[[Category:Block Docs]]
[[Category:Block Docs]]
[[Category:Stub Docs]]
Burst shaper block for applying burst padding and ramping.
This is the template for the [[:Category:Block_Docs|"Page-per-block Docs"]].  This first section should describe what the block does and how to use it, using however many paragraphs necessary.  Note that the title of the wiki page should match the block's name in GRC, i.e. the one defined in the block's .grc file.  Look at the [[FFT]] Block for a good example.


As this is a basic template, it's also in the [[:Category:Stub_Docs|"Stub Docs category"]]. Please improve it.
This block applies a configurable amount of zero padding before and/or after a burst indicated by tagged stream length tags.
 
If phasing symbols are used, an alternating pattern of +1/-1 symbols of length ceil(N/2) will be inserted before and after each burst, where N is the length of the taps vector. The ramp- up/ramp-down shape will be applied to these phasing symbols.
 
If phasing symbols are not used, the taper will be applied directly to the head and tail of each burst.
 
Length tags will be updated to include the length of any added zero padding or phasing symbols and will be placed at the beginning of the modified tagged stream. Any other tags found at the same offset as a length tag will also be placed at the beginning of the modified tagged stream, since these tags are assumed to be associated with the burst rather than a specific sample. For example, if "tx_time" tags are used to control bursts, their offsets should be consistent with their associated burst's length tags. Tags at other offsets will be placed with the samples on which they were found.


== Parameters ==
== Parameters ==
(''R''): <span class="plainlinks">[https://wiki.gnuradio.org/index.php/GNURadioCompanion#Variable_Controls ''Run-time adjustable'']</span>
; Window Taps
: Vector of window taper taps; the first ceil(N/2) items are the up flank and the last ceil(N/2) items are the down flank. If taps.size() is odd, the middle tap will be used as the last item of the up flank and first item of the down flank.
 
; Pre-padding Length
: Number of zero samples to insert before the burst.


; Param 1 (''R'')
; Post-padding Length
: Description of parameter, provide any tips or recommended values.  Note that the name of the parameter above should match the param's label that shows up in grc (e.g. Sample Rate).
: Number of zero samples to append after the burst.


; Param 2
; Insert Phasing Symbols
: blah blah blah
: If true, insert alternating +1/-1 pattern of length ceil(N/2) before and after the burst and apply ramp up and ramp down taps, respectively, to the inserted patterns instead of the head and tail items of the burst.
 
; Length Tag Name
: The name of the tagged stream length tag key.


== Example Flowgraph ==
== Example Flowgraph ==


Insert description of flowgraph here, then show a screenshot of the flowgraph and the output if there is an interesting GUI. Currently we have no standard method of uploading the actual flowgraph to the wiki or git repo, unfortunately. The plan is to have an example flowgraph showing how the block might be used, for every block, and the flowgraphs will live in the git repo.
This flowgraph can be found at [https://github.com/gnuradio/gnuradio/blob/master/gr-digital/examples/packet/packet_tx.grc]
 
[[File:Packet_tx_fg.png|746px]]


== Source Files ==
== Source Files ==

Revision as of 14:26, 6 April 2021

Burst shaper block for applying burst padding and ramping.

This block applies a configurable amount of zero padding before and/or after a burst indicated by tagged stream length tags.

If phasing symbols are used, an alternating pattern of +1/-1 symbols of length ceil(N/2) will be inserted before and after each burst, where N is the length of the taps vector. The ramp- up/ramp-down shape will be applied to these phasing symbols.

If phasing symbols are not used, the taper will be applied directly to the head and tail of each burst.

Length tags will be updated to include the length of any added zero padding or phasing symbols and will be placed at the beginning of the modified tagged stream. Any other tags found at the same offset as a length tag will also be placed at the beginning of the modified tagged stream, since these tags are assumed to be associated with the burst rather than a specific sample. For example, if "tx_time" tags are used to control bursts, their offsets should be consistent with their associated burst's length tags. Tags at other offsets will be placed with the samples on which they were found.

Parameters

Window Taps
Vector of window taper taps; the first ceil(N/2) items are the up flank and the last ceil(N/2) items are the down flank. If taps.size() is odd, the middle tap will be used as the last item of the up flank and first item of the down flank.
Pre-padding Length
Number of zero samples to insert before the burst.
Post-padding Length
Number of zero samples to append after the burst.
Insert Phasing Symbols
If true, insert alternating +1/-1 pattern of length ceil(N/2) before and after the burst and apply ramp up and ramp down taps, respectively, to the inserted patterns instead of the head and tail items of the burst.
Length Tag Name
The name of the tagged stream length tag key.

Example Flowgraph

This flowgraph can be found at [1]

Packet tx fg.png

Source Files

C++ files
TODO
Header files
TODO
Public header files
TODO
Block definition
TODO