fft.h File Reference

Fast Fourier Transform object. More...

#include <fftw3.h>

Include dependency graph for fft.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define FFTW_TYPE   double
 fft data type

Typedefs

typedef FFTW_TYPE fft_data_t
 fft data type
typedef _aubio_fft_t aubio_fft_t
 FFT object.
typedef _aubio_mfft_t aubio_mfft_t
 FFT object (using cvec).

Functions

aubio_fft_tnew_aubio_fft (uint_t size)
 create new FFT computation object
void del_aubio_fft (aubio_fft_t *s)
 delete FFT object
void aubio_fft_do (const aubio_fft_t *s, const smpl_t *data, fft_data_t *spectrum, const uint_t size)
 compute forward FFT
void aubio_fft_rdo (const aubio_fft_t *s, const fft_data_t *spectrum, smpl_t *data, const uint_t size)
 compute backward (inverse) FFT
void aubio_fft_getnorm (smpl_t *norm, fft_data_t *spectrum, uint_t size)
 compute norm vector from input spectrum
void aubio_fft_getphas (smpl_t *phase, fft_data_t *spectrum, uint_t size)
 compute phase vector from input spectrum
aubio_mfft_tnew_aubio_mfft (uint_t winsize, uint_t channels)
 create new FFT computation object
void aubio_mfft_do (aubio_mfft_t *fft, fvec_t *in, cvec_t *fftgrain)
 compute forward FFT
void aubio_mfft_rdo (aubio_mfft_t *fft, cvec_t *fftgrain, fvec_t *out)
 compute backward (inverse) FFT
void del_aubio_mfft (aubio_mfft_t *fft)
 delete FFT object


Detailed Description

Fast Fourier Transform object.


Typedef Documentation

typedef struct _aubio_fft_t aubio_fft_t

FFT object.

This object computes forward and backward FFTs, using the complex type to store the results. The phase vocoder or aubio_mfft_t objects should be preferred to using directly aubio_fft_t. The FFT are computed using FFTW3 (although support for another library could be added).

typedef struct _aubio_mfft_t aubio_mfft_t

FFT object (using cvec).

This object works similarly as aubio_fft_t, except the spectral data is stored in a cvec_t as two vectors, magnitude and phase.


Function Documentation

void aubio_fft_do ( const aubio_fft_t s,
const smpl_t data,
fft_data_t spectrum,
const uint_t  size 
)

compute forward FFT

Parameters:
s fft object as returned by new_aubio_fft
data input signal
spectrum output spectrum
size length of the input vector

void aubio_fft_getnorm ( smpl_t norm,
fft_data_t spectrum,
uint_t  size 
)

compute norm vector from input spectrum

Parameters:
norm magnitude vector output
spectrum spectral data input
size size of the vectors

void aubio_fft_getphas ( smpl_t phase,
fft_data_t spectrum,
uint_t  size 
)

compute phase vector from input spectrum

Parameters:
phase phase vector output
spectrum spectral data input
size size of the vectors

void aubio_fft_rdo ( const aubio_fft_t s,
const fft_data_t spectrum,
smpl_t data,
const uint_t  size 
)

compute backward (inverse) FFT

Parameters:
s fft object as returned by new_aubio_fft
spectrum input spectrum
data output signal
size length of the input vector

void aubio_mfft_do ( aubio_mfft_t fft,
fvec_t in,
cvec_t fftgrain 
)

compute forward FFT

Parameters:
fft fft object as returned by new_aubio_mfft
in input signal
fftgrain output spectrum

void aubio_mfft_rdo ( aubio_mfft_t fft,
cvec_t fftgrain,
fvec_t out 
)

compute backward (inverse) FFT

Parameters:
fft fft object as returned by new_aubio_mfft
fftgrain input spectrum (cvec)
out output signal

void del_aubio_fft ( aubio_fft_t s  ) 

delete FFT object

Parameters:
s fft object as returned by new_aubio_fft

void del_aubio_mfft ( aubio_mfft_t fft  ) 

delete FFT object

Parameters:
fft fft object as returned by new_aubio_mfft

aubio_fft_t* new_aubio_fft ( uint_t  size  ) 

create new FFT computation object

Parameters:
size length of the FFT

aubio_mfft_t* new_aubio_mfft ( uint_t  winsize,
uint_t  channels 
)

create new FFT computation object

Parameters:
winsize length of the FFT
channels number of channels


Generated on Wed Oct 11 17:36:51 2006 for aubio by  doxygen 1.4.7