离散沃尔什变换及其快速算法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
kn ;(2)以变换系数 Wx (k ) 代替了 X(k);(3)因子 1/N 替了频域:(1)以权函数 Wal (k , n) 代替了 WN
的位置不同,前者在逆变换中,后者在正变换中。
Wx (k ) 实质上是离散沃尔什级数前 N 项的系数。以 [WalW ( p )] 表示 N = 2 p 阶矩阵,其中 p
b(<k>) 000 111 011 100 001 110 010 101
b(<k>)十 0 7 3 4 1 6 2 5
iB 0 4 2 2 1 3 1 3
Bx (0) Bx (1) B x ( 2) Bx (3) B x ( 4) Bx (5) Bx (6) Bx (7 )
第三节
阿达玛排列的快速沃尔什变换
(11.11a)
(11.11b)
以(10.28)式代入(11.9)式可以得到(DWT)W 的指数形式
∑ n p−m ⋅ g ( k ) m−1 1 N -1 ∑ n p−m ⋅( k m ⊕ k m−1 ) 1 N -1 Wx (k ) = ⋅ ∑ x(n)(−1) m=1 = ⋅ ∑ x(n)(−1) m=1 N n =0 N n =0 x(n) = ∑Wx (k )(−1) m=1
x(θ ) = ∑ d kWalW (k , θ )
k =0

(11.1)
k = 0,1,2, "
d k = ∫ x(θ )WalW (k , θ )dθ
0
1
(11.2)
使用沃尔什排列的 WalW (k , θ ) ,有下列关系
WalW (k , θ ) = Sal (i, θ ) WalW (k , θ ) = Cal (i, θ ) ⎫ ⎬ k = 2i − 1⎭ k = 2i
k =0 N −1
p p
k = 0,1,", N − 1
(11.12a)
∑ n p −m ⋅ g ( k ) m−1
p
= ∑Wx (k )(−1) m=1
k =0
N −1
∑ n p−m ⋅( k m ⊕ k m−1 )
p
n = 0,1,", N − 1
(11.12b)
式中, N = 2 p ,p 为正整数
-4-
离散正交变换导论
令 b( )为( )内的格雷码至二进码的转换,则 b(< k H >) = b( g (kW )) = kW ,则 WalH (k ,θ ) = WalW (b(< k >),θ ) 根据 WalW (b(< k >),θ ) 与序号 b(< k >) 的关系可得
⎧ ⎪0 k =0 ⎪ iB = WalH (k ,θ )的列率 = ⎨b(< k >)/2 b(< k >)为偶数 ⎪ b(< k >) + 1 ⎪ b(< k >)为奇数 2 ⎩ 以 p = 3, N = 23 = 8 为例,依照(11.17)式计算出的 Bx (k ) 的列率 i 如表 11.1 所示。
0 1
k = 0,1, " , N − 1
(11.7)
由(11.4)式
x(θ ) = ∑ Wx (k )WalW (k , θ )
k =0
N −1
(11.8)
上两式中的最高列率为 N/2。根据列率域的取样定理,把 θ 的定义区间 [0,1) N 等分,每一 等份的时隙为 Δθ = 1 N ,且令 x (n ) = x (n ⋅ Δθ ) = x (θ j )
θ j =n ⋅Δθ
WalW (k ,n ) = WalW (k ,n ⋅ Δθ ) = WalW (k ,θ j ) 式中, n = j = 0,1, " , N − 1 则(11.7)变成
θ j =n ⋅Δθ
Wx (k ) = ∑ x(n)WalW (k , n)Δθ
n =0
N -1
代入 Δθ = 1 N ,得
离散正交变换导论
第十一章
离散沃尔什变换及其快速算法
第一节 沃尔什级数表示
全体沃尔什函数 {Wal (k , θ )}, k = 0,1,2, " 以及它的子集 {Wal (k , θ )}, k = 0,1,2, " ,2 p − 1 都形 成群,并且是可交换群。这说明它们满足封闭性的条件。它们还满足完备性条件。 一个绝对可积信号 x(t),即 ∫ x(t ) dt < ∞ 可以展开成完备的正交函数系的级数:
⎧a0 = d 0 k = 0 ⎪ ⎨ai = d k k = 2i ⎪b = d k = 2i − 1 k ⎩ i
有限项级数展开式:
-1-
离散正交变换导论
x(θ ) = ∑ d kWalW (k , θ )
i =0
N −1
(11.4)
x(θ ) = d 0Cal (0, θ ) +
N 2−1 i =1
0 ∞
x(t ) = ∑ a(n)ϕ (n, t )
n=0

