|
HARDT - The Ham Radio DSP Toolkit
|
#include <hfft.h>
Public Member Functions | |
| HFft (int size, HWindow< T > *window=nullptr) | |
| void | FFT (std::complex< T > *src, std::complex< double > *result) |
| void | FFT (T *src, std::complex< double > *result, bool window=true) |
| void | FFT (T *src, double *spectrum, double *phase=nullptr) |
| void | IFFT (std::complex< double > *src, T *result) |
| void | HILBERT (T *src, T *dest) |
| void | SPECTRUM (T *response, int length, std::complex< double > *spectrum) |
| void | IQ2REAL (T *multiplexed, T *real) |
| void | IQ2REAL (std::complex< T > *iq, T *real) |
(D)FFT related functions
Construct a new FFT class
Parameters: size = fft size window = a window to smoothen the first and last parts of the input samples to avoid high frequency "splatter"
|
inline |
Calculate the fft for complex samples and place the complex results into a buffer
Parameters: src = Input buffer, must contain 'size' number of complex samples result = The output result array, must have enough room for 'size' values
|
inline |
Calculate the fft for samples and place the real values spectrum into a buffer
Parameters: src = Input buffer, must contain 'size/2' number of samples spectrum = The output spectrum array, must have enough room for 'size'/2 values
|
inline |
Calculate the fft for samples and place the complex results into a buffer
Parameters: src = Input buffer, must contain 'size' number of samples result = The output result array, must have enough room for 'size' values
|
inline |
Run the input signal through a hilbert transform (delay 90 degrees)
|
inline |
Calculate the ifft for complex values and place the samples into a buffer
Parameters: src = Input buffer, must contain 'size/2' number of complex values representing positive frequencies result = The output samples array, must have enough room for 'size' samples
|
inline |
Convert IQ data to a real valued signal
|
inline |
Convert IQ data to a real valued signal
The IQ data must be kept in a multiplexed buffer, alternating I and Q samples. The 'multiplexed' buffer must thus be 2 times the size of the FFT object (2048 multiplexed IQ value yields 1024 output samples) so make sure that you input blocksize*2 samples!
|
inline |
Return the spectrum for a frequency response. For use when one needs the spectrum of a filter, for example to do frequency domain filtering.
This would typically be a set of FIR coefficients, but can be any frequency response as long as it is not infinite and has a length <= fft-size/2.
'spectrum' must have enough room for 'fft-size' samples.
1.8.17