离散小波变换
|
||||||||||||||||||||||||||||||||||||||
離散小波變換(Discrete Wavelet Transform)在數值分析和時頻分析中很有用。第一個離散小波變換由匈牙利數學家發明,離散小波轉換顧名思義就是離散的輸入以及離散的輸出,但是這裡並沒有一個簡單而明確的公式來表示輸入及輸出的關係,只能以階層式架構來表示。
目录 |
定義 [编辑]
- 首先我們定義一些需要用到的信號及濾波器。
- x[n]:離散的輸入信號,长度为N。
:low pass filter低通濾波器,可以將輸入信號的高頻部份濾掉而輸出低頻部份。
:high pass filter高通濾波器,與低通濾波器相反,濾掉低頻部份而輸出高頻部份。
Q:downsampling filter降采样濾波器,如果以x[n]作為输入,則輸出y[n]=x[Qn]。此處舉例Q=2。
- 架構中的第2層(2nd stage)
![x_{2,L}[n]=\sum_{k=0}^{K-1} x_{1,L}[2n-k]g[k]](//upload.wikimedia.org/math/f/7/b/f7bf7ee53e82b13087ca672463472a2c.png)
![x_{2,H}[n]=\sum_{k=0}^{K-1} x_{1,L}[2n-k]h[k]](//upload.wikimedia.org/math/f/4/8/f4883e3abd4f1826602093b7d87a3139.png)
- 可繼續延伸
架構中的第
層(
stage)
注意:若輸入信號 的長度是N,則第 層中的 及 的長度為![]() |
二维离散小波转换 [编辑]
實際範例 [编辑]
以下根據上述2-D DWT的步驟,對一張影像作二維離散小波轉換(2D Discrete Wavelet Transform)
複雜度(Complexity) [编辑]
在討論複雜度之前,先做一些定義,當x[n]*y[n]時,x[n]之長度為N,y[n]之長度為L: ![\ \Rightarrow
IDFT_{N+L-1}\left[ DFT_{N+L-1}(x[n]) DFT_{N+L-1}(y[n])\right]](http://upload.wikimedia.org/math/e/3/1/e31552c10a43c091ecb5f46576df0288.png)
其中,
為(N+L-1)點離散傅立葉反轉換(inverse discrete Fourier transform)
為(N+L-1)點離散傅立葉轉換(discrete Fourier transform)
(1)一維離散小波轉換之複雜度(沒有分段摺積(sectioned convolution)):

(2)當 N >>> L 時,使用 “分段摺積(sectioned convolution)”的技巧:
將x[n]切成很多段,每段長度為
,總共會有
段,其中
。
則
![\ x[n]*g[n]=x_1 [n]*g[n]+x_2 [n]*g[n]+...+x_s [n]*g[n]](http://upload.wikimedia.org/math/b/1/a/b1a1e2b8d5222eccbcfaeddd6fa008b3.png)
![\ x[n]*h[n]=x_1 [n]*h[n]+x_2 [n]*h[n]+...+x_s [n]*h[n]](http://upload.wikimedia.org/math/b/5/7/b572dc4c7b53685270d88fc8d3a2f20a.png)
複雜度為:

在這裡要注意的是,當N>>L時,一維離散小波轉換之複雜度是呈線性的(隨N),
。
(3)多層(Multiple stages )的情況下:
1.若
不再分解時:

2.若
也細分時:

(4)二維離散小波轉換之複雜度(沒有分段摺積(sectioned convolution)): 
上式中,第一部分需要M個一維離散小波轉換並且每個一維離散小波轉換的輸入有N個點;第二部分需要N+L-1個一維離散小波轉換並且每個一維離散小波轉換的輸入有M個點。

(5)二維離散小波轉換之複雜度,使用 “分段摺積(sectioned convolution)”的技巧:
假設原始尺寸為
,則每一小部分的尺寸為

所以若是使用分段摺積,則二維離散小波轉換之複雜度是呈線性的(隨MN),
。
(6)多層(Multiple stages )與二維的情況下:
首先x[m,n]的尺寸為
,
1.若
不細分,只細分
時,總複雜度為:

2.若
也細分時,總複雜度為:
![\begin{align}
total complexity & = \left( MN+4\frac{M}{2}\frac{N}{2}+16\frac{M}{4}\frac{N}{4}+... \right)\frac{3}{2} \log_{2} M_1 N_1 \\
& = \left[ MN\log_{2}(min(M,N)) \right] \frac{3}{2} \log_{2} M_1 N_1\\
\end{align}](http://upload.wikimedia.org/math/8/b/e/8be06e2a38e2353f6c4a7c16735f3f97.png)
其他應用 [编辑]
- 壓縮、去除雜訊:使用低通濾波器,將小波轉換的高頻濾掉,即保留
而將其他部分捨棄。 - 邊緣偵測:使用高通濾波器,將小波的低頻濾掉,即保留
或
而捨棄其他部分。 - R语言小波分析wavelet
同時參閱 [编辑]
參考 [编辑]
- Jian-Jiun Ding, Time frequency analysis and wavelet transform class note,the Department of Electrical Engineering, National Taiwan University (NTU), Taipei, Taiwan, 2009.http://djj.ee.ntu.edu.tw/TFW.htm
- Stéphane Mallat, A Wavelet Tour of Signal Processing
:low pass filter低通濾波器,可以將輸入信號的高頻部份濾掉而輸出低頻部份。
:high pass filter高通濾波器,與低通濾波器相反,濾掉低頻部份而輸出高頻部份。
Q:downsampling filter降采样濾波器,如果以x[n]作為输入,則輸出y[n]=x[Qn]。此處舉例Q=2。![x_{1,L}[n]=\sum_{k=0}^{K-1} x[2n-k]g[k]](http://upload.wikimedia.org/math/d/5/3/d532c87de7fefdb3334d39c6b8d73212.png)
![x_{1,H}[n]=\sum_{k=0}^{K-1} x[2n-k]h[k]](http://upload.wikimedia.org/math/f/2/2/f22e05c06ee68d50c9c28cc9a2c15a99.png)
![x_{2,L}[n]=\sum_{k=0}^{K-1} x_{1,L}[2n-k]g[k]](http://upload.wikimedia.org/math/f/7/b/f7bf7ee53e82b13087ca672463472a2c.png)
![x_{2,H}[n]=\sum_{k=0}^{K-1} x_{1,L}[2n-k]h[k]](http://upload.wikimedia.org/math/f/4/8/f4883e3abd4f1826602093b7d87a3139.png)


![x_{\alpha ,L}[n]=\sum_{k=0}^{K-1} x_{\alpha -1,L}[2n-k]g[k]](http://upload.wikimedia.org/math/2/c/6/2c6634a630cdac1c98d0bdf242a244d5.png)
![x_{\alpha ,H}[n]=\sum_{k=0}^{K-1} x_{\alpha -1,L}[2n-k]h[k]](http://upload.wikimedia.org/math/1/8/5/185c4e8dfda0ed943c9778a7ee780d66.png)
的長度是N,則第
及
的長度為
,而轉換過程變得更複雜,說明如下:
![v_{1,L}[m,n]=\sum_{k=0}^{K-1} x[m,2n-k]g[k]](http://upload.wikimedia.org/math/1/8/d/18dd39af50206e08cfbbf5875ede1647.png)
與
延著m方向作高低通及降頻動作![x_{1,LL}[m,n]=\sum_{k=0}^{K-1} v_{1,L}[2m-k,n]g[k]](http://upload.wikimedia.org/math/7/5/5/7552e448b4f4b65c6104602f42217410.png)
![x_{1,HL}[m,n]=\sum_{k=0}^{K-1} v_{1,L}[2m-k,n]h[k]](http://upload.wikimedia.org/math/0/1/d/01d060860ed6fc05df80a3dbafc65260.png)
![x_{1,LH}[m,n]=\sum_{k=0}^{K-1} v_{1,H}[2m-k,n]g[k]](http://upload.wikimedia.org/math/f/0/1/f01f9769686060a55d6723292c89a0a9.png)



而將其他部分捨棄。
或
而捨棄其他部分。