GNU Radio 3.7.3 C++ API
gr::digital::ofdm_frame_equalizer_vcvc Class Reference

OFDM frame equalizer. More...

#include <gnuradio/digital/ofdm_frame_equalizer_vcvc.h>

Inheritance diagram for gr::digital::ofdm_frame_equalizer_vcvc:
gr::tagged_stream_block gr::block gr::basic_block gr::msg_accepter gr::messages::msg_accepter

Public Types

typedef boost::shared_ptr
< ofdm_frame_equalizer_vcvc
sptr
 

Static Public Member Functions

static sptr make (ofdm_equalizer_base::sptr equalizer, int cp_len, const std::string &len_tag_key="frame_len", bool propagate_channel_state=false, int fixed_frame_len=0)
 

Additional Inherited Members

- Public Member Functions inherited from gr::tagged_stream_block
void forecast (int noutput_items, gr_vector_int &ninput_items_required)
 Don't override this. More...
 
int general_work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
 
virtual int work (int noutput_items, gr_vector_int &ninput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)=0
 Just like gr::block::general_work, but makes sure the input is valid. More...
 
- Protected Types inherited from gr::basic_block
enum  vcolor { WHITE, GREY, BLACK }
 
- Protected Member Functions inherited from gr::tagged_stream_block
 tagged_stream_block (void)
 
 tagged_stream_block (const std::string &name, gr::io_signature::sptr input_signature, gr::io_signature::sptr output_signature, const std::string &length_tag_key)
 
virtual void parse_length_tags (const std::vector< std::vector< tag_t > > &tags, gr_vector_int &n_input_items_reqd)
 Parse all tags on the first sample of a PDU, return the number of items per input and prune the length tags. More...
 
virtual int calculate_output_stream_length (const gr_vector_int &ninput_items)
 Calculate the number of output items. More...
 
virtual void update_length_tags (int n_produced, int n_ports)
 Set the new length tags on the output stream. More...
 
- Protected Attributes inherited from gr::tagged_stream_block
std::string d_length_tag_key_str
 

Detailed Description

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.

Member Typedef Documentation

Member Function Documentation

static sptr gr::digital::ofdm_frame_equalizer_vcvc::make ( ofdm_equalizer_base::sptr  equalizer,
int  cp_len,
const std::string &  len_tag_key = "frame_len",
bool  propagate_channel_state = false,
int  fixed_frame_len = 0 
)
static
Parameters
equalizerThe equalizer object that will do the actual work
cp_lenLength of the cyclic prefix in samples (required to correct the frequency offset)
len_tag_keyLength tag key
propagate_channel_stateIf true, the channel state after the last symbol will be added to the first symbol as a tag
fixed_frame_lenSet if the frame length is fixed throughout, helps with book keeping.

The documentation for this class was generated from the following file: