GNU Radio 3.6.5.1 C++ API
digital_ofdm_equalizer_static Class Reference

#include <digital_ofdm_equalizer_static.h>

Inheritance diagram for digital_ofdm_equalizer_static:
digital_ofdm_equalizer_1d_pilots digital_ofdm_equalizer_base

Public Member Functions

 digital_ofdm_equalizer_static (int fft_len, const std::vector< std::vector< int > > &occupied_carriers, const std::vector< std::vector< int > > &pilot_carriers, const std::vector< std::vector< gr_complex > > &pilot_symbols, int symbols_skipped, bool input_is_shifted)
 ~digital_ofdm_equalizer_static ()
void equalize (gr_complex *frame, int n_sym, const std::vector< gr_complex > &initial_taps=std::vector< gr_complex >(), const std::vector< gr_tag_t > &tags=std::vector< gr_tag_t >())
 Divide the input signal with the current channel state.
- Public Member Functions inherited from digital_ofdm_equalizer_1d_pilots
 digital_ofdm_equalizer_1d_pilots (int fft_len, const std::vector< std::vector< int > > &occupied_carriers, const std::vector< std::vector< int > > &pilot_carriers, const std::vector< std::vector< gr_complex > > &pilot_symbols, int symbols_skipped, bool input_is_shifted)
 ~digital_ofdm_equalizer_1d_pilots ()
void reset ()
void get_channel_state (std::vector< gr_complex > &taps)
- Public Member Functions inherited from digital_ofdm_equalizer_base
 digital_ofdm_equalizer_base (int fft_len)
 ~digital_ofdm_equalizer_base ()
int fft_len ()
digital_ofdm_equalizer_base_sptr base ()

Additional Inherited Members

- Protected Attributes inherited from digital_ofdm_equalizer_1d_pilots
std::vector< bool > d_occupied_carriers
 If d_occupied_carriers[k][l] is true, symbol k, carrier l is carrying data.
std::vector< std::vector< bool > > d_pilot_carriers
 If d_pilot_carriers[k][l] is true, symbol k, carrier l is carrying a pilot symbol.
std::vector< std::vector
< gr_complex > > 
d_pilot_symbols
 If d_pilot_carriers[k][l] is true, d_pilot_symbols[k][l] is its tx'd value.
int d_symbols_skipped
 In case the frame doesn't begin with OFDM symbol 0, this is the index of the first symbol.
int d_pilot_carr_set
 The current position in the set of pilot symbols.
std::vector< gr_complexd_channel_state
 Vector of length d_fft_len saving the current channel state (on the occupied carriers)

Constructor & Destructor Documentation

digital_ofdm_equalizer_static::digital_ofdm_equalizer_static ( int  fft_len,
const std::vector< std::vector< int > > &  occupied_carriers,
const std::vector< std::vector< int > > &  pilot_carriers,
const std::vector< std::vector< gr_complex > > &  pilot_symbols,
int  symbols_skipped,
bool  input_is_shifted 
)
digital_ofdm_equalizer_static::~digital_ofdm_equalizer_static ( )

Member Function Documentation

void digital_ofdm_equalizer_static::equalize ( gr_complex frame,
int  n_sym,
const std::vector< gr_complex > &  initial_taps = std::vector< gr_complex >(),
const std::vector< gr_tag_t > &  tags = std::vector< gr_tag_t >() 
)
virtual

Divide the input signal with the current channel state.

Does the following (and nothing else):

  • Divide every OFDM symbol with the current channel state
  • If a pilot symbol is found, re-set the channel state by dividing the received symbol with the known pilot symbol

Implements digital_ofdm_equalizer_base.


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