matlab中pwelch函数用法总结


randn('state',0);
Fs = 1000;    t = 0:1/Fs:.3;
x = cos(2*pi*t*200) + randn(size(t));   % 200Hz cosine plus noise
pwelch(x,33,32,[],Fs,'twosided')

[Pxx,f]=pwelch(x,window,noverlap,nfft,fs)

Welch方法是一种修正周期图功率谱密度估计方法,它通过选取的窗口对数据进行加窗处理,先分段求功率谱之后再进行平均。其中窗口的长度N表示每次处理的分段数据长度,Noverlap是指相邻两段数据之间的重叠部分长度。N越大得到的功率谱分辨率越高(越准确),但方差加大(及功率谱曲线不太平滑);N越小,结果的方差会变小,但功率谱分辨率较低(估计结果不太准确)。


1. 将信号分为多段,每段之间可以有overlapping,也可以没有。
2. 每一段加窗
3. 每一段做谱分析
4. 求平均。

关于 信号到底要分多少段?每一段长度多少?我的理解,这个问题的回答,需要考虑频域分辨率。 当然,每一段时间跨度越大,频域分辨率就越高。如果整个信号不分段,那么频域分辨率最高。当然分段也是为了考虑噪声的影响。分得段越多,噪声越小。 有时候,如果一个信号本身不太长,那么如果有overlapping,显然可以比不overlapping的时候的频域分辨率高。 总结一下,每一段的长度,和overlapping 的长度,需要平衡噪音,频域分辨率。

另外注意的是,pwelch里面NFFT,即FFT的个数,是可以变化的。但是最大长度不能超过每一段的点数。当然,很多情况下我们把NFFT等于每一段的点数,这样可以得到最高的频域分辨率。 如果NFFT = 每一段的一半,频域分辨率低一倍。

帮助里面
noverlap must be less than the length of the window you specify,
the (default) length N of the FFT is the larger of 256 and the next power of 2 greater than the length of the segment. 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值