fun_ofdm
1.0
802.11a Physical Layer for USRP
|
The channel_est block. More...
#include <channel_est.h>
Public Member Functions | |
channel_est () | |
Construct for Channel Estimate block. More... | |
virtual void | work () |
Signal Processing happens here. More... | |
![]() | |
block (std::string block_name) | |
constructor More... | |
![]() | |
block_base (std::string block_name) | |
block_base constructor More... | |
Private Attributes | |
std::vector< std::complex < double > > | m_chan_est |
Current channel estimate for each subcarrier. More... | |
int | m_lts_flag |
Flag to indicate whether the current symbols are part of the LTS or not. More... | |
bool | m_frame_start |
Flag to indicate whether the current symbol is the first symbol in the frame, or in other words the first symbol after the second LTS symbol. More... | |
Additional Inherited Members | |
![]() | |
std::vector< tagged_vector< 64 > > | input_buffer |
input_buffer contains new input items to be consumed More... | |
std::vector< tagged_vector< 64 > > | output_buffer |
output_buffer is where the output items of the block should be placed More... | |
The channel_est block.
Inputs tagged_vector<64> from the fft_symbols block.
Outputs tagged_vector<64> to the phase_tracker block.
The Channel Estimate block is in charge of estimating the current channel conditions using the two known LTS symbols and equalizing the channel affect by applying the inverse of the channel attenuation & phase rotation to each of the subcarriers.
Definition at line 32 of file channel_est.h.
fun::channel_est::channel_est | ( | ) |
Construct for Channel Estimate block.
Definition at line 22 of file channel_est.cpp.
|
virtual |
Signal Processing happens here.
This block constantly looks for the LTS_START flag to indicate the first LTS symbol. Once this symbol is found it then compares each sample in the two LTS symbols with the known transmitted sample and calculates the inverse channel effect. It then applies this channel correction to the rest of the symbol.
Implements fun::block< tagged_vector< 64 >, tagged_vector< 64 > >.
Definition at line 36 of file channel_est.cpp.
References fun::block< tagged_vector< 64 >, tagged_vector< 64 > >::input_buffer, fun::LTS_FREQ_DOMAIN, fun::LTS_START, m_chan_est, m_frame_start, m_lts_flag, fun::block< tagged_vector< 64 >, tagged_vector< 64 > >::output_buffer, fun::tagged_vector< N >::samples, fun::START_OF_FRAME, and fun::tagged_vector< N >::tag.
|
private |
Current channel estimate for each subcarrier.
Definition at line 44 of file channel_est.h.
Referenced by work().
|
private |
Flag to indicate whether the current symbol is the first symbol in the frame, or in other words the first symbol after the second LTS symbol.
Definition at line 60 of file channel_est.h.
Referenced by work().
|
private |
Flag to indicate whether the current symbols are part of the LTS or not.
Definition at line 54 of file channel_est.h.
Referenced by work().