Matlab谱分析的pwelch方法

参考信息源:

http://blog.sina.com.cn/s/blog_6fb8aa0d0102v274.html
http://blog.sina.com.cn/s/blog_5f6bb8060102vji5.html

由于实际信号通常是非定常的,我们只能假设其在10ms的时间段内是定常的,并在此基础上对短的定常信号求PSD或者能谱。窗函数的作用就是将原始的信号分割成一段段可以计算PSD和能谱的短信号,并且保证了周期结构的连续性、避免了能量泄漏(原因解释)。不同的窗函数具有不同的特性(main lobe widths and side lobe amplitudes),应用时根据实际情况需要取舍。
采用了窗函数后,窗口两侧位置的信息就会减少(因为窗函数两端为零值),这就需要滑动窗口的位置来解决,也就是说窗口重叠(overlapping)的作用就是使得对分割后信号的分析更可靠。一般来说,Noverlapping取33%~50%。窗口之间重叠得越多,图像越平滑(blurred);反之则更粗糙(blocky)。

pwelch

pwelch有多种使用方法,详见matlab的help,常用方法如下

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

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

Welch的方法概括步骤如下

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

pwelch参数

信号分段的确定:由于频域分辨率取决于分段(窗)的长度。每一段时间跨度越大,频域分辨率就越高。如果整个信号不分段,那么频域分辨率最高,但往往噪声也最大。当然分段也是为了考虑噪声的影响。分得段越多,噪声越小。 同时,对于一个信号,有overlapping,显然可以比不overlapping的时候的频域分辨率高。

window: 关于窗函数的选取可以参考此链接,长度选择可以参考公式x_length/fren

noverlap,必须小于所定义的分段长度(窗长)。通常取33%~50%窗长。

NFFT,即FFT数据点的个数,可以变化。但是最大长度不能超过每一段的点数。当然,通常设置NFFT为大于每一段的点数的最小2次幂,这样可以得到最高的频域分辨率。 如果NFFT = 每一段的一半,频域分辨率低一倍。Help里的说明是 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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 信号截断及能量泄漏效应 数字信号处理的主要数学工具是傅里叶变换,而傅里叶变换是研究整个时间域和频率域的关系。然而,...
    李彪_哈工大阅读 21,505评论 0 7
  • 一、傅立叶变换的由来 关于傅立叶变换,无论是书本还是在网上可以很容易找到关于傅立叶变换的描述,但是大都是些故弄玄虚...
    constant007阅读 4,471评论 1 10
  • reference 《spoken language processing》 1 语音基础 名词解释 pitch ...
    艺术叔阅读 16,770评论 2 48
  • 1. 傅立叶变换: (1) 傅立叶级数:法国数学家傅里叶发现,任何周期函数都可以用正弦函数和余弦函数构成的无穷级数...
    阿阿阿阿毛阅读 1,639评论 0 2
  • “经年,走我们出去玩”。闺蜜叶樱颜说道。“哎呀,我不出去,你们三个出去吧!”苏经年盯着电脑说道。“反正我不管,你就...
    经年樱花阅读 280评论 0 0