Page 190 - Algorithm Collections for Digital Signal Processing Applications using MATLAB
P. 190

4. Selected Applications                                         179

              meanvarnorm.m

              function [res]=meanvarnorm(a,md,vd)
              m=mean(a);
              v=sqrt(var(a));
              vd=sqrt(vd);
              delta=abs((a-m)*vd/v);
              res=ones(1,length(a))*md;
              [p]=quantiz(a,m);
              p=p';
              p=p*2-1;
              res=res+p.*delta;

              __________________________________________________________

              createdaubmatrix.m

              function [res]=createdaubmatrix(m)

              a=[(1+sqrt(3))/(4*sqrt(2)) (3+sqrt(3))/(4*sqrt(2))  (3-sqrt(3))/(4*sqrt(2))  …
              (1-sqrt(3))/(4*sqrt(2))];

              b=[(1-sqrt(3))/(4*sqrt(2)) -(3-sqrt(3))/(4*sqrt(2))  (3+sqrt(3)) /(4*sqrt(2)) …
              -(1+sqrt(3))/(4*sqrt(2))];

              t1=repmat([a(2) b(3)],1,(m/2));
              t2=repmat([a(3) b(4)],1,m/2);
              t3=repmat([a(4) 0],1,m/2);
              t4=repmat([b(1) 0],1,m/2);
              res=diag(repmat([a(1) b(2)],1,m/2)) + diag(t1(1:1:m-1),1)+…
              diag(t2(1:1:m-2),2)+diag(t3(1:1:m-3),3)+diag(t4(1:1:m-1),-1) ;

              res=[res   [zeros(1,m-2) res(1,3) res(2,3)]'  [zeros(1,m-2) res(1,4) res(2,4)]'];
              ________________________________________________________________________
   185   186   187   188   189   190   191   192   193   194   195