gr::digital::ofdm_equalizer_static
gr::digital::ofdm_equalizer_1d_pilots
gnuradio/digital/ofdm_equalizer_static.h
std::shared_ptr< ofdm_equalizer_static > std::shared_ptr<ofdm_equalizer_static> gr::digital::ofdm_equalizer_static::sptr sptr gr::digital::ofdm_equalizer_static::sptr
gr::digital::ofdm_equalizer_static::ofdm_equalizer_static
(int fft_len, const std::vector< std::vector< int > > &occupied_carriers=std::vector< std::vector< int > >(), const std::vector< std::vector< int > > &pilot_carriers=std::vector< std::vector< int > >(), const std::vector< std::vector< gr_complex > > &pilot_symbols=std::vector< std::vector< gr_complex > >(), int symbols_skipped=0, bool input_is_shifted=true)
ofdm_equalizer_static
gr::digital::ofdm_equalizer_static::ofdm_equalizer_static
int fft_len
const std::vector< std::vector< int > > & occupied_carriers std::vector< std::vector< int > >()
const std::vector< std::vector< int > > & pilot_carriers std::vector< std::vector< int > >()
const std::vector< std::vector< gr_complex > > & pilot_symbols std::vector< std::vector< gr_complex > >()
int symbols_skipped 0
bool input_is_shifted true
gr::digital::ofdm_equalizer_static::~ofdm_equalizer_static
() override
~ofdm_equalizer_static
gr::digital::ofdm_equalizer_static::~ofdm_equalizer_static
void void gr::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< tag_t > &tags=std::vector< tag_t >()) override equalize gr::digital::ofdm_equalizer_static::equalize equalize gr_complex * frame int n_sym const std::vector< gr_complex > & initial_taps std::vector< gr_complex >() const std::vector< tag_t > & tags std::vector< tag_t >()

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

sptr static sptr gr::digital::ofdm_equalizer_static::make (int fft_len, const std::vector< std::vector< int > > &occupied_carriers=std::vector< std::vector< int > >(), const std::vector< std::vector< int > > &pilot_carriers=std::vector< std::vector< int > >(), const std::vector< std::vector< gr_complex > > &pilot_symbols=std::vector< std::vector< gr_complex > >(), int symbols_skipped=0, bool input_is_shifted=true) make gr::digital::ofdm_equalizer_static::make int fft_len const std::vector< std::vector< int > > & occupied_carriers std::vector< std::vector< int > >() const std::vector< std::vector< int > > & pilot_carriers std::vector< std::vector< int > >() const std::vector< std::vector< gr_complex > > & pilot_symbols std::vector< std::vector< gr_complex > >() int symbols_skipped 0 bool input_is_shifted true

Very simple static equalizer for OFDM.

This is an extremely simple equalizer. It will only work for high-SNR, very, very slowly changing channels.

It simply divides the signal with the currently known channel state. Whenever a pilot symbol comes around, it updates the channel state on that particular carrier by dividing the received symbol with the known pilot symbol.

gr::digital::ofdm_equalizer_1d_pilots
gr::digital::ofdm_equalizer_base
gr::digital::ofdm_equalizer_static
std::enable_shared_from_this< ofdm_equalizer_base >
gr::digital::ofdm_equalizer_1d_pilots
d_occupied_carriers
d_pilot_carriers
d_pilot_symbols
d_channel_state
gr::digital::ofdm_equalizer_base
gr::digital::ofdm_equalizer_static
std::complex
std::enable_shared_from_this< ofdm_equalizer_base >
std::vector< bool >
std::vector< gr_complex >
elements
p
std::vector< std::vector< bool > >
elements
p
std::vector< std::vector< gr_complex > >
elements
p
- gr::digital::ofdm_equalizer_static
  base
- gr::digital::ofdm_equalizer_static
  d_channel_state
- gr::digital::ofdm_equalizer_static
  d_fft_len
- gr::digital::ofdm_equalizer_static
  d_occupied_carriers
- gr::digital::ofdm_equalizer_static
  d_pilot_carr_set
- gr::digital::ofdm_equalizer_static
  d_pilot_carriers
- gr::digital::ofdm_equalizer_static
  d_pilot_symbols
- gr::digital::ofdm_equalizer_static
  d_symbols_skipped
- gr::digital::ofdm_equalizer_static
  equalize
- gr::digital::ofdm_equalizer_static
  fft_len
- gr::digital::ofdm_equalizer_static
  get_channel_state
- gr::digital::ofdm_equalizer_static
  make
- gr::digital::ofdm_equalizer_static
  ofdm_equalizer_1d_pilots
- gr::digital::ofdm_equalizer_static
  ofdm_equalizer_base
- gr::digital::ofdm_equalizer_static
  ofdm_equalizer_static
- gr::digital::ofdm_equalizer_static
  reset
- gr::digital::ofdm_equalizer_static
  sptr
- gr::digital::ofdm_equalizer_static
  ~ofdm_equalizer_1d_pilots
- gr::digital::ofdm_equalizer_static
  ~ofdm_equalizer_base
- gr::digital::ofdm_equalizer_static
  ~ofdm_equalizer_static