个人博客!无广告观看,因为这节内容太多了,有点放不下,分了三节
文章目录
- 快速小波变换(The Fast Wavelet Transform)
- 与两频段子带编译码系统的关系
- 例:计算一维小波变换
- 一维快速小波反变换
- 例:计算一维小波反变换
- FFT与FWT的区别
- 小波包(Wavelet Packets)
- 分析树
- 例:三尺度分析树
快速小波变换(The Fast Wavelet Transform)
实现DWT的快速实现。
再次考虑MRA方程:
φ ( x ) = ∑ n h φ ( n ) 2 φ ( 2 x − n ) \varphi(x)=\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi(2x - n) φ(x)=n∑hφ(n)2φ(2x−n)
将 x x x乘以 2 j 2^{j} 2j,平移 k k k,并令 m = 2 k + n m = 2k + n m=2k+n,得到 :
φ ( 2 j x − k ) = ∑ n h φ ( n ) 2 φ ( 2 ( 2 j x − k ) − n ) = ∑ n h φ ( n ) 2 φ ( 2 j + 1 x − 2 k − n ) = ∑ m h φ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) \begin{align}\varphi(2^{j}x - k)&=\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi(2(2^{j}x - k)-n)\\ &=\sum_{n}h_{\varphi}(n)\sqrt{2}\varphi(2^{j+1}x-2k-n)\\ &=\sum_{m}h_{\varphi}(m - 2k)\sqrt{2}\varphi(2^{j + 1}x - m) \end{align} φ(2jx−k)=n∑hφ(n)2φ(2(2jx−k)−n)=n∑hφ(n)2φ(2j+1x−2k−n)=m∑hφ(m−2k)2φ(2j+1x−m)
对于小波函数,有类似结果:
ψ ( 2 j x − k ) = ∑ m h ψ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) \psi(2^{j}x - k)=\sum_{m}h_{\psi}(m - 2k)\sqrt{2}\varphi(2^{j + 1}x - m) ψ(2jx−k)=m∑hψ(m−2k)2φ(2j+1x−m)
对于离散小波函数,有:
W ψ ( j , k ) = 1 M ∑ x f ( x ) 2 j / 2 ψ ( 2 j x − k ) W_{\psi}(j,k)=\frac{1}{\sqrt{M}}\sum_{x}f(x)2^{j/2}\psi(2^{j}x - k) Wψ(j,k)=M1x∑f(x)2j/2ψ(2jx−k)
进一步,有:
W ψ ( j , k ) = 1 M ∑ x f ( x ) 2 j / 2 [ ∑ m h ψ ( m − 2 k ) 2 φ ( 2 j + 1 x − m ) ] W_{\psi}(j,k)=\frac{1}{\sqrt{M}}\sum_{x}f(x)2^{j/2}\left[\sum_{m}h_{\psi}(m - 2k)\sqrt{2}\varphi(2^{j + 1}x - m)\right] Wψ(j,k)=M1x∑f(x)2j/2[m∑hψ(m−2k)2φ(2j+1x−m)]
交换求和与积分并重新排列项,得到 :
W ψ ( j , k ) = ∑ m h ψ ( m − 2 k ) [ 1 M ∑ x f ( x ) 2 ( j + 1 ) / 2 φ ( 2 j + 1 x − m ) ] W ψ ( j , k ) = ∑ m h ψ ( m − 2 k ) W φ ( j + 1 , m ) 同理 , W φ ( j , k ) = ∑ m h φ ( m − 2 k ) W φ ( j + 1 , m ) W_{\psi}(j,k)=\sum_{m}h_{\psi}(m - 2k)\left[\frac{1}{\sqrt{M}}\sum_{x}f(x)2^{(j + 1)/2}\varphi(2^{j + 1}x - m)\right]\\ W_{\psi}(j,k)=\sum_{m}h_{\psi}(m - 2k)W_{\varphi}(j + 1,m)\\ 同理,\ W_{\varphi}(j,k)=\sum_{m}h_{\varphi}(m - 2k)W_{\varphi}(j + 1,m) Wψ(j,k)=m∑hψ(m−2k)[M1x∑f(x)2(j+1)/2φ(2j+1x−m)]Wψ(j,k)=m∑hψ(m−2k)Wφ(j+1,m)同理, Wφ(j,k)=m∑hφ(m−2k)Wφ(j+1,m)
上述方程表示了快速小波变换(FWT), 揭示了相邻尺度的离散小波变换(DWT)系数之间的显著关系。
可以看到,尺度 j j j的近似系数 W φ ( j , k ) W_{\varphi}(j,k) Wφ(j,k)和细节系数 W ψ ( j , k ) W_{\psi}(j,k) Wψ(j,k)都可以通过将尺度 j + 1 j+1 j+1的近似系数 W φ ( j + 1 , k ) W_{\varphi}(j + 1,k) Wφ(j+1,k)与时间反转的缩放向量 h φ ( − n ) h_{\varphi}(-n) hφ(−n)和小波向量 h ψ ( − n ) h_{\psi}(-n) hψ(−n)进行卷积,并对结果进行下采样得到。
与两频段子带编译码系统的关系
Q: 两频段子带编译码系统?
A: 是一种将信号分解为低频和高频子带的系统
- 低通通道(Low-Pass Channel):对应于尺度滤波器 h φ ( n ) h_{\varphi}(n) hφ(n),用于提取信号的低频成分。
- 高通通道(High-Pass Channel):对应于小波滤波器 h ψ ( n ) h_{\psi}(n) hψ(n),用于提取信号的高频成分。
∑ k g 0 ( k ) h 0 ( n − k ) + ( − 1 ) n ∑ k g 0 ( k ) h 0 ( n − k ) = 2 δ ( n ) , δ ( n ) = { 1 , n = 0 0 , n ≠ 0 ∑ k g 0 ( k ) h 0 ( 2 n − k ) = ⟨ g 0 ( k ) , h 0 ( 2 n − k ) ⟩ = δ ( n ) ⟨ h i ( 2 n − k ) , g j ( k ) ⟩ = δ ( i − j ) δ ( n ) i , j ∈ { 0 , 1 } \sum_{k}g_{0}(k)h_{0}(n - k)+(-1)^{n}\sum_{k}g_{0}(k)h_{0}(n - k)=2\delta(n),\delta{(n)}=\begin{cases}1 ,&n=0\\0, &n\neq 0\end{cases}\\ \sum_{k}g_{0}(k)h_{0}(2n - k)=\langle g_{0}(k),h_{0}(2n - k)\rangle=\delta(n)\\ \langle h_{i}(2n - k),g_{j}(k)\rangle=\delta(i - j)\delta(n)\quad i,j\in\{0,1\} k∑g0(k)h0(n−k)+(−1)nk∑g0(k)h0(n−k)=2δ(n),δ(n)={1,0,n=0n=0k∑g0(k)h0(2n−k)=⟨g0(k),h0(2n−k)⟩=δ(n)⟨hi(2n−k),gj(k)⟩=δ(i−j)δ(n)i,j∈{0,1}
上述快速小波变换过程与两频段子带编译码系统的分析部分相同,其中:
h 0 ( n ) = h φ ( − n ) h 1 ( n ) = h ψ ( − n ) h_{0}(n)=h_{\varphi}(-n)\\ h_{1}(n)=h_{\psi}(-n) h0(n)=hφ(−n)h1(n)=hψ(−n)
可以写出 :
W ψ ( j , k ) = h ψ ( − n ) ∗ W φ ( j + 1 , n ) ∣ n = 2 k , k ≥ 0 W φ ( j , k ) = h φ ( − n ) ∗ W φ ( j + 1 , n ) ∣ n = 2 k , k ≥ 0 W_{\psi}(j,k)=h_{\psi}(-n)\ast W_{\varphi}(j + 1,n)\big|_{n = 2k,k\geq0}\\ W_{\varphi}(j,k)=h_{\varphi}(-n)\ast W_{\varphi}(j + 1,n)\big|_{n = 2k,k\geq0} Wψ(j,k)=hψ(−n)∗Wφ(j+1,n) n=2k,k≥0Wφ(j,k)=hφ(−n)∗Wφ(j+1,n) n=2k,k≥0
其中卷积在 n = 2 k ( k ≥ 0 ) n = 2k(k\geq0) n=2k(k≥0)时刻进行求值。在非负、偶数时刻,计算卷积与以2为步长进行过滤和抽样的效果相同。
值得注意的是,滤波器组可以“迭代”以创建多级结构,用于计算两个或多个连续尺度的 DWT 系数,如图所示。
例:计算一维小波变换
与上面的例子同: f ( n ) = { 1 , 4 , − 3 , 0 } f(n)=\{1,4,-3,0\} f(n)={1,4,−3,0}, 但现在使用相应的尺度和小波向量:
$$
h_{\varphi}(n)=\begin{cases}\frac{1}{\sqrt{2}},&n=0,1\0,& otherwise\end{cases}\\
h_{\psi}(n)=\begin{cases}\frac{1}{\sqrt{2}},&n=0\-\frac{1}{\sqrt{2}},&n=1\0,& otherwise\end{cases}
$$
这是用于建立FWT滤波器族的函数,它们给出了滤波器系数。
一维快速小波反变换
上采样序列定义为:
y 2 ↑ ( n ) = { y ( n / 2 ) , n 是偶数 0 , 其他 y_{2\uparrow}(n)=\begin{cases}y(n/2),&n是偶数\\0,&其他\end{cases} y2↑(n)={y(n/2),0,n是偶数其他
其中 y ( n ) y(n) y(n)是一维取样序列,上采样因子为2。因子2上取样可以被视为在 y ( n ) y(n) y(n)的每个样本后插入一个0.
例:计算一维小波反变换
快速小波反变换的计算与正变换的计算呈镜像关系。在开始计算之前,先对0级近似系数和细节系数进行上取样,分别得到{4,0},{1,0},然后继续向右移动,卷积,最终可以得到 f ( x ) = T φ ( 2 , n ) f(x)=T_{\varphi}(2,n) f(x)=Tφ(2,n).
FFT与FWT的区别
- 计算长度为 M = 2 j M = 2^j M=2j序列的FWT所涉及的数学运算量为 O ( M ) O(M) O(M)阶。
- 这与FFT算法相比具有优势,FFT算法需要 O ( M log M ) O(M\log M) O(MlogM)。
- 虽然傅里叶基函数(即正弦函数)保证了FFT的存在,但FWT的存在取决于所使用小波的缩放函数的可用性,以及缩放函数和相应小波的正交性(或双正交性)。
- FFT无法同时在时间和频率上分析函数,但FWT可以。
小波包(Wavelet Packets)
快速小波变换(FWT)将函数分解为尺度和小波函数之和,其中尺度和小波函数的带框呈对数关系。也就是说,函数的低频内容被分组到窄频带(尺度和小波函数)中,而高频内容被分组到较宽的频带(尺度和小波函数)中。
如果我们想要对时频平面的划分进行更精细的控制,FWT必须被推广以产生一种更灵活的分解——称为小波包。
分析树
根节点被赋予最高尺度的近似系数,这些系数是函数本身的样本,而叶子节点继承变换的近似和细节系数输出。注意:每个节点的系数都是线性展开的权重。
例:三尺度分析树
例如,上图中的三尺度分析树提供了以下三种展开选项:
V j = V j − 1 ⊕ W j − 1 V j = V j − 2 ⊕ W j − 2 ⊕ W j − 1 V j = V j − 3 ⊕ W j − 3 ⊕ W j − 2 ⊕ W j − 1 \begin{align} V_j& = V_{j - 1} \oplus W_{j - 1}\\ V_j &= V_{j - 2} \oplus W_{j - 2} \oplus W_{j - 1}\\ V_j &= V_{j - 3} \oplus W_{j - 3} \oplus W_{j - 2} \oplus W_{j - 1} \end{align} VjVjVj=Vj−1⊕Wj−1=Vj−2⊕Wj−2⊕Wj−1=Vj−3⊕Wj−3⊕Wj−2⊕Wj−1
其中 ⊕ \oplus ⊕表示空间的直和(类似于集合的并集)。
分析树也是表示小波包的一种有效机制,小波包不过是对细节进行迭代滤波的常规小波变换。因此,上图(b)中的三尺度FWT分析树变成了下图中的三尺度小波包树。
A A A表示近似滤波、 D D D表示细节滤波。图中的小波包树支持26种不同的分解。例如, V j V_j Vj可以展开为:
V J = V J − 3 ⊕ W J − 3 ⊕ W J − 2 , A ⊕ W J − 2 , D ⊕ W J − 1 , A A ⊕ W J − 1 , A D ⊕ W J − 1 , D A ⊕ W J − 1 , D D V J = V J − 1 ⊕ W J − 1 , D ⊕ W J − 1 , A A ⊕ W J − 1 , A D V_J = V_{J - 3} \oplus W_{J - 3} \oplus W_{J - 2,A} \oplus W_{J - 2,D} \oplus W_{J - 1,AA} \oplus W_{J - 1,AD} \oplus W_{J - 1,DA} \oplus W_{J - 1,DD}\\ V_J = V_{J - 1} \oplus W_{J - 1,D} \oplus W_{J - 1,AA} \oplus W_{J - 1,AD} VJ=VJ−3⊕WJ−3⊕WJ−2,A⊕WJ−2,D⊕WJ−1,AA⊕WJ−1,AD⊕WJ−1,DA⊕WJ−1,DDVJ=VJ−1⊕WJ−1,D⊕WJ−1,AA⊕WJ−1,AD
一般来说, P P P尺度的一维小波包变换(以及相关的 P + 1 P + 1 P+1级分析树)支持:
D ( P + 1 ) = [ D ( P ) ] 2 + 1 D(P + 1)=[D(P)]^2 + 1 D(P+1)=[D(P)]2+1
种独特的分解,其中 D ( 1 ) = 1 D(1)=1 D(1)=1。
lign}
V_j& = V_{j - 1} \oplus W_{j - 1}\
V_j &= V_{j - 2} \oplus W_{j - 2} \oplus W_{j - 1}\
V_j &= V_{j - 3} \oplus W_{j - 3} \oplus W_{j - 2} \oplus W_{j - 1}
\end{align}
$$
其中 ⊕ \oplus ⊕表示空间的直和(类似于集合的并集)。
分析树也是表示小波包的一种有效机制,小波包不过是对细节进行迭代滤波的常规小波变换。因此,上图(b)中的三尺度FWT分析树变成了下图中的三尺度小波包树。
[外链图片转存中…(img-D1xm8JZn-1735127696455)]
A A A表示近似滤波、 D D D表示细节滤波。图中的小波包树支持26种不同的分解。例如, V j V_j Vj可以展开为:
V J = V J − 3 ⊕ W J − 3 ⊕ W J − 2 , A ⊕ W J − 2 , D ⊕ W J − 1 , A A ⊕ W J − 1 , A D ⊕ W J − 1 , D A ⊕ W J − 1 , D D V J = V J − 1 ⊕ W J − 1 , D ⊕ W J − 1 , A A ⊕ W J − 1 , A D V_J = V_{J - 3} \oplus W_{J - 3} \oplus W_{J - 2,A} \oplus W_{J - 2,D} \oplus W_{J - 1,AA} \oplus W_{J - 1,AD} \oplus W_{J - 1,DA} \oplus W_{J - 1,DD}\\ V_J = V_{J - 1} \oplus W_{J - 1,D} \oplus W_{J - 1,AA} \oplus W_{J - 1,AD} VJ=VJ−3⊕WJ−3⊕WJ−2,A⊕WJ−2,D⊕WJ−1,AA⊕WJ−1,AD⊕WJ−1,DA⊕WJ−1,DDVJ=VJ−1⊕WJ−1,D⊕WJ−1,AA⊕WJ−1,AD
[外链图片转存中…(img-zdaG9cvw-1735127696455)]
[外链图片转存中…(img-oieYA8Vt-1735127696456)]
一般来说, P P P尺度的一维小波包变换(以及相关的 P + 1 P + 1 P+1级分析树)支持:
D ( P + 1 ) = [ D ( P ) ] 2 + 1 D(P + 1)=[D(P)]^2 + 1 D(P+1)=[D(P)]2+1
种独特的分解,其中 D ( 1 ) = 1 D(1)=1 D(1)=1。