小波变换课件 第4章 小波变换的实现技术.docx
《小波变换课件 第4章 小波变换的实现技术.docx》由会员分享,可在线阅读,更多相关《小波变换课件 第4章 小波变换的实现技术.docx(80页珍藏版)》请在三一办公上搜索。
1、小波变换课件 第4章 小波变换的实现技术第4章 小波变换的实现技术 4.1 Mallat算法 %=h%、g%=g%n、h=hn、g=gn为实系数双双正交小波变换的Mallat算法:设hn%,g正交小波滤波器。h%是小波分析滤波器,h,g是小波综合滤波器。h表示h的逆序,即hn=h-n。若输入信号为an,它的低频部分和高频部分以此为an-1和dn-1,小波分解与重构的卷积算法: n-1n%)a=D(a*h n-1n%)=D(a*gdn-1 an=(Uan-1)*h+Ud(*)g 先进行输入信号和分析滤波器的巻积,再隔点采样,以形成低频和高频信号。对于有限的数据量,经过多次小波变化后数据量大减,因
2、此需对输入数据进行处理。 4.1.1 边界延拓方法 下面给出几种经验方法。 1. 补零延拓 是假定边界以外的信号全部为零,这种延拓方式的缺点是,如果输入信号在边界点的值与零相差很大,则零延拓意味着在边界处加入了高频成分,造成很大误差。实际应用中很少采用。 .,0,s0,s1,s2,.,sn-1,0,0,. 14424432.简单周期延拓 将信号看作一个周期信号,即sk+n=sk。简单周期延拓后的信号变为 .,sn-1,s0,s1,s2,.,sn-1,s0,s1,s2,.,sn-1,s0,s1,s2,.,sn-1,s0,.42443144244314424431424314这种延拓方式的不足之处
3、在于,当信号两端边界值相差很大时,延拓后的信号将存在周期性的突变,也就是说简单周期延拓可在边界引入大量高频成分,从而产生较大误差。 3. 周期对称延拓 这种方法是将原信号在边界上作对称折叠,一般分二 1)当与之做卷积的滤波器为奇数时,周期延拓信号为 2)当与之做卷积的滤波器为偶数时,周期延拓信号为 sn-1,sn-1,sn-2,.,s1,s0,s0,s1,s2,.,sn-1,sn-1,sn-2,.,s1,s0,s0,.424431442443144244314.sn-2,sn-1,sn-2,.,s3,s2,s1,s0,s1,s2,.,sn-2,sn-1,144424443144424443sn
4、-2,.,s2,s1,s0,s1,.14424434. 光滑常数延拓 在原信号两端添加与端点数据相同的常数。 .,s0,s0,s0,s1,s2,.,sn-1,sn-1,sn-1,.142431442443142435. 平滑延拓 在原信号两端用线性外插法补充采样值,即沿着信号两端包络线的一阶导数方向增加采样值。 l 实际应用时,在变换前对输入信号进行边界进行延拓,使之变成无限长的信号,变换后,、 在尽可能不丢失信息的情况下,适当截取部分变换系数作为低频信号和高频信号,以保证小波分解后的数据总量保持不变。见下图。 为实现完全重构,先对有限长序列进行延拓,然后再插值和滤波,对滤波后的信号相加,再
5、适当截取,以恢复原信号。见下图。 4.1.3 用小波处理函数信号的基本步骤 1. 初始化 l 对于时间t的连续信号f(t),选择适当的j=J,使得2J大于信号的抽样频率(不同 的应用决定了不同的抽样率)。 l 设信号在最高初始分辨率级J下的光滑逼近为fjPjf(t)Vj,则有 fj(t)=ckJkfj,k(t) -1由式, 既N1/2anf(NLn)可得 ck2J-J/2f(k/2) J在实际应用中,由原信号确定的k的范围是有限的,譬如信号的持续时间为0t1,则k的范围为0k2J-1。 2. 小波分解 应用Mallat 算法,得到离散信号的小波变换c0,d0,d1,.,dJ-1,相应地,得到f
6、(t)的分 辨率表示: fJ(t)=f0(t)+d0(t)+d1(t)+.+dJ-1(t) 其中f0(t)V0,d0W0,d1W1,., dj(t)Wj。具体地 f0(t)=c0f0,0(t)=c0f(t),dj(t)=00kkdkyj,k(t),j=0,1,.,J-1 j实际应用中,可以根据需要控制分解的级数,不一定达到j=0级。 3. 小波系数处理 针对不同的应用目标,对小波系数c0,d0,d1,.dJ-1进行处理获得新的小波系数%0,d%1,.d%J-1。譬如,在进行信号的数据压缩时,将绝对值小于某一阈值的系数置为%0,dc零,保留剩余的系数,用于重构信号;而在去噪时,将绝对值小于某一阈
7、值的系数置为零,用于重构去噪信号。 4. 小波重构 %0,d%1,.d%J-1,%J。%0,d对处理后的小波系数c重构出分辨率j=J时的离散信号c一般%J是cJ的逼近信号。进而可以得到fJ(t)或f(t)的重构信号fJ(t)。 地,c对于离散信号的小波处理过程为 ,设bn是一个离散输入信号,采样间隔为N-1,其中N=2。可将bn与f(t)=LanfL,n(t)VL联系起来,使bn为f(t)的均匀采样,即f(t)f(Nn)。根据式可得NL1/2Lanbn。由此可获得f(t)在最高分辨率L下的初始系数序列an。然后,利用Mallat算法对该序列进行小波分解、对小波系数处理以及处理后的系数进行小波重
8、构等。 4.1.4 应用举例 例4.1对单位区间上一个连续信号,将信号离散化为28个采样值,相应的逼近信号记为 f8(t)。用Haar小波对信号进行3级小波分解,写出信号f8(t)的多分辨表示,并画出该信 号在不同分辨率下的逼近信号f7(t)、f6(t)和f5(t)的图形。 假设信号为f(t)=sin(4pt)+12cos(10pt),它在V8中的投影记为f8(t),则f8(t)的图 形见图42a。用Haar小波对信号进行3级小波分解,其多分辨表示为 f8(t)=f7(t)+d7(t) =f6(t)+d6(t)+d7(t) =f5(t)+d5(t)+d6(t)+d7(t) 其中f7(t)、f6
9、(t)、f5(t)波形如图42b、c、d所示。 图4-2 一个函数的多分辨逼近函数 例4.2 对于例4-2中的信号及逼近信号。若用正交尺度函数和正交小波函数进行小波分 析解,则可得到: f(t)=f0+d0+d1+d2+,.,+d7 0其中,f0(t)=c0f(t)V0,dj(t)=dkkjkyj,k(t)Wj,j=0,1,.,7 1)用Haar尺度函数和Haar小波函数分解信号,令绝对值最小的80%和90%的系数为0,对信号进行小波压缩。画出相应的重构信号波形,并求出相应的相对误差。 2)用Daubechice尺度函数和Daubechice小波 (如db2)分解信号,令绝对值最小的80%和9
10、0%的系数为0,对信号进行小波压缩。画出相应的重构信号波形,并求出相应的相对差。 3)比较1)和2)的压缩效果。 4)用FFT在相同条件下压缩信号,所得的相对误差如何。 求解过程如下: 1) 用Haar小波函数分解信号,令绝对值最小的80%和90%的系数为0,得到重构信号图形如图4-3a所示。所得的均方差为0.7991;相对误差为0.0050。 如果令绝对值最小的90%的系数为0,得到重构信号图形如图4-3b所示。 在这种情况下,得到均方误差为2.9559,相对误差为0.0185。 图4-3 用Haar小波压缩后的重构信号 2) 用Daubechice小波函数(如Db2)分解信号,令绝对值最小
11、的80%的系数为0,得到的重构信号波形如图4-4a所示,得到均方误差为0.0277,相对误差为0.00017。如果令绝对值最小的90%的系数为0,得到重构信号图形如图4-4b所示,这时得到均方误差为0.2159,相对误差为0.0014。 图4-4 用Daubechice小波压缩后的重构信号 3) 比较1)和2)的压缩效果可以看出,对于同一种小波,保留更多的变换后的系数可以得到更好的重构信号。对于相同比例的保留系数,用Daubechice小波分解信号,再重构,得到的效果好于Haar小波。这是因为Daubechice小波的连续性较好,更适合处理连续性较好的信号。 4) 用FFT对信号进行处理。令绝
12、对值最小的80%的系数为0,则重构信号的图形如图4-5a所示。得到均方误差为0.0025,相对误差为1.5910-5。 图4-5 用FFT压缩后的重构信号 注释:上两例是说明用小波处理信号的基本过程和在压缩中的应用,并不是想与FFT比较谁的效果好。实际上,这里采用的信号周期性很好,用傅立叶变换处理更有优势。一般地,小波更适合处理突变信号,而傅立叶变换更适合处理周期信号。 4.2 多孔算法 l Mallat算法存在的问题是 数据逐级减少问题。 原因是逐级二抽样,每经过一 级小波分解,数据减少一半,因 此,随着分辨率减少,低频分量 的数据越来越少。 l 多孔算法 两通道Mallat算法等价的z变换
13、如图47表示。 记H%(z)=h%(z-1),G%(z)=g%(z-1) l 二分树算法Mallat算法的小波分解迭代过程如图4-8所示。其中, x%j-1(z)=xj(z)H%(z),d%j-1(z)=xj(z)G%(z) l z变换的等效易位性质: x(z)h(z)y(z)x(z)2h(z2)y(z)2因为 左边 y(z)=1/22x(1z/2+)x-(z1)h (z)右边 y(z)=12x(1z/2)h(z+)-x(1/z2)h (z)图4-9 Mallat 算法的一种等效形式 %如果不考虑每个分支的最后的抽样环节,则dj-1%(z),dj-2%(z),dj-2%(z),dj-3(z),
14、.相当于xj(z)中各点的小波变换全部计算出来,这叫非抽样小波变换。如图4-9所示。 h(z2)表示在滤波器hn的任意两点间插入2j-1个零所得到的滤波器Z变换,所以,非%,g%个相邻点之间插入2j-1个零再与低频信号做卷积,抽样小波变换就是把滤波器h故称j%每两个%(z4)是将g%(z2)是将h%每两个点之间插入三个零得到的新滤波器,H多孔算法。G点之间插入一个零得到的新滤波器,这样就把每一级的抽取移到了最后,保证了总数据不会%,g%(z4)和H%(z)是使h%中补零 ,增加了逐级减少,有效地实现了Mallat算法。由于G2空隙,故称多孔算法。 设原始信号x=x0,x1,.,x2J-1%J=
15、x,根据下面的分解算法: 的长度为2J,记xJ%j-1%(z2-1)%j(z)Gd(z)=x j-1Jj2-1%(z%(z)=x%(z)H)x%k的伪码程序: %0,d计算各抽样点处的小波变换xj=JWhilej0%j-1=x%J-j%j-1*hd%xj-1%*h=xjJ-jj=j-1endofwhile从多孔算法的分解过程)可知, J-jJ-jJ-jj22d%j-1(z)g(z2%(z)G(z)=x)g(z) J-jJ-jJ-jj-12j22%(z%(z)h(z%(z)H)=x)h(z)x于是,由完全重构条件)可得 %j(z)=x12%xj-1(z)h(z2J-j%)+dj-1(z)g(z2
16、J-j) 4.3 小波变换的提升实现 优点 可以实现更快速的小波变换算法,一般比Mallat算法快2倍。 可以实现完全的同址运算。 能很好地克服小波变换的边界问题。 提升算法小波变换的描述简单,可以避免使用傅里叶变换。 在时域或空域直接实现小波构造,既工程师可以按着自己的要求来构造不同的小波,不再紧紧依赖数学家。 4.3.0小波变换的提升实现 l 回顾 Haar小波变换 按着Haar小波滤波器组,两个数a,b的平均与细节分别为 s=a+b2d=b-a 于是,a,b的小波变换为s,d。如果a,b高度相关,则d很小。由s,d恢复a,b的计算公式如下: a=s-d/2 b=s+d/2 n对于长度为2
17、的信号s=sn,l|0l2,将求平均与细节运算应用到每对数据nna=sn,2l,b=sn,2l+1(l=0,1,2,.,2n-1-1)上,记 ssn,2l+sn,2l+1n-1,l=2 dn-1,l=sn,2l+1-sn,2l这里是将信号序列sn的偶序号点和奇序号点相加取平均得平均值sn-1,l;将奇序号点减去偶序号点得到差值dn-1,l。sn-1,l和dn-1,l各有2n-1个样本,看作是信号sn的概貌和细节。当l遍历0到2n-1-1之间的所有整数时,sn-1,l组成sn-1序列,可以对sn-1进行类似的分解,得到s2-2n-2,l和dn-2,l,它们各有2n-个样本,sn-2,l组成了sn
18、序列。这样的分解可以进行n次,最后的概貌信号只有一个点s0=sn0,0,它是信号s的均值或直流分量。最后的概貌信号加上各级细节信号,正好是2n个。上述变换正是Haar小波变换。多级Haar小波变换的分解过程和重构过程如下图。 图1-21 多级小波变换过程示意图 l Haar小波变换的提升实现 小波变换的原位实现-不增加额外空间 d=b-a s =a+d/2 (s=a+d/2=a+b/2- a/2= (a+b)/2) l 提升算法中的信号分解 提升过程分为三步:分裂、预测和更新。 考虑信号s=sj,l|0l2提升算法分三步完成 jj一级变换后j-1j-1,ds 概貌信号细节信号Split(分裂)
19、 将信号简单地分为两部分,有多种方法,这里将信号序列按奇、偶分为两个子集: j-1oddj-1=sj,2l+1|0l2 j-1even=s|0l2j-1j,2l只将完整信号序列分成二部分,不做其他处理,故称懒小波变换。这里Split是分裂算子。 这种分解方法可表示为 (evenj-1,oddj-1):=Split(sj) 注释:将信号分解为成两个序列的方法有很多,将信号序列按奇、偶分为两个子集是一种方法;或将前一半和后一半分成两个子集也是一种方法;或将相邻两个数之和分给一个子集,而相邻两个数之差分给另一个子集又是一种方法。总之,不同的分裂方法,相当于采用不同的小波基。实际应用中,最常用的是懒小
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 小波变换课件 第4章 小波变换的实现技术 变换 课件 实现 技术
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-3102158.html