正在加载图片...
plot Pxx=10*log10(Pxx(index+1)): plot(k.plot_Pxx). 改进的直接法 对于直接法的功率谱估计,当数据长度N太大时,谱曲线起伏加刷,若N太小,谱的分辨 率又不好,因此需要改进。 1.Bartlet法 Bartlett平均周期图的方法是将N点的有限长序列xn)分段求周期图再平均。 Matlab代码示例: clear Fs=1000, n=0:1/Fs:I; xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); nfm=1024: window-boxcar(le n%矩形窗 noverlap-0,%数据无重 p=0.9%置信概率 [Pxx.Pxxc]-psd(xn.nfft.Fs.window.noverlap.p): index-O:round(nffv/2-l): k=index*Fs/nfft: plot Pxx=10*log10(Pxx(index+1)) plot Pxxc=10*log10(Pxxc(index+1)) figure(1) plot(k.plot_Pxx) pause; figure(2) plot(k.[plot_Pxx plot_Pxx-plot_Pxxe plot_Pxx+plot_Pxxe]) 2.Welch法 Welch法对Bartlett法进行了两方面的修正,一是选择适当的窗函数w(n),并再周期图计算 前直接加进去,加窗的优点是无论什么样的窗函数均可使谱估计非负。 二是在分段时,可使 各段之间有重叠,这样会使方差减小 Matlab代码示例: plot_Pxx=10*log10(Pxx(index+1)); plot(k,plot_Pxx); 改进的直接法: 对于直接法的功率谱估计,当数据长度 N 太大时,谱曲线起伏加剧,若 N 太小,谱的分辨 率又不好,因此需要改进。 1. Bartlett 法 Bartlett 平均周期图的方法是将 N 点的有限长序列 x(n)分段求周期图再平均。 Matlab 代码示例: clear; Fs=1000; n=0:1/Fs:1; xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n)); nfft=1024; window=boxcar(length(n)); %矩形窗 noverlap=0; %数据无重叠 p=0.9; %置信概率 [Pxx,Pxxc]=psd(xn,nfft,Fs,window,noverlap,p); index=0:round(nfft/2-1); k=index*Fs/nfft; plot_Pxx=10*log10(Pxx(index+1)); plot_Pxxc=10*log10(Pxxc(index+1)); figure(1) plot(k,plot_Pxx); pause; figure(2) plot(k,[plot_Pxx plot_Pxx-plot_Pxxc plot_Pxx+plot_Pxxc]); 2. Welch 法 Welch 法对 Bartlett 法进行了两方面的修正,一是选择适当的窗函数 w(n),并再周期图计算 前直接加进去,加窗的优点是无论什么样的窗函数均可使谱估计非负。二是在分段时,可使 各段之间有重叠,这样会使方差减小。 Matlab 代码示例:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有