my_durbin.m

来自「this program deals with homomorphic anal」· M 代码 · 共 40 行

M
40
字号
function [alpha,N] = my_durbin(speech, p)
speech = speech';
% autocorrelation
N=length(speech);
auto_corr=zeros(N,1);
for m=1: N+1
    for n=1: N-m+1
        auto_corr(m) = auto_corr(m)+speech(n)*speech(n+m-1);
    end;
end;
R = auto_corr(1:p+1);
E=zeros(1,p+1);
K=zeros(1,p);
a=zeros(p);

E(1)=R(1); % Assigning R(0) to E(0)

for i=1:p, % from 1 to p,
    if i == 1,% for i = 1
        K(i)=-(R(2)/E(1));
        a(i,i)=K(i);
        E(2)=(1-K(i)^2)*E(1);
    else
        K(i)=-R(1+i);
        for k=1:i-1,
            K(i)=K(i)-a(i-1,k)*R(1+i-k);
        end
        K(i)=K(i)/E(i);
        a(i,i)= K(i);
        a(i,1:i-1)=a(i-1,1:i-1);
        for j=1:i-1,
            a(i,j)=a(i,j)+K(i)*a(i-1,i-j);
        end
        E(i+1)=(1-K(i)^2)*E(i);
    end
end
alpha(2:p+1)=a(end,:); %the number of co-eff should be p+1
alpha(1)=1;% assigning first coefficient to 1
N = E(p+1);% equating the error

⌨️ 快捷键说明

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