csl::IFFT Class Reference

#include <Spectral.h>

Inheritance diagram for csl::IFFT:

csl::UnitGenerator csl::Model

List of all members.

Public Member Functions

 IFFT (int size=CGestalt::blockSize(), CSL_FFTType type=CSL_FFT_COMPLEX)
 Default size to the buffer size and flags to measure.
 ~IFFT ()
int fftSize ()
 no setter -- create a new IFFT to change size
void binValue (int binNumber, float *outRealPart, float *outComplexPart)
 getter methods
void binValueMagPhase (int binNumber, float *outMag, float *outPhase)
void setBin (int binNumber, float realPart, float imagPart)
void setBins (float *real, float *imag)
void setBins (SampleComplexVector cmplxSpectrum)
void setBins (SampleBuffer cmplxSpectrum)
void setBins (int lower, int upper, float *real, float *imag)
void setBinMagPhase (int binNumber, float mag, float phase)
void setBinsMagPhase (float *mags, float *phases)
void nextBuffer (Buffer &outputBuffer) throw (CException)

Protected Attributes

int mFFTSize
 This should be unsigned, but is signed for compatability with FFTW.
FFTWrapper mWrapper
 actual FFT wrapper object
Buffer mInBuf
 input buffer
SampleComplexPtr mSpectrum
 spectral data I accumulate


Detailed Description

Inverse FFT

Constructor & Destructor Documentation

IFFT::IFFT ( int  size = CGestalt::blockSize(),
CSL_FFTType  type = CSL_FFT_COMPLEX 
)

Default size to the buffer size and flags to measure.

References mSpectrum, and SAFE_MALLOC.

IFFT::~IFFT (  ) 

References mSpectrum, and SAFE_FREE.


Member Function Documentation

int csl::IFFT::fftSize (  )  [inline]

no setter -- create a new IFFT to change size

References mFFTSize.

void IFFT::binValue ( int  binNumber,
float *  outRealPart,
float *  outComplexPart 
)

getter methods

References cx_r, and mSpectrum.

Referenced by binValueMagPhase().

void IFFT::binValueMagPhase ( int  binNumber,
float *  outMag,
float *  outPhase 
)

References binValue().

void IFFT::setBin ( int  binNumber,
float  realPart,
float  imagPart 
)

References cx_i, cx_r, csl::logMsg(), and mSpectrum.

Referenced by setBinMagPhase().

void IFFT::setBins ( float *  real,
float *  imag 
)

References cx_i, cx_r, and mSpectrum.

void IFFT::setBins ( SampleComplexVector  cmplxSpectrum  ) 

References cx_i, cx_r, and mSpectrum.

void IFFT::setBins ( SampleBuffer  cmplxSpectrum  ) 

References cx_i, cx_r, and mSpectrum.

void IFFT::setBins ( int  lower,
int  upper,
float *  real,
float *  imag 
)

References cx_i, cx_r, and mSpectrum.

void IFFT::setBinMagPhase ( int  binNumber,
float  mag,
float  phase 
)

References setBin().

void IFFT::setBinsMagPhase ( float *  mags,
float *  phases 
)

References cx_i, cx_r, and mSpectrum.

void IFFT::nextBuffer ( Buffer outputBuffer  )  throw (CException) [virtual]

get a buffer of Frames -- this is the core CSL "pull" function; the given buffer can be written into, and a changed() message is sent.

Reimplemented from csl::UnitGenerator.

References csl::kLogError, and csl::logMsg().


Member Data Documentation

int csl::IFFT::mFFTSize [protected]

This should be unsigned, but is signed for compatability with FFTW.

Referenced by fftSize().

FFTWrapper csl::IFFT::mWrapper [protected]

actual FFT wrapper object

input buffer

spectral data I accumulate

Referenced by binValue(), IFFT(), setBin(), setBins(), setBinsMagPhase(), and ~IFFT().


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

Generated on Thu Sep 17 23:14:17 2009 for CSL by  doxygen 1.5.8