小波变换的实现技术

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

。其中,
k
cJ k
2J /2
f
k / 2J
• 小波分解
cJ
c0, d 0, d1,L , d J1
用小波处理函数/信号的基本步骤
• 小波系数处理
c0, d 0, d1,L , d J1
• 小波重构
c%0 , dwenku.baidu.com0, d%1,L , d%J 1
c%0 , d%0, d%1,L , d%J 1
算出
f
k / 27
1 2
bk7 ,
f
k / 26
1 2
2 bk6
1 2
bk6 ,
f
k / 25
2
1 2
bk5

f8 t f6 t
f7 t
f5 t
1.5
1
0.5
0
-0.5
-1
-1.5
0
0.2 0.4 0.6 0.8
1
f8 t
1.5
1
0.5
0
-0.5
-1
-1.5
0
0.2 0.4 0.6 0.8
c t 8 k 8,k
2 c 8/ 2 8 k
f
k / 28
k
bk8 28/ 2 ck8
f8 t f7 t d7 t
f7 t
c t 7 k 7,k
2 c 7/ 2 7 k
f
k / 27
bk7 28/ 2 ck7
k
f6 t d6 t d7 t
f6 t
c t 6 k 6,k
2 c 6/ 2 6 k
f
k / 26
bk6 28/ 2 ck6
f5 t d5 t d6 t d7 t
k
f5 t
c t 5 k 5,k
2 c 5/ 2 5 k
f
k / 25
bk7 28/ 2 ck5
k
若记 f k / 28 bk8 ,而 bk8 的三级多分辨逼近信号为 bk7 , bk6 , bk5 ,则容易
k
k
若 si z,di z 分别是序列 si
si l
,di
di l
i 1,L , m 的z变换,且
si di
(z) (z)
1 pi (
z)
0 1 1 0
ui (z) si1 (z)
1
d
i1
(
z)
si z si1 di z di1
z z
ui pi
z
x%j1 x%j h%J j
j j 1
End of While
重构算法
j 1
While j J
x%j 1
x% h d% g j1
Jj
j1
Jj
2
j j 1
End of While
注: h%j 为 h% 的相邻两项之间插入 2 j 1个零后得到的滤波器。
在Matlab小波工具箱中对应的函数: swt() , iswt()
问题: 在什么情况下,能够确保完全重构?
用小波处理函数/信号的基本步骤
已知 和 是正交尺度函数与小波, 则用小波处理函数
f (t) 的基本过程包括:
• 初始化
设信号 f (t) 在最高初始分辨率级 J 下的光滑逼近为 PJ f tVJ
记 PJ f t fJ t ,则有 fJ t
c t J k J ,k
k
he
(z2)
h(z)
h(z) 2
~
g(z) z1h(z1)
~
he (z) go (z1)
~
g e (z) ho (z1)
ho (z) h2k1zk
k
ho (z2 )
h(z) h(z) 2 z 1
~
g(z) z1 h(z1)
~
ho (z) ge (z1)
~
g o (z) he (z1)
小波变换的实现技术
• Mallat算法 • 多孔算法 • 小波变换的提升实现
Mallat算法
a j1 D(a j h%)
d
j 1
D(a
j
g%)
a j (Ua j1) h (Ud ) j1 g
卷积法实现小波变换在实际中具有广泛的应用。
实际应用中的边界处理问题:
1. 边界延拓方法
• 零延拓
z
he ho
z z
ge0 go0
z
z
=
m1 1 i1 0
ui z 1
1
pi
z
0 K
1
0
0
1/
K
第3步,计算um z
um z
K2
ge z go z
g
0 e
z
g
0 o
z
基于提升的正向小波变换流程图
~
P( z 1 )T
1/ K
0
0 1 1
K
im
pi
(
z)
0 1 1 0
小波变换的提升实现
• 概述
1) 能够用于构造第一代小波,用户可根据需要来设计小 波基。
2)能够改进第一代小波变换算法。 3) 可用于构造第二代小波。
小波分解与重构的多相位表示
• 滤波器的多相位表示
滤波器 h 的多相位表示为:
h(z) he (z2 ) z1ho (z2 )
he (z) h2k zk
c%J
f%J t
用小波处理离散信号的基本步骤
bn
n 0,1,L , N 1
其采样间距为
N
1

