GNU Radio 3.7.1 C++ API
|
take a vector of complex constellation points in from an FFT and performs a correlation and equalization. More...
#include <ofdm_frame_acquisition.h>
Public Types | |
typedef boost::shared_ptr < ofdm_frame_acquisition > | sptr |
Public Member Functions | |
virtual float | snr ()=0 |
Return an estimate of the SNR of the channel. | |
Static Public Member Functions | |
static sptr | make (unsigned int occupied_carriers, unsigned int fft_length, unsigned int cplen, const std::vector< gr_complex > &known_symbol, unsigned int max_fft_shift_len=4) |
take a vector of complex constellation points in from an FFT and performs a correlation and equalization.
This block takes the output of an FFT of a received OFDM symbol and finds the start of a frame based on two known symbols. It also looks at the surrounding bins in the FFT output for the correlation in case there is a large frequency shift in the data. This block assumes that the fine frequency shift has already been corrected and that the samples fall in the middle of one FFT bin.
It then uses one of those known symbols to estimate the channel response over all subcarriers and does a simple 1-tap equalization on all subcarriers. This corrects for the phase and amplitude distortion caused by the channel.
static sptr gr::digital::ofdm_frame_acquisition::make | ( | unsigned int | occupied_carriers, |
unsigned int | fft_length, | ||
unsigned int | cplen, | ||
const std::vector< gr_complex > & | known_symbol, | ||
unsigned int | max_fft_shift_len = 4 |
||
) | [static] |
Make an OFDM correlator and equalizer.
occupied_carriers | The number of subcarriers with data in the received symbol |
fft_length | The size of the FFT vector (occupied_carriers + unused carriers) |
cplen | The length of the cycle prefix |
known_symbol | A vector of complex numbers representing a known symbol at the start of a frame (usually a BPSK PN sequence) |
max_fft_shift_len | Set's the maximum distance you can look between bins for correlation |
virtual float gr::digital::ofdm_frame_acquisition::snr | ( | ) | [pure virtual] |
Return an estimate of the SNR of the channel.