gr::gfdm::improved_sync_algorithm_kernel_cc
improved_sync_algorithm_kernel_cc.h
int int gr::gfdm::improved_sync_algorithm_kernel_cc::d_max_ninput_size d_max_ninput_size gr::gfdm::improved_sync_algorithm_kernel_cc::d_max_ninput_size
int int gr::gfdm::improved_sync_algorithm_kernel_cc::d_buffer_len d_buffer_len gr::gfdm::improved_sync_algorithm_kernel_cc::d_buffer_len
float float gr::gfdm::improved_sync_algorithm_kernel_cc::d_false_alarm_prob_factor d_false_alarm_prob_factor gr::gfdm::improved_sync_algorithm_kernel_cc::d_false_alarm_prob_factor
int int gr::gfdm::improved_sync_algorithm_kernel_cc::d_n_subcarriers d_n_subcarriers gr::gfdm::improved_sync_algorithm_kernel_cc::d_n_subcarriers
int int gr::gfdm::improved_sync_algorithm_kernel_cc::d_cp_len d_cp_len gr::gfdm::improved_sync_algorithm_kernel_cc::d_cp_len
gr_complex * gr_complex* gr::gfdm::improved_sync_algorithm_kernel_cc::d_preamble d_preamble gr::gfdm::improved_sync_algorithm_kernel_cc::d_preamble
gr_complex * gr_complex* gr::gfdm::improved_sync_algorithm_kernel_cc::d_p_in_buffer d_p_in_buffer gr::gfdm::improved_sync_algorithm_kernel_cc::d_p_in_buffer
gr_complex * gr_complex* gr::gfdm::improved_sync_algorithm_kernel_cc::d_auto_corr_vals d_auto_corr_vals gr::gfdm::improved_sync_algorithm_kernel_cc::d_auto_corr_vals
float * float* gr::gfdm::improved_sync_algorithm_kernel_cc::d_abs_auto_corr_vals d_abs_auto_corr_vals gr::gfdm::improved_sync_algorithm_kernel_cc::d_abs_auto_corr_vals
std::deque< float > std::deque<float> gr::gfdm::improved_sync_algorithm_kernel_cc::d_fifo d_fifo gr::gfdm::improved_sync_algorithm_kernel_cc::d_fifo
gr_complex * gr_complex* gr::gfdm::improved_sync_algorithm_kernel_cc::d_xcorr_vals d_xcorr_vals gr::gfdm::improved_sync_algorithm_kernel_cc::d_xcorr_vals
float * float* gr::gfdm::improved_sync_algorithm_kernel_cc::d_abs_xcorr_vals d_abs_xcorr_vals gr::gfdm::improved_sync_algorithm_kernel_cc::d_abs_xcorr_vals
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
int n_subcarriers
int cp_len
std::vector< gr_complex > preamble
int max_ninput_size
gr::gfdm::improved_sync_algorithm_kernel_cc::~improved_sync_algorithm_kernel_cc
()
~improved_sync_algorithm_kernel_cc
gr::gfdm::improved_sync_algorithm_kernel_cc::~improved_sync_algorithm_kernel_cc
int int gr::gfdm::improved_sync_algorithm_kernel_cc::detect_frame_start (const gr_complex *p_in, int ninput_size) detect_frame_start gr::gfdm::improved_sync_algorithm_kernel_cc::detect_frame_start const gr_complex * p_in int ninput_size
int int gr::gfdm::improved_sync_algorithm_kernel_cc::max_ninput_size () const max_ninput_size gr::gfdm::improved_sync_algorithm_kernel_cc::max_ninput_size
int int gr::gfdm::improved_sync_algorithm_kernel_cc::find_preamble (std::vector< gr_complex > in_vec) find_preamble gr::gfdm::improved_sync_algorithm_kernel_cc::find_preamble std::vector< gr_complex > in_vec
std::vector< gr_complex > std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::auto_correlate_preamble (std::vector< gr_complex > in_vec) auto_correlate_preamble gr::gfdm::improved_sync_algorithm_kernel_cc::auto_correlate_preamble std::vector< gr_complex > in_vec
std::vector< float > std::vector< float > gr::gfdm::improved_sync_algorithm_kernel_cc::abs_integrate_preamble (std::vector< gr_complex > in_vec) abs_integrate_preamble gr::gfdm::improved_sync_algorithm_kernel_cc::abs_integrate_preamble std::vector< gr_complex > in_vec
int int gr::gfdm::improved_sync_algorithm_kernel_cc::find_peak_preamble (std::vector< float > in_vec) find_peak_preamble gr::gfdm::improved_sync_algorithm_kernel_cc::find_peak_preamble std::vector< float > in_vec
float float gr::gfdm::improved_sync_algorithm_kernel_cc::calculate_normalized_cfo_preamble (const gr_complex val) calculate_normalized_cfo_preamble gr::gfdm::improved_sync_algorithm_kernel_cc::calculate_normalized_cfo_preamble const gr_complex val
std::vector< gr_complex > std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::remove_cfo_preamble (std::vector< gr_complex > in_vec, const float cfo) remove_cfo_preamble gr::gfdm::improved_sync_algorithm_kernel_cc::remove_cfo_preamble std::vector< gr_complex > in_vec const float cfo
std::vector< gr_complex > std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::cross_correlate_preamble (std::vector< gr_complex > in_vec) cross_correlate_preamble gr::gfdm::improved_sync_algorithm_kernel_cc::cross_correlate_preamble std::vector< gr_complex > in_vec
std::vector< gr_complex > std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::preamble () preamble gr::gfdm::improved_sync_algorithm_kernel_cc::preamble
void void gr::gfdm::improved_sync_algorithm_kernel_cc::set_false_alarm_probability (float false_alarm_prob, int ninput_size) set_false_alarm_probability gr::gfdm::improved_sync_algorithm_kernel_cc::set_false_alarm_probability float false_alarm_prob int ninput_size
std::vector< gr_complex > std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::input_buffer () input_buffer gr::gfdm::improved_sync_algorithm_kernel_cc::input_buffer
std::vector< gr_complex > std::vector< gr_complex > gr::gfdm::improved_sync_algorithm_kernel_cc::auto_corr_buffer () auto_corr_buffer gr::gfdm::improved_sync_algorithm_kernel_cc::auto_corr_buffer
std::vector< float > std::vector< float > gr::gfdm::improved_sync_algorithm_kernel_cc::integration_buffer () integration_buffer gr::gfdm::improved_sync_algorithm_kernel_cc::integration_buffer
std::vector< float > std::vector< float > gr::gfdm::improved_sync_algorithm_kernel_cc::auto_corr_integrate (std::vector< gr_complex > in_vec) auto_corr_integrate gr::gfdm::improved_sync_algorithm_kernel_cc::auto_corr_integrate std::vector< gr_complex > in_vec
void void gr::gfdm::improved_sync_algorithm_kernel_cc::auto_correlate (gr_complex *corr_vals, const gr_complex *p_in, const int ninput_size) auto_correlate gr::gfdm::improved_sync_algorithm_kernel_cc::auto_correlate gr_complex * corr_vals const gr_complex * p_in const int ninput_size
float float gr::gfdm::improved_sync_algorithm_kernel_cc::integrate_fifo (float next_val) integrate_fifo gr::gfdm::improved_sync_algorithm_kernel_cc::integrate_fifo float next_val
void void gr::gfdm::improved_sync_algorithm_kernel_cc::abs_integrate (float *vals, const gr_complex *p_in, const int ninput_size) abs_integrate gr::gfdm::improved_sync_algorithm_kernel_cc::abs_integrate float * vals const gr_complex * p_in const int ninput_size
int int gr::gfdm::improved_sync_algorithm_kernel_cc::find_peak (float *vals, const int ninput_size) find_peak gr::gfdm::improved_sync_algorithm_kernel_cc::find_peak float * vals const int ninput_size
void void gr::gfdm::improved_sync_algorithm_kernel_cc::perform_auto_correlation_stage (float *abs_corr_vals, gr_complex *corr_vals, const gr_complex *p_in, const int window_size) perform_auto_correlation_stage gr::gfdm::improved_sync_algorithm_kernel_cc::perform_auto_correlation_stage float * abs_corr_vals gr_complex * corr_vals const gr_complex * p_in const int window_size
float float gr::gfdm::improved_sync_algorithm_kernel_cc::calculate_normalized_cfo (const gr_complex corr_val) calculate_normalized_cfo gr::gfdm::improved_sync_algorithm_kernel_cc::calculate_normalized_cfo const gr_complex corr_val
void void gr::gfdm::improved_sync_algorithm_kernel_cc::prepare_xcorr_input_array (gr_complex *xcorr_in, const gr_complex *p_in, const int offset) prepare_xcorr_input_array gr::gfdm::improved_sync_algorithm_kernel_cc::prepare_xcorr_input_array gr_complex * xcorr_in const gr_complex * p_in const int offset
int int gr::gfdm::improved_sync_algorithm_kernel_cc::find_cross_correlation_peak (const gr_complex *p_in, const float *abs_int_vals, const float cfo) find_cross_correlation_peak gr::gfdm::improved_sync_algorithm_kernel_cc::find_cross_correlation_peak const gr_complex * p_in const float * abs_int_vals const float cfo
void void gr::gfdm::improved_sync_algorithm_kernel_cc::remove_cfo (gr_complex *p_out, const gr_complex *p_in, const float cfo, const int ninput_size) remove_cfo gr::gfdm::improved_sync_algorithm_kernel_cc::remove_cfo gr_complex * p_out const gr_complex * p_in const float cfo const int ninput_size
void void gr::gfdm::improved_sync_algorithm_kernel_cc::cross_correlate (gr_complex *p_out, const gr_complex *p_in, const int ninput_size) cross_correlate gr::gfdm::improved_sync_algorithm_kernel_cc::cross_correlate gr_complex * p_out const gr_complex * p_in const int ninput_size
void void gr::gfdm::improved_sync_algorithm_kernel_cc::combine_abs_auto_and_cross_correlation (float *p_out, const float *p_auto, const float *p_cross, const int ninput_size) combine_abs_auto_and_cross_correlation gr::gfdm::improved_sync_algorithm_kernel_cc::combine_abs_auto_and_cross_correlation float * p_out const float * p_auto const float * p_cross const int ninput_size
float float gr::gfdm::improved_sync_algorithm_kernel_cc::threshold (const float *abs_xcorr_vals) threshold gr::gfdm::improved_sync_algorithm_kernel_cc::threshold const float * abs_xcorr_vals

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

