在数字应用中使用连续经节离散小波变换


14

我熟悉小波背后的许多数学背景。但是,在具有小波的计算机上实现算法时,我不确定应该使用连续小波还是离散小波。当然,在所有现实中,计算机上的所有东西都是离散的,因此显而易见,离散小波是数字信号处理的正确选择。但是,根据维基百科,连续小波变换主要用于(数字)图像压缩以及大量其他数字数据处理活动。在决定是否将(近似)连续小波变换而不是(精确)离散小波变换用于数字图像或信号处理时,要考虑哪些利弊?

PS(在此处检查假设)我假设在数字处理中使用了连续小波变换,方法是简单地获取连续小波在等距点处的值,然后将所得序列用于小波计算。它是否正确?

PPS通常,维基百科在数学方面非常精确,所以我假设关于连续小波变换的文章中的应用实际上是连续小波变换的应用。当然,它提到了一些专门用于CWT的功能,因此在数字应用中显然存在CWT的一些用法。

Answers:


10

正如Mohammad所说,术语连续小波变换(CWT)和离散小波变换(DWT)有点误导。它们大致与(连续)傅立叶变换(数学积分变换)与DFT(离散傅立叶变换)相关。

为了了解细节,最好查看历史背景。小波变换最初是由莫雷特(Morlet)在地球物理学中引入的,基本上是带有窗口的Gabor变换,该窗口随选定的比例/频率一起增大和缩小。后来的Daubchies(来自比利时的物理学家)意识到通过选择特殊的正交小波基,可以在二元网格上严格采样无限冗余的CWT。通过将DWT与各个小波的再现内核进行卷积,可以从得到的DWT中获得相应的完整CWT。再现内核是小波本身的CWT。

Daubchies的发现极大地推动了80年代初的小波理论。下一个重大结果是,通过使用滤波器组理论中的技术,即正交镜像滤波器(QMF)和降采样滤波器组,可以非常有效地计算DWT(有时也称为FWT [fast WT])。通过构造特殊的QMF,可以通过过滤和下采样来计算相应的DWT,这是当今计算DWT的最新算法。您不需要缩放函数来计算DWT,它只是FWT处理的实现细节。

关于应用程序方面,CWT由于具有更细粒度的分辨率,因此是信号或时间序列分析的更理想候选者,并且通常在大多数任务中都选择使用(例如,奇异性检测)。在快速非冗余变换的背景下,DWT更令人感兴趣。DWT具有非常好的能量压缩能力,因此是有损压缩和信号传输的理想候选者。


希望能弄清楚事情。


感谢安德烈(Andre)对命名的历史观点和澄清。正是由于这些名称引起的混乱,我一直在努力!
曹燕帅2015年

6

在小波领域中,一个非常普遍但不幸的误解与“连续小波变换”的措词不当有关。

首先,连续小波变换(CWT)和离散小波变换(DWT)都是点对点的数字转换,可以在计算机上轻松实现。

小波上下文中的“连续”变换和“离散”变换之间的区别来自:

1)当信号与小波互相关时跳过的样本数。

2)扩张小波时跳过的样本数。

3)CWT仅使用小波,而DWT同时使用小波和小波。(对于此讨论而言并不重要,但此处出于完整性考虑)。

但是请不要误解-CWT与DWT一样,始终是离散的数字操作。

让这个例子说明这一点:考虑Haar小波,[1 -1]。让我们说我们想用Haar Wavelet进行DWT。因此,您可以使用Haar母波[1 -1]来卷积信号,但只能在二进位延迟下进行。例如,假设您的信号是以下向量:

x=[1 2 3 4 5 6 7 8]

DWT与Haar小波进行卷积的第一个结果是:

1(1)+2(1)

下一个结果是:

3(1)+4(1)

下一个是:

5(1)+6(1)

最后,最后一个是:

7(1)+8(1)

有什么让您感到奇怪的吗?我说过将信号与小波进行卷积-那么为什么我只得到四个值呢?这是因为我在DWT中进行卷积时会跳过样本。我先拿[1 2],做一个点积,然后拿[3 4]。[2 3]发生了什么?我跳过了。

什么时候不跳过?当您执行CWT时。如果进行了CWT,使用Haar小波将是信号的“正常”数字卷积。


第二件事是扩张小波的方式。在最上面的示例中,第一级分解的Haar小波为[1 -1]。在第二级中,DWT Haar小波变为[1 1 -1 -1]。但是,在CWT中,第二级Haar小波为[1 0 -1]。再一次,在DWT中,我没有一点一点地扩展-我从来没有三长度的小波。但是,在CWT中,我从长度2转到长度3。在DWT中,我从长度2转到长度4。

这是它的长短,希望能有所帮助。


1
诚然,在任何小波变换(CWT或DWT)的DSP实现中,该实现很可能是通过使用离散小波函数(类似于DFT的表示方式)进行逐点离散乘法来完成的。 CWT的数学定义是连续的。DWT有一些版本是为离散数据开发的,因此,某些DWT的实现在定义上是准确的。CWT的任何实现都是通过将具有连续小波函数的连续运算(积分)转换为离散运算而得出的近似值。
user2718 2013年

@BruceZenone当然,定义当然来自上下文。两位数学家谈论“ CWT”将表示带有积分的连续版本,而两位对实现感到困惑的工程师会说“ CWT”并表示离散版本(与DWT不同),因此是OP的困惑。
Spacey

足够真实。我希望看到一个针对DSP的CWT(例如Morlet)的详细记录的实现,以了解如何将连续操作/函数转换为离散处理世界的详细信息。注意,从数学上讲,DFT和傅立叶变换是完全不同的野兽。
user2718 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.