Go to the documentation of this file.
22 #ifndef INCLUDED_DAB_OFDM_FFS_SAMPLE_H
23 #define INCLUDED_DAB_OFDM_FFS_SAMPLE_H
25 #include <gr_sync_block.h>
29 typedef boost::shared_ptr<dab_ofdm_ffs_sample> dab_ofdm_ffs_sample_sptr;
31 dab_ofdm_ffs_sample_sptr
dab_make_ofdm_ffs_sample (
unsigned int symbol_length,
unsigned int fft_length,
unsigned int num_symbols,
float alpha,
unsigned int sample_rate);
51 friend dab_ofdm_ffs_sample_sptr
dab_make_ofdm_ffs_sample (
unsigned int symbol_length,
unsigned int fft_length,
unsigned int num_symbols,
float alpha,
unsigned int sample_rate);
53 dab_ofdm_ffs_sample (
unsigned int symbol_length,
unsigned int fft_length,
unsigned int num_symbols,
float alpha,
unsigned int sample_rate);
55 unsigned int d_symbol_length;
56 unsigned int d_fft_length;
57 unsigned int d_num_symbols;
59 unsigned int d_sample_rate;
61 unsigned int d_cur_symbol;
62 unsigned int d_cur_sample;
63 float d_ffs_error_sum;
64 float d_estimated_error;
65 float d_estimated_error_per_sample;
69 float ffe_estimate() {
return d_estimated_error_per_sample*d_sample_rate/(2*M_PI); }
70 int work (
int noutput_items,
71 gr_vector_const_void_star &input_items,
72 gr_vector_void_star &output_items);
int work(int noutput_items, gr_vector_const_void_star &input_items, gr_vector_void_star &output_items)
friend dab_ofdm_ffs_sample_sptr dab_make_ofdm_ffs_sample(unsigned int symbol_length, unsigned int fft_length, unsigned int num_symbols, float alpha, unsigned int sample_rate)
dab_ofdm_ffs_sample_sptr dab_make_ofdm_ffs_sample(unsigned int symbol_length, unsigned int fft_length, unsigned int num_symbols, float alpha, unsigned int sample_rate)
samples FFS error estimation at the correct time and averages it
Definition: dab_ofdm_ffs_sample.h:46
float ffe_estimate()
Definition: dab_ofdm_ffs_sample.h:69