Pd++
0.01
A pure C++ implementation of Pure Data objects
|
Complex Inverse Fast Fourier Transform. More...
#include <cIFFT.h>
Public Member Functions | |
complexIFFT () | |
complexIFFT (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 = "ifft~" |
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 |
Complex Inverse Fast Fourier Transform.
This is an emulation of the ifft~ 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 complex*, which is a c-style reference to our input window. Complex Inverse Fast Fourier Transform only provides the real and imaginary parts of an FFT. See FFT or fft_mayer.c for more information on the algorithm.
pd::complexIFFT::complexIFFT | ( | ) |
If you would like to change the window size, default is 64, use ::setFFTWindow() which is inherited from PdMaster.
pd::complexIFFT::complexIFFT | ( | int | ws | ) |
Copy constructor. You can manually set the window size here.
double * pd::complexIFFT::perform | ( | double * | input | ) |
This function takes a block of complex samples, which are the real and imaginary parts.