durbin_method.m
来自「LPC vocoder LPC vocoder with several op」· M 代码 · 共 25 行
M
25 行
%Function that solves Ra=r using durbin recursion if R is toeplitz
function [alpha,G]=durbin_method(Rn,p)
E(1)=Rn(1); %E(0)=R(0)
for i=1:1:p
if i==1;
k(i)=Rn(i+1)/E(i);
a(i,i)=k(i);
E(i+1)=(1-(k(i)^2))*E(i);
else
partial_sum=0;
for j=1:1:i-1
partial_sum=partial_sum+a(i-1,j)*Rn(i-j+1);
end
k(i)=(Rn(i+1)-partial_sum)/E(i);
a(i,i)=k(i);
for j=1:1:i-1
a(i,j)=a(i-1,j)-k(i)*a(i-1,i-j);
end
E(i+1)=(1-k(i)^2)*E(i);
end
end
for j=1:1:p
alpha(j,1)=a(p,j);
end
G=sqrt(Rn(1)-dot(alpha(:,1),Rn(2:p+1))); %determine gain
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?