我正在尝试在 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.)这是逆变换(再次用于假人)
感谢您的耐心等待,但似乎没有 Step1 - Step2 - Step3 -- 等等的明确示例指南(这不是 HAAR,因为所有系数都是 1,这会让事情变得混乱)。