第二代小波提升步骤
小波包、多小波及第二代小波

M
因此,很容易得到小波子空间的各种分解如下: jW
3121++⊕=jjjUUW
72625242++++⊕⊕⊕=jjjjjUUUUW
M
121221.
+
+
++
+⊕⊕⊕=lllljljljjUUUWL 4.14
M
文本框:
jW空间分解的子空间序列可以写作,;mljlU+
+
212,,1,0.ቤተ መጻሕፍቲ ባይዱlmLjl,,2,1L=;。子空间
序列的标准正交基为:
L,2,1=jmljlU+
+
2
{}Znntwljmljl∈.+.
+
+.:)2(2)(
22/)( 4.15
当和时,子空间序列简化为,相应的正交基简化为0=l0=mmljlU+
+
2jjWU=1{})2(2)2(22/
在感兴趣的频率点上尽可能地提高频域分辨率,在感兴趣的时间点上尽可能地提高时间分辨率,这样当用
滤波器组对信号进行分解时,短时Fourier变换的等带宽或小波变换的恒-Q带宽都不一定合适,应该按信
号特性选择相应组合的滤波器组,这就是小波包(Wave1et Packet)。
小波包的概念是由M.V.WickerhaMser,R.R.Coifman等人在小波变换的基础上,根据实际应用的需求
()()0,122=.+ktWtwll
4.1.2 小波包分解
现在令、L,2,1=lL,2,1=j,并对式(4.11)进行迭代分解,有
一种自适应小波提升格式及应用效果分析

一种自适应小波提升格式及应用效果分析郑诣曾辉(成都N q-大学信息管理学院,IⅡl J J I成都610059)B裔要】在经典小波分析中。
小波基的选择是一个难题,一旦选用不当,就会使应用效果大打折扣。
造戍应用上的低效率。
为了允腰E述缺陷,w i reSw e l derl$提出了小波提升格式本文探讨了一种自适应提升格式。
并通过M A T LA B舞验验征了自适砬提升洛式的有麴技。
瞎键词]第二代小波;自适应提升格式;应用效果小波分析是近年来在理论数学和应用数学中迅速发展的新领域,它是继傅里叶分析之后在数学上的一项重大突破。
1996年Sw el dens 提出了小波提升格式,该方法可以灵活高效地U已有的双正交小波构造新的双正交小波,并且能够继承传统小波的多分辨分析等特征,小波提升格式是90年代在小波领域的一项突出成就.随后,T℃ha n,H el l—m a R s,G.P i el l a,R oger L等人先后提出了自适应提升格式,所谓自适应提升格式就是根据输入信号的特征和具体问题的需要设计适当的更新和预测算子,使得我们得到的小波滤波器能够达到预期的要求,从而也就实现了小波滤波器的改进。
1提升格式原理1.1正变换t4埔:翟蟥二塞一州!k殳良塑!.廿I b'蘧受摊图1第二代,J谢理彗变开意图对输入信号删,对其进行提升格式变换的步骤如下(图1)1.1.1分裂将信号序列按奇样本xdnl,偶样本x/n]进行分裂x dn}=-x[2n+l l,,(。
Inl=x12nl。
1.12预测保矧禺样本不变,由偶样本预测奇样本,并对奇样本进行修正。
d[nl=×击¨P(×州)其中p(g)为预测算子,显然信号在局部是高度相关的,因而奇、偶样本是高度相关的,用偶样本对奇样本进行预测分析是合理的,因而得到的d『1l具有小的能量,作为高频系数是合理的。
1.13更新原始吲禺样本xdnl并不能构成信号的低频部分,因为它仅是信号的—个偶采样,因而需要对其进行更新,使之成为信号的低频部分,我们用修正后的高频系数di n]来进行更新,dnl=-xdnl+U(d[n1)其中U(g)是更新算子。
DM642上5-3提升小波的优化

DM642上5/3提升小波的优化在新的图像压缩标准JPEG2000 中,采用9/7、5/3 提升小波变换作为编码算法,其中5/3 小波变换是一种可逆的整数变换,可以实现无损或有损的图像压缩。
在通用的DSP 芯片上实现该算法具有很好的可扩展性、可升级性与易维护性。
用这种方式灵活性强,完全能满足各种处理需求。
1 提升算法提升算法[1]是由Sweldens 等在Mallat 算法的基础上提出的,也称为第二代小波变换。
与Mallat 算法相比,提升算法不依赖傅立叶变换,降低了计算量和复杂度,运行效率相应提高。
由于具有整数变换及耗费存储单元少的特点,提升算法很适合于在定点DSP 上实现。
小波提升算法的基本思想是通过基本小波逐步构建出一个具有更加良好性质的新小波。
其实现步骤为分解(split)、预测(predict)和更新(update)。
首先按照对原信号进行对称延拓得到新的x(n)。
分解是将数据分为偶数序列x(2n)和奇数序列x(2n+1)二个部分;预测是用分解的偶数序列预测奇数序列,得到的预测误差为变换的高频分量:H(n)=x(2n+1)-{[x(2n)+x(2n+2)]1} 更新是由预测误差更新偶数序列,得到变换的低频分量:L(n)=x(2n)+{[H(n) +H(n-1)+2]2}计算过程如图1 所示。
在这种方法中,SDRAM 中的一个数据块首先传输到L2 中,然后取到L1D 中进行水平方向的提升,再对该块进行垂直方向的提升。
这样,由于垂直提升所需的数据都在L1D 中,避免了此处数据缓存缺失的产生,使总的缺失数大大降低。
2.3 数据传输(1)SDRAM 与L2 间的数据传输由于EDMA[6][7]数据传输与CPU 运行相互独立,因此在L2 中开辟两块缓存:EDMA 在CPU 处理InBuffA 的同时将下一块数据传输到InBuffB,解决了CPU 读取低速设备SDRAM 引起的时延,如图3 所示。
边界延拓主要是用于计算高频系数。
提升小波及其算法-基本程序-有说明

% 使用Haar小波,得到相应的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案els={'p',[-0.125 0.125],0}lsnew=addlift(lshaar,els);% 对于简单图像,尺度为2进行LWTx=reshape(1:16,4,4);xDec=lwt2(x,lsnew,2)% 提取第一层的低频系数ca1=lwtcoef2('ca',xDec,lsnew,2,1)% 重构低频和高频a1=lwtcoef2('a',xDec,lsnew,2,1)a2=lwtcoef2('a',xDec,lsnew,2,2)h1=lwtcoef2('h',xDec,lsnew,2,1)v1=lwtcoef2('v',xDec,lsnew,2,1)d1=lwtcoef2('d',xDec,lsnew,2,1)h2=lwtcoef2('h',xDec,lsnew,2,2)v2=lwtcoef2('v',xDec,lsnew,2,2)d2=lwtcoef2('d',xDec,lsnew,2,2)% 检查重构效果err=max(max(abs(x-a2-h2-v2-d2-h1-v1-d1)))M1=laurmat(eye(2,2))Z=laurpoly(1,1);M2=laurmat({1 Z;0 1})% 计算劳伦多项式P=M1*M2d=det(P)% 得到Haar滤波器[LoD,HiD,LoR,HiR]=wfilters('haar')% 提升Haar滤波器twoels(1)=struct('type','p','value',laurpoly([0.125 -0.125],0)); twoels(2)=struct('type','p','value',laurpoly([0.125 -0.125],1)); [LoDN,HiDN,LoRN,HiRN]=liftfilt(LoD,HiD,LoR,HiR,twoels);% 得到双正交小波bior1.3[LoDB,HiDB,LoRB,HiRB]=wfilters('bior1.3');somewavelet=isequal([LoDB,HiDB,LoRB,HiRB],[LoDN,-HiDN,LoRN,HiRN])% 使用Haar小波,得到相应的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案els={'p',[-0.125 0.125],0}lsnew=addlift(lshaar,els);% 对于简单信号,进行2层LWTx=1:8;xDec=lwt(x,lsnew,2)% 提取尺度为1时的低频系数ca1=lwtcoef('ca',xDec,lsnew,2,1)% 重构低频和高频a1=lwtcoef('a',xDec,lsnew,2,1)a2=lwtcoef('a',xDec,lsnew,2,2)d1=lwtcoef('d',xDec,lsnew,2,1)d2=lwtcoef('d',xDec,lsnew,2,2)% 检查重构效果err=max(abs(x-a2-d2-d1))% 定义劳伦多项式P=laurpoly([1:3],2);P=laurpoly([1:3],'dmax',2)P=laurpoly([1:3],'dmin',2)% 计算劳伦多项式Z=laurpoly(1,1)Q=Z*P% 得到Haar小波的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 进行单层提升小波分解load noisdopp;x=noisdopp;[cA,cD]=lwt(x,lsnew);figure(1);subplot(311);plot(x);title('原始信号');subplot(312);plot(cA);title('提升小波分解的低频信号');subplot(313);plot(cD);title('提升小波分解的高频信号');% 直接使用Haar小波进行2层提升小波分解[cA,cD]=lwt(x,'haar',2);figure(2);subplot(311);plot(x);title('原始信号');subplot(312);plot(cA);title('2层提升小波分解的低频信号'); subplot(313);plot(cD);title('2层提升小波分解的高频信号');% 得到Haar小波的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 2层提升小波分解load noisdopp;x=noisdopp;xDec=lwt(x,lsnew,2);% 提取第1层的近似系数ca1=lwtcoef('ca',xDec,lsnew,2,1);% 提取第2层的近似系数ca2=lwtcoef('ca',xDec,lsnew,2,2);% 提取第1层的细节系数cd1=lwtcoef('cd',xDec,lsnew,2,1);% 提取第2层的细节系数cd2=lwtcoef('cd',xDec,lsnew,2,2);plot(x);title('原始信号');subplot(323);plot(ca1);title('第一层近似信号');subplot(324);plot(ca2);title('第二层近似信号');subplot(325);plot(cd1);title('第一层细节信号');subplot(326);plot(cd2);title('第二层细节信号');% 获得db2小波的提升方案lsdb2=liftwave('db2');% 显示提升方案displs(lsdb2);% 获得sym2小波的提升方案lssym2=liftwave('sym2');% 显示提升方案displs(lssym2);% 获得整数变换提升方案lsdb2=liftwave('db2','Int2Int');x=[1:10];lwtx=lwt(x,lsdb2)% 获得Haar小波的提升方案lshaar=liftwave('haar');% 将提升步骤ELS加入到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 进行单层提升小波分解load noisdopp;subplot(211);plot(x);ylabel('x');% 实施提升小波变换[cA,cD]=lwt(x,lsnew);xRec=ilwt(cA,cD,lsnew);err=max(max(abs(x-xRec))) subplot(212);plot(xRec);ylabel('xRec');els={'p',[-0.125 0.125],0}; lsnew=addlift(lshaar,els);% 2层提升小波分解load noisdopp;x=noisdopp;xDec=lwt(x,lsnew,2);% 重构近似信号和细节信号a1=lwtcoef('a',xDec,lsnew,2,1); a2=lwtcoef('a',xDec,lsnew,2,2); d1=lwtcoef('d',xDec,lsnew,2,1); d2=lwtcoef('d',xDec,lsnew,2,2); % 检查重构误差err=max(abs(x-a2-d2-d1)) subplot(311);plot(x);title('原始信号');subplot(323);plot(a1);title('重构第一层近似信号'); subplot(324);plot(a2);title('重构第二层近似信号'); subplot(325);plot(d1);title('重构第一层细节信号'); subplot(326);plot(d2);title('重构第二层细节信号');% 得到Haar小波的提升方案lshaar=liftwave('haar');% 将提升步骤ELS添加到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 2层提升小波分解load noisdopp;x=noisdopp;subplot(211);plot(x);ylabel('x');% 对信号实施整数提升小波变换lshaarInt=liftwave('haar','int2int'); lsnewInt=addlift(lshaarInt,els);[cAint,cDint]=lwt(x,lsnewInt);% 实施提升小波变换xRecInt=ilwt(cAint,cDint,lsnewInt);errInt=max(max(abs(x-xRecInt)))subplot(212);plot(xRecInt);ylabel('xRecInt');% 使用Haar小波,得到相应的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案els={'p',[-0.125 0.125],0}lsnew=addlift(lshaar,els);% 对于简单信号,尺度为1进行LWTx=1:8;[cA,cD]=lwt(x,lsnew)% 对上面的信号,进行整数LWT lshaarInt=liftwave('haar','int2int'); lsnewInt=addlift(lshaarInt,els);[cAint,cDint]=lwt(x,lsnewInt)% 使用Haar小波,得到相应的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 对于简单信号,尺度为1进行LWTx=1:8;[cA,cD]=lwt(x,lsnew);% 对上面的信号,进行整数LWTlshaarInt=liftwave('haar','int2int');lsnewInt=addlift(lshaarInt,els);[cAint,cDint]=lwt(x,lsnewInt);% 进行逆变换xRec=ilwt(cA,cD,lsnew);err=max(max(abs(x-xRec)))xRecInt=ilwt(cAint,cDint,lsnewInt);errInt=max(max(abs(x-xRecInt)))clc;load woman;nbc=size(map,1);% 得到Haar小波的提升方案lshaar=liftwave('haar');% 将提升步骤ELS添加到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);load woman;% 进行一层提升小波分解[cA,cH,cV,cD]=lwt2(X,lsnew);length=size(cA,1);c=zeros(1,length*length*4);for i=1:length;c((i-1)*length+1:i*length)=cA(:,i);end;for i=length+1:2*length;c((i-1)*length+1:i*length)=cH(:,i-length); end;for i=2*length+1:3*length;c((i-1)*length+1:i*length)=cV(:,i-2*length); end;for i=3*length+1:4*length;c((i-1)*length+1:i*length)=cD(:,i-3*length); end;s=zeros(3,2);s(:,1)=[length,length,2*length];s(:,2)=[length,length,2*length];% 使用wdcbm2获得压缩阈值alpha=1.5;m=3.5*prod(s(1,:));[thr,nkeep]=wdcbm2(c,s,alpha,m);% 对图像进行压缩xd=wdencmp('lvd',c,s,'haar',1,thr,'h'); colormap(pink(nbc));figure(1);subplot(121);image(wcodemat(X,nbc));title('原始图像');subplot(122);image(wcodemat(xd,nbc));title('压缩后的图像');load woman;nbc=size(map,1);% 得到Haar小波的提升方案lshaar=liftwave('haar');% 将提升步骤ELS添加到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);load woman;% 进行一层提升小波分解[cA,cH,cV,cD]=lwt2(X,lsnew);length=size(cA,1);c=zeros(1,length*length*4);for i=1:length;c((i-1)*length+1:i*length)=cA(:,i);end;for i=length+1:2*length;c((i-1)*length+1:i*length)=cH(:,i-length); end;for i=2*length+1:3*length;c((i-1)*length+1:i*length)=cV(:,i-2*length); end;for i=3*length+1:4*length;c((i-1)*length+1:i*length)=cD(:,i-3*length); end;s=zeros(3,2);s(:,1)=[length,length,2*length];s(:,2)=[length,length,2*length];% 使用ddencmp获得压缩阈值[thr,nkeep]=ddencmp('cmp','wv',X);% 对图像进行压缩xd=wdencmp('gbl',c,s,'haar',1,thr,'s',1); colormap(pink(nbc));figure(1);subplot(121);image(wcodemat(X,nbc));title('原始图像');subplot(122);image(wcodemat(xd,nbc));title('压缩后的图像');load woman;% 产生含噪图像init=2055615886;randn('seed',init);x=X+18*randn(size(X));nbc=size(map,1);% 得到Haar小波的提升方案lshaar=liftwave('haar');% 将提升步骤ELS添加到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);load woman;% 进行一层提升小波分解[cA,cH,cV,cD]=lwt2(X,lsnew);length=size(cA,1);c=zeros(1,length*length*4);for i=1:length;c((i-1)*length+1:i*length)=cA(:,i);end;for i=length+1:2*length;c((i-1)*length+1:i*length)=cH(:,i-length); end;for i=2*length+1:3*length;c((i-1)*length+1:i*length)=cV(:,i-2*length); end;for i=3*length+1:4*length;c((i-1)*length+1:i*length)=cD(:,i-3*length); end;s=zeros(3,2);s(:,1)=[length,length,2*length];s(:,2)=[length,length,2*length];% 使用wdcbm2获得去噪阈值alpha=3;m=3.5*prod(s(1,:));[thr,nkeep]=wdcbm2(c,s,alpha,m);% 对图像进行去噪sorh='s';xd=wdencmp('lvd',c,s,'haar',1,thr,sorh); colormap(pink(nbc));figure(1);subplot(221);image(wcodemat(X,nbc));title('原始图像');subplot(222);image(wcodemat(x,nbc));title('含噪图像');subplot(223);image(wcodemat(xd,nbc));title('去噪后的图像');% 得到Haar小波的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);load woman;% 进行一层提升小波分解[cA,cH,cV,cD]=lwt2(X,lsnew);figure(1);nbc=size(map,1);colormap(pink(nbc));subplot(321);image(wcodemat(X,nbc));title('原始图像');subplot(322);image(wcodemat(cA,nbc));title('提升小波分解的低频图像'); subplot(323);image(wcodemat(cH,nbc));title('水平方向高频图像');subplot(324);image(wcodemat(cV,nbc));title('垂直方向高频图像');subplot(325);image(wcodemat(cD,nbc));title('对角方向高频图像');% 使用Haar小波,得到相应的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案els={'p',[-0.125 0.125],0}lsnew=addlift(lshaar,els);% 对于简单图像,尺度为1进行LWTx=reshape(1:16,4,4);[cA,cH,cV,cD]=lwt2(x,lsnew);% 对上面的图像,进行整数LWT lshaarInt=liftwave('haar','int2int'); lsnewInt=addlift(lshaarInt,els);[cAint,cHint,cVint,cDint]=lwt2(x,lsnewInt)clear;clc;% 得到Haar小波的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 2层提升小波分解load woman;xDec=lwt2(X,lsnew,2);% 提取近似图像和细节图像ca2=lwtcoef2('ca',xDec,lsnew,2,2); ch1=lwtcoef2('ch',xDec,lsnew,2,1); cv1=lwtcoef2('cv',xDec,lsnew,2,1); cd1=lwtcoef2('cd',xDec,lsnew,2,1); ch2=lwtcoef2('ch',xDec,lsnew,2,2); cv2=lwtcoef2('cv',xDec,lsnew,2,2); cd2=lwtcoef2('cd',xDec,lsnew,2,2); nbc=size(map,1);colormap(pink(nbc));subplot(121);image(wcodemat(X,nbc));title('原始图像');subplot(122);image(wcodemat(ca2,nbc));title('第二层近似图像'); figure;subplot(231);image(wcodemat(ch1,nbc));title('第一层水平方向图像'); subplot(232);image(wcodemat(cv1,nbc));title('第一层垂直方向图像'); subplot(233);image(wcodemat(cd1,nbc));title('第一层对角方向图像'); subplot(234);image(wcodemat(ch2,nbc));title('第二层水平方向图像'); subplot(235);image(wcodemat(cv2,nbc));title('第二层垂直方向图像'); subplot(236);image(wcodemat(cd2,nbc));title('第二层对角方向图像');% 获得Haar小波的提升方案lshaar=liftwave('haar');% 将提升步骤ELS加入到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 实施二维提升小波分解load woman;nbc=size(map,1);colormap(pink(nbc));subplot(221);image(wcodemat(X,nbc));title('X');[cA,cH,cV,cD]=lwt2(X,lsnew);% 对同一个图像实施整数提升小波变换lshaarInt=liftwave('haar','int2int');lsnewInt=addlift(lshaarInt,els);[cAint,cHint,cVint,cDint]=lwt2(X,lsnewInt);% 实施提升小波逆变换xRec=ilwt2(cA,cH,cV,cD,lsnew);err=max(max(abs(X-xRec)))subplot(222);image(wcodemat(xRec,nbc));title('xRec');xRecInt=ilwt2(cAint,cHint,cVint,cDint,lsnewInt); errInt=max(max(abs(X-xRecInt)))subplot(223);image(wcodemat(xRecInt,nbc));title('xRecInt');clear;clc;% 得到Haar小波的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案中els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 2层提升小波分解load woman;xDec=lwt2(X,lsnew,2);% 提取近似图像和细节图像a2=lwtcoef2('a',xDec,lsnew,2,2);h1=lwtcoef2('h',xDec,lsnew,2,1);v1=lwtcoef2('v',xDec,lsnew,2,1);d1=lwtcoef2('d',xDec,lsnew,2,1);h2=lwtcoef2('h',xDec,lsnew,2,2);v2=lwtcoef2('v',xDec,lsnew,2,2);d2=lwtcoef2('d',xDec,lsnew,2,2);% 检查重构误差err=max(max(abs(X-a2-h2-v2-d2-h1-v1-d1))) nbc=size(map,1);colormap(pink(nbc));subplot(121);image(wcodemat(X,nbc));title('原始图像');subplot(122);image(wcodemat(a2,nbc));title('重构第二层近似图像');figure;subplot(231);image(wcodemat(h1,nbc));title('第一层水平方向图像');subplot(232);image(wcodemat(v1,nbc));title('第一层垂直方向图像');subplot(233);image(wcodemat(d1,nbc));title('第一层对角方向图像');subplot(234);image(wcodemat(h2,nbc));title('第二层水平方向图像');subplot(235);image(wcodemat(v2,nbc));title('第二层垂直方向图像');subplot(236);image(wcodemat(d2,nbc));title('第二层对角方向图像');% 使用Haar小波,得到相应的提升方案lshaar=liftwave('haar');% 添加ELS到提升方案els={'p',[-0.125 0.125],0};lsnew=addlift(lshaar,els);% 对于简单图像,尺度为1进行LWTx=reshape(1:16,4,4);[cA,cH,cV,cD]=lwt2(x,lsnew);% 对上面的图像,进行整数LWTlshaarInt=liftwave('haar','int2int');lsnewInt=addlift(lshaarInt,els);[cAint,cHint,cVint,cDint]=lwt2(x,lsnewInt);% 进行逆变换xRec=ilwt2(cA,cH,cV,cD,lsnew);err=max(max(abs(x-xRec)))xRecInt=ilwt2(cAint,cHint,cVint,cDint,lsnewInt); errInt=max(max(abs(x-xRecInt)))。
JPEG2000小波变换仿真

