OFDM Frame Equalizer

From GNU Radio
Revision as of 02:45, 30 November 2020 by Duggabe (talk | contribs) (→‎Example Flowgraph)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

This flowgraph can be found at [1].

Rx ofdm fg.png

Source Files

C++ files
[2]
Header files
[3]
Public header files
[4]
Block definition
[5]