网站大量收购闲置独家精品文档,联系QQ:2885784924

LevinsonDurbin算法实验的报告 .doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
LevinsonDurbin算法实验的报告

Levinson-Durbin算法 一、实验目的 学会LEVINSON-DURBIN算法求解Yule-Walker方程,并通过MATLAB实现程序及仿真。 二、实验原理 1、线性预测分析的基本原理 由于语音样点之间存在相关性,所以可以用过去的样点值来预测现在或未来的样点值。如下图所示 图1 线性预测图示 由上图可得,从而可以通过使实际语音x(n)和线性预测结果之间的误差e(n)在某个准则下达到最小值来决定唯一的一组预测系数。而这组系数就能反映语音信号的特性,可以作为语音信号特征参数来用于语音编码、语音合成和语音识别等应用中去。 Yule-Walker(Y-W)方程 由估计值和实际信号值的误差可有 根据e(n)最小均方误差准则,来决定唯一的一组预测系数,即由此可得到Y-W方程:取遍k值之后可有以下: 由相关函数的偶函数性质可有 在已知自相关函数的前提下,根据e(n)均方误差最小的原则来求解ak,本实验中采用Levinson-Durbin算法。 Levinson-Durbin算法简介 Levinson-Durbin算法首先由一阶AR模型开始,按照前面的Y-W方程可有,一阶AR模型(p=1)的Y-W方程是 然后增加一阶,即令p=2,可得到: 由上式可解出: 然后令以此类推,可以得到一般的递推公式: 式中的称为反射系数,而 实验过程 实验开始先按照前文所述的Levinson算法的递推公式编写子函数function [a_p,E_V]=Levinson_algorithm(x,p)其中a_p是输出的预测系数,E_V是输出的预测误差均放值。该子函数实现用Levinson-Durbin算法求解Yule-Walker方程,用迭代方法求解与谱估计有关的参量。 利用子函数估计AR(2)模型中的参数值,估计其功率谱,并与已知的信号功率谱进行比较。 参数设置:已知信号为白噪声通过线性系统H(z)=1/(1+a1*z^(-1)+a2*z^(-2))产生信号向量,p=90,先假设已知模型的输入系数为a0=[1 0.78 0.92]。 实验结果由图可知,两图的频谱基本一致,即可知该子函数可以很好的估计出模型参数。 附录:函数程序 %%%子函数程序 %Levinson-Durbin 函数 %参量:A(R)模型的输入参数为信号x和滤波器阶数p,输出参数为模型预测系数a_p和预 测功率误差E_p; function [a_p,E_V]=Levinson_algorithm(x,p) %输入信号的互相关函数计算 N=length(x); for i=1:N Rx(i)=x(1:N-i+1)*(x(i:N))/N; %计算输入信号的自相关函数值 end %levinson算法迭代过程 a(1)=1; a(2)=-Rx(2)/Rx(1); %自适应滤波器的前两个系数 for k=1:p-1 E_V(k+1)=Rx(1)+a(2:k+1)*Rx(2:k+1); %预测误差更新 D(k+1)=a(1:k+1)*(fliplr(Rx(2:k+2))); %为扩大方程矩阵中的Dk的更新 gama(k+2)=D(k+1)/E_V(k+1); %反射系数gama的更新 E_V(k+2)=E_V(k+1)*(1-(gama(k+2))^2); %预测误差的更新 %预测系数的更新 a_yuce(1)=1; %由k阶系数预测第k+1阶系数 for q=1:k a_yuce(q+1)= a(q+1)-gama(k+2)* a(k-q+2); end a_yuce(k+2)=-gama(k+2); a=a_yuce; %准备下一次迭代 end a_p=a; %算法迭代完成输出模型系数 E_p=E_V; %输出系统预测误差 %%%%%函数应用实例 %运用前面所编写的levinson算法程序计算已知信号的预测误差,一次检验所设计的算法准确性。 %给出一个已知的模型,让一直信号经过该模型之后利用函数估计模型系数 %已知模型设为x(n)=a1*u(n-2)+a2*u(n-1)+a3*u(n) clear; close all; clc;

文档评论(0)

317960162 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档