?? my_durbin.m
字號:
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
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -