Fix test win64b: test_run('signal_processing', 'hank') 16/11416/2
Adeline CARNIS [Fri, 26 Apr 2013 14:01:25 +0000 (16:01 +0200)]
test_run('signal_processing', 'lattn')
test_run('signal_processing', 'lattp')
test_run('signal_processing', 'xcorr')
test_run('signal_processing', 'xcov')
test_run('signal_processing', 'bug_11802')
test_run('signal_processing', bug_1635')

Change-Id: Ibd01e0ec99422a1b5404a368c7e3a84c0dd1a33d

scilab/modules/signal_processing/macros/bilt.sci
scilab/modules/signal_processing/macros/frfit.sci
scilab/modules/signal_processing/macros/hank.sci
scilab/modules/signal_processing/macros/lattn.sci
scilab/modules/signal_processing/macros/lattp.sci
scilab/modules/signal_processing/macros/trans.sci
scilab/modules/signal_processing/macros/xcorr.sci

index 78ab7af..041741d 100644 (file)
@@ -76,14 +76,14 @@ function [npl,nzr,ngn]=bilt(pl,zr,gn,num,den)
     b=n1*ones(zr)-d1*zr;
     c=n0*ones(zr)-d0*zr;
     gz=a;
-    z1=-b./(2*a)+sqrt((b./(2*a))**2-c./a);
-    z2=-b./(2*a)-sqrt((b./(2*a))**2-c./a);
+    z1=-b./(2*a)+sqrt((b./(2*a)).^2-c./a);
+    z2=-b./(2*a)-sqrt((b./(2*a)).^2-c./a);
     a=n2*ones(pl)-d2*pl;
     b=n1*ones(pl)-d1*pl;
     c=n0*ones(pl)-d0*pl;
     gp=a;
-    p1=-b./(2*a)+sqrt((b./(2*a))**2-c./a);
-    p2=-b./(2*a)-sqrt((b./(2*a))**2-c./a);
+    p1=-b./(2*a)+sqrt((b./(2*a)).^2-c./a);
+    p2=-b./(2*a)-sqrt((b./(2*a)).^2-c./a);
     gw=d2;
     w1=-d1./(2*d2)+sqrt((d1./(2*d2))**2-d0./d2);
     w2=-d1./(2*d2)-sqrt((d1./(2*d2))**2-d0./d2);
index 7a50da6..750e96f 100644 (file)
@@ -56,7 +56,7 @@ slinf=round((log10(abs(fresp(k)))-log10(abs(fresp(km))))/(log10(w(k))-log10(w(km
 
 if slinf>0&slinf<20
   w=[w;[10;15]*w(npts)];
-  fresp=[fresp;[1;1]*10^slinf*abs(fresp(npts))];
+  fresp=[fresp;[1;1]*10.^slinf*abs(fresp(npts))];
   weight=[weight;1;1];
   npts=npts+2;
   slinf=0;
@@ -149,7 +149,7 @@ else
   fweight=ones(npts,1); 
   ind=find(w > 10);
 
-  fweight(ind)=((1) ./(w(ind)^order));
+  fweight(ind)=((1) ./(w(ind).^order));
   ind=find(w < .01);
 
   fweight(ind)=(1./(w(ind)^min(0,sl0)))';
index e027bb2..3e3bc98 100644 (file)
@@ -9,13 +9,13 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
-function hk = hank(m, n, cov)
+function hk = hank(m, n, seq_cov)
   //hk = hank(m,n,cov)
   //this macro builds the hankel matrix of size (m*d,n*d)
   //from the covariance sequence of a vector process
   //   m  : number of bloc-rows
   //   n  : number of bloc-columns
-  //   cov: sequence of covariances; it must be given as :[R0 R1 R2...Rk]
+  //   seq_cov: sequence of covariances; it must be given as :[R0 R1 R2...Rk]
   //   hk : computed hankel matrix
   //
 
@@ -48,12 +48,12 @@ function hk = hank(m, n, cov)
     error(msprintf(gettext("%s: Wrong value for input argument #%d: A positive integer expected.\n"), "hank", 2));
   end
 
-  t = type(cov);
+  t = type(seq_cov);
   if (t > 10) | (t <= 0) then
     error(msprintf(gettext("%s: Wrong values for input argument #%d: Unsupported ''%s'' type.\n"), "hank", 3, typeof(t)));
   end
 
-  [r, c] = size(cov);
+  [r, c] = size(seq_cov);
   mr = m * r;
   nr = n * r;
   if (mr + nr - r > c) then
@@ -61,5 +61,5 @@ function hk = hank(m, n, cov)
   end
 
   index = ones(1, nr) .*. (1:r:mr)' + (0:(nr - 1)) .*. ones(m, 1);
-  hk = matrix(cov(:, index), mr, -1);
+  hk = matrix(seq_cov(:, index), mr, -1);
 endfunction
index 627e1b2..b121f0f 100644 (file)
@@ -8,7 +8,7 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
-function [la,lb]=lattn(n,p,cov)
+function [la,lb]=lattn(n,p,mat_cov)
     //[la,lb]=lattn(n,p,cov)
     //macro which solves recursively on n (p being fixed)
     //the following system (normal equations), i.e. identifies
@@ -67,11 +67,11 @@ function [la,lb]=lattn(n,p,cov)
         error(msprintf(gettext("%s: Wrong values for input argument #%d: Elements must be in the interval [%s, %s].\n"),"lattn",2,"-1","%inf"))
     end
 
-    if type(cov)<>1 then
+    if type(mat_cov)<>1 then
         error(msprintf(gettext("%s: Wrong type for input argument #%d: Array of floating point numbers expected.\n"),"lattn",3))
     end
 
-    [l,d]=size(cov);
+    [l,d]=size(mat_cov);
     if d>l then
         error(msprintf(gettext("%s: Wrong size for input argument #%d: A tall matrix expected.\n"),"lattn",3))
     end
@@ -79,14 +79,14 @@ function [la,lb]=lattn(n,p,cov)
 
     a=eye(d);b=eye(d);
     z=poly(0,"z");la=list();lb=list();
-    no=p-n-1;cv=cov;
+    no=p-n-1;cv=mat_cov;
 
     if -no >= floor(l/d) then
         error(msprintf(gettext("%s: Wrong values for input arguments #%d and #%d.\n"),"lattn",1, 2))
     end
 
     if no<0,
-        for j=1:-no,cv=[cov(j*d+1:(j+1)*d,:)';cv];end;
+        for j=1:-no,cv=[mat_cov(j*d+1:(j+1)*d,:)';cv];end;
         p=p-no;
     end
 
index 117ad6b..3186f37 100644 (file)
@@ -8,16 +8,16 @@
 // are also available at
 // http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt
 
-function [la,lb]=lattp(n,p,cov)
+function [la,lb]=lattp(n,p,mat_cov)
     // See lattn for more information
-    [l,d]=size(cov);
+    [l,d]=size(mat_cov);
     id=eye(d);
-    [a,b]=lattn(n,0,cov);a=a(n);b=b(n);
+    [a,b]=lattn(n,0,mat_cov);a=a(n);b=b(n);
     z=poly(0,"z");la=list();lb=list();
     jd=jmat(n+1,d);
     for j=0:p-1,
-        r1=jd*cov((j+1)*d+1:(j+n+2)*d,:);
-        r2=jd*cov(j*d+1:(j+n+1)*d,:);
+        r1=jd*mat_cov((j+1)*d+1:(j+n+2)*d,:);
+        r2=jd*mat_cov(j*d+1:(j+n+1)*d,:);
         c1=coeff(a);c2=coeff(b);
         k=(c1*r1)*inv(c2*r2);
         hst=-inv(c1(:,n*d+1:(n+1)*d));
index 40f3521..447b1fc 100644 (file)
@@ -86,8 +86,8 @@ function [hzt,zt,gt]=trans(pd,zd,gd,tr_type,frq)
   case 'sb' then
     k=tan(%pi*fc)*tan(%pi*(fu-fl));
     alpha=cos(%pi*(fu+fl))/cos(%pi*(fu-fl));
-    num=(k+1)-2*alpha*z+(1-k)*z^2;
-    den=(k+1)*z^2-2*alpha*z+(1-k);
+    num=(k+1)-2*alpha*z+(1-k)*z.^2;
+    den=(k+1)*z.^2-2*alpha*z+(1-k);
   end
   [pt,zt,gt]=bilt(pd,zd,gd,num,den);
   if argn(1)==1 then
index b64b348..37d8042 100644 (file)
@@ -76,9 +76,9 @@ function [c,lagindex]=xcorr(x,varargin)
     if isreal(x) then c=real(c);end
   else //cross correlation
     x=matrix(x,-1,1);nx=size(x,1)
-    xx=sum(abs(x)^2)
+    xx=sum(abs(x).^2)
     y=matrix(y,-1,1);ny=size(y,1)
-    yy=sum(abs(y)^2)
+    yy=sum(abs(y).^2)
     if nx<ny then 
       x(ny)=0;
     elseif ny<nx then