intpitch.m

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

M
28
字号
%integer pitch detect
%PRECONDITION:   Current frame and next frame--------ss(1:360)
%POSTCONDITION:  Autocorrelation
%input:
%        ss(input signal)
%        ipmax(maxim integer pitch)
%        ipmin(minimum integer pitch)
%output:
%        T(integer pitch)
function T=intpitch(ss,ipmax,ipmin) %,c_0_0,c_0_t,c_t_t
r=0;
T=80;
r_new=0;
for tao=ipmin:ipmax
   k=fix(tao/2);
   c0_0=ss(100-k:259-k)*ss(100-k:259-k)';
   ct_t=ss(100-k+tao:259-k+tao)*ss(100-k+tao:259-k+tao)';
   c0_t=ss(100-k:259-k)*ss(100-k+tao:259-k+tao)';
   den=c0_0*ct_t;
   if den>0
      r_new=c0_t*c0_t/den;
   end
   if r_new>r
      r=r_new;
      T=tao;         
   end   
end

⌨️ 快捷键说明

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