自己编写算法的功率谱密度的三种matlab实现方法

上传人:王** 文档编号:110505197 上传时间:2022-06-18 格式:DOC 页数:6 大小:20KB
收藏 版权申诉 举报 下载
自己编写算法的功率谱密度的三种matlab实现方法_第1页
第1页 / 共6页
自己编写算法的功率谱密度的三种matlab实现方法_第2页
第2页 / 共6页
自己编写算法的功率谱密度的三种matlab实现方法_第3页
第3页 / 共6页
资源描述:

《自己编写算法的功率谱密度的三种matlab实现方法》由会员分享,可在线阅读,更多相关《自己编写算法的功率谱密度的三种matlab实现方法(6页珍藏版)》请在装配图网上搜索。

1、自己编写算法的功率谱密度的三种matlab实现方法功率谱密度的三种matlab实现方法一:实验目的:(1)掌握三种算法的概念、应用及特点; (2)了解谱估计在信号分析p 中的作用; (3) 能够利用burg法对信号作谱估计,对信号的特点加以分析p 。二;实验内容:(1) 简单说明三种方法的原理。(2) 用三种方法编写程序,在matlab中实现。(3) 将计算结果表示成图形的形式,给出三种情况的功率谱图。(4) 比较三种方法的特性。(5) 写出自己的心得体会。三:实验原理:1.周期图法:周期图法又称直接法。它是从随机信号_(n)中截取N长的一段,把它视为能量有限_(n)真实功率谱的估计的抽样.认

2、为随机序列是广义平稳且各态遍历的,可以用其一个样本_(n)中的一段来估计该随机序列的功率谱。这当然必然带来误差。由于对采用DFT,就默认在时域是周期的,以及在频域是周期的。这种方法把随机序列样本_(n)看成是截得一段的周期延拓,这也就是周期图法这个名字的来历。2.相关法(间接法): 这种方法以相关函数为媒介来计算功率谱,所以又叫间接法。这种方法的具体步骤是:第一步:从无限长随机序列_(n)中截取长度N的有限长序列列 第二步:由N长序列求(2M-1)点的自相关函数序列。(2-1)这里,m=-(M-1),-1,0,1,M-1,MN,是双边序列,但是由自相关函数的偶对称性式,只要求出m=0,。,M-

3、1的傅里叶变换,另一半也就知道了。第三步:由相关函数的傅式变换求功率谱。即 以上过程中经历了两次截断,一次是将_(n)截成N长,称为加数据窗,一次是将_(n)截成(2M-1)长,称为加延迟窗。因此所得的功率谱仅是近似值,也叫谱估计,式中的代表估值。一般取MN,因为只有当M较小时,序列傅式变换的点数才较小,功率谱的计算量才不至于大到难以实现,而且谱估计质量也较好。因此,在FFT问世之前,相关法是最常用的谱估计方法。三:Burg法:AR模型功率谱估计又称为自回归模型,它是一个全极点的模型,要利用AR模型进行功率谱估计须通过levinson_dubin递推算法由 Yule-Walker方程求得AR的

4、参数:2,12p。计算中,预测系数必须满足Lenvinson-Durbin递推关系,并且可直接计算而无需首先计算自相关系数。这种方法的优点就是对未知数据不需要做任何假设,估计精度较高。其缺点是在分析p 噪声中的正弦信号时,会引起谱线分裂,且谱峰的位置和正弦信号的相位有很大的关系。Burg算法是使前向预测误差和后向预测误差均方误差之和最小来求取Km的,它不对已知数据段之外的数据做认为假设。计算m阶预测误差的递推表示公式如下:求取反射系数的公式如下:对于平稳随机过程,可以用时间平均代替集合平均,因此上式可写成:这样便可求得AR模型的反射系数。将m阶AR模型的反射系数和m-1阶AR模型的系数代入到L

