next up previous contents
Next: History Up: Programmer guide Previous: Linear predictive analysis   Contents

Fourrier analysis

int FFTInit(unsigned long n)
Initialize an n point FFT. Must be called prior to any invocation of FFTransform().

int FFTransform(sig_t *x, vector_t *m, vector_t *p)
Performs the FFT of signal x. Returns the phase in p and the module m. Vectors p and m must be allocated before calling this function and must be able to contain (at least) $\mbox{\tt\small npts}/2$ points. Either p or m can be NULL if phase or module is not to be computed.

int LogFilterBank(sig_t *x, float alpha, int nfilt, float f_min, float f_max, vector_t *v)
Applies a triangular filter bank of nfilt filters to signal x using the spectral resolution defined by alpha ( alpha=0 means equal resolution). The frequency range (in the original domain) can be specified by the f_min and f_max variable. These frequencies must be given as normalized frequency (i.e. $\in [0,0.5]$). The whole frequency band is considered if both frequencies are equal. The log energy in each filter is returned in vector v. v is must be allocated before calling the function.

int LogMelFilterBank(sig_t *x, float freq, int nfilt, float f_min, float f_max, vector_t *v)
Similar to LogFilterBank() except that Mel frequency warping is used instead of alpha-warping. freq is the sample rate of the signal.

int DCTInit(int n, int m)
Initialize a n to m DCT kernel. Must be called prior to any invocation of DCTransform().

int DCTransform(vector_t *v1, vector_t *v2)
Computes cepstral coefficients returned in vector v2 from the filter-bank output in vector v1. v2 must be allocated prior to the invocation of the function.


next up previous contents
Next: History Up: Programmer guide Previous: Linear predictive analysis   Contents
Guillaume Gravier 2003-05-07