lsf_clmp.m

来自「采用MELP编制的压缩与解码程序」· M 代码 · 共 37 行

M
37
字号
%Adjust the distance of the adjoin LSFs
%input:
%        LSF(LSF parameter)
%output:
%        f(adjusted LSFs)
function f=LSF_clmp(LSF)
f=LSF*4000/pi;                                     %LSF Parameters
dmin=50;                                           %Distance Adjust
for m=1:9 
   d=f(m+1)-f(m);
   if d<dmin
      s1=(dmin-d)/2;
      s2=s1;
      if (m==1)&(f(m)<dmin)
         s1=f(m)/2;
      elseif m>1
         temp=f(m)-f(m-1);
         if temp<dmin
            s1=0;
         elseif temp<2*dmin
            s1=(temp-dmin)/2;
         end
      end
      if (m==9)&(f(m+1)>4000-dmin)
         s2=(4000-f(m+1))/2;
      elseif m<9
         temp=f(m+2)-f(m+1);
         if temp<dmin
            s2=0;
         elseif temp<2*dmin
            s2=(temp-dmin)/2;
         end
      end
      f(m)=f(m)-s1;
      f(m+1)=f(m+1)+s2;
   end
end

⌨️ 快捷键说明

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