小波分解和小波包分解
这篇文章介绍了小波分解和小波包分解。小波分解(wavelet transform)小波傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小波函数(basic wavelet),不同的小波在波形上有较大的差异,相似的小波构成一个小波族(family)。小波的具有这样的局部特性,只有在有限的区间内取值不为0. 这个特性可以很好地用于表示带有尖锐, 不连续的信号。小波...
这篇文章介绍了小波分解和小波包分解。
小波分解(wavelet transform)
小波
傅里叶变换的基本方程是sin和cos,小波变换的基本方程是小波函数(basic wavelet),不同的小波在波形上有较大的差异,相似的小波构成一个小波族(family)。小波具有这样的局部特性:只有在有限的区间内取值不为0。这个特性可以很好地用于表示带有尖锐, 不连续的信号。
小波变换
正交矩阵构造
特定的小波函数(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。以此类推,直到满足设定的分级等级。最大的分解等级为
<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=G∗am−1 a m = G ∗ a m − 1 <script type="math/tex" id="MathJax-Element-6">a^m = G*a^{m-1}</script>, dm=Ham−1 d m = H a m − 1 <script type="math/tex" id="MathJax-Element-7">d^m = Ha^{m-1}</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组成,用矩阵G和H表示,矩阵的维度由信号的长度决定。
分解的结果
小波包分解(wavelet packet transform)
简单理解就是每一层分解得到的系数都要再分解,不像小波分解那样只有低频系数会再分解。同样以Haar小波为例子。
分解结果
更多推荐
所有评论(0)