5、evinson关系式中,可以求得AR模型其他的p-1个参数。Levinson关系式如下:m阶AR模型的第m+1个参数G,其中是预测误差功率,可由递推公式求得。易知为进行该式的递推,必须知道0阶AR模型误差功率,可知该式由给定序列易于求得。完成上述过程,即最终求得了表征该随机信号的AR模型的p+1个参数 。然后根据即可求得该随机信号的功率谱密度。四 实验内容:实验程序及实验图像 周期法:Fs=1000; nfft=10000;2n n=0:Fs; _=sin(2_pi.2_n)+sqrt(2)_sin(2_pi.213_n)+randn(size(n); _=fft(_,nfft); P_=ab

6、s(_).2/length(n);求解PSD t=0:round(nfft/2-1); f=t/nfft; P=10_log10(P_(t+1);纵坐标的单位为dB plot(f,P); grid onnfft=20_nfft=1024nfft=10000 相关法:clear; Fs=1000; 采样频率 n=0:Fs;产生含有噪声的序列 nfft=1024; _n=sin(2_pi.2_n)+sqrt(2)_sin(2_pi.213_n)+randn(size(n); c_n=_corr(_n,unbiased); 计算序列的自相关函数 C_k=fft(c_n,nfft);求出功率谱密度 P

7、_=abs(C_k); inde_=0:round(nfft/2-1); f=inde_/nfft; plot_P_=10_log10(P_(inde_+1); plot(f,plot_P_); _label(频率); ylabel(功率/DB); grid on;nfft=256nfft=1024 Burg法:clear Fs=1000设置关键变量,可通过调节这些变量观察不同效果 f1=0.2; f2=0.213; nfft=128;取样点数 p=50;阶数p应该选择在N/3pN/2 delta=1; m=sqrt(-1); f=0:1/1000:0.5; n=1:Fs; _n=sin(2_

8、pi_f1_n)+sqrt(2)_sin(2_pi_f2_n)+randn(size(n); figure; plot(n,_n); title(burg时域); _n= _n(:); N=length(_n); ef = _n; eb = _n; a = 1; for l=1:pefp = ef(2:end);m-1阶前向预测误差ebp = eb(1:end-1);m-1阶后向预测误差num = -2._ebp_efp;1km分子多项式den = efp_efp+ebp_ebp;1km的分母多项式k(l) = num ./ den;计算反射系数更新前向和后向预测误差ef = efp + k(

9、l)_ebp;各阶前向预测误差eb = ebp + k(l)_efp;各阶后向预测误差计算模型参数a=a;0 + k(l)_0;conj(flipud(a);AR模型参数a end a1=a(2:p+1);for i=1:length(f) 循环递推sum=0;for k=1:psum=sum+a1(k)_e_p(-m_2_pi_f(i)_k);endPbrg(i)=delta/(abs(1+sum)2;Pbrg_f(i)=10_log10(Pbrg(i);求出功率谱 end figure plot(f,Pbrg_f); title(burg频域);nfft=128nfft=256 五:结果比

10、较分析p (1)在采样点相同的时,周期图法的特点是离散性大,曲线粗糙,方差较大,但是分辨率较高;采用周期突发估计得出的功率谱很不平滑,相应的估计协方差比较大。而且采用增加采样点的办法也不能吃周期图变得更加平滑,这是周期图法的缺点。周期图法得出的估计谱方差特性不好:当数据长度N太大时,扑线的起伏加剧;N太小时谱的分辨率又不好。对其改进的主要方法有二种,即平均和平滑,平均就是将截取的数据段再分成L个小段,分别计算功率谱后取功率谱的平均,这种方法使估计的方差减少,但偏差加大,分辨率下降。平滑是用一个适当的窗函数与算出的功率谱进行卷积,使谱线平滑。这种方法得出的谱估计是无偏的,方差也小,但分辨率下降。

11、(2)相关法当延迟与数据长度之比很小时,可以有良好的估计精度,相关法的收敛性较好,曲线平滑,方差较小,但是功率谱主瓣较宽,分辨率低。(3)用Burg算法进行功率谱估计时令前后向预测误差功率之和最小,即对前向序列误差和后向序列误差前后都不加窗。Burg算法是建立在数据基础之上的,避免了先计算自相关函数从而提高计算速度。是较为通用的方法,计算不太复杂 并且分辨率优于自相关法。但对于白噪声加正弦信号有时会出现谱线分裂现象,并且从上两个图中可以看出burg法产生的功率谱曲线比较平滑即方差小,分辨率高,可以明显的观察到两个谱峰,在降低模型阶次后谱的分辨率降低(两个谱峰几乎变成一个谱峰),但是曲线的平滑性

12、更好。并且采样点数越大,谱图的分辨率就越高。对比nfft=128和nfft=256即可发现。除此之外还发现对于上面三种情况采样点数越大,其功率谱密度也越大。还有就是阶数p应该选择在N/3pN/2比较合适,这个通过测试可以得到验证。六:心得体会第一次作业在上课的时候被老师点到,当时老师问到burg法产生的图像是否正确,当时我觉得应该没错误啊,不过因为自己对整个过程的理解有限,没听出老师要表达什么意思,所以就只能沉默了。不过这篇实验报告确实不是复制粘贴得到的,是经过查询很多资料自己写出来的。后来下课后自己看了下程序,发现老师说的应该是burg法产生的图像没有两个信号的谱峰,这是因为_轴没有进行单位

13、的调节导致谱图在最左侧位置所以看不到。并且自己上次是直接调用matlab中的Pburg函数,这虽然简单省事但是对burg算法无法进行较为深入的认识,并且后来问了同学才知道老师是不允许直接调用burg函数的。虽然上课时被老师点到,出了点小丑,不过我觉得这倒是对自己的一个激励,否则的话我到以为自己做的还行,实际上自己做的根本没有达到老师的要求,在下课后自己为了用burg算法进行求解功率谱自己又在网上查找了很多资料并结合课本上的介绍,网上很多资料要么是直接调用burg函数的方法,要么就是描述有些问题,所以花费了不少时间,我看了很多次,对有些不懂得语句和公式来回看课本和程序,最后结合课本和网上的介绍,自己搞懂了burg算法的设计过程,现在看来虽然这个过程比着直接调用matlab中的pburg函数耗时很多,但是在这个过程中我不仅对matlab的编程有了更深入的了解,而且也明白了burg算法的设计原理,自己收获很大,这也应了有付出就有回报的那句话。第 6 页 共 6 页

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!