aubio  0.4.0
 All Data Structures Files Functions Variables Typedefs Macros
Typedefs | Functions
fft.h File Reference

Fast Fourier Transform. More...

Go to the source code of this file.

Typedefs

typedef struct _aubio_fft_t aubio_fft_t
 FFT object. More...
 

Functions

aubio_fft_tnew_aubio_fft (uint_t size)
 create new FFT computation object More...
 
void del_aubio_fft (aubio_fft_t *s)
 delete FFT object More...
 
void aubio_fft_do (aubio_fft_t *s, fvec_t *input, cvec_t *spectrum)
 compute forward FFT More...
 
void aubio_fft_rdo (aubio_fft_t *s, cvec_t *spectrum, fvec_t *output)
 compute backward (inverse) FFT More...
 
void aubio_fft_do_complex (aubio_fft_t *s, fvec_t *input, fvec_t *compspec)
 compute forward FFT More...
 
void aubio_fft_rdo_complex (aubio_fft_t *s, fvec_t *compspec, fvec_t *output)
 compute backward (inverse) FFT from real/imag More...
 
void aubio_fft_get_spectrum (fvec_t *compspec, cvec_t *spectrum)
 convert real/imag spectrum to norm/phas spectrum More...
 
void aubio_fft_get_realimag (cvec_t *spectrum, fvec_t *compspec)
 convert real/imag spectrum to norm/phas spectrum More...
 
void aubio_fft_get_phas (fvec_t *compspec, cvec_t *spectrum)
 compute phas spectrum from real/imag parts More...
 
void aubio_fft_get_imag (cvec_t *spectrum, fvec_t *compspec)
 compute imaginary part from the norm/phas cvec More...
 
void aubio_fft_get_norm (fvec_t *compspec, cvec_t *spectrum)
 compute norm component from real/imag parts More...
 
void aubio_fft_get_real (cvec_t *spectrum, fvec_t *compspec)
 compute real part from norm/phas components More...
 

Detailed Description

Fast Fourier Transform.

Depending on how aubio was compiled, FFT are computed using one of:

Definition in file fft.h.

Typedef Documentation

typedef struct _aubio_fft_t aubio_fft_t

FFT object.

This object computes forward and backward FFTs.

Definition at line 46 of file fft.h.

Function Documentation

void aubio_fft_do ( aubio_fft_t s,
fvec_t input,
cvec_t spectrum 
)

compute forward FFT

Parameters
sfft object as returned by new_aubio_fft
inputinput signal
spectrumoutput spectrum
Examples:
src/spectral/test-fft.c.
void aubio_fft_do_complex ( aubio_fft_t s,
fvec_t input,
fvec_t compspec 
)

compute forward FFT

Parameters
sfft object as returned by new_aubio_fft
inputreal input signal
compspeccomplex output fft real/imag
void aubio_fft_get_imag ( cvec_t spectrum,
fvec_t compspec 
)

compute imaginary part from the norm/phas cvec

Parameters
spectrumnorm/phas input array
compspecreal/imag output fft array
void aubio_fft_get_norm ( fvec_t compspec,
cvec_t spectrum 
)

compute norm component from real/imag parts

Parameters
compspecreal/imag input fft array
spectrumcvec norm/phas output array
void aubio_fft_get_phas ( fvec_t compspec,
cvec_t spectrum 
)

compute phas spectrum from real/imag parts

Parameters
compspecreal/imag input fft array
spectrumcvec norm/phas output array
void aubio_fft_get_real ( cvec_t spectrum,
fvec_t compspec 
)

compute real part from norm/phas components

Parameters
spectrumnorm/phas input array
compspecreal/imag output fft array
void aubio_fft_get_realimag ( cvec_t spectrum,
fvec_t compspec 
)

convert real/imag spectrum to norm/phas spectrum

Parameters
compspecreal/imag input fft array
spectrumcvec norm/phas output array
void aubio_fft_get_spectrum ( fvec_t compspec,
cvec_t spectrum 
)

convert real/imag spectrum to norm/phas spectrum

Parameters
compspecreal/imag input fft array
spectrumcvec norm/phas output array
void aubio_fft_rdo ( aubio_fft_t s,
cvec_t spectrum,
fvec_t output 
)

compute backward (inverse) FFT

Parameters
sfft object as returned by new_aubio_fft
spectruminput spectrum
outputoutput signal
Examples:
src/spectral/test-fft.c.
void aubio_fft_rdo_complex ( aubio_fft_t s,
fvec_t compspec,
fvec_t output 
)

compute backward (inverse) FFT from real/imag

Parameters
sfft object as returned by new_aubio_fft
compspecreal/imag input fft array
outputreal output array
void del_aubio_fft ( aubio_fft_t s)

delete FFT object

Parameters
sfft object as returned by new_aubio_fft
Examples:
src/spectral/test-fft.c.
aubio_fft_t* new_aubio_fft ( uint_t  size)

create new FFT computation object

Parameters
sizelength of the FFT
Examples:
src/spectral/test-fft.c.