www.pudn.com > pcm_chianelxie.rar > lianghua.m


function y=lianghua(x) 
t=max(x); 
x=x/t;  %归一化 
x(1)=t/64;  %将最大值等分为1/(2^6) 
z=sign(x); 
x=abs(x); 
for i=1:length(x); 
    if((x(i)>=0)&(x(i)<1/64)) 
        y(i)=16*x(i); 
    else if (x(i)>=1/64&x(i)<1/32) 
            y(i)=8*x(i)+1/8; 
        else if (x(i)>=1/32&x(i)<1/16) 
                y(i)=4*x(i)+1/4; 
            else if (x(i)>=1/16&x(i)<1/8) 
                    y(i)=2*x(i)+3/8; 
                else if (x(i)>=1/8&x(i)<1/4) 
                        y(i)=x(i)+4/8; 
                    else if (x(i)>=1/4&x(i)<1/2) 
                            y(i)=1/2*x(i)+5/8; 
                        else if (x(i)>=1/2&x(i)<=1) 
                                y(i)=1/4*x(i)+6/8; 
                            end; 
                        end; 
                    end; 
                end; 
            end; 
        end; 
    end; 
end; 
y=z.*y';