add tests
Allan Cornet [Fri, 26 Sep 2008 06:30:28 +0000 (06:30 +0000)]
scilab/modules/signal_processing/tests/unit_tests/amell.dia.ref [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/amell.tst [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/corr.dia.ref [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/corr.tst [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/delip.dia.ref [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/delip.tst [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/fft.dia.ref [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/fft.tst [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/syredi.dia.ref [new file with mode: 0644]
scilab/modules/signal_processing/tests/unit_tests/syredi.tst [new file with mode: 0644]

diff --git a/scilab/modules/signal_processing/tests/unit_tests/amell.dia.ref b/scilab/modules/signal_processing/tests/unit_tests/amell.dia.ref
new file mode 100644 (file)
index 0000000..723ba7e
--- /dev/null
@@ -0,0 +1,9 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+if amell(10,[1:10])<> 0 then bugmes();quit;end
+if or(size(amell([1:10],[1:10])) <> [1 10]) then bugmes();quit;end
+if or(amell([1:10],[1:10])<> 0) then bugmes();quit;end
diff --git a/scilab/modules/signal_processing/tests/unit_tests/amell.tst b/scilab/modules/signal_processing/tests/unit_tests/amell.tst
new file mode 100644 (file)
index 0000000..4faa61f
--- /dev/null
@@ -0,0 +1,10 @@
+// =============================================================================\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
+// Copyright (C) 2008 - DIGITEO\r
+//\r
+//  This file is distributed under the same license as the Scilab package.\r
+// =============================================================================\r
+\r
+if amell(10,[1:10])<> 0 then pause,end\r
+if or(size(amell([1:10],[1:10])) <> [1 10]) then pause,end\r
+if or(amell([1:10],[1:10])<> 0) then pause,end
\ No newline at end of file
diff --git a/scilab/modules/signal_processing/tests/unit_tests/corr.dia.ref b/scilab/modules/signal_processing/tests/unit_tests/corr.dia.ref
new file mode 100644 (file)
index 0000000..6ae6d25
--- /dev/null
@@ -0,0 +1,28 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+rand('normal');
+x=rand(1,256);
+y=-x;
+deff('[z]=xx(inc,is)','z=x(is:is+inc-1)');
+deff('[z]=yy(inc,is)','z=y(is:is+inc-1)');
+[c, mxy]=corr(x,y,32);
+if or(size(c)<>[1 32]) then bugmes();quit;end
+if or(size(mxy)<>[1 2]) then bugmes();quit;end
+x=x-mxy(1)*ones(x);
+y=y-mxy(2)*ones(y);
+c1=corr(x,y,32);
+c2=corr(x,32);
+if norm(c1+c2,1) > %eps then bugmes();quit;end
+[c3,m3]=corr('fft',xx,yy,256,32);
+if norm(c1-c3,1) > 10 *%eps then bugmes();quit;end
+[c4,m4]=corr('fft',xx,256,32);
+if or(size(c4)<>[1 32]) then bugmes();quit;end
+if or(size(m4)<>[1 1]) then bugmes();quit;end
+if norm(m3,1) > %eps then bugmes();quit;end
+if norm(m4,1) > %eps then bugmes();quit;end
+if norm(c3-c1,1) > 10*%eps then bugmes();quit;end
+if norm(c4-c2,1) > 10*%eps then bugmes();quit;end
diff --git a/scilab/modules/signal_processing/tests/unit_tests/corr.tst b/scilab/modules/signal_processing/tests/unit_tests/corr.tst
new file mode 100644 (file)
index 0000000..8503804
--- /dev/null
@@ -0,0 +1,36 @@
+// =============================================================================\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
+// Copyright (C) 2008 - DIGITEO\r
+//\r
+//  This file is distributed under the same license as the Scilab package.\r
+// =============================================================================\r
+\r
+\r
+rand('normal');\r
+x=rand(1,256);\r
+y=-x;\r
+deff('[z]=xx(inc,is)','z=x(is:is+inc-1)');\r
+deff('[z]=yy(inc,is)','z=y(is:is+inc-1)');\r
+[c, mxy]=corr(x,y,32);\r
+if or(size(c)<>[1 32]) then pause,end\r
+if or(size(mxy)<>[1 2]) then pause,end\r
+\r
+x=x-mxy(1)*ones(x);\r
+y=y-mxy(2)*ones(y);\r
+c1=corr(x,y,32);\r
+c2=corr(x,32);\r
+if norm(c1+c2,1) > %eps then pause,end\r
+\r
+[c3,m3]=corr('fft',xx,yy,256,32);\r
+if norm(c1-c3,1) > 10 *%eps then pause,end\r
+\r
+[c4,m4]=corr('fft',xx,256,32);\r
+if or(size(c4)<>[1 32]) then pause,end\r
+if or(size(m4)<>[1 1]) then pause,end\r
+\r
+if norm(m3,1) > %eps then pause,end\r
+if norm(m4,1) > %eps then pause,end\r
+if norm(c3-c1,1) > 10*%eps then pause,end\r
+if norm(c4-c2,1) > 10*%eps then pause,end\r
+\r
\ No newline at end of file
diff --git a/scilab/modules/signal_processing/tests/unit_tests/delip.dia.ref b/scilab/modules/signal_processing/tests/unit_tests/delip.dia.ref
new file mode 100644 (file)
index 0000000..6dab3d6
--- /dev/null
@@ -0,0 +1,11 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+ck=0.5;
+r = delip([1,2],ck);
+ref = [1.6857504    1.6857504 + 2.1565156*%i];
+if or(size(r)<> [1 2]) then bugmes();quit;end
+if norm(ref-r) > 1e9 *%eps then bugmes();quit;end
diff --git a/scilab/modules/signal_processing/tests/unit_tests/delip.tst b/scilab/modules/signal_processing/tests/unit_tests/delip.tst
new file mode 100644 (file)
index 0000000..17237b4
--- /dev/null
@@ -0,0 +1,12 @@
+// =============================================================================\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
+// Copyright (C) 2008 - DIGITEO\r
+//\r
+//  This file is distributed under the same license as the Scilab package.\r
+// =============================================================================\r
+\r
+ck=0.5;\r
+r = delip([1,2],ck);\r
+ref = [1.6857504    1.6857504 + 2.1565156*%i];\r
+if or(size(r)<> [1 2]) then pause,end\r
+if norm(ref-r) > 1e9 *%eps then pause,end\r
diff --git a/scilab/modules/signal_processing/tests/unit_tests/fft.dia.ref b/scilab/modules/signal_processing/tests/unit_tests/fft.dia.ref
new file mode 100644 (file)
index 0000000..fdd4ca0
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+a = [1;2;3];
+n=size(a,'*');
+r1 = norm(1/n*exp(2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,1));
+if r1 > 10 *%eps then bugmes();quit;end
+r2 = norm(exp(-2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,-1));
+if r2 > 100 *%eps then bugmes();quit;end
+sample_rate = 1000;
+t = 0:1/sample_rate:0.6;
+N = size(t,'*');
+s = sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1);
+y = fft(s);
+if or(size(y) <> [1 601]) then bugmes();quit;end
diff --git a/scilab/modules/signal_processing/tests/unit_tests/fft.tst b/scilab/modules/signal_processing/tests/unit_tests/fft.tst
new file mode 100644 (file)
index 0000000..be4c6b8
--- /dev/null
@@ -0,0 +1,23 @@
+// =============================================================================\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
+// Copyright (C) 2008 - DIGITEO\r
+//\r
+//  This file is distributed under the same license as the Scilab package.\r
+// =============================================================================\r
+\r
+a = [1;2;3];\r
+n=size(a,'*');\r
+r1 = norm(1/n*exp(2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,1));\r
+if r1 > 10 *%eps then pause,end\r
+\r
+r2 = norm(exp(-2*%i*%pi*(0:n-1)'.*.(0:n-1)/n)*a -fft(a,-1));\r
+if r2 > 100 *%eps then pause,end\r
\r
+sample_rate = 1000;\r
+t = 0:1/sample_rate:0.6;\r
+N = size(t,'*');\r
+s = sin(2*%pi*50*t)+sin(2*%pi*70*t+%pi/4)+grand(1,N,'nor',0,1);\r
+y = fft(s);\r
+if or(size(y) <> [1 601]) then pause,end\r
+\r
\ No newline at end of file
diff --git a/scilab/modules/signal_processing/tests/unit_tests/syredi.dia.ref b/scilab/modules/signal_processing/tests/unit_tests/syredi.dia.ref
new file mode 100644 (file)
index 0000000..782a504
--- /dev/null
@@ -0,0 +1,18 @@
+// =============================================================================
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) 2008 - DIGITEO
+//
+//  This file is distributed under the same license as the Scilab package.
+// =============================================================================
+[fact,b2,b1,b0,c1,c0,zzeros,zpoles]=syredi(1,4,[2*%pi/10,4*%pi/10,0,0],0.02,0.001);
+ref_fact = 0.005976;
+if norm(fact-ref_fact) > 0.0000037 then bugmes();quit;end
+if or(b2<>[1 1 1]) then bugmes();quit;end
+if or(size(b1)<>[1 3]) then bugmes();quit;end
+if b1(3)<> 1 then bugmes();quit;end
+if or(b0<>[1 1 0]) then bugmes();quit;end
+if or(size(c1)<>[1 3]) then bugmes();quit;end
+if or(size(c0)<>[1 3]) then bugmes();quit;end
+if c0(3)<> 0 then bugmes();quit;end
+if or(size(zzeros)<>[1 5]) then bugmes();quit;end
+if or(size(zpoles)<>[1 5]) then bugmes();quit;end
diff --git a/scilab/modules/signal_processing/tests/unit_tests/syredi.tst b/scilab/modules/signal_processing/tests/unit_tests/syredi.tst
new file mode 100644 (file)
index 0000000..c22df6e
--- /dev/null
@@ -0,0 +1,19 @@
+// =============================================================================\r
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab\r
+// Copyright (C) 2008 - DIGITEO\r
+//\r
+//  This file is distributed under the same license as the Scilab package.\r
+// =============================================================================\r
+\r
+[fact,b2,b1,b0,c1,c0,zzeros,zpoles]=syredi(1,4,[2*%pi/10,4*%pi/10,0,0],0.02,0.001);\r
+ref_fact = 0.005976;\r
+if norm(fact-ref_fact) > 0.0000037 then pause,end\r
+if or(b2<>[1 1 1]) then pause,end\r
+if or(size(b1)<>[1 3]) then pause,end\r
+if b1(3)<> 1 then pause,end\r
+if or(b0<>[1 1 0]) then pause,end\r
+if or(size(c1)<>[1 3]) then pause,end\r
+if or(size(c0)<>[1 3]) then pause,end\r
+if c0(3)<> 0 then pause,end\r
+if or(size(zzeros)<>[1 5]) then pause,end\r
+if or(size(zpoles)<>[1 5]) then pause,end\r