diff options
author | Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> | 2008-02-24 15:48:15 +0300 |
---|---|---|
committer | Jean-Marc Valin <jean-marc.valin@usherbrooke.ca> | 2008-02-24 15:48:15 +0300 |
commit | 4508ebd58562e23980157a3e954085bf31640870 (patch) | |
tree | bc4c998976fdf0b3ed42421ca43bcb1bcc764103 /tests | |
parent | 44830b044069aa5870906087aae3ccf78d5749f5 (diff) |
real fft snr comparison testcase includes DC
Diffstat (limited to 'tests')
-rw-r--r-- | tests/real-fft-test.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/tests/real-fft-test.c b/tests/real-fft-test.c index e0e5a1d..25db1a4 100644 --- a/tests/real-fft-test.c +++ b/tests/real-fft-test.c @@ -26,12 +26,15 @@ double snr_compare( kiss_fft_cpx * vec1,kiss_fft_scalar * vec2, int n) int k; double sigpow=1e-10, noisepow=1e-10, err,snr; - for (k=1;k<n;++k) { + vec1[0].i = vec1[n].r; + for (k=0;k<n;++k) { sigpow += (double)vec1[k].r * (double)vec1[k].r + (double)vec1[k].i * (double)vec1[k].i; err = (double)vec1[k].r - (double)vec2[2*k]; + /*printf ("%f %f\n", (double)vec1[k].r, (double)vec2[2*k]);*/ noisepow += err * err; err = (double)vec1[k].i - (double)vec2[2*k+1]; + /*printf ("%f %f\n", (double)vec1[k].i, (double)vec2[2*k+1]);*/ noisepow += err * err; } @@ -49,7 +52,7 @@ double snr_compare_scal( kiss_fft_scalar * vec1,kiss_fft_scalar * vec2, int n) int k; double sigpow=1e-10, noisepow=1e-10, err,snr; - for (k=1;k<n;++k) { + for (k=0;k<n;++k) { sigpow += (double)vec1[k] * (double)vec1[k]; err = (double)vec1[k] - (double)vec2[k]; noisepow += err * err; @@ -83,8 +86,6 @@ int main(void) kiss_fft_scalar zero; memset(&zero,0,sizeof(zero) ); // ugly way of setting short,int,float,double, or __m128 to zero - srand(time(0)); - for (i=0;i<NFFT;++i) { rin[i] = rand_scalar(); cin[i].r = rin[i]; |