2

比如说,我有一个表示为实数数组的信号y = [1,2,0,4,5,6,7,90,5,6]。我可以使用 Daubechies-4 系数D4 = [0.482962, 0.836516, 0.224143, -0.129409],并应用小波变换来接收信号的高频和低频。因此,高频分量将这样计算:

high[v] = y[2*v]*D4[0] + y[2*v+1]*D4[1] + y[2*v+2]*D4[2] + y[2*v+3]*D4[3], 

并且可以使用其他 D4 系数排列来计算低频分量。


问题是:如果y是复数数组呢?我只是将复数相乘和相加来接收子带,还是获得幅度和相位是否正确,将它们中的每一个视为实数,对它们进行小波变换,然后使用公式恢复每个子带的复数数组real_part = abs * cos(phase)imaginary_part = abs * sin(phase)?

4

1 回答 1

3

为了处理复杂数据的情况,您正在查看Complex Wavelet Transform。它实际上是对 DWT 的简单扩展。处理复杂数据的最常见方法是将实部和虚部视为两个独立的信号,并分别对每个组件执行 DWT。然后,您将收到实部和虚部的分解。

这通常称为双树复小波变换。我从维基百科中提取的下图可以最好地描述这一点:

资料来源:维基百科

之所以称为“双树”,是因为您有两个并行发生的 DWT 分解——一个用于实部,一个用于虚部。在上图中,表示g0/h0信号实部的低通和高通分量,表示信号虚部的低通和高通分量。xg1/h1x

将实部和虚部分解为各自的 DWT 分解后,您可以将它们组合起来以获得幅度和/或相位,然后继续下一步或您希望对它们进行的任何操作。


关于其正确性的数学证明超出了我们所讨论的范围,但如果您想了解它是如何得出的,我建议您参考 Kingsbury 在 1997 年的经典论文Image Processing with Complex小波- http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=835E60EAF8B1BE4DB34C77FEE9BBBD56?doi=10.1.1.55.3189&rep=rep1&type=pdf。密切注意使用 CWT 对图像进行的噪声过滤——这可能是您正在寻找的。

于 2015-09-02T18:19:14.940 回答