lianghua.m

来自「语音PCM编码」· M 代码 · 共 25 行

M
25
字号
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';
                                 
                                                      

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?