Wavelet Tutorial - Part 4 by Robi Polikar


多分辨率分析:离散小波变换


 


 


为什么需要离散小波变换?

虽然离散化连续小波变换能够通过计算机计算连续小波变换,但它不是真正的离散变换。事实上,小波序列只是CWT的采样版本,就信号的重建而言,它提供的信息是高度冗余的。另一方面,这种冗余需要大量的计算时间和资源。另一方面,离散小波变换(DWT)为原始信号的分析和合成提供了足够的信息,大大减少了计算时间。

与CWT相比,DWT更容易实施。本节将介绍DWT的基本概念及其属性和计算算法。与前几章一样,提供了示例来帮助解释DWT。
 


离散小波变换(DWT)

DWT的基础可以追溯到1976年,当时Croiser、Esteban和Galand设计了一种分解离散时间信号的技术。Crochiere、Weber和Flanagan在同一年对语音信号的编码进行了类似的研究。他们将他们的分析方案命名为子带编码。1983年,Burt定义了一种与子带编码非常相似的技术,并将其命名为金字塔编码,也称为多分辨率分析。1989年晚些时候,Vetterli和Le Gall对子带编码方案进行了一些改进,消除了金字塔编码方案中现有的冗余。下面解释子带编码。离散小波变换和多分辨率分析理论的详细介绍可以在有关此主题的许多文章和书籍中找到,这超出了本教程的范围。


子带编码与多分辨率分析

子带编码和多分辨率分析

其主要思想与连续小波变换(CWT)中的相同。使用数字滤波技术可以获得数字信号的时间尺度表示。回想一下,CWT是在不同尺度下的小波与信号之间的相关性,其中尺度(或频率)被用作相似性的度量。通过改变分析窗口的尺度,时间上移动窗口,乘以信号,并在所有时间上进行积分来计算连续小波变换。在离散情况下,使用不同截止频率的滤波器在不同尺度上分析信号。信号通过一系列高通滤波器以分析高频率,通过一系列低通滤波器以分析低频率。

信号的分辨率,即信号中详细信息的量,由滤波操作改变,尺度则通过上采样和下采样(子采样)操作改变。子采样信号对应于降低采样率,或移除信号中的某些样本。例如,子采样因子为二意味着丢弃信号的每隔一个样本。子采样因子为n则将信号中的样本数量减少n倍。

上采样信号对应于通过在信号中添加新样本来增加采样率。例如,上采样因子为二意味着在信号的每两个样本之间添加一个新样本,通常是零或插值值。上采样因子为n将信号中的样本数量增加n倍。

虽然这不是唯一的选择,但通常DWT系数从CWT的二进制网格中抽样,即s_0 = 2t_0 = 1,得到s = 2^jt = k \cdot 2^j,如第3部分所述。由于信号是离散时间函数,术语“函数”和“序列”在下面的讨论中将互换使用。该序列将表示为x[n],其中n是整数。

程序开始于将该信号(序列)通过具有脉冲响应h[n]的半带数字低通滤波器。滤波信号对应于信号与滤波器的脉冲响应的卷积运算。离散时间的卷积运算定义如下:

x[n] * h[n] = \sum_{k = -\infty}^\infty x[k] \cdot h[n - k]

公式4.1

半带低通滤波器移除信号中最高频率一半以上的所有频率。例如,如果信号的最高频率分量为1000 Hz,则半带低通滤波移除所有超过500 Hz的频率。

此时,频率单位尤为重要。在离散信号中,频率以弧度表示。因此,信号的采样频率在弧度频率中等于2π弧度。因此,如果信号以奈奎斯特率(信号中存在的最大频率的两倍)采样,则信号中存在的最高频率分量将为π弧度;即,奈奎斯特率对应于离散频率域中的π弧度/秒。因此,对于离散信号使用Hz是不合适的。然而,在需要澄清讨论时会使用Hz,因为通常将频率认为是Hz。始终应记住,离散时间信号的频率单位是弧度。

