Pd++  0.01
A pure C++ implementation of Pure Data objects
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Member Functions | Public Attributes | List of all members
pd::complexFFT Class Reference

Complex Fast Fourier Transform. More...

#include <cFFT.h>

Inheritance diagram for pd::complexFFT:
PdMaster FFT

Public Member Functions

 complexFFT ()
 
 complexFFT (int)
 
double * perform (double real, double imaginary)
 
- Public Member Functions inherited from PdMaster
void * getbytes (size_t nbytes)
 
void * resizebytes (void *old, size_t oldsize, size_t newsize)
 
void freebytes (void *fatso, size_t nbytes)
 
std::string getPath ()
 
void setSampleRate (unsigned long)
 
unsigned long getSampleRate ()
 
void setBlockSize (int)
 
int getBlockSize ()
 
double getTimeInSampleTicks ()
 
long getTimeInMilliSeconds (double time)
 
int pdBigOrSmall (double f)
 
void cos_maketable ()
 
int PD_BIGORSMALL (float f)
 
void setFFTWindow (int)
 
int getFFTWindow ()
 
double mtof (double)
 
double ftom (double)
 
double powtodb (double)
 
double dbtopow (double)
 
double rmstodb (double)
 
double dbtorms (double)
 
- Public Member Functions inherited from FFT
void mayer_fht (double *fz, int n)
 
void mayer_fft (int n, double *real, double *imag)
 
void mayer_ifft (int n, double *real, double *imag)
 
void mayer_realfft (int n, double *real)
 
void mayer_realifft (int n, double *real)
 

Public Attributes

const std::string pdName = "fft~"
 
- Public Attributes inherited from PdMaster
int cosTableSize = COSTABSIZE
 
float * cos_table
 

Additional Inherited Members

- Public Types inherited from PdMaster
typedef union
PdMaster::_sampleint_union 
t_sampleint_union
 

Detailed Description

Complex Fast Fourier Transform.

Outputs a window, or block of samples based on the FFT window. Complex FFT returns the real and imaginary parts via a struct.

Constructor & Destructor Documentation

pd::complexFFT::complexFFT ( )

If you would like to change the window size, default is 64, use ::setFFTWindow() which is inherited from PdMaster.

pd::complexFFT::complexFFT ( int  ws)

Copy constructor. You can manually set the window size here.

Member Function Documentation

double * pd::complexFFT::perform ( double  real,
double  imaginary 
)

This function returns a block of complex samples, which are the real and imaginary parts.

complexFFT returns a block of samples that are processed by mayer_fft(). For complex FFT it returns the real and imaginary parts. The Mayer FFT methods pass all values by reference. You can do whatever with these samples. To resynthesize use cIFFT and divide by window size.


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