n_subcarriers

number of subcarriers of the multicarrier system.

cp_len

Cyclic Prefix Length of the system

preamble

actual used preamble. preamble.size MUST be equal to 2*n_subcarriers.

- gr::gfdm::improved_sync_algorithm_kernel_cc
  abs_integrate
- gr::gfdm::improved_sync_algorithm_kernel_cc
  abs_integrate_preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  auto_corr_buffer
- gr::gfdm::improved_sync_algorithm_kernel_cc
  auto_corr_integrate
- gr::gfdm::improved_sync_algorithm_kernel_cc
  auto_correlate
- gr::gfdm::improved_sync_algorithm_kernel_cc
  auto_correlate_preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  calculate_normalized_cfo
- gr::gfdm::improved_sync_algorithm_kernel_cc
  calculate_normalized_cfo_preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  combine_abs_auto_and_cross_correlation
- gr::gfdm::improved_sync_algorithm_kernel_cc
  cross_correlate
- gr::gfdm::improved_sync_algorithm_kernel_cc
  cross_correlate_preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_abs_auto_corr_vals
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_abs_xcorr_vals
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_auto_corr_vals
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_buffer_len
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_cp_len
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_false_alarm_prob_factor
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_fifo
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_max_ninput_size
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_n_subcarriers
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_p_in_buffer
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  d_xcorr_vals
- gr::gfdm::improved_sync_algorithm_kernel_cc
  detect_frame_start
