Ardour
9.0-pre0-582-g084a23a80d
|
#include <FFT.h>
Public Member Functions | |
FFTReal (int nsamples) | |
~FFTReal () | |
void | forward (const double *realIn, double *realOut, double *imagOut) |
void | forwardMagnitude (const double *realIn, double *magOut) |
void | inverse (const double *realIn, const double *imagIn, double *realOut) |
Private Attributes | |
D * | m_d |
FFTReal::FFTReal | ( | int | nsamples | ) |
FFTReal::~FFTReal | ( | ) |
void FFTReal::forward | ( | const double * | realIn, |
double * | realOut, | ||
double * | imagOut | ||
) |
Carry out a forward real-to-complex transform of size nsamples, where nsamples is the value provided to the constructor above.
realIn, realOut, and imagOut must point to (enough space for) nsamples values. For consistency with the FFT class above, and compatibility with existing code, the conjugate half of the output is returned even though it is redundant.
void FFTReal::forwardMagnitude | ( | const double * | realIn, |
double * | magOut | ||
) |
Carry out a forward real-to-complex transform of size nsamples, where nsamples is the value provided to the constructor above. Return only the magnitudes of the complex output values.
realIn and magOut must point to (enough space for) nsamples values. For consistency with the FFT class above, and compatibility with existing code, the conjugate half of the output is returned even though it is redundant.
void FFTReal::inverse | ( | const double * | realIn, |
const double * | imagIn, | ||
double * | realOut | ||
) |
Carry out an inverse real transform (i.e. complex-to-real) of size nsamples, where nsamples is the value provided to the constructor above.
realIn and imagIn should point to at least nsamples/2+1 values; if more are provided, only the first nsamples/2+1 values of each will be used (the conjugate half will always be deduced from the first nsamples/2+1 rather than being read from the input data). realOut should point to enough space to receive nsamples values.
The inverse transform is scaled by 1/nsamples.