C でウェーブレット変換を実装しようとしていますが、これまでに行ったことはありません。私はウェーブレットについていくつか読んで、「成長する部分空間」のアイデアと、マラットの片側フィルターバンクが本質的に同じアイデアであることを理解しています。
しかし、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 などの明示的な例を示すガイドはないようです (すべての係数が 1 であり、混乱を招くため、HAAR ではありません)。