一
收 稿 日期 :20 —0 0 6 9—1 9
作者简介 :戴文伯 (9 5 , , 17 一) 男 武汉理工 大学硕士研究 生 , 究方 研
向为信号与信息处理 。
16 一 0
维普资讯
是输出的细节信号 , ( n 是输出的平滑信号。 Y2 ) Y2 (n+1 (n+1 )= 2 )一[ (n 2 )+
Smuain 0 P i lt fJ EG2 o v ltta s ̄ m o O o wa ee r n fI r
DAIW e . 0 nb
( co l f noma o  ̄ -eig Wu a nvrt T cn l y Wu a 06 , h a Sh o o Ifr t nv g er , h nU i syo ehoo , h n4 03 C i ) i 2 n ei f g 3 n
Ke o d : J E 2 0 ; w vlt rn fr ;  ̄t g sh me F GA yw r s P G 0 0 a ee s m t a o i c e ; P n
小波变换的提升实现 第二代小波提升相位矩阵

qz az bz
r z bz 或
r z 0
两个Laurent多项式的欧几里德算法如下:
a0 z az b0 z bz
从 i 0 开始进行如下的递归运算:
ai 1 z bi z
bi 1 z ai z %bi z
滤波器
~ ~ ~ h ( z ) g ( z ) e e 和 g 的对偶多相位矩阵为: P( z ) ~ ~ h ( z ) g ( z ) o o
1 T 则小波滤波器的完全重构条件等价于: P( z ) P( z ) I
~
2
P( z 1 )T
z
2
az d z
l 0,1,, N / 2 1
Step 3. 比例变换
For l 0 to N/2 - 1
sl slm / K m d Kd l l
u1 z 0 时逆向小波变换的提升实现算法
Step 1.比例变换
For l 0 to N/2 - 1
slm Ksl m dl dl / K
s s (d d )
1 l 0 l 1 l 1 l 1
1 l
sl0 sl1 (dl1 dl11 )
dl0 dl1 (sl0 sl01 )
x2l sl0 x2l 1 dl0
sl s
1 l ,
dl d /
正变换
逆变换
整数小波变换
l 0,1,, N / 2 1
For l 0 to N/2 - 1
sl sln / K n d Kd l l
两点说明
1.本质上我们可以根据它们的任一分解式写出小波变换的提升算法
Chapter 4 第二代小波—提升格式

Chapter 4 第二代小波—提升格式参考文献:1.W.Sweldens “The Lifting Scheme: A Custom_design Construction of Biorthorgonal Wavelets ”2.I.Daubichies ﹠W.Sweldens “Factoring Wavelet Transform into Lifting Steps ”.3.W.Swedens “The Lifting Scheme: A New Philosophy in Biorthogonal Wavelets Construction ”.From http://cm.bell_/who/wim/papers/Wavelets are building blocks that can quickly decorrelate data.Fourier 变换在小波变换中起着决定作用,小波本质上到底是什么?能否不用Fourier 变换而直接研究小波变换,由此形成三点共识:1. 小波首先是一个构造块)()(,x d x f k j Z j Zk jk ψ∑∑∈∈=;可以是一组基,也可以是框架2. 能够解相关性,使数据间的相关性减弱。
{}11,,+++=J K J J J d d C C ;3. 小波变换拥有快速算法。
小波变换分三步走:X —原始信号(离散)1. Split :e X X X ⋃=0,(Φ=⋂e X X 0)2. Prediction:)(⋅P 预测算子)(0e X P X ≈ P 的构造最终取决于原来的数据模型,不依赖数据;)(:00e X P X X -=3. Update :更新算子)(⋅U)(:0X U X X e e +=还可以对e X 在进行小波变换,分割、预测、更新……若P 、U 为非线性算子,则得到的为非线性小波变换。
逆小波变换(Inverse Wavelet Transform ):(1)(求e X ))(:0X U X X e e -=(2)(求o X ))(:00e X P X X +=(3)Joint :e X X X ⋃=0第二代小波变换的优点:1. 小波分析可以不再建立在Fourier 变换分析基础上;2. 引入新的小波变换,如非线性小波变换,自适应小波变换等,有限区间上的小波变换曲线,曲面上的小波、加权小波;3. 逆变换简单;4. 与Mallat 算法相比,计算速度快,存储小。
小波提升格式算法及其在地震波处理中的应用

下岩体 的性 态 , 成本 高 , 率 低 , 效 因此 利 用 地 球 物理 勘 探尤 其 是地震 波勘探 成 为 当前 确 定地下 岩体 岩性
分布的重要方法 。随着工程中对地下问题 了解要求
的加深 , 用地 震 反射 波 确 定 地 下岩 体 的介 质 分 布 利
及反 射界 面 , 工程 式 地 质 勘 探 中具 有 十 分 重 要 的 在 现 实性 意义 。小 波分 析是 当前 数学 中一个 迅 速发展 的新领 域 , 其应 用是 与 小 波 分 析 的理 论 研 究 紧 密地 结 合在 一 起 的 。小 波 分 析 克 服 了 F ui o r r变换 的不 e
1 小 波提 升 格 式算 法原 理
提升 方法 实现 小波 变换 的一 个最 大优 点是将 小 波滤 波器 过程 分解 成 其 简 单 的 基本 步 骤 , 分 解 的 且 每一 步都 是可 逆 的 , 升方 法 的重 构过 程也 是 分 解 提
过程 的逆 过程 。
足 , 以反 映信 号在局 部 时间 范 围中的频 率特 征 , 可 可 以解决 地震 波勘 探 中人们 关心 在什 么位 置 出现什 么 样 的反射 波问题 。但 是 在小 波分析 的应 用 中如何 根
dito The r s l h w :t e meho s g o cin. e u ts o h t d i o d
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二代小波提升步骤小波分析2009-10-12 15:14:31 阅读663 评论5 字号:大中小订阅l 提升原理小波提升是一种构造紧支集双正交小波的新方法。
1)步骤由提升构成第二代小波变换的过程分为如下3个步骤:(1) 分裂分裂(Split)是将原始信号sj = { sj,k }分为两个互不相交的子集和。
每个子集的长度是原子集的一半。
通常是将一个数列分为偶数序列ej-1和奇数序列oj-1,即Split (sj) = (ej-1, oj-1 )其中,ej-1 = { ej-1, k = sj, 2 k },oj-1 = { oj-1, k = sj, 2 k +1}。
(2) 预测预测(Predict)是利用偶数序列和奇数序列之间的相关性,由其中一个序列(一般是偶序列ej-1)来预测另一个序列(一般是奇序列oj-1)。
实际值oj-1与预测值P (ej-1)的差值dj-1反映了两者之间的逼近程度,称之为细节系数或小波系数,对应于原信号sj的高频部分。
一般来说,数据的相关性越强,则小波系数的幅值就越小。
如果预测是合理的,则差值数据集dj-1所包含的信息比原始子集oj-1包含的信息要少得多。
预测过程如下:dj-1 = oj-1 – P (ej-1)其中,预测算子P可用预测函数Pk来表示,函数Pk可取为ej-1中的对应数据本身:Pk (ej-1, k ) = ej-1, k = sj, 2 k或ej-1中的对应数据的相邻数据的平均值:Pk (ej-1) = (ej-1, k + ej-1, k+1) / 2 = (sj, 2 k + sj, 2 k +1) / 2或其他更复杂的函数。
(3) 更新经过分裂步骤产生子集的某些整体特征(如均值)可能与原始数据并不一致,为了保持原始数据的这些整体特征,需要一个更新(Update)过程。
将更新过程用算子U来代替,其过程如下:sj-1 = ej-1 + U (d j-1)其中,sj-1为sj的低频部分;与预测函数一样,更新算子也可以取不同函数,如U k (dj-1) = dj-1, k / 2或U k (dj-1) = (dj-1, k -1 + dj-1, k) / 4 + 1 / 2。
P与U取不同的函数,可构造出不同的小波变换。
2) 分解与重构经过小波提升,可将信号sj分解为低频部分sj-1和高频部分dj-1;对于低频数据子集sj-1 可以再进行相同的分裂、预测和更新,把sj-1 进一步分解成dj-2和sj-2;…;如此下去,经过n次分解后,原始数据sj的小波表示为{sj-n, dj-n, dj-n+1, …, dj-1}。
其中sj-n代表了信号的低频部分,而{dj-n, dj-n+1, …, dj-1}则是信号的从低到高的高频部分系列。
每次分解对应于上面的三个提升步骤——分裂、预测和更新:Split (sj) = (ej-1, oj-1 ),dj-1 = oj-1 – P (ej-1),sj-1 = ej-1 + U (d j-1)小波提升是一个完全可逆的过程,其反变换的步骤如下:ej-1 = sj-1 - U (d j-1 ),oj-1 = dj-1 + P (ej-1),sj = Merge (ej-1, oj-1 )下图是用提升方法进行小波分解和重构的示意图。
分解的三个步骤可以用替代的方式来计算:先将奇数序列更新(用偶数序列预测奇数序列),然后用更新的奇数序列更新偶数序列。
大致过程如下:Split (sj) = (ej-1, oj-1 ),oj-1 -= P (ej-1 ),ej-1 += U (oj-1)其反变换过程也可以用替代的方式来计算:ej-1 -= U (oj-1),oj-1 += P (ej-1 ),sj = Merge (ej-1, oj-1 )4)例子(1) 线性Haar小波变换取预测函数Pk (ej-1) = ej-1, k = sj, 2k更新函数Uk (d j-1) = dj-1, k / 2则得到线性Haar小波变换。
分解式如下:Split (sj) = (ej-1, oj-1 )d j-1, k = oj-1, k –Pk (ej-1) = oj-1, k –ej-1, k = sj, 2k+1 - sj, 2ksj-1, k = ej-1, k + Uk (d j-1) = sj, 2k + dj-1, k / 2 = (sj, 2k+1 + sj, 2k) / 2重构式如下:ej-1, k = sj-1, k - Uk (d j-1) = sj-1, k –dj-1, k / 2oj-1, k = d j-1, k + Pk (ej-1) = d j-1, k + ej-1, ksj = Merge (ej-1, oj-1 )(2) 线性小波变换取预测函数Pk (ej-1) = (ej-1, k + ej-1, k+1) / 2 = (sj, 2k + sj, 2k +2) / 2更新函数Uk (d j-1) = (dj-1, k -1 + dj-1, k) / 4则得到线性小波变换。
分解式如下:Split (sj) = (ej-1, oj-1 )d j-1, k = oj-1, k –Pk (ej-1) = oj-1, k –(ej-1, k + ej-1, k+1) / 2 = sj, 2k+1 - (sj, 2k + sj, 2k +2) / 2sj-1, k = ej-1, k + Uk (d j-1) = sj, 2k + (dj-1, k -1 + dj-1, k) / 4重构式如下:ej-1, k = sj-1, k - Uk (d j-1) = sj-1, k –(dj-1, k -1 + dj-1, k) / 4oj-1, k = d j-1, k + Pk (ej-1) = d j-1, k + (ej-1, k + ej-1, k+1) / 2sj = Merge (ej-1, oj-1 )实际上,提升算法是一种改善快速小波变换的方法。
单步的提升算法并不能用于所有的小波构造过程,事实上只有一些特殊的小波变换很容易用它构造,比如双正交小波。
不过,涉及有限滤波器(FIR)的所有小波或子带变换可用多个提升步骤来构造。
Daubechies和Sweldens 等已经证明,借助于因子化小波变换,所有小波的构造都能够用提升模式实现。
l 整数小波变换可以用提升方法来构造具紧支集的双正交小波,那么就可以通过对每一次滤波后的数据进行取整(用[·]表示)来实现整数小波变换,而且这种变换是完全可逆的,也就是完全重构数据。
Sweldens已经证明在提升的基础上可以进行整数集到整数集的小波变换,也就是说,一个整数集合通过小波变换得到的仍然是整数集合。
这就给数字图象的压缩编码带来了好处,由于不需要对变换后的系数进行量化,因此提供了实现无损压缩的可能。
下面试几个典型的整数小波变换的例子:1)S变换最简单的整数小波变换是S变换(S transform, S = sequential),它是线性Haar小波变换的近似整数形式。
分解式如下:d j-1, k = sj, 2k +1 - sj, 2ksj-1, k = sj, 2k + [dj-1, k / 2]相当于对原更新函数取整。
重构式如下:sj, 2k = sj-1, k - [dj-1, k / 2]sj, 2k +1 = d j-1, k + sj, 2k2)S+P变换S变换之后,在低通系数sj-1, k的基础上进行线性预测,以产生新的高通系数d j-1, k ,这就是S+P变换族(S+P family of transform , S+P = sequential plus prediction)。
分解式如下:sj-1, k = sj, 2k + [ vk / 2]d j-1, k = vk + [tk + 1/2]其中vk = sj, 2k +1 - sj, 2ktk =α-1 (sj-1, k -2 - sj-1, k -1) +α0 (sj-1, k -1 - sj-1, k ) +α1 (sj-1, k - sj-1, k +1) +β-1 v k +1 例如,取参数如下表所示。
其中(1)S变换:sj-1, k = sj, 2k + [ vk / 2] = sj, 2k + [(sj, 2k +1 - sj, 2k) / 2]d j-1, k = vk = sj, 2k +1 - sj, 2k其分解与重构式同上1)。
(2)2/6变换:分解:sj-1, k = sj, 2k + [ vk / 2] = sj, 2k + [(sj, 2k +1 - sj, 2k) / 2]d j-1, k = vk + [(sj-1, k -1 - sj-1, k ) / 4 + (sj-1, k - sj-1, k +1) / 4 +1/2]= (sj, 2k+1 - sj, 2k) +[(sj-1, k -1 - sj-1, k +1) / 4 + 1/2]即:vk = sj, 2k +1 - sj, 2ksj-1, k = sj, 2k + [ vk / 2]d j-1, k = vk + [(sj-1, k -1 - sj-1, k +1) / 4 + 1/2]重构:uk = [(sj-1, k -1 - sj-1, k +1) / 4 + 1/2]sj, 2k = [(2 sj-1, k - d j-1, k + uk ) / 2] ?sj, 2k +1 = sj, 2k + d j-1, k - uk3)5/3变换d j-1, k = sj, 2k +1 - [(sj, 2k +2 - sj, 2k) / 2]sj-1, k = sj, 2k + [(dj-1, k + dj-1, k -1) / 4 + 1/2]4)9/7-M变换d j-1, k = sj, 2k +1 - [((sj, 2k +4 + sj, 2k -2) –9 (sj, 2k +2 + sj, 2k)) / 16 + 1/2] sj-1, k = sj, 2k + [(dj-1, k + dj-1, k -1) / 4 + 1/2]。