【发布时间】:2014-05-21 18:21:40
【问题描述】:
我正在尝试在 C 中实现小波变换,但我以前从未这样做过。我已经阅读了一些关于小波的内容,并且理解了“增长子空间”的想法,以及 Mallat 的单边滤波器组如何本质上是相同的想法。
但是,我被困在如何实际实现 Mallat 的快速小波变换上。这是我目前所理解的:
高通滤波器 h(t) 为您提供细节系数。对于给定的尺度 j,它是母小波 W(t) 的反射、扩张和规范版本。
g(t) 是弥补差异的低通滤波器。应该是h(t)的正交镜
要获得第 j 级的细节系数或近似系数,您需要分别将信号块与 h(t) 或 g(t) 进行卷积,并将信号下采样 2^{j} (即取每 2^{j} 个值)
但是这些是我的问题:
知道 h(t) 后如何求 g(t)?
如何计算这个变换的逆?
您有任何我可以参考的 C 代码吗? (是的,我在 wiki 上找到了,但没有帮助)
我想要一些代码说的是:
A.这是过滤器
B.这是变换(非常明确) C.) 这里是逆变换(同样是傻瓜)
感谢您的耐心等待,但似乎没有第 1 步 - 第 2 步 - 第 3 步 - 等等带有明确示例的指南(这不是 HAAR,因为所有系数都是 1,这会使事情变得混乱)。
【问题讨论】:
-
Look Here。这些是图书馆的链接,但也许它们会对您有所帮助。此外,您的问题似乎比这里更适合数学论坛。
标签: c numerical-methods wavelet