N
2L
f t anLL,n t VL 使得 bn f N 1n
n
N 1/ 2anL bn
anL
对 anL 做小波分解、对小波系数处理以及对处理后的系数进行小波重构等 说明: 1) 对 bn 做小波分解,如何?
• dwt()
[cA,cD] = dwt(X,Lo_D,Hi_D) [cA,cD] = dwt(X,Lo_D,Hi_D,'mode',MODE)
X 的长度为 lx , 滤波器的长度为 lf
特点:
1) 能够实现重构. 2) 难以用于数据
压缩应用
对于周期延拓方式,cA,cD的长度均为lx / 2
对于其他延拓方式,cA,cD的长度均为lx lf 1/ 2
xj z
h z1
2
x j1 z
2
g z1
2
d j1 z
2
hz
xj z
gz
xj z
G z d j1(z) 2 H z xj1(z) 2
d j1 z
G z d j2(z) 2 H z xj2(z) 2
d j2 z
H%(z) h%(z1) G%(z) g%(z1)
多孔算法
• 二通道Mallat算法z变换的滤波器形式
问题:1)用Haar尺度函数和小波分解信号;
2)用D4尺度函数和小波分解信号; 3)用FFT变换分解信号。
令绝对值最小的80%和90%系数为0 对信号进行小波压缩,画出相 应的重构信号的图形,并求出相应的相对误差。 对各种变换的效 果进行对比分析。
Mallat算法应用举例
Haar小波
均方差: 0.7991 2.9559 相对误差:0.0050 0.0185 取0比例: 80% 90%
两个Laurent多项式的欧几里德算法如下:
a0 z az b0 z bz 从 i 0 开始进行如下的递归运算:
ai1 z bi z bi1 z ai z%bi z qi1 z ai z / bi z
n 则an z gcdaz,bz ,且 an z 是一个Laurent多项式,其中
为使 bn z 0 的最小数。
Laurent多项式的Euclidean算法
an z
0
1 in
0 1
1 az qi zbz
az bz
n
i1
qi z
1
1an z
0
0
如果an(z)是一个单项式,则a(z)和b(z)是互素的。 注意与多项式带余除法和欧几里德算法的异同之处.
多相位矩阵的因子分解
若 det P(z) 1 ,则总存在Laurent多项式 ui (z) 和 pi ( z) (1 i m)
以及非零常数 K ,使得
m 1
P(z) i1 0
ui (z) 1
1
pi
(
z)
0 K
1
0
0
1/
K
其中 pm (z) 0 。
有限滤波器多相位矩阵的提升分解算法
第1步,使用欧几里德算法得到:
he z
ho z
m1 i 1
1 0
ui z 1
1
pi
z
0 K
1
0
第2步,计算
P0
L , 0, s0 , s1, s2 ,L , sn1, 0, 0,L
• 周期延拓
L , sn1, s0 , s1, s2 ,L , sn1, s0 , s1, s2 ,L , sn1, s0 , s1, s2 ,L , sn1, s0 ,L
• 周期对称延拓法 L , sn2 , sn1,L , s2 , s1, s0 , s1, s2 ,L , sn1, sn2 ,L , s1, s0 , s1,L
• idwt()
X = idwt(cA,cD,Lo_R,Hi_R) X = idwt(cA,cD,Lo_R, Hi_R ,'mode',MODE)
对于周期延拓方法,lx 2 la
对于其他延拓方式, lx 2 la lf 2
具有延拓功能的二带分析/综合系统
x(n)
延拓 x(n)
h v0 2 y0 N/2点截取 y0 n g v1 2 y1 N/2点截取 y1 n
di1 z si
z z
si l
s i 1 l
ui d i1
l
s i 1 l
dli
d i1 l
pi si
Gz2
d j2(z)
H z2 xj2(z)
Gz4
d j3(z)
H z4 xj3(z)
1) 为什么称为多孔算法(a’trous algorithm) ?
2) 与二通道Mallat算法之间的关系
3) 其它叫法: 非抽取小波变换(Undecimated Wavelet Transform ),
平稳小波变换(Stationary Wavelet Transform )
记 x%J x ,则分解算法为: d%j1 z x%j z G% z2Jj
x%j 1
z
x%j z
H% z 2J j
多孔算法的实现
分解算法
jJ
While j 0 d%j1 x%j g%J j
G z d j1(z) 2
d j1 z
xj z
H z xj1(z)
G z2 d j2(z) 4
d j2(z)
H z2 xj2(z)
G z4 dj3(z) 8
H z4 xj3(z)
d j3(z)
z变换的等效易位性质
多孔算法
Gz
d j1(z)
xj z
说明:
H z xj1(z)
ui (z)
1
2 e(z)