a(n) = ∫ x(t )ϕ (n, t )dt
ta
tb
即广义傅里叶级数,其中 {ϕ (n, t )} 为任意正交函数系。 因为沃尔什函数也是完备的正交函数系, 那么满足条件的连续函数 x(t)也能展开成沃尔什 级数。为了方便,我们把 x(t)定义在归一化的半开区间 [0,1) 上,以 x(θ ) 表示,则
⎡ Bx (0) ⎤ ⎡ x(0) ⎤ ⎢ B (1) ⎥ ⎥ ⎢ x ⎥ = 1 [H ] ⋅ ⎢ x(1) ⎥ ⎢ ⎥ N N ⎢ # ⎢ ⎥ # ⎥ ⎢ ⎥ ⎢ ⎣ x( N − 1)⎦ ⎣ Bx ( N − 1)⎦ ⎡ Bx (0) ⎤ ⎡ x(0) ⎤ ⎥ ⎢ ⎢ x(1) ⎥ ⎥ = [H N ] ⋅ ⎢ Bx (1) ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ # # ⎥ ⎢ ⎥ ⎢ ⎣ x( N − 1)⎦ ⎣ Bx ( N − 1)⎦ 以(10.30)式代入(11.13)式可以得到(DWT)H 的指数形式定义式 ∑ nm−1⋅km−1 1 N-1 Bx (k ) = ⋅ ∑ x(n)(−1) m=1 N n =0 x(n) = ∑ Bx (k )(−1) m=1
第二节 离散沃尔什变换的定义
一、按沃尔什排列的离散沃尔什变换(DWT)W
(DWT)W 可直接由前 N 项沃尔什函数表示式(11.4)导出, 其系数由(11.2)式的前 N 个决定。
在这里,把 d k 换写成Wx (k ) ,则由(11.2)式
Wx (k ) = ∫ x(θ )WalW (k , θ )dθ
沃尔什排列的快速沃尔什变换是从阿达玛排列的快速沃尔什变换修改而来的,所以首 先介绍阿达玛排列的快速沃尔什变换。 阿达玛排列的快速沃尔什变换以符号(FWT)H 表示。 我们从(11.14a)式导出 (FWT)H 的两种算法流图。
一、第一种算法
取 N=8 为例,则根据(11.14a)式 1 [ Bx (k )] = [H 8 ][ x(n)] 8
x(n) = ∑ Bx (k )WalH (k , n)
k =0
N −1
n = 0,1, ", N − 1
(11.13b)
同样,以阿达玛矩阵 [WalH ( p)] = [H N ] = [H ( p)] , N = 2 p ,p 为正整数,代替(11.11)式中 的 [WalW ( p)] ,可以得到(DWT)H 的矩阵形式定义式
-3-
离散正交变换导论
Fra Baidu bibliotek
按阿达玛排列的沃尔什变换 WalH (k , n) 与按沃尔什排列的沃尔什变换 WalW (k , n) 只是排 列次序不同,本质上是一样的,所以只要以 WalH (k , n) 代替(DWT)W 定义式中的 WalW (k , n) 就 可以得到(DWT)H 的定义式。 Bx ( k ) = 1 N-1 ⋅ ∑ x(n)WalH (k , n) N n =0 k = 0,1," , N − 1 (11.13a)
为正整数,则(11.9)式可以写成矩阵形式
⎡ Wx (0) ⎤ ⎡ x(0) ⎤ ⎢ W (1) ⎥ ⎥ ⎢ x ⎥ = 1 [Wal ( p)] ⋅ ⎢ x(1) ⎥ ⎢ W ⎥ N ⎢ ⎥ ⎢ # # ⎥ ⎢ ⎥ ⎢ ⎣ x( N − 1)⎦ ⎣Wx ( N − 1)⎦ ⎡ Wx (0) ⎤ ⎡ x(0) ⎤ ⎥ ⎢ ⎢ x(1) ⎥ ⎥ = [WalW ( p)] ⋅ ⎢ Wx (1) ⎥ ⎢ ⎥ ⎢ ⎥ ⎢ # # ⎥ ⎢ ⎥ ⎢ ⎣ x( N − 1)⎦ ⎣Wx ( N − 1)⎦
表 11.1 (DWT)H 的变换系数 Bx ( k ) 的列率 i (DWT)H 系数
(11.16)
(11.17)
k 0 1 2 3 4 5 6 7
k2 k1 k0 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
<k> 000 100 010 110 001 101 011 111
k =0 N −1
p
(11.14a)
(11.14b)
k = 0,1,", N − 1
(11.15a)
∑ nm−1⋅km−1
p
n = 0,1,", N − 1
(11.15b)
式中, N = 2 p ,p 为正整数, nm−1、km−1是序号k、n的p位二进制表示式的第 m − 1位 Bx (k ) 实质上是离散沃尔什级数前 N 项的系数,常称为变换系数。 Bx (k ) 所对应的沃尔什分量的列率简称 Bx (k ) 的列率, 以符号 iB 表示。 下面从 WalH (k , θ ) 与 WalW (k ,θ ) 的关系来说明 iB。由(10.9)式 若 < k H >= g (kW ) ,则 WalH (k H ,θ ) = WalW (kW ,θ ) 其中,< k H > 是序号 k H 的 p 位二进制表示式的码位倒置后的表示式, g (kW ) 是序号 kW 的 p 位 格雷码,其中 N = 2 p ,p 为正整数。
k,n = 0,1,2, " ,7
(11.18)
分解 8 阶阿达玛矩阵 [H 8 ]
-5-
离散正交变换导论
H 4 ⎤ ⎡H4 04 ⎤ ⎡I 4 I 4 ⎤ ⎡H [H8 ] = [H 2 ] ⊗ [H 4 ] = ⎢ 4 ⎥=⎢ ⎥⎢ ⎥ ⎣H 4 − H4 ⎦ ⎣ 04 H4 ⎦ ⎣I 4 − I 4 ⎦ I2 ⎤ ⎤ ⎡I ⎡H2 02 ⎤ ⎡H2 H2 04 04 ⎥ ⎢ 2 04 ⎥ ⎢ ⎥ I ⎢H − H 2 2 ⎥ ⎡I 4 I 4 ⎤ ⎥ ⎢I 2 − I 2 ⎥ ⎡ 4 I 4 ⎤ = ⎢ 02 H 2 =⎢ ⎥ ⎢ ⎥ ⎢ H 2 H 2 ⎥ ⎣I 4 − I 4 ⎦ ⎢ H 2 02 ⎥ ⎢ I 2 I 2 ⎥⎢ ⎣I 4 − I 4 ⎦ 0 0 0 ⎥ ⎥⎢ ⎢ ⎥ ⎢ 4 4 4 H2 − H2 ⎦ 02 H 2 ⎦ ⎣ I2 − I2 ⎦ ⎣ ⎣ = [G 0 ][G1 ][G 2 ] (11.19)
其中 i 为 WalW (k , θ ) 的归一化列率
k =0 ⎧0 ⎪ i = ⎨k 2 k为偶数 ⎪(k + 1) 2 k为奇数 ⎩
所以(11.1)式变成
x(θ ) = a0Cal (0, θ ) + ∑ [ai Cal (i, θ ) + bi Sal (i, θ )]
i =1

