离散小波变换(一)
1、为什么需要离散小波变换
虽然离散化的连续小波变换(即小波级数)使得连续小波变换的运算可以用计算机来实现,但这还不是真正的离散变换。事实上,小波级数仅仅是CWT的采样形式。即便是考虑到信号的重构,小波级数所包含的信息也是高度冗余的。这些冗余的信息同样会占用巨大的计算时间和资源。而离散小波变换(DWT)则不仅提供了信号分析和重构所需的足够信息,其运算量也大为减少。
相比CWT,DWT的实现要容易得多。本小节将介绍DWT的基本概念及其性质,以及用来实现其计算的算法。如前面的内容一样,会举一些应用实例来帮助理解DWT。
2、离散小波变换(DWT)历史
DWT的建立要追溯到1976年。当时,Croiser, Esteban, 和 Galand发明了一种分解离散时间信号的新技术。几乎在同时,Crochiere, Weber, 和 Flanagan在语音信号编码上也做了类似的工作。他们将其命名为子带编码。1983年,Burt定义了一种与子带编码非常类似的新方法,并取名为金字塔编码。现在,这两种编码方法都又称为多分辨分析。到1989年,Vetterli 和 Le Gall对子带编码方法进行了一些改进,并且去除了金字塔编码中的冗余。下面将会简要介绍子带编码。离散小波变换及多分辨分析理论的详细讨论可在很多相关的论文及专著中找到,这里不详细展开。
3、子带编码和多分辨分析
主要思想与CWT完全一样。利用数字滤波技术,可以得到数字信号的时间-尺度表示。回忆一下前面关于CWT的讨论中,CWT可以看做是不同尺度的小波和信号的相关运算,其结果表征了信号与不同尺度小波的相似程度。改变分析窗的尺度,在时间上移动窗函数,并将其与信号相乘来计算连续小波变换。在离散的情况下,用不同截止频率的滤波器在不同的尺度上对信号进行分析。信号通过一组高通滤波器来分析其高频分量,通过一组低通滤波器分析其低通分量。信号的分辨率这个信号详细信息的表征方法,会随着滤波方式而变化。尺度通过上采样(upsampling)和下采样(downsampling)而变化。下采样一个信号指的是降低信号采样率,或者说去除一些信号中的采样点。例如,2倍的下采样指的是信号每隔一个采样点保留一个值。n倍的下采样则是将采样点降为1/n。
上采样一个信号指的则是通过对原始信号增加采样点数来提高信号采样率。例如,2倍的上采样指的是在每两个相邻的采样点之间增加一个新的采样点,其值通常为0。n倍的上采样则是在通过增加n倍的采样点数来将采样率提高n倍。
虽然不是唯一的选择,但DWT的系数通常是以二进栅格的方式从CWT采样得到的。也即是说,s0 = 2 ,tau0 = 1,从而有s=2j and t =k*2j,这点在前面已经有所讨论。由于信号是离散时间函数,在下面的讨论中将不再区分函数与序列这两个概念。序列通常用x[n]表示,其中n为整数。
处理过程从信号通过一个冲激响应为h[n]的半带数字低通滤波器开始。对信号滤波的过程在数学上等效为信号与滤波器冲激响应的卷积。离散时间的卷积定义如下:
半带低通滤波器滤除了信号中超过最高频率一半的所有频率分量。例如,如果信号的最高频率分量为1000Hz,则半带低通滤波器滤除所有超过500Hz的频率分量。【译者注:这里可能有点小问题,应该是若滤波器采样频率为1000Hz,则信号中超过500Hz的频率分量全部被滤除。】
这里要特别注意频率单位的问题。对离散信号来说,频率的单位通常用弧度(radian)来表示。相应地,根据圆周频率,信号的采样频率为2pi弧度。于是,如果信号以奈奎斯特频率(信号最高频率分量的2倍)采样,则经半带低通滤波器滤波后得到的信号其最高频率为pi弧度。这也就是说,在数字频率域,奈奎斯特频率对应为pi rad/s。因此,对离散信号用Hz为单位便不再合适。但是,人们在讨论中已经习惯用Hz来表示频率的单位。但要牢记,离散时间信号的频率单位是弧度。【译者注:满足采样定理的情况下,采样频率对应为2pi弧度,奈奎斯特频率对应pi弧度】
信号通过半带低通滤波器之后,根据奈奎斯特采样规则,由于信号现在的最高频率为 pi/2弧度而不是 pi弧度,因此可以扔掉一半的采样点。只要每隔一个点扔掉一个点就可实现对原信号2倍的下采样。这样信号长度变为原来的一半。信号的尺度变为原来的2倍。需要说明的是,低通滤波器仅是滤除了高频信息,但并没有改变尺度。只有下采样过程才改变了尺度分辨率。但从另外一方面来说,下采样又与信号所包含的信息有关,受滤波运算的影响。半带低通滤波器滤除了一半的频率信息,这可解释为丢失了一半的信息。因此,滤波处理以后,分辨率降为一半。需要说明的是,滤波之后的下采样处理并不影响分辨率,因为从信号中滤除一半的频率分量使得信号中一半的采样点为冗余数据。丢掉一半的采样点不会丢失任何信息。
小结一下,低通滤波将分辨率降低一半,但是。不能改变尺度。然后再进行2倍的下采样处理,扔掉一半的冗余数据。