Welcome to mirror list, hosted at ThFree Co, Russian Federation.

gitlab.com/quite/celt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tests
diff options
context:
space:
mode:
authorJean-Marc Valin <jean-marc.valin@usherbrooke.ca>2008-02-24 15:48:15 +0300
committerJean-Marc Valin <jean-marc.valin@usherbrooke.ca>2008-02-24 15:48:15 +0300
commit4508ebd58562e23980157a3e954085bf31640870 (patch)
treebc4c998976fdf0b3ed42421ca43bcb1bcc764103 /tests
parent44830b044069aa5870906087aae3ccf78d5749f5 (diff)
real fft snr comparison testcase includes DC
Diffstat (limited to 'tests')
-rw-r--r--tests/real-fft-test.c9
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];