FFT Class for averaging over multiple FFTs with complex time domain input values.
More...
#include <fft_avg_complex.h>
|
| fft_avg_complex (int n, t_fft_window fft_window) |
| constructor, allocated memory and calls base class constructor More...
|
|
| ~fft_avg_complex () |
| destructor
|
|
void | add_fft (double data_in_real[], double data_in_imag[]) |
| performs a single FFT and stores the result internally More...
|
|
void | reset () |
| resets the module, call to restart averaging
|
|
void | get_avg_fft (double output_avg_fft_mag[]) |
| read averaged FFT bins of power spectrum in dBm, including windowing and CPG correction More...
|
|
| fftw_base (int n, t_fft_window fft_window) |
| constructor, allocates memory, sets parameter for magnitude calculation and windowing coefficients More...
|
|
virtual | ~fftw_base () |
| destructor
|
|
|
int | num_ffts_ |
|
double * | fft_sum_ |
|
double * | fft_out_temp_ |
|
|
enum | t_fft_window { no,
hann,
flat
} |
| window types
|
|
void | real_fft_linear_power (double data_in[], double data_out_mag[]) |
| performs FFT on real input values, including windowing, no CPG correction More...
|
|
void | complex_fft_linear_power (double data_in_real[], double data_in_imag[], double data_out_mag[]) |
| performs FFT on complex input values, including windowing, no CPG correction More...
|
|
void | linear2dbm_real (double data_out_mag[]) |
| converts a linear scaled power spectrum of real input values into a power spectrum in dBm (same as "linear2dbm_complex" but with n/2 values) More...
|
|
void | linear2dbm_complex (double data_out_mag[]) |
| converts a linear scaled power spectrum of complex input values into a power spectrum in dBm (same as "linear2dbm_real" but with n values) More...
|
|
void | correct_coherent_gain_real (double data_out_mag[]) |
| corrects the coherent power gain (caused by windowing) of a power spectrum in dBm of real input values (n/2 samples) More...
|
|
void | correct_coherent_gain_complex (double data_out_mag[]) |
| corrects the coherent power gain (caused by windowing) of a power spectrum in dBm of complex input values (n samples) More...
|
|
int | n_ |
| FFT size.
|
|
double | resistor_ref_ |
| resistance in Ohms of a resistor over which the input voltage occurs
|
|
double | adc_full_scale_voltage_ |
| full scale voltage of ADC in Volts
|
|
int | num_adc_bits_ |
| number of ADC bits
|
|
double | coherent_gain_ |
| coherent power gain of selected window
|
|
t_fft_window | fft_window_ |
| selected window
|
|
double * | window_weights_ |
| pointer to array of window weight coefficients
|
|
fftw_plan * | my_fftw_plan_ |
| FFTW specific module for FFT calculation.
|
|
fftw_complex * | in_ |
| FFTW specific buffer for FFT input data.
|
|
fftw_complex * | out_ |
| FFTW specific buffer for FFT output data.
|
|
double * | data_out_mag_complex_temp_ |
| temporary array required when reordering the bins of a complex FFT
|
|
FFT Class for averaging over multiple FFTs with complex time domain input values.
fft_avg_complex::fft_avg_complex |
( |
int |
n, |
|
|
t_fft_window |
fft_window |
|
) |
| |
constructor, allocated memory and calls base class constructor
- Parameters
-
n | FFT size, number of input values |
fft_window | FFT window |
void fft_avg_complex::add_fft |
( |
double |
data_in_real[], |
|
|
double |
data_in_imag[] |
|
) |
| |
performs a single FFT and stores the result internally
- Parameters
-
data_in_real[] | array of n complex input time domain samples, real part |
data_in_imag[] | array of n complex input time domain samples, imaginary part |
void fft_avg_complex::get_avg_fft |
( |
double |
output_avg_fft_mag[] | ) |
|
read averaged FFT bins of power spectrum in dBm, including windowing and CPG correction
- Parameters
-
output_avg_fft_mag[] | array for the n output averaged FFT bins of power spectrum in dBm |
The documentation for this class was generated from the following files: