Defines | Typedefs | Functions

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 struct _aubio_fft_t aubio_fft_t
 FFT object.
typedef struct _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:
sfft object as returned by new_aubio_fft
datainput signal
spectrumoutput spectrum
sizelength 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:
normmagnitude vector output
spectrumspectral data input
sizesize of the vectors
void aubio_fft_getphas ( smpl_t phase,
fft_data_t spectrum,
uint_t  size 
)

compute phase vector from input spectrum

Parameters:
phasephase vector output
spectrumspectral data input
sizesize 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:
sfft object as returned by new_aubio_fft
spectruminput spectrum
dataoutput signal
sizelength of the input vector
void aubio_mfft_do ( aubio_mfft_t fft,
fvec_t in,
cvec_t fftgrain 
)

compute forward FFT

Parameters:
fftfft object as returned by new_aubio_mfft
ininput signal
fftgrainoutput spectrum
void aubio_mfft_rdo ( aubio_mfft_t fft,
cvec_t fftgrain,
fvec_t out 
)

compute backward (inverse) FFT

Parameters:
fftfft object as returned by new_aubio_mfft
fftgraininput spectrum (cvec)
outoutput signal
void del_aubio_fft ( aubio_fft_t s )

delete FFT object

Parameters:
sfft object as returned by new_aubio_fft
void del_aubio_mfft ( aubio_mfft_t fft )

delete FFT object

Parameters:
fftfft object as returned by new_aubio_mfft
aubio_fft_t* new_aubio_fft ( uint_t  size )

create new FFT computation object

Parameters:
sizelength of the FFT
aubio_mfft_t* new_aubio_mfft ( uint_t  winsize,
uint_t  channels 
)

create new FFT computation object

Parameters:
winsizelength of the FFT
channelsnumber of channels
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines