OFDM Frame Equalizer

Performs equalization in one or two dimensions on a tagged OFDM frame.

This does two things:

First, it removes the coarse carrier offset. If a tag is found on the first item with the key 'ofdm_sync_carr_offset', this is interpreted as the coarse frequency offset in number of carriers.

Next, it performs equalization in one or two dimensions on a tagged OFDM frame. The actual equalization is done by a ofdm_frame_equalizer object, outside of the block.

Note that the tag with the coarse carrier offset is not removed. Blocks downstream from this block must not attempt to also correct this offset.


 * Input: a tagged series of OFDM symbols.
 * Output: The same as the input, but equalized and frequency-corrected.

Parameters

 * FFT length
 * Used to set the input and output vector sizes


 * CP length
 * Length of the cyclic prefix in samples (required to correct the frequency offset)


 * Equalizer
 * The equalizer object that will do the actual work


 * Length Tag Key
 * TSB key


 * Propagate Channel State
 * If true, the channel state after the last symbol will be added to the first symbol as a tag


 * Fixed frame length
 * Set if the frame length is fixed. When this value is given, the Length tag key can be left empty, but it is useful even when using tagged streams at the input.

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.

Source Files

 * C++ files
 * 


 * Header files
 * 


 * Public header files
 * 


 * Block definition
 *