小波变换网文精粹:小波变换教程(二十三)
原文:ROBI POLIKAR. THE ENGINEER'S ULTIMATE GUIDE TO WAVELET ANALYSIS:The Wavelet Tutorial
网址:http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html
二十三、离散小波变换(三)
原始信号中不重要的频段幅度很小,于是扔掉这部分信号几乎不会丢失信息,这样就可以减少数据量。图4.2给出了一个DWT的例子,并演示了如何减小数据量。图4.2a是一个512点的信号,其幅度进行了归一化处理。横轴为采样点,纵轴为归一化幅度。图4.2b为4.2a所示信号的DWT,总共需要8层分解。最后256个点对应着原始信号最高频带,即pi/2到pi的频率。往前的128个点对应着次高频带,即pi/4到pi/2的频率。以此类推。由图可以看出,仅有前面64个点的值比较大,这对应着信息主要在低频部分。其余部分的值都很小,几乎不携带任何信息。因此,只要保留最前面的64个点,其余的点可以全部扔掉,仍然不会损失信息。这正是DWT可以有效减少数据量的原理所在。
图4.2所示的DWT的例子后面还会再讨论,因为它为解释小波变换提供了一个很重要的视角。但现在,我们还是先来简单小结一下DWT的数学形式。
图 4.2 DWT举例
DWT的一个重要性质是高通滤波器和低通滤波器单位冲激响应之间存在某种对应关系。高通滤波器和低通滤波器的关系如下:
其中g[n]是高通滤波器,h[n]为低通滤波器,L为滤波器长度(点数)。这也即是说,低通和高通滤波器是互为翻转奇数点反转的对称关系。【译者补充:这种对称关系也就是先在时间轴上反转,然后再对奇数点的值求反】。低通到高通的反转通过(-1)n项来实现。信号处理中,通常将满足上述条件的滤波器称为正交镜像滤波器(QMF)。滤波及下采样过程可以用如下公式表示:
这种情况下信号的重构非常容易,因为半带滤波器构成一组正交基。重构的时候,按照上述过程完全相反的次序即可。每层的信号先进行2倍的上采样,然后再通过合成滤波器 g’[n]和h’[n](分别对应高通和低通滤波器),然后再相加。非常有意思的是,分析和合成滤波器系数是完全一样的,只是在时间上是翻转的。因此,每层的重构公式均可表示为:
要注意的是,如果滤波器不是理想的半带滤波器,那么就不可能实现信号的完全重构。虽然在实际中不可能实现理想的滤波器,但在某种条件下设计出实现完全重构的滤波器还是有可能的。其中最著名的是由数学家Ingrid Daubechies设计的一组滤波器,被称为Daubechies(多贝西)小波。
由于要不断地进行2倍的下采样,因此为了有效进行处理,要保证信号长度为2的幂次方,或者至少是2的幂次方的倍数。信号的长度决定了需要分解的层数。例如,信号长度为1024,那么分解层数为10。
解释DWT系数并不是一件容易的事,因为DWT系数的表示方式很特别。长话短说,每层的DWT系数组合起来,从最后一层的开始到第一层为止,所得结果即为DWT。下面用一个例子来更清晰地说明这个概念:
假定有一个256长度的信号,采样率为10MHz,需要计算其DWT。由于信号的采样频率为10MHz,信号的最高频率分量为5MHz。在第一层,信号通过低通滤波器h[n]和高通滤波器g[n],滤波器的输出均再进行2倍的下采样。经下采样处理后的高通滤波器的输出即为第一层的DWT系数。这部分数据量为128点,包括了信号中频率从2.5MHz到5MHz的信息。这128个数据按顺序排在最终结果的最后128个位置。经下采样处理后的低通滤波器的输出,同样也是128个数据点,包括了信号中频率从0到2.5MHz的信息。低频的输出再通过同样的滤波器h[n]和g[n]来进行下一层的分解。第二层经下采样处理后的高通滤波器的输出为第二层的DWT系数,数据点数为64点。在最终结果中的位置是在第一层128个系数之前。也是按顺序排列,占据64个位置。第二层经下采样处理后的低通输出继续进行分解,同样是通过滤波器h[n]和g[n]。经下采样处理后的高通滤波器输出为第三层的DWT系数,数据点数为32点。在最终结果中的位置是在第二层64个系数之前。也是按顺序排列,占据32个位置。
这个过程一直继续下去,直到在第9层仅有1个DWT系数需要计算。这个系数排列在DWT最终结果的第一的位置。接下来是第8层分解得到的2个系数,接下来是第7层分解得到的4个系数,第6层分解得到的8个系数,第5层分解得到的16个系数,第4层分解得到的32个系数,第3层分解得到的64个系数,第2层分解得到的128个系数,第1层分解得到的256个系数。【译者注:256点长度的数据仅需8层分解即可,这里好像有点小问题,但原文如此,读者要注意】。由上面的讨论可知,在随着频段越来越低,数据点数也越来越少,也即是说,随着时间分辨率随着频率的降低而降低。但是,由于在低频段频率间隔越来越小,因而频率分辨率越来越高。显然,最前面很少的几个系数并不能携带全部的信息,因为此时时间分辨率太低。
为了说明DWT这种异乎寻常的能力,我们还是来看一个现实世界中的信号实例。原始信号为256点长的超声波信号,采样频率为25MHz。信号是利用2.25MHz的变频器来产生的,因此最主要的频谱分量在2.25MHz。最后128个采样点对应着[6.25 12.5]频率范围的信号。由图可见,这128个数据点的数值均很小,几乎不包含任何信息。因此扔掉这些点不会造成任何信息的损失。【译者注:这里图可能指图4.1,但原文中并没有明确说明】。前面64个数据点对应着[3.12 6.25] MHz频率范围的信号,同样幅度很小,没有携带什么有用的信息。很小的毛刺对应着信号中的高频噪声分量。再前面的32点对应着[1.5 3.1] MHz频率范围的信号。由图可以看到,信号最主要的能量就是集中在这32个数据点,这与期望的是一致的。再前面的16点对应着[0.75 1.5]MHz频率范围的信号,这层中的峰值可能表示信号的低频包络。再往前的采样点看起来也没有包含什么很重要的信息。于是,我们只要保留第3层和第4层的系数即可。这也就是说,我们可以仅用16+32=48个数据点来表示这个256点长的信号,这大大降低了信号的数据量。
PS:原文pdf打包下载地址:http://download.csdn.net/detail/deepdsp/4061006