GNU Radio's GFDM Package
gr::gfdm::improved_sync_algorithm_kernel_cc Class Reference

Perform STO/CFO synchronization for multicarrier systems Compare: Awoseyila et. al. "Improved Preamble-Aided Timing Estimation for OFDM Systems". More...

#include <improved_sync_algorithm_kernel_cc.h>

Public Member Functions

 improved_sync_algorithm_kernel_cc (int n_subcarriers, int cp_len, std::vector< gr_complex > preamble, int max_ninput_size)
 
 ~improved_sync_algorithm_kernel_cc ()
 
int detect_frame_start (const gr_complex *p_in, int ninput_size)
 
int max_ninput_size () const
 
int find_preamble (std::vector< gr_complex > in_vec)
 
std::vector< gr_complex > auto_correlate_preamble (std::vector< gr_complex > in_vec)
 
std::vector< float > abs_integrate_preamble (std::vector< gr_complex > in_vec)
 
int find_peak_preamble (std::vector< float > in_vec)
 
float calculate_normalized_cfo_preamble (const gr_complex val)
 
std::vector< gr_complex > remove_cfo_preamble (std::vector< gr_complex > in_vec, const float cfo)
 
std::vector< gr_complex > cross_correlate_preamble (std::vector< gr_complex > in_vec)
 
std::vector< gr_complex > preamble ()
 
void set_false_alarm_probability (float false_alarm_prob, int ninput_size)
 
std::vector< gr_complex > input_buffer ()
 
std::vector< gr_complex > auto_corr_buffer ()
 
std::vector< float > integration_buffer ()
 
std::vector< float > auto_corr_integrate (std::vector< gr_complex > in_vec)
 

Detailed Description

Perform STO/CFO synchronization for multicarrier systems Compare: Awoseyila et. al. "Improved Preamble-Aided Timing Estimation for OFDM Systems".

Parameters
n_subcarriersnumber of subcarriers of the multicarrier system.
cp_lenCyclic Prefix Length of the system
preambleactual used preamble. preamble.size MUST be equal to 2*n_subcarriers.

Constructor & Destructor Documentation

◆ improved_sync_algorithm_kernel_cc()

gr::gfdm::improved_sync_algorithm_kernel_cc::improved_sync_algorithm_kernel_cc ( int  n_subcarriers,
int  cp_len,
std::vector< gr_complex >  preamble,
int  max_ninput_size 
)

◆ ~improved_sync_algorithm_kernel_cc()

gr::gfdm::improved_sync_algorithm_kernel_cc::~improved_sync_algorithm_kernel_cc ( )

Member Function Documentation

◆ abs_integrate_preamble()

std::vector< float > gr::gfdm::improved_sync_algorithm_kernel_cc::abs_integrate_preamble ( std::vector< gr_complex >  in_vec)

◆ auto_corr_buffer()

std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::auto_corr_buffer ( )

◆ auto_corr_integrate()

std::vector< float > gr::gfdm::improved_sync_algorithm_kernel_cc::auto_corr_integrate ( std::vector< gr_complex >  in_vec)

◆ auto_correlate_preamble()

std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::auto_correlate_preamble ( std::vector< gr_complex >  in_vec)

◆ calculate_normalized_cfo_preamble()

float gr::gfdm::improved_sync_algorithm_kernel_cc::calculate_normalized_cfo_preamble ( const gr_complex  val)
inline

◆ cross_correlate_preamble()

std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::cross_correlate_preamble ( std::vector< gr_complex >  in_vec)

◆ detect_frame_start()

int gr::gfdm::improved_sync_algorithm_kernel_cc::detect_frame_start ( const gr_complex *  p_in,
int  ninput_size 
)

◆ find_peak_preamble()

int gr::gfdm::improved_sync_algorithm_kernel_cc::find_peak_preamble ( std::vector< float >  in_vec)

◆ find_preamble()

int gr::gfdm::improved_sync_algorithm_kernel_cc::find_preamble ( std::vector< gr_complex >  in_vec)

◆ input_buffer()

std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::input_buffer ( )

◆ integration_buffer()

std::vector< float > gr::gfdm::improved_sync_algorithm_kernel_cc::integration_buffer ( )

◆ max_ninput_size()

int gr::gfdm::improved_sync_algorithm_kernel_cc::max_ninput_size ( ) const
inline

◆ preamble()

std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::preamble ( )

◆ remove_cfo_preamble()

std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::remove_cfo_preamble ( std::vector< gr_complex >  in_vec,
const float  cfo 
)

◆ set_false_alarm_probability()

void gr::gfdm::improved_sync_algorithm_kernel_cc::set_false_alarm_probability ( float  false_alarm_prob,
int  ninput_size 
)

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