#include <FFT.h>

Classes

class  D
 

Public Member Functions

 FFTReal (int nsamples)
 Construct an FFT object to carry out real-to-complex transforms of size nsamples. More...
 
 ~FFTReal ()
 
void 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. More...
 
void 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. More...
 
void inverse (const double *realIn, const double *imagIn, double *realOut)
 Carry out an inverse real transform (i.e. More...
 

Private Attributes

Dm_d
 

Detailed Description

Definition at line 52 of file FFT.h.

Constructor & Destructor Documentation

FFTReal::FFTReal ( int  nsamples)

Construct an FFT object to carry out real-to-complex transforms of size nsamples.

nsamples does not have to be a power of two, but it does have to be even. (Use the complex-complex FFT above if you need an odd FFT size. This constructor will throw std::invalid_argument if nsamples is odd.)

Definition at line 173 of file FFT.cpp.

FFTReal::~FFTReal ( )

Definition at line 178 of file FFT.cpp.

References m_d.

Member Function Documentation

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.

Definition at line 184 of file FFT.cpp.

References FFTReal::D::forward(), and m_d.

Referenced by ClusterMeltSegmenter::extractFeaturesConstQ(), DownBeat::findDownBeats(), DCT::forward(), MFCC::process(), Chromagram::process(), and PhaseVocoder::processTimeDomain().

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.

Definition at line 190 of file FFT.cpp.

References FFTReal::D::forwardMagnitude(), and m_d.

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.

Definition at line 196 of file FFT.cpp.

References FFTReal::D::inverse(), and m_d.

Referenced by DCT::inverse().

Member Data Documentation

D* FFTReal::m_d
private

Definition at line 107 of file FFT.h.

Referenced by forward(), forwardMagnitude(), inverse(), and ~FFTReal().


The documentation for this class was generated from the following files: