logo资料库

matlab的pwelch函数说明.doc

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
Welch 法对 Bartlett 法进行了两方面的修正,一是选择适当的窗函数 w(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(100); %矩形窗 window1=hamming(100); %海明窗 window2=blackman(100); %blackman 窗 noverlap=20; %数据无重叠 range='half'; %频率间隔为[0 Fs/2],只计算一半的频率 [Pxx,f]=pwelch(xn,window,noverlap,nfft,Fs,range); [Pxx1,f]=pwelch(xn,window1,noverlap,nfft,Fs,range); [Pxx2,f]=pwelch(xn,window2,noverlap,nfft,Fs,range); plot_Pxx=10*log10(Pxx); plot_Pxx1=10*log10(Pxx1); plot_Pxx2=10*log10(Pxx2); figure(1) plot(f,plot_Pxx); pause; figure(2) plot(f,plot_Pxx1); pause; figure(3) plot(f,plot_Pxx2); 关于 pwelch:  Welch 法 (pwelch)  [Pxx,F] = pwelch(x,window,noverlap,nfft,fs) x, 为进行功率谱估计的输入有限长序列 window,用于指定采用的窗函数(boxcar, hamming, blackman) noverlap,重叠点数 nfft,设定 FFT 算法的长度 fs, 采样频率
Pxx,为输出的功率谱估计值 F,为得到的频率点 Welch 方法是一种修正周期图功率谱密度估计方法,它通过选取的窗口对数据进行加窗处 理,先分段求功率谱之后再进行平均。其中窗口的长度 N 表示每次处理 的分段数据长度, Noverlap 是指相邻两段数据之间的重叠部分长度。N 越大得到的功率谱分辨率越高(越准确), 但方差加大(及功率谱曲线不太平 滑);N 越小,结果的方差会变小,但功率谱分辨率较低(估 计结果不太准确)。 pwelch 的算法基本上是这样: 1. 将信号分为多段,每段之间可以有 overlapping,也可以没有。 2. 每一段加窗 3. 每一段做谱分析 4. 求平均。
分享到:
收藏