OpenWareLaboratory
|
This class performs direct and inverse Fast Fourier Transform. More...
Public Member Functions | |
FastFourierTransform () | |
Default constructor. More... | |
FastFourierTransform (size_t aSize) | |
Construct and initialize the instance. More... | |
void | fft (FloatArray input, ComplexFloatArray output) |
Perform the direct FFT. More... | |
size_t | getSize () |
Get the size of the FFT. More... | |
void | ifft (ComplexFloatArray input, FloatArray output) |
Perform the inverse FFT. More... | |
void | init (size_t aSize) |
Initialize the instance. More... | |
~FastFourierTransform () | |
Static Public Member Functions | |
static FastFourierTransform * | create (size_t blocksize) |
static void | destroy (FastFourierTransform *obj) |
This class performs direct and inverse Fast Fourier Transform.
Definition at line 14 of file FastFourierTransform.h.
FastFourierTransform::FastFourierTransform | ( | ) |
Default constructor.
Does not initialize the instance.
Definition at line 42 of file FastFourierTransform.cpp.
Referenced by create().
FastFourierTransform::FastFourierTransform | ( | size_t | aSize | ) |
Construct and initialize the instance.
[in] | aSize | The size of the FFT |
Definition at line 44 of file FastFourierTransform.cpp.
References init().
FastFourierTransform::~FastFourierTransform | ( | ) |
Definition at line 48 of file FastFourierTransform.cpp.
References ComplexFloatArray::destroy().
|
static |
Definition at line 87 of file FastFourierTransform.cpp.
References FastFourierTransform().
|
static |
Definition at line 91 of file FastFourierTransform.cpp.
void FastFourierTransform::fft | ( | FloatArray | input, |
ComplexFloatArray | output | ||
) |
Perform the direct FFT.
[in] | input | The real-valued input array |
[out] | output | The complex-valued output array |
Definition at line 61 of file FastFourierTransform.cpp.
References ASSERT, SimpleArray< T >::getData(), getSize(), SimpleArray< T >::getSize(), ComplexFloatArray::im(), and ComplexFloatArray::re().
Referenced by FourierPitchDetector::process().
size_t FastFourierTransform::getSize | ( | ) |
Get the size of the FFT.
Definition at line 81 of file FastFourierTransform.cpp.
References SimpleArray< T >::getSize().
Referenced by fft(), FourierPitchDetector::getSize(), ifft(), and FourierPitchDetector::process().
void FastFourierTransform::ifft | ( | ComplexFloatArray | input, |
FloatArray | output | ||
) |
Perform the inverse FFT.
The output is rescaled by 1/fftSize.
[in] | input | The complex-valued input array |
[out] | output | The real-valued output array |
Definition at line 71 of file FastFourierTransform.cpp.
References ASSERT, SimpleArray< T >::getData(), getSize(), SimpleArray< T >::getSize(), and ComplexFloatArray::re().
void FastFourierTransform::init | ( | size_t | aSize | ) |
Initialize the instance.
aSize | The size of the FFT |
Definition at line 54 of file FastFourierTransform.cpp.
References ASSERT, and ComplexFloatArray::create().
Referenced by FastFourierTransform(), and FourierPitchDetector::init().