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)]'];
________________________________________________________________________