- gr::gfdm::improved_sync_algorithm_kernel_cc
  find_cross_correlation_peak
- gr::gfdm::improved_sync_algorithm_kernel_cc
  find_peak
- gr::gfdm::improved_sync_algorithm_kernel_cc
  find_peak_preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  find_preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  improved_sync_algorithm_kernel_cc
- gr::gfdm::improved_sync_algorithm_kernel_cc
  input_buffer
- gr::gfdm::improved_sync_algorithm_kernel_cc
  integrate_fifo
- gr::gfdm::improved_sync_algorithm_kernel_cc
  integration_buffer
- gr::gfdm::improved_sync_algorithm_kernel_cc
  max_ninput_size
- gr::gfdm::improved_sync_algorithm_kernel_cc
  perform_auto_correlation_stage
- gr::gfdm::improved_sync_algorithm_kernel_cc
  preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  prepare_xcorr_input_array
- gr::gfdm::improved_sync_algorithm_kernel_cc
  remove_cfo
- gr::gfdm::improved_sync_algorithm_kernel_cc
  remove_cfo_preamble
- gr::gfdm::improved_sync_algorithm_kernel_cc
  set_false_alarm_probability
- gr::gfdm::improved_sync_algorithm_kernel_cc
  threshold
- gr::gfdm::improved_sync_algorithm_kernel_cc
  ~improved_sync_algorithm_kernel_cc