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::realFFT Class Reference

Real Fast Fourier Transform. More...

#include <rFFT.h>

Inheritance diagram for pd::realFFT:
PdMaster FFT

Public Member Functions

 realFFT ()
 
 realFFT (int)
 
double * perform (double input)
 
- 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 = "rfft~"
 
- 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

Real Fast Fourier Transform.

Outputs a window, or block of samples based on the FFT window.

Constructor & Destructor Documentation

pd::realFFT::realFFT ( )

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

pd::realFFT::realFFT ( int  ws)

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

Member Function Documentation

double * pd::realFFT::perform ( double  input)

realFFT returns a block of samples that are processed by mayer_realfft(). The Mayer FFT methods pass all values by reference. You can do whatever with these samples. To resynthesize uses rIFFT and divide by window size.


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