将信号通过半带低通滤波器后,根据奈奎斯特规则可以消除一半的样本,因为信号现在的最高频率为\(\frac{\pi}{2}\)弧度而不是π弧度。简单地丢弃每隔一个样本将信号子采样为二,此时信号的点数将减半。信号的尺度现在加倍。注意,低通滤波移除了高频信息,但尺度保持不变。只有子采样过程改变了尺度。而分辨率则与信号中的信息量有关,因此受滤波操作的影响。半带低通滤波移除了半数频率,可以解释为丢失了半数信息。因此,分辨率在滤波操作后减半。然而,滤波后的子采样操作不影响分辨率,因为从信号中移除一半的频谱分量使得一半样本冗余。可以在不丢失信息的情况下丢弃一半样本。总之,低通滤波将分辨率减半,但不改变尺度。由于一半样本是冗余的,因此信号被子采样为2。这将尺度加倍。

该过程可以用数学表达为:

y[n] = \sum_{k = -\infty}^\infty h[k] \cdot x[2n - k]

公式4.2



现在我们来看看离散小波变换 (DWT) 实际是如何计算的:DWT 通过将信号分解成粗略的近似部分和详细信息部分,在不同频带和不同分辨率下分析信号。DWT 使用两组函数,称为尺度函数和小波函数,它们分别与低通滤波器和高通滤波器相关联。信号在不同频带上的分解是通过对时域信号进行连续的高通和低通滤波简单地获得的。原始信号 \(x[n]\) 首先通过一个半带高通滤波器 \(g[n]\) 和一个低通滤波器 \(h[n]\)。根据奈奎斯特定律,经过滤波后,由于信号现在的最高频率为 \(\frac{p}{2}\) 弧度而不是 \(p\),所以可以去掉一半的样本。因此,信号可以按 2 进行子采样,只需丢弃每隔一个样本。这构成了一个分解级别,可以用以下数学表达式表示:

y_{high}[k] = \sum\limits_{n} x[n] \cdot g[2k - n]

y_{low}[k] = \sum\limits_{n} x[n] \cdot h[2k - n]

Equation 4.3

其中y_{high}[k]y_{low}[k]分别是高通滤波器和低通滤波器在经过二次抽样后的输出。

这种分解会减半时间分辨率,因为现在只有一半数量的样本描述整个信号。然而,这一操作会使频率分辨率加倍,因为信号的频带现在仅覆盖之前频带的一半,有效地将频率的不确定性减少了一半。上述过程也被称为子带编码,可以重复进行进一步的分解。在每一级中,滤波和抽样将导致样本数量减半(因此时间分辨率减半),以及频带减半(因此频率分辨率加倍)。图4.1说明了这一过程,其中x[n] 是要分解的原始信号,h[n]g[n] 分别是低通滤波器和高通滤波器。每一级信号的频带在图中标记为“f”。

Figure 4.1 The Subband Coding Algorithm

作为一个例子,假设原始信号x[n] 有 512 个采样点,频率范围从 0 到\pi 弧度/秒。在第一级分解中,信号通过高通滤波器和低通滤波器,然后进行 2 倍抽样。高通滤波器的输出有 256 个点(因此时间分辨率减半),但只覆盖\frac{\pi}{2}\pi弧度/秒的频率(因此频率分辨率加倍)。这 256 个样本构成第一级离散小波变换(DWT)系数。低通滤波器的输出也有 256 个样本,但它覆盖频率带的另一半,从 0 到\frac{\pi}{2}弧度/秒。然后该信号再次通过相同的低通和高通滤波器进行进一步分解。第二次低通滤波器的输出加上抽样后的信号有 128 个样本,覆盖 0 到\frac{\pi}{4} 弧度/秒的频率范围,而第二次高通滤波器的输出加上抽样后的信号有 128 个样本,覆盖 \frac{\pi}{4}\frac{\pi}{2}弧度/秒的频率范围。第二次高通滤波后的信号构成第二级 DWT 系数。这个信号的时间分辨率减半,但频率分辨率是第一级信号的两倍。换句话说,时间分辨率比原始信号降低了 4 倍,而频率分辨率增加了 4 倍。然后低通滤波器的输出再次进行滤波以进一步分解。这个过程继续进行,直到剩下两个样本。在这个特定示例中,将有 8 级分解,每一级的样本数量都是前一级的一半。然后通过连接所有分解级别的系数(在这个例子中剩下的两个样本)得到原始信号的 DWT。这样,DWT 的系数数量与原始信号相同。

