📄 lpc3.m
字号:
%求解线性预测系数子程序
function lpc1=lpc3(y2,p)
% 整个为durbin算法;
% 计算自相关系数;
% y2为一帧语音信号(长度通常为256)。
r=zeros(1,p+1); %产生一个p+1的0矢量。
for k=1:p+1
kk=0;
for m=1:160+1-k % 求 x.*x 的平方再求和,即求自相关系数。(见语音信号处理,自购p99)
kk=kk+y2(m).*y2(m-1+k); %不过每循环一次,数据减一。??why?
end
r(k)=kk; %从R(0)到R(p)总共p+1;
end
%根据durbin算法求线性预测系数 初始化;
%当i=1
k=zeros(1,p);
k(1)=r(2)/r(1); % 见课本(自己购的)p100,4-20。
a=zeros(p,p);
a(1,1)=k(1);
e=zeros(1,p);
e(1)=(1-k(1)^2)*r(1);
%递推过程
for i=2:p
c=zeros(1,i);
kk=0;
for j=1:i-1
kk=kk+(a(i-1,j).*r(i+1-j));
end
c(i)=kk;
k(i)=(r(i+1)-c(i))/e(i-1); %求反射系数
a(i,i)=k(i);
for j=1:i-1
a(i,j)=a(i-1,j)-k(i).*a(i-1,i-j);
end
e(i)=(1-k(i)^2)*e(i-1); %求预测误差
end
%递推结束后提取预测系数
d=zeros(1,p);
for t=1:p
d(t)=a(p,t);
end
lpc1=d;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -