这篇文章介绍了小波分解和小波包分解。

小波分解(wavelet transform)

小波

傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小波函数(basic wavelet),不同的小波在波形上有较大的差异,相似的小波构成一个小波族(family)。小波具有这样的局部特性:只有在有限的区间内取值不为0。这个特性可以很好地用于表示带有尖锐, 不连续的信号。

小波变换

α=WTf α = W T f
<script type="math/tex; mode=display" id="MathJax-Element-1"> \alpha = W^Tf </script> 其中 α α <script type="math/tex" id="MathJax-Element-2">\alpha</script> 表示变换得到的小波系数,W是正交矩阵。 f f <script type="math/tex" id="MathJax-Element-3">f</script> 是输入信号。

正交矩阵构造

特定的小波函数(basic wavelet)由一组特定的小波滤波系数(wavelet filter coefficients)构成。当选定了小波函数,其对应的那组小波滤波器系数就知道。用小波滤波器系数构造不同维度的低通滤波器和高通滤波器(下面的例子中W就是由这些系数构造出来的)。低通滤波器可以看作为一个平滑滤波器(smoothing filter)。这两个滤波器,低通和高通滤波器,又分别被称为尺度(scaling)和小波滤波器(wavelet filter)。一旦定义好了这两个滤波器,通过递归分解算法(也称为金字塔算法(pyramid algorithm),树算法(tree algorithm)将得到水平多分辨率表示的信号。

树算法

原始信号通过低通滤波器得到低频系数 (approximate coefficients), 通过高通滤波器得到高频系数(detail coefficients)。把第一层的低频系数作为信号输入,又得到一组approximate coefficients和detail coefficients。再把得到的approximate coefficients作为信号输入,得到第二层的approximate coefficients和detail coefficients。以此类推,直到满足设定的分级等级。最大的分解等级为 l o g 2 N <script type="math/tex" id="MathJax-Element-4">log_2N</script>.
用数学表达就是:
原始信号可看做0级低频系数 a0=(f0,f1,...,fn) a 0 = ( f 0 , f 1 , . . . , f n ) <script type="math/tex" id="MathJax-Element-5">a^0 = (f_0, f_1,...,f_n)</script>;
那么 am=Gam1 a m = G ∗ a m − 1 <script type="math/tex" id="MathJax-Element-6">a^m = G*a^{m-1}</script>, dm=Ham1 d m = H a m − 1 <script type="math/tex" id="MathJax-Element-7">d^m = Ha^{m-1}</script>, G, H 分别表示低通滤波器和高通滤波器,用矩阵表示。

信号的重构

am1=Gam+Hdm a m − 1 = G ∗ a m + H ∗ d m
<script type="math/tex; mode=display" id="MathJax-Element-8">a^{m-1}=G^*a^m + H^*d^m</script> G G ∗ <script type="math/tex" id="MathJax-Element-9">G^*</script>, H H ∗ <script type="math/tex" id="MathJax-Element-10">H^*</script>为G,H 的共轭矩阵。

例子:使用Haar小波做离散小波变换

Haar小波是最简单的小波函数。归一化的小波滤波器系数只有两个 c0=12=0.7071 c 0 = 1 2 = 0.7071 <script type="math/tex" id="MathJax-Element-11">c_0 = \sqrt \frac{1}{2}=0.7071</script>, c1=0.7071 c 1 = − 0.7071 <script type="math/tex" id="MathJax-Element-12">c_1 = -0.7071</script>. 低通滤波器由0.7071,0.7071组成,高通滤波器由0.7071,-0.7071组成,用矩阵GH表示,矩阵的维度由信号的长度决定。


dwtscheme

分解的结果

Result

小波包分解(wavelet packet transform)

简单理解就是每一层分解得到的系数都要再分解,不像小波分解那样只有低频系数会再分解。同样以Haar小波为例子。


dwpt1
dwpt2

分解结果

result——dwpt

参考文献 Walczak, B., and D. L. Massart. “Noise suppression and signal compression using the wavelet packet transform.” Chemometrics and Intelligent Laboratory Systems 36.2 (1997): 81-94.

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