ハールウェーブレット(英: Haar wavelet)とは、ウェーブレットの一つ。1909年に Alfréd Haar がハール列の名称で発表した[1]。Daubechiesウェーブレットの一つでもある。
ハールウェーブレットは最も簡単なウェーブレットである。欠点は、連続では無いため、微分可能では無い事。
定義
ウェーブレット関数の定義は以下の通り。
![\psi(t) = \begin{cases}
1 \quad & 0 \leq t < \frac{1}{2},\\
-1 & \frac{1}{2} \leq t < 1,\\
0 &\mbox{otherwise.}
\end{cases}](https://wikimedia.org/api/rest_v1/media/math/render/svg/49b8adc97251c218768de82f6d77d8f7ea45a6c8)
対応するスケーリング関数は以下の通り。
![\phi(t) = \begin{cases}1 \quad & 0 \leq t < 1,\\0 &\mbox{otherwise.}\end{cases}](https://wikimedia.org/api/rest_v1/media/math/render/svg/d3f33bce216f5ff2ff107e53de89dc37f7b645fb)
ハール関数とハール系
整数 n, k に対して、下記のようにハール関数 ψn, k が定義できる。
![\psi_{n,k}(t) = 2^{n / 2} \psi(2^n t-k), \quad t \in \mathbf{R}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/2b6baad4b6850a189e73315c070ed15e3f881a5f)
下記の性質を持つ。δi, j はクロネッカーのデルタ。
![\int_{\mathbf{R}} \psi_{n, k}(t) \, d t = 0](https://wikimedia.org/api/rest_v1/media/math/render/svg/fb9cf811f05bed8d81010c6c7ed859e2fd55a84a)
![\quad \|\psi_{n, k}\|^2_{L^2(\mathbf{R})} = \int_{\mathbf{R}} \psi_{n, k}(t)^2 \, d t = 1](https://wikimedia.org/api/rest_v1/media/math/render/svg/29ebb059ffdee3549c9df61fd7ebd12e4c079749)
![\int_{\mathbf{R}} \psi_{n_1, k_1}(t) \psi_{n_2, k_2}(t) \, d t = \delta_{n_1, n_2} \delta_{k_1, k_2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/68b9821463267d58268f9b4cbdb48a9109c9517e)
ハール系とは下記の関数集合の事で、L2(R) の正規直交基底である。
![\{ \psi_{n,k}(t) \; ; \; n \in \mathbf{Z}, \; k \in \mathbf{Z} \}](https://wikimedia.org/api/rest_v1/media/math/render/svg/1a3362935907639fab2985f976054734e5a8d09d)
スケール
のハール系とは下記の関数集合の事で、L2(R) の正規直交基底である。
![\{ \phi_{n_1,k}(t), \psi_{n_2,k}(t) \; ; \; n_2 \in \mathbf{Z}, \; k \in \mathbf{Z}, \; n_1 \le n_2 \}](https://wikimedia.org/api/rest_v1/media/math/render/svg/9de0f41651d46239e903d53f4b7c9a2178f28666)
スケーリング関数
整数 n, k に対して、下記のように多重解像度解析のためのスケーリング関数
が定義できる。
![\phi_{n,k}(t) = 2^{n / 2} \phi(2^n t-k), \quad t \in \mathbf{R}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/368e1eac33d0939ae39431376168a07835c13fe8)
下記の性質を持つ。
![\int_{\mathbf{R}} \phi_{n, k}(t) \, d t = 2^{-n/2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ded1134f22c71fad24d8b2ccf2d3f253baf8a2d3)
![\quad \|\phi_{n, k}\|^2_{L^2(\mathbf{R})} = \int_{\mathbf{R}} \phi_{n, k}(t)^2 \, d t = 1](https://wikimedia.org/api/rest_v1/media/math/render/svg/93aa1b7c6c0917aba4ee5a606e1824b3bdd63547)
同じ解像度のスケーリング関数の内積は以下の通り。
![\int_{\mathbf{R}} \phi_{n, k_1}(t) \phi_{n, k_2}(t) \, d t = \delta_{k_1, k_2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/137a12ee6a84b841c01f9df72f0b67615d28ad52)
異なる解像度のスケーリング関数の内積は以下の通り。
![\int_{\mathbf{R}} \phi_{n_1, k_1}(t) \phi_{n_2, k_2}(t) \, d t](https://wikimedia.org/api/rest_v1/media/math/render/svg/59ff9b4d7168b79c546aac2d1e219af4804d0b34)
![= 2^{\frac{n_1 + n_2}{2}} \int_{\frac{k_1}{2^{n_1}}}^{\frac{k_1 + 1}{2^{n_1}}} \phi(2^{n_2}t - k_2) \, d t](https://wikimedia.org/api/rest_v1/media/math/render/svg/e9ce18b2d900152da337df89b72f0cdd5ce2f6d5)
![= \begin{cases}
2^{\frac{n_1 + n_2}{2}} ( \min \{ \frac{k_1 + 1}{2^{n_1}}, \frac{k_2 + 1}{2^{n_2}} \} - \max \{ \frac{k_1}{2^{n_1}}, \frac{k_2}{2^{n_2}} \} ) \quad & \frac{k_2}{2^{n_2}} < \frac{k_1 + 1}{2^{n_1}} \land \frac{k_1}{2^{n_1}} < \frac{k_2 + 1}{2^{n_2}},\\
0 &\mbox{otherwise.}
\end{cases}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ae75d5c7463b975848526f50d7f9e9bad1888706)
ウェーブレット関数とスケーリング関数の関係
ウェーブレット関数やスケーリング関数は下記のトゥースケール関係が成立し、一段細かい解像度のスケーリング関数から合成できる。
![\phi(t) = \phi(2t) + \phi(2t - 1)](https://wikimedia.org/api/rest_v1/media/math/render/svg/cff15c73378cb7b09e8ec47451be0475236e439a)
![\psi(t) = \phi(2t) - \phi(2t - 1)](https://wikimedia.org/api/rest_v1/media/math/render/svg/bde9d228f291148b779d3f29500e229cbfdb012f)
解像度を指定した場合は以下の通り。
![\phi_{n, k}(t) = \frac{\phi_{n + 1, 2k} (t) + \phi_{n + 1, 2k + 1}(t)}{\sqrt{2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/40da848f1b1d5e7f630cf4a00a6383ea9c6d24df)
![\psi_{n, k}(t) = \frac{\phi_{n + 1, 2k} (t) - \phi_{n + 1, 2k + 1}(t)}{\sqrt{2}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/46e1da8e6eebabfd75b5cce2894af69b33d589be)
ウェーブレット関数とスケーリング関数の内積は、スケーリング関数よりウェーブレット関数の方が解像度が細かいか、もしくは、同じならば常に0。そうでは無い場合の方の式は、上記の異なる解像度のスケーリング関数の内積を代入すれば良い。
![\int_{\mathbf{R}} \phi_{n_1, k_1}(t) \psi_{n_2, k_2}(t) \, d t](https://wikimedia.org/api/rest_v1/media/math/render/svg/daea333e8fdb59ac2e5b3bf541d281b1c91717d8)
![= \begin{cases}
\frac{1}{\sqrt{2}} \left( \int_{\mathbf{R}} \phi_{n_1, k_1}(t) \phi_{n_2 + 1, 2 k_2}(t) \, d t - \int_{\mathbf{R}} \phi_{n_1, k_1}(t) \phi_{n_2 + 1, 2 k_2 + 1}(t) \, d t \right) \quad & n_1 > n_2,\\
0 &\mbox{otherwise.}
\end{cases}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cb438b10e1a343b3dd824de1d6523ebb3ce6c3a8)
関連項目
参照