在原始信号中最突出的频率将在包含这些特定频率的 DWT 信号区域中显示为高幅度。这个变换与傅里叶变换的不同之处在于时间定位不会丢失。然而,时间定位的分辨率取决于它们出现的级别。如果信号的主要信息位于高频率,如通常情况,高频率的时间定位会更精确,因为它们由更多的样本表示。如果主要信息仅位于非常低的频率,时间定位将不太精确,因为很少的样本用于表示这些频率的信号。这一过程实际上在高频率上提供了良好的时间分辨率,在低频率上提供了良好的频率分辨率。遇到的大多数实际信号都是这种类型。

在原始信号中不太突出的频带将具有非常低的幅度,这部分 DWT 信号可以在不造成任何重大信息损失的情况下被丢弃,从而实现数据压缩。图 4.2 展示了 DWT 信号的一个示例以及数据压缩的实现方式。图 4.2_a 显示了一个典型的 512 个采样点的信号,归一化到单位幅度。横轴是样本数,纵轴是归一化的幅度。图 4.2_b 显示了图 4.2_a 中信号的 8 级 DWT。此信号的最后 256 个样本对应信号中的最高频带,之前的 128 个样本对应第二高频带,依此类推。应该注意到,只有前 64 个样本,即对应于分析的低频率,携带相关信息,而此信号的其余部分几乎没有信息。因此,除了前 64 个样本之外的所有样本都可以被丢弃而不会丢失任何信息。这就是 DWT 提供高效数据压缩方案的方式。

Figure 4.2 Example of a DWT

我们将重新审视这个例子,因为它为如何解释离散小波变换(DWT)提供了重要的见解。然而,在此之前,我们需要完成对DWT的数学分析。

离散小波变换的一个重要特性是高通滤波器和低通滤波器的脉冲响应之间的关系。高通滤波器和低通滤波器不是相互独立的,它们之间的关系如下:

g[L - 1 - n] = (-1)^n \cdot h[n]

Equation 4.4



其中,g[n]是高通滤波器,h[n]是低通滤波器,L是滤波器的长度(以点数表示)。请注意,这两个滤波器是彼此的奇数索引交替反转版本。低通到高通的转换由(-1)^n项提供。满足这一条件的滤波器在信号处理中常被使用,并被称为四象限镜像滤波器(Quadrature Mirror Filters,QMF)。这两个滤波器和下采样操作可以表示为

y_{high}[k] = \sum\limits_{n} x[n] \cdot g[-n + 2k]
y_{low}[k] = \sum\limits_{n} x[n] \cdot h[-n + 2k]

Equation 4.5

在这种情况下,重建非常容易,因为半带滤波器形成正交基。按照与上述相反的顺序进行重建。每个级别的信号被上采样两次,通过合成滤波器g[n]和h[n](分别为高通和低通),然后相加。这里有趣的一点是,除了时间反转之外,分析和合成滤波器彼此相同。因此,重建公式变为(对于每一层)

x[n] = \sum\limits_{k = -\infty}^\infty \left( \, y_{high}[k] \cdot g[-n + 2k] \, \right) + \left( \, y_{low}[k] \cdot h[-n + 2k] \, \right)
Equation 4.6

然而,如果滤波器不是理想的半带,那么就无法实现完美的重建。虽然不可能实现理想的滤波器,但在某些条件下,可以找到提供完美重建的滤波器。最著名的是Ingrid Daubechies开发的小波,它们被称为Daubechie小波。

请注意,由于连续二次采样为2,信号长度必须是2的幂,或至少是2幂的倍数,才能使该方案有效。信号的长度决定了信号可以分解到的级别数量。例如,如果信号长度为1024,则可以分解十个级别。

解释DWT系数有时可能相当困难,因为DWT系数的呈现方式相当特殊。为了使一个真正的长话短说,从最后一个级别开始,将每个级别的DWT系数连接起来。为了明确这一概念,我们举了一个例子:

