From 0182bbff2871114a4e93cc97942da621491f0e02 Mon Sep 17 00:00:00 2001 From: Thomas Grill Date: Tue, 7 Jan 2003 00:28:39 +0000 Subject: "" svn path=/trunk/; revision=325 --- externals/grill/fftease/src/unconvert.c | 36 +++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 externals/grill/fftease/src/unconvert.c (limited to 'externals/grill/fftease/src/unconvert.c') diff --git a/externals/grill/fftease/src/unconvert.c b/externals/grill/fftease/src/unconvert.c new file mode 100644 index 00000000..54bb6ca1 --- /dev/null +++ b/externals/grill/fftease/src/unconvert.c @@ -0,0 +1,36 @@ +#include "pv.h" + + + +void unconvert(float *C, float *S, int N2, float *lastphase, float fundamental, float factor ) +{ + int i, + real, + imag, + amp, + freq; + float mag, + phase; + + for ( i = 0; i <= N2; i++ ) { + + imag = freq = ( real = amp = i<<1 ) + 1; + + if ( i == N2 ) + real = 1; + + mag = C[amp]; + lastphase[i] += C[freq] - i*fundamental; + phase = lastphase[i]*factor; + S[real] = mag*cos( phase ); + + if ( i != N2 ) + S[imag] = -mag*sin( phase ); + /* + if( i == 10 ) { + fprintf(stderr,"unconvert: amp: %f freq: %f funda %f fac %f\n", C[amp],C[freq],fundamental,factor); + } + */ + } + +} -- cgit v1.2.1