1 K
az
u1(z) p1(z)
um (z) pm (z)
z
2 o(z)

K
d z
az K

2
d z
1 K
pm (z) um (z)
p1(z) u1(z)

2
z 1
u1z 0 时小波变换的提升实现算法
x x0, x1,L , xN1 ui z uki zk pi z pki zk
1
f6 t
1.5
1
0.5
0
-0.5
-1
-1.5
0
0.2 0.4 0.6 0.8
1
f7 t
1.5
1
0.5
0
-0.5
-1
-1.5
0
0.2 0.4 0.6 0.8
1
f5 t
Mallat算法应用举例
• 对同一个离散信号应用不同的小波变换以及FFT变换进行 压缩的处理效果与分析。
已知上例中的离散信号 bk8 k 0,1,L , 255
2
az
2
P( z 1 )T
P(z)
z
2
d z
2
z 1
小波分解与重构的多相位表示
Laurent多项式的Euclidean算法
ke
hz = hk z k k kb
hz ke kb
hz 的次数
两个Laurent多项式的带余除法可表述为:
az bzqz rz qz az bz rz bz 或 r z 0
L , sn2 , sn1, sn1,L , s2 , s1, s0 , s0 , s1, s2 ,L , sn1, sn1, sn2 ,L , s1, s0, s0, s1,L
• 光滑常数延拓法 L , s0 , s0 , s0 , s1, s2,L , sn1, sn1, sn1, sn1,L
Mallat算法的Matlab实现
小波分解与重构的多相位表示
• 滤波器的多相位矩阵
滤波器 h 和 g 的多相位矩阵为:
P(
z
)
he ho
( (
z) z)
ge(z) go ( z)
滤波器 h 和 g的对偶多相位矩阵为:
~
P(
z)
~
h
e
(z)
~
ho ( z)
~
g
e
(
z)
~ go(z)
~
则小波滤波器的完全重构条件等价于: P(z) P(z1)T I
D4小波
均方差: 0.0277 0.2159 相对误差:0.00017 0.0014 取0比例: 80% 90%
FFT变换
均方差: 0.0012 0.0025
相对误差:7.34×10-6 1.59×10-5
取0比例: 80%
90%
多孔算法
• 应用Mallat算法分析信号时存在的不足
多孔算法
• 二通道Mallat算法 z变换的滤波器形式
2) 若 bn 的采样间距为1,如何?
Mallat算法应用举例
f t sin 4 t 1 cos10 t
2
将该信号离散化为 28
个采样值,相应的逼近信号记为 f8 t 。 用Haar小波进行分解,
画出 f7 t f6 t f5 t 的图形。
f8 t P8 f t V8
f8 t
相关文档
最新文档