(11.3)
式中
∑ [a Cal (i,θ ) + b Sal (i,θ )] + b
i i
N 2
Sal ( N 2 , θ )
(11.5)
若 x(θ ) 在 [0,1) 内连续,则(11.1)和(11.3)式一致收敛于 x(θ ) 的值,即
lim d k = 0
k →∞
(11.6)
因此,对给定的任意小的 ε > 0 ,都能找到一个 N,使 k>N 时, d k < ε 。也就是 N 以后的各 项可以忽略,即(11.4)和(11.5)式是足够准确的。
n p −m是序号n的p位二进制表示式的第(m − 1)位 ,见(10.26)式;
g ( k ) m−1 是序号k的p位格雷码的第 m − 1位
k m、k m−1是序号k的p位二进制表示式的第 m、m − 1位。当m = p时,k p = 0
二、按阿达玛排列的离散沃尔什变换(DWT)H
由于按阿达玛排列的沃尔什函数 WalH (k , n) 实际上是阿达玛矩阵从上而下按行编号(k)所 得,而阿达玛矩阵有简单的递推关系,即从低阶阿达玛矩阵很容易得到高阶阿达玛,因此按 阿达玛排列的沃尔什变换应用得更广泛一些。
-2-
离散正交变换导论
Wx ( k ) =
1 N-1 ⋅ ∑ x(n)WalW (k , n) N n =0
k = 0,1, " , N − 1
(11.9a)
x(n) = ∑ Wx (k )WalW (k , n)
k =0
N −1
n = 0,1, " , N − 1
(11.9b)
(11.9a)和(11.9b)两式构成一对沃尔什正、反变换。 说明:离散沃尔什变换 DWT 与离散傅里叶变换 DFT 非常相似,其区别在于用列率域代
相关文档
最新文档