ilpc.m

来自「语音处理平台 可以分析语音能量 第一振峰频率等数据」· M 代码 · 共 45 行

M
45
字号
function [a,rx] = ilpc(x,p) 


 E = zeros(p+1,1);	% Energy vector
 alpha=zeros(p,p);
 

 R = autoc(x,p);        % compute the autocorrelation sequence R(i)
 rx=R;

 E(1)=R(1);		% energy of signal x(n)
 sumaR=0;
 
 for i=1:p  % ========= start recursion ========

      
   if i>1
     sumaR =alpha(1:i-1,i-1)'* R(i:-1:2)';	
   end
  
   ki=-(R(i+1) + sumaR)/E(i);
   

   if abs(ki) >= 1, fprintf('Warning! Unstable LPC filter..\n\n'); end;

   alpha(i,i)=ki;

	     if i>1
        alpha(1:i-1,i)=alpha(1:i-1,i-1)+ki*alpha(i-1:-1:1,i-1);
     end

   E(i+1) = (1 - ki*ki)*E(i);
   
 end  % ========= end of recursion =========



a = [1; alpha(:,p)];		  % Linear prediction coefficients

%Ep = E(p+1);           % --- residual error -- Ep = R(1) + R(2:p+1)*a 
  



⌨️ 快捷键说明

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