假设我们有一个以10MHz采样的256个样本长的信号,我们希望获得它的DWT系数。由于信号以10MHz采样,因此信号中存在的最高频率分量为5MHz。在第一级,信号通过低通滤波器h[n]和高通滤波器g[n],其输出被二次采样。高通滤波器的输出是第一级DWT系数。有128个,它们代表[2.5 5]MHz范围内的信号。这128个样本是最后绘制的128个样本。低通滤波器输出也有128个样本,但跨越[0 2.5]MHz的频带,通过使它们通过相同的h[n]和g[n]进一步分解。第二高通滤波器的输出是2级DWT系数,这64个样本在图中位于128个1级系数之前。第二低通滤波器的输出再次通过滤波器h[n]和g[n]进行进一步分解。第三高通滤波器的输出是3级DWT系数。这32个样本位于图中2级DWT系数之前。

该过程继续进行,直到在级别9只能计算出1 DWT系数。这一系数是DWT图中第一个绘制的系数。接下来是2个8级系数、4个7级系数、8个6级系数、16个5级系数、32个4级系数、64个3级系数、128个2级系数,最后是256个1级系数。请注意,在较低频率下使用的样本数量越来越少,因此,时间分辨率随着频率的降低而降低,但由于频率间隔在低频下也会减小,因此频率分辨率会提高。显然,由于时间分辨率大大降低,前几个系数不会携带大量信息。为了说明这种非常奇怪的DWT表示,让我们来看看现实世界的信号。我们的原始信号是一个256个样本长的超声信号,采样频率为25 MHz。该信号最初是使用2.25 MHz换能器产生的,因此信号的主要频谱分量在2.25 MHz。最后128个样本对应于[6.25 12.5]MHz范围。从图中可以看出,这里没有可用的信息,因此可以丢弃这些样本而不会丢失任何信息。前面的64个样本表示[3.12 6.25]MHz范围内的信号,该信号也不携带任何重要信息。这些小故障可能对应于信号中的高频噪声。前面的32个样本表示[1.5 3.1]MHz范围内的信号。如您所见,正如我们所料,信号的大部分能量集中在这32个样本中。前16个样本对应于[0.75 1.5]MHz,在这个水平上看到的峰值可能代表信号的低频包络。之前的样本可能没有携带任何其他重要信息。可以肯定地说,我们可以使用第三级和第四级系数,也就是说我们可以用16+32=48个样本来表示这个256个样本长的信号,这是一个显著的数据减少,会让你的计算机非常满意。

从小波变换的这一特性中受益最多的一个领域是图像处理。如您所知,图像,特别是高分辨率图像,会占用大量磁盘空间。事实上,如果本教程需要很长时间才能下载,那主要是因为图像。DWT可用于减小图像大小,而不会损失太多分辨率。方法如下:

对于给定的图像,您可以计算每行的DWT,并丢弃DWT中小于特定阈值的所有值。然后,我们只保存每行阈值以上的DWT系数,当我们需要重建原始图像时,我们只需用与丢弃系数数量一样多的零填充每行,并使用逆DWT重建原始图像的每一行。我们还可以分析不同频带的图像,并仅使用特定频带的系数重建原始图像。我希望很快能放一些示例图像来说明这一点。

另一个越来越受到关注的问题是不仅在低通侧而且在两侧进行分解(子带编码)。换句话说,分别放大信号的低频带和高频带。这可以可视化为具有图4.1的树结构的两侧。结果就是所谓的小波包。我们在这里不会讨论小波包,因为它超出了本教程的范围。任何对小波包或DWT更多信息感兴趣的人都可以在市场上提供的众多文本中找到这些信息。

我们的小波教程迷你系列到此结束。如果我能对任何努力理解小波的人有所帮助,我会认为本教程所花费的时间和精力是值得的。我想提醒一下,本教程既不是对小波变换的完整介绍,也不是对小波转换的全面介绍。它只是对小波概念的概述,旨在为那些认为小波的现有文本相当复杂的人提供第一个参考。可能存在许多结构和/或技术错误,如果您能向我指出这些错误,我将不胜感激。您的反馈对于本教程的成功至关重要。

非常感谢您对小波教程的兴趣。


保留所有权利。本教程仅用于教育目的。严禁未经授权的复制、复印和出版。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

___Y1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值