功率谱估计性能分析及其MATLAB实现_第1页
功率谱估计性能分析及其MATLAB实现_第2页
功率谱估计性能分析及其MATLAB实现_第3页
功率谱估计性能分析及其MATLAB实现_第4页
功率谱估计性能分析及其MATLAB实现_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.功率谱估计性能分析及其MATLAB实现一、 经典功率谱估计分类简介1 间接法根据维纳-辛钦定理,1958年Blackman和Turkey给出了这一方法的具体实现,即先由N个观察值xN(n),估计出自相关函数rx(m),求自相关函数傅里叶变换,以此变换结果作为对功率谱Px(w)的估计。2 直接法直接法功率谱估计是间接法功率谱估计的一个特例,又称为周期图法,它是把随机信号的N个观察值xN(n)直接进行傅里叶变换,得到XN(ejw),然后取其幅值的平方,再除以N,作为对功率谱Px(w)的估计。3 改进的周期图法将N点的观察值分成L个数据段,每段的数据为M,然后计算L个数据段的周期图的平均Pper(

2、w),作为功率谱的估计,以此来改善用N点观察数据直接计算的周期图Pper(w)的方差特性。根据分段方法的不同,又可以分为Welch法和Bartlett法。Welch法所分的数据段可以互相重叠,选用的数据窗可以是任意窗。Bartlett法所分的数据段互不重叠,选用的数据窗是矩形窗。二、 经典功率谱估计的性能比较1 仿真结果为了比较经典功率谱估计的性能,本文采用的信号是高斯白噪声加两个正弦信号,采样率Fs=1000Hz,两个正弦信号的频率分别为f1=200Hz,f2=210Hz。所用数据长度N=400.仿真结果如下:(a)(b)(c)(d)(e)(f)Figure1 经典功率谱估计的仿真结果Fig

3、ure1(a)示出了待估计信号的时域波形;Figure2(b)示出了用该数据段直接求出的周期图,所用的数据窗为矩形窗;Figure2(c)是用BT法(间接法)求出的功率谱曲线,对自相关函数用的平滑窗为矩形窗,长度M=128,数据没有加窗;Figure2(d)是用BT法(间接法)求出的功率谱曲线,对自相关函数用的平滑窗为Hamming窗,长度M=64,数据没有加窗;Figure2(e)是用Welch平均法求出的功率谱曲线,每段数据的长度为64点,重叠32点,使用的Hamming窗;Figure2(f)是用Welch平均法求出的功率谱曲线,每段数据的长度为100点,重叠48点,使用的Hamming

4、窗;2 性能比较1) 直接法得到的功率谱分辨率最高,但是方差性能最差,功率谱起伏剧烈,容易出现虚假谱峰;2) 间接法由于使用了平滑窗对直接法估计的功率谱进行了平滑,因此方差性能比直接法好,功率谱比直接法估计的要平滑,但其分辨率比直接法低。3) Welch平均周期图法是三种经典功率谱估计方法中方差性能最好的,估计的功率谱也最为平滑,但这是以分辨率的下降及偏差的增大为代价的。3 关于经典功率谱估计的总结1) 功率谱估计,不论是直接法还是间接法都可以用FFT快速计算,且物理概念明确,因而仍是目前较常用的谱估计方法。2) 谱的分辨率较低,它正比于2/N,N是所使用的数据长度。3) 方差性能不好,不是真

5、实功率谱的一致估计,且N增大时,功率谱起伏加剧。4) 周期图的平滑和平均是和窗函数的使用紧密关联的,平滑和平均主要是用来改善周期图的方差性能,但往往又减小了分辨率和增加了偏差,没有一个窗函数能使估计的功率谱在方差、偏差和分辨率各个方面都得到改善,因此使用窗函数只是改进估计质量的一个技巧问题,并不能从根本上解决问题。三、 AR模型功率谱估计1 AR模型功率谱估计简介AR模型功率谱估计是现代谱估计中最常用的一种方法,这是因为AR模型参数的精确估计可以用解一组线性方程(Yule-Walker方程)的方法求得。其核心思想是:将信号看成是一个p阶AR过程,通过建立Yule-Walker方程求解AR模型的

