说,我有一个信号表示为实数数组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 coefs排列来计算低频分量。
问题是:如果y
是复杂数组怎么办?我只是乘以并添加复数来接收子带,或者获取幅度和相位是否正确,将它们视为实数,对它们进行小波变换,然后使用公式{恢复每个子带的复数数组{ {1}}和real_part = abs * cos(phase)
?
答案 0 :(得分:2)
要处理复杂数据的情况,您需要查看Complex Wavelet Transform。它实际上是DWT的简单扩展。处理复杂数据的最常用方法是将实部和虚部组合为两个独立的信号,并分别对每个组件执行DWT。然后,您将收到实部和虚部的分解。
这通常称为双树复小波变换。这可以通过我从维基百科中提取的下图得到最好的描述:
来源:Wikipedia
它被称为“双树”,因为你有两个并行发生的DWT分解 - 一个用于实际组件,一个用于虚构。在上图中,g0/h0
表示信号x
的实部的低通和高通分量,g1/h1
代表信号的低通和高通分量。信号x
的虚部。
将实部和虚部分解为各自的DWT分解后,您可以将它们组合起来得到幅度和/或相位,然后继续下一步或任何您想要用它们做的事情。
关于这个问题的正确性的数学证明超出了我们所讨论的范围,但是如果你想看看它是如何得出的,我将在1997年的工作中向你推荐Kingsbury的规范论文< em>复杂小波图像处理 - http://citeseerx.ist.psu.edu/viewdoc/download;jsessionid=835E60EAF8B1BE4DB34C77FEE9BBBD56?doi=10.1.1.55.3189&rep=rep1&type=pdf。使用CWT密切关注图像的噪声过滤 - 这可能是您正在寻找的。 p>