简单数字滤波器由三部分组成,延迟单元、乘法器和加法器,其中延迟单元依次连接以建立输入序列 f ( n ) f(n) f(n)的 K − 1 K - 1 K−1延迟即右移的形式,输入序列 f ( n ) = f ( n − 0 ) f(n) = f(n - 0) f(n)=f(n−0)和延迟单元输出处的 K − 1 K - 1 K−1个延迟序列表示为 f ( n − 1 ) , f ( n − 2 ) , ⋯ , f ( n − K + 1 ) f(n - 1),f(n - 2),\cdots,f(n - K + 1) f(n−1),f(n−2),⋯,f(n−K+1),分别与常数 h ( 0 ) , h ( 1 ) , ⋯ , h ( K − 1 ) h(0),h(1),\cdots,h(K - 1) h(0),h(1),⋯,h(K−1)相乘,然后求和,可以产生求和之后的输出序列:
f ^ ( n ) = ∑ k = − ∞ ∞ h ( k ) f ( n − k ) = f ( n ) ★ h ( n ) \hat{f}(n) = \sum_{k = -\infty}^{\infty}h(k)f(n - k) = f(n) ★ h(n) f^(n)=k=−∞∑∞h(k)f(n−k)=f(n)★h(n)
以延迟序列 f ( n − 2 ) f(n - 2) f(n−2)为例:
f ( n − 2 ) = { ⋮ f ( 0 ) n = 2 f ( 1 ) n = 3 ⋮ f(n - 2) = \begin{cases} \vdots \\ f(0) & n = 2 \\ f(1) & n = 3 \\ \vdots \end{cases} f(n−2)=⎩ ⎨ ⎧⋮f(0)f(1)⋮n=2n=3
当 f ( n ) f(n) f(n)使用冲激响应函数 δ ( n ) \delta(n) δ(n)代替,则:
f ^ ( n ) = ∑ k = − ∞ ∞ h ( k ) δ ( n − k ) = h ( n ) \hat{f}(n) = \sum_{k = -\infty}^{\infty}h(k)\delta(n - k) = h(n) f^(n)=k=−∞∑∞h(k)δ(n−k)=h(n)
可以看到冲激响应的长度为K,这种滤波器称为有限冲激响应滤波器FIR,下图显示了6个功能上相关的滤波器的冲激响应:
h 1 ( n ) h 2 ( n ) = − h 1 ( n ) h 3 ( n ) = h 1 ( − n ) h 4 ( n ) = h 1 ( K − 1 − n ) h 5 ( n ) = ( − 1 ) n h 1 ( n ) h 6 ( n ) = ( − 1 ) n h 1 ( K − 1 − n ) \begin{aligned} h_1(n) \\ h_2(n) &= -h_1(n) \\ h_3(n) &= h_1(-n) \\ h_4(n) &= h_1(K - 1 - n) \\ h_5(n) &= (-1)^nh_1(n) \\ h_6(n) &= (-1)^nh_1(K - 1 - n) \end{aligned} h1(n)h2(n)h3(n)h4(n)h5(n)h6(n)=−h1(n)=h1(−n)=h1(K−1−n)=(−1)nh1(n)=(−1)nh1(K−1−n)
其中 h 5 ( n ) h_5(n) h5(n)是 h 1 ( n ) h_1(n) h1(n)的调制形式,以上是对数字信号滤波的简要介绍。下图是一个两波段子带编码和解码系统:
滤波器组 h 0 ( n ) , h 1 ( n ) h_0(n),h_1(n) h0(n),h1(n)用于将输入序列分为两个半长序列 f l p ( n ) , f h p ( n ) f_{lp}(n),f_{hp}(n) flp(n),fhp(n),表示输入的子带,滤波器 h 0 ( n ) , h 1 ( n ) h_0(n),h_1(n) h0(n),h1(n)的理想传递特性如上右图所示,滤波器 h 0 ( n ) h_0(n) h0(n)是一个低通滤波器,其输出子带 f l p ( n ) f_{lp}(n) flp(n)称为 f ( n ) f(n) f(n)的近似,滤波器 h 1 ( n ) h_1(n) h1(n)是一个高通滤波器,其输出子带 f h p ( n ) f_{hp}(n) fhp(n)称为 f ( n ) f(n) f(n)的高频部分或细节部分,综合滤波器组 g 0 ( n ) , g 1 ( n ) g_0(n),g_1(n) g0(n),g1(n)将两个子带 f l p ( n ) , f h p ( n ) f_{lp}(n),f_{hp}(n) flp(n),fhp(n)合并产生 f ^ ( n ) \hat{f}(n) f^(n),子带编码的目的就是选择 h 0 ( n ) , h 1 ( n ) , g 0 ( n ) , g 1 ( n ) h_0(n),h_1(n),g_0(n),g_1(n) h0(n),h1(n),g0(n),g1(n)以便 f ^ ( n ) = f ( n ) \hat{f}(n) = f(n) f^(n)=f(n),也就是子带编码和解码系统的输入和输出是相同的,滤波器满足:
g 0 ( n ) = ( − 1 ) n h 1 ( n ) , g 1 ( n ) = ( − 1 ) n + 1 h 0 ( n ) g_0(n) = (-1)^nh_1(n),g_1(n) = (-1)^{n + 1}h_0(n) g0(n)=(−1)nh1(n),g1(n)=(−1)n+1h0(n)
或:
g 0 ( n ) = ( − 1 ) n + 1 h 1 ( n ) , g 1 ( n ) = ( − 1 ) n h 0 ( n ) g_0(n) = (-1)^{n + 1}h_1(n),g_1(n) = (-1)^nh_0(n) g0(n)=(−1)n+1h1(n),g1(n)=(−1)nh0(n)
上式中的滤波器被看成交叉调制,可以看到满足双正交条件:
< h i ( 2 n − k ) , g j ( k ) > = δ ( i − j ) δ ( n ) , i , j = { 0 , 1 } \left
< h i ( 2 n − k ) , g j ( k ) > \left
g 1 ( n ) = ( − 1 ) n g 0 ( K e v e n − 1 − n ) h i ( n ) = g i ( K e v e n − 1 − n ) , i { 0 , 1 } g_1(n) = (-1)^ng_0(K_{even} - 1 - n) \\ h_i(n) = g_i(K_{even} - 1 - n),i \{0,1\} g1(n)=(−1)ng0(Keven−1−n)hi(n)=gi(Keven−1−n),i{0,1}
可以看到正交滤波器可以围绕单一滤波器的冲激响应来开发,称为原型,其余的滤波器可以通过冲激响应来计算,而双正交滤波器需要两个原型;
二维的子带编码可以由一维的导出,先垂直后水平:最后的输出从上到下分别为输入图像的近似、垂直细节、水平细节、对角线细节子带
哈尔变换用如下矩阵形式表示:
T = H F H T T = HFH^T T=HFHT
其中 F F F是 N × N N \times N N×N的图像矩阵, H H H是一个 N × N N \times N N×N的哈尔变换矩阵,是非对称的,包含哈尔基函数 h k ( z ) h_k(z) hk(z),其中 z ∈ [ 0 , 1 ] , k = 0 , 1 , 2 , ⋯ , N − 1 , N = 2 n z \in [0,1],k = 0,1,2,\cdots,N-1,N = 2^n z∈[0,1],k=0,1,2,⋯,N−1,N=2n,为了生成矩阵 H H H,定义整数 k = 2 p + q − 1 , 0 ≤ p ≤ n − 1 k = 2^p + q - 1,0 \leq p \leq n - 1 k=2p+q−1,0≤p≤n−1,当 p = 0 p = 0 p=0时 q = 0 q = 0 q=0或 1 1 1,当 p ≠ 0 p \neq 0 p=0时, 1 ≤ q ≤ 2 p 1 \leq q \leq 2^p 1≤q≤2p,哈尔基函数为:
h 0 ( z ) = h 00 ( z ) = 1 N , z ∈ [ 0 , 1 ] h k ( z ) = h p q ( z ) = 1 N { 2 p 2 ( q − 1 ) / 2 p ≤ z < ( q − 0.5 ) / 2 p − 2 p 2 ( q − 0.5 ) / 2 p ≤ z < q / 2 p 0 o t h e r w i s e , z ∈ [ 0 , 1 ] h_0(z) = h_{00}(z) = \frac{1}{\sqrt{N}},z \in [0,1] \\ h_k(z) = h_{pq}(z) = \frac{1}{\sqrt{N}}\begin{cases} 2^{\frac p2} & (q - 1)/2^p \leq z \lt (q - 0.5) / 2^p \\ -2^{\frac p2} & (q - 0.5)/2^p \leq z \lt q/2^p \\ 0 & otherwise,z\in[0,1]\end{cases} h0(z)=h00(z)=N1,z∈[0,1]hk(z)=hpq(z)=N1⎩ ⎨ ⎧22p−22p0(q−1)/2p≤z<(q−0.5)/2p(q−0.5)/2p≤z<q/2potherwise,z∈[0,1]
N × N N \times N N×N哈尔变换矩阵的第 i i i行包含了元素 h i ( z ) , z = 0 N , 1 N 2 N , ⋯ , N − 1 N h_i(z),z = \frac0N,\frac1N\frac2N,\cdots,\frac{N - 1}{N} hi(z),z=N0,N1N2,⋯,NN−1
H 2 H_2 H2的行可用于定义一个2抽头完美重建滤波器组 h 0 ( n ) , h 1 ( n ) h_0(n),h_1(n) h0(n),h1(n)
信号或函数 f ( x ) f(x) f(x)通常可以被很好的分解为一系列展开函数的线性组合:
f ( x ) = ∑ k α k φ k ( x ) f(x) = \sum_k\alpha_k\varphi_k(x) f(x)=k∑αkφk(x)
其中 k k k是有限和或无限和的整数下标, α k \alpha_k αk是具有实数值的展开系数, φ k ( x ) \varphi_k(x) φk(x)是具有实数值的展开函数,如果展开是唯一的,也就是对于任何给定的 c c c只有一组 α k \alpha_k αk与之对应,那么 φ k ( x ) \varphi_k(x) φk(x)就称为基函数,可展开的函数形成了一个函数空间,称为展开集合的闭合跨度,表示为:
V = S p a n k { φ k ( x ) } ‾ V = \overline{\mathop{Span}\limits_k\{\varphi_k(x)\}} V=kSpan{φk(x)}
f ( x ) ∈ V f(x) \in V f(x)∈V的意思是 f ( x ) f(x) f(x)属于闭合跨度,并可写成 f ( x ) = ∑ k α k φ k ( x ) f(x) = \sum_k\alpha_k\varphi_k(x) f(x)=∑kαkφk(x)的形式,对于任意的函数集合 V V V,都有一个对偶函数集合 { φ ~ k ( x ) } \{\tilde\varphi_k(x)\} {φ~k(x)},这个用来计算 f ( x ) = ∑ k α k φ k ( x ) f(x) = \sum_k\alpha_k\varphi_k(x) f(x)=∑kαkφk(x)的系数 α k \alpha_k αk,这些系数是通过计算对偶函数 φ ~ k ( x ) \tilde\varphi_k(x) φ~k(x)和函数 f ( x ) f(x) f(x)的内积得到的:
α k = < φ ~ k ( x ) , f ( x ) > = ∫ φ ~ k ∗ ( x ) f ( x ) d x \alpha_k = \left<\tilde\varphi_k(x),f(x)\right> = \int\tilde\varphi_k^*(x)f(x)dx αk=⟨φ~k(x),f(x)⟩=∫φ~k∗(x)f(x)dx
其中 ∗ * ∗表示复共轭操作,该计算假定是三种可能形式中的一种:
集合 { φ j , k ( x ) } \{\varphi_{j,k}(x)\} {φj,k(x)}表示整数平移、实数二值函数、平方可积函数 φ ( x ) \varphi(x) φ(x)组成的展开函数集合:
φ j , k ( x ) = 2 j 2 φ ( 2 j x − k ) \varphi_{j,k}(x) = 2^{\frac j2}\varphi(2^j x - k) φj,k(x)=22jφ(2jx−k)
其中 j , z ∈ Z , φ ( x ) ∈ L 2 ( R ) , j j,z \in Z,\varphi(x) \in L^2(R),j j,z∈Z,φ(x)∈L2(R),j决定 φ j , k ( x ) \varphi_{j,k}(x) φj,k(x)的宽度, j j j越大,宽度越窄,分辨率越高, k k k决定 φ j , k ( x ) \varphi_{j,k}(x) φj,k(x)沿 x x x轴的位置,前面的系数控制函数的幅度, φ j , k ( x ) \varphi_{j,k}(x) φj,k(x)的形状随 j j j发生改变,所以 φ ( x ) \varphi(x) φ(x)称为尺度函数,假设将 j j j限定为 j 0 j_0 j0,得到原函数空间的一个子集,即子空间:
V j 0 = S p a n k { φ j 0 , k ( x ) } ‾ V_{j_0} = \overline{\mathop{Span}\limits_k\left\{\varphi_{j_0,k}(x)\right\}} Vj0=kSpan{φj0,k(x)}
假设 f ( x ) ∈ V j 0 f(x) \in V_{j_0} f(x)∈Vj0:
f ( x ) = ∑ k α k φ j 0 , k ( x ) f(x) = \sum_k\alpha_k\varphi_{j_0,k}(x) f(x)=k∑αkφj0,k(x)
更一般的,对于任何 j j j,我们将 k k k上跨越的子空间表示为:
V j = S p a n k { φ j , k ( x ) } ‾ V_j = \overline{\mathop{Span}\limits_k\left\{\varphi_{j,k}(x)\right\}} Vj=kSpan{φj,k(x)}
如果 f ( x ) f(x) f(x)是 V 0 V_0 V0的元素,那么它也是 V 1 V_1 V1的元素,因为 j j j越大,函数越窄,分辨率越高,所有的 V 0 V_0 V0展开函数都包含在 V 1 V_1 V1中, V 0 V_0 V0是 V 1 V_1 V1的一个子空间, V 0 V_0 V0的展开函数可以用 V 1 V_1 V1的展开函数表示,例如假设尺度函数为单位高度,单位宽度的尺度函数Haar:
φ ( x ) = { 1 0 ≤ x < 1 0 o t h e r w i s e \varphi(x) = \begin{cases} 1 & 0 \leq x \lt 1 \\ 0 & otherwise \end{cases} φ(x)={100≤x<1otherwise
那么可以计算:
φ 0 , 0 ( x ) = φ ( x ) φ 0 , 1 ( x ) = φ ( x − 1 ) φ 1 , 0 ( x ) = 2 φ ( 2 x ) φ 1 , 1 ( x ) = 2 φ ( 2 x − 1 ) \begin{aligned} \varphi_{0,0}(x) &= \varphi(x) \\ \varphi_{0,1}(x) &= \varphi(x - 1) \\ \varphi_{1,0}(x) &= \sqrt{2}\varphi(2x) \\ \varphi_{1,1}(x) &= \sqrt{2}\varphi(2x - 1) \end{aligned} φ0,0(x)φ0,1(x)φ1,0(x)φ1,1(x)=φ(x)=φ(x−1)=2φ(2x)=2φ(2x−1)
那么 V 0 V_0 V0就是 φ 0 , 0 ( x ) , φ 0 , 1 ( x ) , ⋯ \varphi_{0,0}(x),\varphi_{0,1}(x),\cdots φ0,0(x),φ0,1(x),⋯组成的函数空间, V 1 V_1 V1同理,简单尺度函数遵循多分辨率分析的4个基本要求如下:
给定满足MRA要求的尺度函数,定义小波函数 ψ ( x ) \psi(x) ψ(x),首先定义小波集合 { ψ j , k ( x ) } \{\psi_{j,k}(x)\} {ψj,k(x)}
ψ j , k ( x ) = 2 j 2 ψ ( 2 j x − k ) \psi_{j,k}(x) = 2^{\frac j2}\psi(2^jx - k) ψj,k(x)=22jψ(2jx−k)
使用尺度函数:
W j = S p a n k { ψ j , k ( x ) } ‾ W_j = \overline{\mathop{Span}\limits_k\{\psi_{j,k}(x)\}} Wj=kSpan{ψj,k(x)}
如果 f ( x ) ∈ W j f(x) \in W_j f(x)∈Wj,有:
f ( x ) = ∑ k α k ψ j , k ( x ) f(x) = \sum_k\alpha_k\psi_{j,k}(x) f(x)=k∑αkψj,k(x)
定义:
V j + 1 = V j ⊕ W j V_{j + 1} = V_j \oplus W_j Vj+1=Vj⊕Wj
其中 ⊕ \oplus ⊕表示空间的并集, V j + 1 V_{j + 1} Vj+1中 V j V_j Vj的正交补集为 W j W_j Wj,且 V j V_j Vj中的所有成员对于 W j W_j Wj中的所有成员都正交:
< φ j , k ( x ) , ψ j , l ( x ) > = 0 \left<\varphi_{j,k}(x),\psi_{j,l}(x)\right> = 0 ⟨φj,k(x),ψj,l(x)⟩=0
对所有 j , k , l ∈ Z j,k,l \in Z j,k,l∈Z都成立
可以将所有可度量的,平方可积的函数空间表示为:
L 2 ( R ) = V 0 ⊕ W 0 ⊕ W 1 ⊕ ⋯ L 2 ( R ) = ⋯ ⊕ W − 2 ⊕ W − 1 ⊕ W 0 ⊕ W 1 ⊕ W 2 ⊕ ⋯ L^2(R) = V_0 \oplus W_0 \oplus W_1 \oplus \cdots \\ L^2(R) = \cdots \oplus W_{-2} \oplus W_{-1} \oplus W_0 \oplus W_1 \oplus W_2 \oplus \cdots L2(R)=V0⊕W0⊕W1⊕⋯L2(R)=⋯⊕W−2⊕W−1⊕W0⊕W1⊕W2⊕⋯
可以推广到:
L 2 ( R ) = V j 0 ⊕ W j 0 ⊕ W j 0 + 1 ⊕ ⋯ L^2(R) = V_{j_0} \oplus W_{j_0} \oplus W_{j_0 + 1} \oplus \cdots L2(R)=Vj0⊕Wj0⊕Wj0+1⊕⋯
由于小波空间存在于由相邻较高分辨率尺度函数跨越的空间中,所以任何小波函数可以表示为平移后的双倍分辨率尺度函数的加权和:注意后面是 φ \varphi φ而不是 ψ \psi ψ!
ψ ( x ) = ∑ n h ψ ( n ) 2 φ ( 2 x − n ) \psi(x) = \sum_nh_\psi(n)\sqrt{2}\varphi(2x - n) ψ(x)=n∑hψ(n)2φ(2x−n)
其中 h ψ ( n ) h_\psi(n) hψ(n)称为小波函数系数, h ψ h_\psi hψ为小波变量,其中 h ψ ( n ) , h φ ( n ) h_\psi(n),h_\varphi(n) hψ(n),hφ(n)的关系:
h ψ ( n ) = ( − 1 ) n h φ ( 1 − n ) h_\psi(n) = (-1)^nh_\varphi(1 - n) hψ(n)=(−1)nhφ(1−n)