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

(在这里检查假设)我假设通过简单地获取连续小波在等距点处的值并将结果序列用于小波计算,在数字处理中使用了连续小波变换。这是正确的吗?

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

#1 楼

正如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是CWT的理想选择,因此它是信号或时间序列分析的理想选择。更精细的分辨率,通常在大多数任务中选择(例如,奇异性检测)。在快速非冗余变换的背景下,DWT更令人感兴趣。 DWT具有很好的能量压缩能力,因此是有损压缩和信号传输的理想候选者。


希望能澄清一些事情。

评论


$ \ begingroup $
感谢安德烈(Andre)对命名的历史观点和澄清。我一直在努力奋斗,正是因为这些名字引起的混乱!
$ \ endgroup $
–曹燕怀
15年12月4日在19:24

$ \ begingroup $
您好,您可以链接到展示您所描述内容的论文吗?我对您的第二段特别感兴趣,即Daubechies如何显示DWT在二进位网格上是完整的,并且可以使用可重现内核重构CWT
$ \ endgroup $
– yannick
20 Mar 26 '15:12

#2 楼

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

第一件事是:连续小波变换(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]
$$

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

$$
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。

这是它的长短,希望如此帮助了。

评论


$ \ begingroup $
虽然确实可以在任何小波变换(CWT或DWT)的DSP实现中,实现都可以通过离散小波函数进行逐点离散乘法(类似于DFT的方式)公式化),则CWT的数学定义是连续的。 DWT的某些版本是为离散数据开发的,因此某些DWT的实现在定义上是准确的。 CWT的任何实现都是通过将具有连续小波函数的连续运算(积分)转换为离散运算而得出的近似值。
$ \ endgroup $
–user2718
13年2月27日在14:03

$ \ begingroup $
@BruceZenone当然,该定义当然来自上下文。两位数学家谈论“ CWT”将表示带有积分的连续版本,而两位对实现感到困惑的工程师会说“ CWT”并表示离散版本(与DWT不同),因此是OP的困惑。
$ \ endgroup $
–太空
2013年2月27日14:21



$ \ begingroup $
足够真实。我希望看到一个针对DSP的CWT(例如Morlet)的详细记录的实现,以了解如何将连续操作/功能转换为离散处理世界的详细信息。注意,从数学上讲,DFT和傅立叶变换是完全不同的野兽。
$ \ endgroup $
–user2718
13年2月27日在16:11