这篇文章介绍了小波分解和小波包分解。
小波分解(wavelet transform)
小波
傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小波函数(basic wavelet),不同的小波在波形上有较大的差异,相似的小波构成一个小波族(family)。小波具有这样的局部特性:只有在有限的区间内取值不为0。这个特性可以很好地用于表示带有尖锐, 不连续的信号。
小波变换
其中
α α
表示变换得到的小波系数,W是正交矩阵。
f f
是输入信号。
正交矩阵构造
特定的小波函数(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。以此类推,直到满足设定的分级等级。最大的分解等级为
用数学表达就是:
原始信号可看做0级低频系数 a0=(f0,f1,...,fn) a 0 = ( f 0 , f 1 , . . . , f n ) ;
那么 am=G∗am−1 a m = G ∗ a m − 1 , dm=Ham−1 d m = H a m − 1 , G, H 分别表示低通滤波器和高通滤波器,用矩阵表示。
信号的重构
G∗ G ∗
,
H∗ H ∗
为G,H 的共轭矩阵。
例子:使用Haar小波做离散小波变换
Haar小波是最简单的小波函数。归一化的小波滤波器系数只有两个 c0=12−−√=0.7071 c 0 = 1 2 = 0.7071 , c1=−0.7071 c 1 = − 0.7071 . 低通滤波器由0.7071,0.7071组成,高通滤波器由0.7071,-0.7071组成,用矩阵G和H表示,矩阵的维度由信号的长度决定。
分解的结果
小波包分解(wavelet packet transform)
分解结果
参考文献 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.
发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178074.html原文链接:https://javaforall.net
