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

Real Inverse Fast Fourier Transform. More...

#include <rIFFT.h>

Inheritance diagram for pd::realIFFT:
PdMaster FFT

Public Member Functions

 realIFFT ()
 
 realIFFT (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 = "rifft~"
 
- 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 Inverse Fast Fourier Transform.

This is an emulation of the rifft~ object. It takes a window of samples and resynthesizes them back into the time domain. This is different from several other Pd++ classes as it accepts a double*, which is a c-style reference to our input window. Real Inverse Fast Fourier Transform only provides the real (or cosine part I believe) of an FFT. See FFT or fft_mayer.c for more information on the algorithm.

Constructor & Destructor Documentation

pd::realIFFT::realIFFT ( )

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

pd::realIFFT::realIFFT ( int  ws)

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


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