fun_ofdm
1.0
802.11a Physical Layer for USRP
|
The phase_tracker block. More...
#include <phase_tracker.h>
Public Member Functions | |
phase_tracker () | |
Constructor for phase_tracker 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 | |
int | m_symbol_count |
Counter used to keep track of the symbol number in the frame so as to know what pilot polarity to expect. This is reset at the beginning of each new frame. 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< 48 > > | output_buffer |
output_buffer is where the output items of the block should be placed More... | |
The phase_tracker block.
Inputs tagged_vector<64> from channel_est block. Outputs tagged_vector <48> to frame_decoder block.
The phase tracker block is in charge of tracking and correcting phase rotation accross symbols in a frame using the 4 pilot subcarriers. It also removes the pilot and null subcarriers passing on only the data subcarriers after any necessary frequency corrections have been made.
Definition at line 32 of file phase_tracker.h.
fun::phase_tracker::phase_tracker | ( | ) |
Constructor for phase_tracker block.
Definition at line 57 of file phase_tracker.cpp.
|
virtual |
Signal processing happens here.
This block uses the pilot symbols to estimate phase rotation of each symbol on a per symbol basis The phase rotation of each pilot symbol is calculated then averaged together. The inverse of this rotation is the applied to each symbol. This is a fair assumption since the pilot symbols are evenly dispersed throughout the symbol.
Implements fun::block< tagged_vector< 64 >, tagged_vector< 48 > >.
Definition at line 70 of file phase_tracker.cpp.
References fun::DATA_SUBCARRIERS, fun::block< tagged_vector< 64 >, tagged_vector< 48 > >::input_buffer, m_symbol_count, fun::block< tagged_vector< 64 >, tagged_vector< 48 > >::output_buffer, fun::PILOTS, fun::POLARITY, and fun::START_OF_FRAME.
|
private |
Counter used to keep track of the symbol number in the frame so as to know what pilot polarity to expect. This is reset at the beginning of each new frame.
Definition at line 47 of file phase_tracker.h.
Referenced by work().