A simple FFT implementation provided for convenience of plugin authors. More...

#include <FFT.h>

Public Member Functions

 FFTReal (unsigned int n)
 Prepare to calculate transforms of size n. More...
 
 ~FFTReal ()
 
void forward (const double *ri, double *co)
 Calculate a forward transform of size n. More...
 
void inverse (const double *ci, double *ro)
 Calculate an inverse transform of size n. More...
 

Private Attributes

D * m_d
 

Detailed Description

A simple FFT implementation provided for convenience of plugin authors.

This class provides transforms between double-precision real time-domain and double-precision complex frequency-domain data.

Note: If the SDK has been compiled with the SINGLE_PRECISION_FFT flag, then all FFTs will use single precision internally. The default is double precision. The API uses doubles in either case.

The forward transform is unscaled; the inverse transform is scaled by 1/n.

Definition at line 161 of file FFT.h.

Constructor & Destructor Documentation

Vamp::FFTReal::FFTReal ( unsigned int  n)

Prepare to calculate transforms of size n.

n must be a multiple of 2.

Vamp::FFTReal::~FFTReal ( )

Member Function Documentation

void Vamp::FFTReal::forward ( const double *  ri,
double *  co 
)

Calculate a forward transform of size n.

ri must point to the real input data of size n.

co must point to enough space to receive an interleaved complex output array of size n/2+1 (that is, n+2 doubles in total).

void Vamp::FFTReal::inverse ( const double *  ci,
double *  ro 
)

Calculate an inverse transform of size n.

ci must point to an interleaved complex input array of size n/2+1 (that is, n+2 doubles in total).

ro must point to enough space to receive the real output data of size n. The output is scaled by 1/n and only the real part is returned.

Member Data Documentation

D* Vamp::FFTReal::m_d
private

Definition at line 195 of file FFT.h.


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