离散小波变换(Discrete Wavelet Transform)

离散小波变换(Discrete Wavelet Transform)

(来自维基百科)

离散小波变换(Discrete Wavelet Transform)在数值分析和时频分析中很有用。第一个离散小波变换由匈牙利数学家发明,离散小波变换顾名思义就是离散的输入以及离散的输出,但是这里并没有一个简单而明确的公式来表示输入及输出的关系,只能以阶层式架构来表示。

定义

  • 首先我们定义一些需要用到的信号及滤波器。
  • x[n]:离散的输入信号,长度为N。
  • g[n]:low pass filter低通滤波器,可以将输入信号的高频部份滤掉而输出低频部份。
  • h[n]:high pass filter高通滤波器,与低通滤波器相反,滤掉低频部份而输出高频部份。
  • \downarrow Q:downsampling filter降采样滤波器,如果以x[n]作为输入,则输出y[n]=x[Qn]。此处举例Q=2。
举例说明: DiscreteWaveletTrans1.jpg
清楚规定以上符号之后,便可以利用阶层架构来介绍如何将一个离散信号作离散小波变换:
离散小波变换(Discrete Wavelet Transform)_第1张图片
架构中的第1层(1st stage)
x_{1,L}[n]=\sum_{k=0}^{K-1} x[2n-k]g[k]
x_{1,H}[n]=\sum_{k=0}^{K-1} x[2n-k]h[k]
架构中的第2层(2nd stage)
x_{2,L}[n]=\sum_{k=0}^{K-1} x_{1,L}[2n-k]g[k]
x_{2,H}[n]=\sum_{k=0}^{K-1} x_{1,L}[2n-k]h[k]
可继续延伸

Wavelets - Filter Bank.png

\vdots
\vdots

架构中的第α层(α ? th stage)

x_{\alpha ,L}[n]=\sum_{k=0}^{K-1} x_{\alpha -1,L}[2n-k]g[k]
x_{\alpha ,H}[n]=\sum_{k=0}^{K-1} x_{\alpha -1,L}[2n-k]h[k]
注意:若输入信号x[n]的长度是N,则第α层中的xα,L[n]xα,H[n]的长度为\frac{N}{2^\alpha }  

 2-D Discrete Wavelet Transform

离散小波变换(Discrete Wavelet Transform)_第2张图片
此时的输入信号变成 x[m,n],而转换过程变得更复杂,说明如下:
首先对n方向作高通、低通以及降频的处理
v_{1,L}[m,n]=\sum_{k=0}^{K-1} x[m,2n-k]g[k]
v_{1,H}[m,n]=\sum_{k=0}^{K-1} x[m,2n-k]h[k]
接着对 v1,L[m,n]v1,H[m,n]延著m方向作高低通及降频动作
x_{1,LL}[m,n]=\sum_{k=0}^{K-1} v_{1,L}[2m-k,n]g[k]
x_{1,HL}[m,n]=\sum_{k=0}^{K-1} v_{1,L}[2m-k,n]h[k]
x_{1,LH}[m,n]=\sum_{k=0}^{K-1} v_{1,H}[2m-k,n]g[k]
x_{1,HH}[m,n]=\sum_{k=0}^{K-1} v_{1,H}[2m-k,n]h[k]
经过(1)(2)两个步骤才算完成2-D DWT的一个stage。


实际范例

以下根据上述2-D DWT的步骤,对一张影像作二维离散小波变换(2D Discrete Wavelet Transform)

原始影像 离散小波变换(Discrete Wavelet Transform)_第3张图片
2D DWT的结果 离散小波变换(Discrete Wavelet Transform)_第4张图片
离散小波变换(Discrete Wavelet Transform)_第5张图片 

你可能感兴趣的:(杂乱,算法)