%用自相关法求信号s使均方预测误差为最小的预测系数的函数
function [ar,G]=lpc_coeff(s,p)
%算法为Durbin快速递推算法
n=length(s); % 获得信号长度
for i=1:p
Rp(i)=sum(s(i+1:n).*s(1:n-i)); % 计算自相关函数
end
Rp_0=s'*s; % 即Rn(0)
Ep=zeros(p,1); % Ep为p阶最佳线性预测反滤波能量
k=zeros(p,1); % k为偏相关系数
a=zeros(p,p); % 以上为初始化
%i=1的情况需要特殊处理,也是对p=1进行处理
Ep_0=Rp_0; % 按式(3-54)
k(1)=Rp(1)/Rp_0; % 按式(3-55)
a(1,1)=k(1); % 按式(3-56)
Ep(1)=(1-k(1)^2)*Ep_0; % 按式(3-58)
%i=2起使用递归算法
if p>1
for i=2:p
k(i)=(Rp(i)-sum( a(1:i-1,i-1).*Rp(i-1:-1:1)'))/Ep(i-1); % 按式(3-55)
a(i,i)=k(i); % 按式(3-56)
Ep(i)=(1-k(i)^2)*Ep(i-1);
for j=1:i-1
a(j,i)=a(j,i-1)-k(i)*a(i-j,i-1); % 按式(3-57)
end
end
end
ar=a(:,p);
ar=[1 -1*ar'];
G=sqrt(Ep(p));
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
基于MATLAB的线性预测,LPCC分析,LPC预测系数的复频谱与FFT频谱+含代码操作演示视频 运行注意事项:使用matlab2021a或者更高版本测试,运行里面的Runme.m文件,不要直接运行子函数文件。运行时注意matlab左侧的当前文件夹窗口必须是当前工程所在路径。具体可观看提供的操作录像视频跟着操作。
资源推荐
资源详情
资源评论
收起资源包目录
基于MATLAB的线性预测,LPCC分析,LPC预测系数的复频谱与FFT频谱.rar (8个子文件)
5基于MATLAB的线性预测,LPCC分析,LPC预测系数的复频谱与FFT频谱
dat.wav 35KB
Runme_3.m 611B
Runme_2.m 1KB
FUNC
lpcff.m 152B
lpc_coeff.m 1KB
lpc_lpccm.m 513B
Runme_1.m 1KB
操作录像0019.avi 3.51MB
共 8 条
- 1
fpga和matlab
- 粉丝: 17w+
- 资源: 2626
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页