6、参数,从而得到功率谱的估计。由于已知的仅仅是长度有限的观测数据,因此AR模型参数的求得,通常是首先通过某种算法求得自相关函数的估计值,进而求得AR模型参数的估计值。常用的几种AR模型参数提取方法有:1) 自相关法假定观测数据区间之外的数据为0,在均方误差意义下使得数据的前向预测误差最小。由此估计的自相关矩阵式正定的,且具有Toeplitz性,可以用Levison-Durbin算法求解。2) 协方差法不作观测数据区间之外的数据为0的假设,在均方误差意义下使得数据的前向预测误差最小。由此估计的自相关矩阵式半正定的,且不具有Toeplitz性,得到的AR模型可能不稳定。3) 修正的协方差法不作观测数

7、据区间之外的数据为0的假设,在均方误差意义下使得数据的前向预测误差与后向预测误差之和最小。由此估计的自相关矩阵式半正定的,且不具有Toeplitz性,得到的AR模型可能不稳定。但得到的一阶AR模型是稳定的。4) Burg法在约束AR模型的参数满足Levison-Durbin递归条件的前提下,在均方误差意义下使得数据的前向预测误差与后向预测误差之和最小。得到的AR模型是稳定的,但有时可能出现谱线分裂现象。仍然用前面的仿真信号,取AR模型的阶数p=48,用上述各种AR模型参数提取方法估计的功率谱如figure2所示。Figure2 AR模型功率谱估计的仿真结果2 AR模型功率谱估计与经典功率谱估计

8、性能比较分别采用直接法和AR模型功率谱估计中的自相关法得到的上述信号的功率谱估计如figure3所示:Figure3 AR模型功率谱估计与经典功率谱估计比较小结:1) 由于AR模型是一个有理分式,因而估计出的谱要比经典法的谱平滑。2) AR谱估计的一些方法隐含着数据和自相关函数的外推,可获得高的分辨率。3 关于AR模型功率谱估计总结Figure4给出了阶数对AR模型功率谱估计的影响,采用的是AR模型功率谱估计中的Burg法。Figure4 不同阶数的AR模型功率谱估计小结:阶数越高,得到的谱的分辨率也越高,但方差也越大,将会产生更多的虚假谱峰;四、 附录本文所用来仿真的MATLAB程序如下:%

9、 Research On Classic PSD Estimate Methods% Author: Chen Feiqiang% Date: 2010-12-14% Generate Signalclear all; close all; clc;randn('state',0);Fs = 1000; % sample frequencyt = 0:1/Fs:.3;sigma = 1; % noise variancex = cos(2*pi*t*200) + cos(2*pi*t*210) + sigma*randn(size(t); % generate signal:

10、% cosine + noisefigure;plot(t,x), xlabel('t'), ylabel('x');title('Signal In Time Domain');grid on;% Estimate PSD using periodogram methodwindow = rectwin(length(x); % window function used xn = x'.*window; index = nextpow2(length(x);N = pow2(index);Xw = fft(xn, N); % do N-

11、points FFTPw = Xw.*conj(Xw)/N; % Calculate PSDk = 0:floor(N/2 - 1);figure;plot(k*Fs/N, 10*log10(Pw(k+1)/max(Pw);title('Periodogram PSD Estimate');xlabel('Frequency(Hz)');ylabel('Normalized PSD(dB)'),grid on;hold on% Estimate PSD using BT methodwindow_a = rectwin(length(x); %

12、window function for data x(n) xn = x'.*window_a; Rx = xcorr(xn); % auto-correlation function estimateN = length(Rx);M = floor(N/4); % the length of smooth window% M = 100;window_v = rectwin(M); % smooth window for BT methodRxWin = Rx(1:M).*window_v; % smooth window multiply auto-correlation func

13、tion Pw = abs(fft(RxWin, N);k = 0:floor(N/2 - 1);figure;plot(k*Fs/N, 10*log10(Pw(k+1)/max(Pw),'r');title('BT Method PSD Estimate');xlabel('Frequency(Hz)');ylabel('Normalized PSD(dB)'),grid on;% Estimate PSD using Welch methodwindow = 32; % the length of each segmentnoverlap = 8; % overlap number for each segmentnfft = pow2(nextpow2(length(x); % nfft-points FFT for each segmentPxx,f = pwelch(x,window,no

温馨提示

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

评论

0/150

提交评论