此篇博客记录自学离散小波分解的相关内容,以后若有更多理解在此篇更新。
一、 为什么需要离散小波分解
除离散变换外,还有连续小波分解,通过改变分析窗口大小,在时域上移动窗口和基信号相乘,最后在全时域上整合。通过离散化连续小波分解可以得到伪离散小波分解(注意有些matlab工具包的DWT实际上是它而不是下文要说的离散小波分解)。这种离散化带有大量冗余信息且计算成本较高。
二、离散小波分解Discrete Wavelet Transform
在讲小波变换前,可以先懂一点傅里叶变换的东西,关于将信号从时域转换到频域及其局限性。小波变换很大程度上弥补了傅立叶分解在非平稳时间序列上的不足,通过将傅立叶分解的正余弦波替换为一组可衰减的正交基,能较好地表达出序列中的突变和非平稳部分。
1. 基础
离散小波变换的核心:用不同频率的滤波器分析不同频率的信号,主要是高通滤波器和低通滤波器。
信号的分辨率:衡量信号承载的信息丰富程度,采样率越高则分辨率越高,反之亦是。
DWT用小波函数(wavelet fuction)和尺度函数(scale function)来分别分析高频信号和低频信号,也即高通滤波器和低通滤波器。
注:在DWT中频率的单位是弧度。
DWT分解过程:
- 将信号 x [ n ] x[n] x[n]通过具有脉冲响应 h [ n ] h[n] h[n]的半带低通滤波器,这一过程类似数学里的卷积, x [ n ] × h [ n ] = ∑ k = − ∞ ∞ x [ k ] ⋅ x [ n − k ] x[n] \times h[n] = \sum^{\infty}_{k=-\infty}x[k] \cdot x[n-k] x[n]×h[n]=∑k=−∞∞x[k]⋅x[n−k]。这一操作会剔除信号中频率低于 p / 2 p/2