线性预测谱估计的仿真-面向对象程序设计.docVIP

线性预测谱估计的仿真-面向对象程序设计.doc

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
武夷学院综合性实验报告 学院:数学与计算机 专业: 通信工程 班级 1班 学年第 1 学期 学号 姓名 指导教师 课程名称 面向对象程序设计 实验项目名称 线性预测谱估计的仿真 同组成员 实验地点 实验时间 实验目的与要求: 一、实验目的: 1、了解预测谱估计的基本原理 2、掌握AR模型谱估计原理 3、知道AR模型谱估计阶次的确定 4、掌握Levinson-Durbin算法 4、掌握其设计及算法流程 实验原理及内容:二、实验内容: 在掌握线性预测谱估计的理论和算法的基础上,运用Levinson-Durbin算法,对其进行MATLAB仿真,估计出不同情况下信号的功率谱,通过比较仿真出来的不同信号的频谱图,分析了不同参数对功率谱估计效果的影响。 三、实验原理与方法: 线性预测谱估计的基本原理:対一无限长的随机信号x(n)进行功率谱估计,采用经典周期图法,对其进行加窗w(n),得到:y(n)=x(n)×w(n)。进行傅立叶变换,对应的功率谱为Y(ejw)=1/2piX(ejw)*W(ejw)。所得频谱的有限长度为N+M-1,增大了频谱长度,降低了频谱的分辨率。但由于加窗后所得到的频谱仅仅是加窗的那段信号的频谱,窗外的信号为零点,无法估计其频谱,因此引入线性预测频谱估计。线性预测功率谱估计的基本原理是拥有限长的数据估计信号,建立线性预测模型,通过某种算法得到模型参数来估计精确的信号顾虑谱。 2.AR模型功率谱估计的原理是:假设分析的信号是由一个均方误差的白噪声激励----线性时不变系统所得到分析信号的功率谱估计. 实验设备与材料:计算机、MATLAB软件、实验教材 实验方法与步骤: 设计方法:1.产生正弦信号,以待估计此信号的功率谱。改变采样频谱、数据长度以及信号频率,并对正弦信号加入不同大小高斯白噪声,产生不同的待估计信号。 2.做自相关函数的无偏估计,得到自相关函数数组,并用二维数组存放自相关函数值。 3.Levinson—Durbin算法主体部分,递推各阶模型参数和误差功率。首先进行初始化,计算AR模型的一阶模型参数和误差功率,最终预测误差准则函数。然后依次地推出k阶的模型参数、误差功率和最终预测误差准则函数。 4.根据最终预测误差准则确定阶数,确定阶数p为此时的k值。 5.根据确定下来的阶数p确定AR模型参数,估计信号的功率谱。利用Levinson算法递推到p阶的参数,带入公式可估计出信号的功率谱。 实验程序:1 clear all Fs=1000; N=256; n=0:1/Fs:N/Fs; F1=100; F2=200; a=1; b=1; A=0; SNA=10; x1=a*(cos(2*pi*F1*n)+sin(2*pi*F1*n))+(cos(2*pi*F2*n)+sin(2*pi*F2*n)); noise=awgn(x1,SNA,0,db); x=x1+A*noise; subplot(211); plot(n,abs(x)); xlabel(时间(s)); ylabel(幅度); title(x=a*(cos(2*pi*F1*n)+sin(2*pi*F1*n))+(cos(2*pi*F2*n)+sin(2*pi*F2*n))+A*noise); for m=1:(N+1) R(m)=0; end for m=1:(N+1) sum=0; for n=1:(N-(m-2)) sum=sum+x(n)*x(n+m-1); end R(m)=sum/N; end for k=1:(N+1) a(k,k)=0; FPE(k)=0; P(k+1)=0; end P(1)=R(1); a(1,1)=-R(2)/R(1); P(2)=(1-(abs(a(1,1)))^2)*P(1); FPE(1)=P(2)*(N+2)/N; S=0; for k=2:N for l=1:(k-1) M=a(k-1,l)*R(k-l+1); S=S+M; end a(k,k)=-(R(k+1)+S)/P(k); for i=1:(k-1) a(k,i)=a(k-1,i)+a(k,k)*a(k-1,k-i); end P(k+1)=(1-(abs(a(k,k)))^2)*P(k); FPE(k)=P(k+1)*(N+k+1)/(N-k+1); S=0; end min=FPE(1); for k=2:N if FPE(k)min; min=FPE(k); p=k;

文档评论(0)

文档分享 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档