Mercurial > hg > aim92
view tools/sigproc.h @ 0:5242703e91d3 tip
Initial checkin for AIM92 aimR8.2 (last updated May 1997).
author | tomwalters |
---|---|
date | Fri, 20 May 2011 15:19:45 +0100 |
parents | |
children |
line wrap: on
line source
#define PI 3.14159265 #define TWOPI 6.2831853 #define MAXSHORT 32767. #define MINSHORT ( -32767. ) #define log2(x) (log((double)x)/log(2.0)) typedef struct { float real; float imag; } complex; #define sq(x) ((x)*(x)) #define Re(C) (C)->real /* cartesian form */ #define Im(C) (C)->imag /* V is m floats interpreted as m/2 complex numbers: (real,imag). mag: overwrite first m/2 floats with mod of m/2 complex numbers. phase: overwrite first m/2 floats with arg of m/2 complex numbers. fft: overwrite m floats with m/2 complex numbers (Fourier spectrum). */ #define mag(V,m) Mod( (complex *)V, m>>1 ) #define phase(V,m) Arg( (complex *)V, m>>1 ) #define fft(V,m,i) realft( (float *)(V)-1, m>>1, i ) float mod(); float arg(); int ispower(); int getpower(); float ftos() ; float *raised_cosine() ; float *hamming() ; float *gauss_window() ; short *getframe() ;