Mallat算法小结含MATLAB编程_第1页
Mallat算法小结含MATLAB编程_第2页
Mallat算法小结含MATLAB编程_第3页
Mallat算法小结含MATLAB编程_第4页
Mallat算法小结含MATLAB编程_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Mallat算法小结一、发展背景1987 年,Mallat and Meyer 提出了 多分辨分析(Multiresolution Analysis),从而成功的统一了在此之前的 St:ronibe:rg、Meye:r、Lema:rie 和Battle提出的具体小波函数的构造,研究了小波变换的离散化情 形。并且Mallat在图像的分解与重构的塔式算法的启发下,根据多 分辨率理论,提出小波分解与重构的快速算法,称为Mallat算法。二、算法优点Mallat算法可以避免尺度a值越大,对信息屮(t)的釆样就得越 密的缺点,这一算法在小波分析中地位很重要,相当于快速傅里叶变 换(FFT)在经典傅里叶分

2、析中的地位。三、基本原理及步1、Mallat算法的信号分解1) 根据多分辨率理论,得出结论:n其中,Pjf(t): f (t)在Vj中的投影,是f(t)在分辨率j下的平滑逼 近。X:线性组合的权重,也就是f (t)在分辨率j下的平滑逼近的概貌。帖化):离散后的正交小波基当j二0时,Pof (t)二£%(/)(1)n由于%-<P 丿(U 加(t)=P 0 /,血'(t)因为Dxf (t)与加(t)正交,所以DJ(t),比(t)> = 0,所以X:)=<XA 血(0)=2九血(t)£(2)nn其中九(t)亦(t)=%(m2k)代入(2)得一P以

3、9;/ C、Xk Ln-?k)Xn(3)n注:xj为离散平滑逼近类似还可以得到(込)£?(4)n注:为离散细节信号即小波信号2) 从设计滤波器的角度考虑,设尸兀丁(炉工/lo(kn)x7(5)n经过二抽取后,得(1) _ 1Xk Xik将(5)式代入上式,得显违炉2町£:)(6)n类似还可以得到卜工仏如兀(7)n注:(6) (7)式表现了由V。到仏,M的分解。仿照前面的步骤推导出如下结论兀=工血(t)血(t)£:)=0o” (t),血(t)£:)(8)nndf 吃血(t),沏(t)£吃00“ (t),%(t)£(9)nn其中分解系数为

4、血(U 0k (t)=0On (U 血(t)W)(n-2k)血,忽=0o” (U(Plk (t)=gk)这样我们可以逐级引申,对云做由也到V2, W2的分解,得到 £和 d?,再对做由也到也,见的分解,得到和d:»,对£ 由Vj到V“ W迫的分解,所需的电路结构不变,且滤波器的系数仍为(上)=%o(k),力i(去)=h(k) o3) 如下图所示的网络结构可以重复推演下去。图1网络级联结构2、Mallat算法的信号重建用类似的思路,可以逆推重建过程,由上可知v-vj+1©wJ+1 所以Pjjf (t)=P f (t)+Dj f (t)KK又£w=

5、PM(t)0“(t)因此£2M(t),04(t)£+Y(t),0*(t)d?KK由Mallat算法的信号分解中相同的证明,我们可以得到02,04 (0=血(t),0On (t)=ogk) 如(t)7-l.n (t)=血(t),0On (t)2k) 所以%r)=E力ogk产:+工九如d r(10)K '7 K KKK(10)式反映了相邻两级的反演关系,其中X?是第j级的离散平 滑信号,d?是第j级的离散细节信号;兀;是由和d?重建得到 的第j-i级离散平滑信号。这里go(k)=0io(t)"ok(t)gi(k)=o(t),0ok(t)其中g°(k)

6、、®(k)与前面的A0(k). %(k)样,为重建系数。下图为 信号重建的网络结构。图2信号重建的网络结构四、Mallat算法分解与重建的比较(1)Mallat算法的信号分解系数仏、人相当于分析滤波器;而Mallat算法的信号重建系数gQ、g相当于综合滤波器;(2)在重建式(10)中,是对k求和,而在分解式(3)和(4) 中,是对n求和;(3)在分解算法中信号是先滤波后抽取,而在重建算法中是先插值后滤波。五、Mall at算法的MATLAB算法编程举例:应用Mallat算法实现两个正弦混合波的分解与重构,分别采用db30小波 和db4作为小波函数,分解阶数分别取4和6,并将结果比较分

7、析。MATLAB 程序:(1) %n是阶数n = 6,小波函数为db30clc;clear;%1信号源:混合正弦波fl=50; % 频率 1£2=100;% 频率 2n = 6; %n是阶数t = 0 : l/(2A(n)-l) : 1;N = length( t);y=sin(2*pi*fl*t4-sm(2*pi*f2*t); % 正弦波混合figiue(l)plot(y);xlabelCt=0:r)titled两个正弦信号的混合正弦波Jfigure(2) stem(abs(fft(v);titled混合信号频谱?%2.小波滤波器的谱分析h=wfilters(,db30',

8、T); % 低通 g=wfilters(,db30';h,); % 高通h=lLzeros(l,N-lengtli(h); %补零(圆周卷积,且增人分辨率变于观察) g=g,zeros(l,N-length(g); %补零(圆周卷积,且增人分辨率变于观察) figiue(3);%滤波器图stem(abs(fft(h);Mleff氐通滤波器图,)figure(4);stem(abs(ffi(g);htleC高通滤波器图?% 3.MALLET分解算法(圆周卷枳的快速傅里叶变换实现)sig 1 =ifft(fft(v). *fft(h); % 低通(低频分量)sig2=ifft(fft(v)

9、.*fft(g); % 高通(高频分量)figure(5); %分解信号图subplot(2,l,l) plot(real(sigl);titled分解信号1')subplot(2,l,2)plot(real(sig2);figiire(6); %分解信号频谱图 subplot(2,l J) stem(abs(fft(sig 1);titled分解信号1频谱?subplot(2,l,2) stem(abs(fft(sig2); titled分解信号2频谱? % 4.MALLET重构算法 sig 1 =dyaddown(sig 1); % 2 抽取 sig2=dyaddown(sig2)

10、; % 2 抽取 sigl=dyadup(sig 1); % 2 插值 sig2=dyadup(sig2); % 2 插值 sigl=sigl(l,l:NJ); % 去掉最后一个零 sig2=sig2(l,1:NJ); % 去掉最后一个零 hr-h(end>l:l); % 重构低通 gi-g(end>l:l); % 重构高通hi=circshift(hf, 1)' %位置调整圆周右移一位 gLcircshifqgFJ)' %位置调整圆周右移一位 sigl=ifft(ffi(hr).*fift(sigl); % 低频 sig2=ifft(fft(gr). *fft(s

11、ig2); % 高频 sig=sigl+sig2; % 源信号 figure(7); %信号重构图 subplot(2,l J) plot(real(sigl);曲e(,低频信号重构,); subplot(2,l,2) plot(real(sig2);曲e(,高频信号重构,);figure ; subplot(2,l J) stem(abs(fft(sig 1);titled重构的低频信号频谱?;subplot(2,l,2) stem(abs(fft(sig2);titled重构的高频信号频谱?; %5.重构信号与原信号比较 figme(9)%图形比较 plot(real(sig)/r71in

12、ewidth2); hold on;plot(y);legendf重构信号;原始信号? dig重构信号与原始信号的比较图)两个正弦信号的混合正弦波图3两个正弦信号的混合正弦波混合信号频谱图4混合信号频谱低通滤波器图1.50.5q :卡:c010203040506070图5低通滤波器图高通滤波器图分解信号1rrrrrr0102030405060704)n1 1 1 iI1 fl 1 *Ji|nII11JiIlM1 1f 1II 111 1 1 A 1LL1 1JI1flAftkIInllAliL1ii A11 J1 1 1 1L1 11 1 fl 1-JIM| : » ii 11 f

13、(111 1 V 1 I11 i i it it(I v I> I * *iIlli F 11| 1 / 1 I I J I I 1(V I 1 | i IH 1 1Il /1 1 /.|1 f 11 t r 1U / I1 fIf u Jy il1iiiti1 rIi1 I Ii1i 1I III 11I|*11|f IJ fII*1* 1 II 11 I 1 1 W f 11 11 1 aII i if11 U (/ B* | 1V1 11 1 1 1-l/-u1 1 I 1/VM11 (1 T«f lj PH11 i I1-rrrrrr010203040506070图7分

14、解信号图分解信号1频谱50厂40302010°omi;了;不?10卜 Mi f i TD r 丫 :匚 “my i xm:, 20u-r.几兀JL304050卞 Yiy I6070图8分解信号频谱图图8分解信号频谱图分解信号2频谱图8分解信号频谱图图8分解信号频谱图-1低频信号重构10-210203040506070高频信号重构10-1-210203040506070图10重构信号频谱-1图10重构信号频谱-1图9信号重构图 重构的低频信号频谱图10重构信号频谱-1302010°01020304050160-£70图10重构信号频谱-1图10重构信号频谱-130重

15、构的高频信号频谱图10重构信号频谱-1图10重构信号频谱-12010010203040506070图10重构信号频谱重构信号与原始信号的比较图图11重构信号与原始信号的比较图(2) %n是阶数n = 8,小波函数为db30clc;clear;%1信号源:混合正弦波fl=50; % 频率 1£2=100;% 频率 2n=8; %n是阶数t = 0: l/(2A(n)-l): 1;N = length( t);y=sin(2*pi*fl *t)+siii(2*pi*£2*t); % 正弦波混合figure(l)plot(v);xlab 亡 l(T=01)titled两个正弦信号

16、的混合正弦波?figure(2)stem(abs(fft(v);titleCig合信号频谱?% 2.小波滤波器的谱分析h=wfiltersCdb30T); % 低通g=wfilters(,db30li,); % 高通h=h,zeios(l,N-length(h); %补零(圆周卷积,且增人分辨率变于观察) g=g,zeios(l,N-length(g); %补零(圆周卷积,且增人分辨率变于观察) figuie(3);%滤波器图stem(abs(fft(h);titled低通滤波器图,)figure(4);stem(abs(fft(g);titled高通滤波器图?% 3.MALLET分解算法(圆

17、周卷枳的快速傅里叶变换实现) sig 1 =ifft(fft(v).*ffi(h); % 低通(低频分量) sig2=ifft(fft(v).% 高通(高频分量)figure(5); %分解信号图subplot(2,l ,1)plot(real(sigl);titled分解信号1')subplot(2,l,2)plot(real(sig2);figme(6); %分解信号频谱图subplot(2,lstem(abs(fft(sig 1);titled分解信号1频谱?subplot(2,l,2) stem(abs(fft(sig2); titled分解信号2频谱? % 4.MALLET重

18、构算法 sig 1 =dyaddown(sig 1); % 2 抽取 sig2=dyaddown(sig2); % 2 抽取 sig 1 =dyadup(sig 1); % 2 插值 sig2=dyadup(sig2); % 2 插值 sigl=sigl(l,l:N); % 去掉最后一个零 sig2=sig2(l, 1:N); % 去掉最后一个零 hi-=h(end>l:l);% 重构低通 gi-g(end>l:l); % 重构高通hr=ckcshift(hf, 1)' %位置调整圆周右移一位 gf=ckcshift(gF,l)' %位置调整圆周右移一位 sig 1

19、 =iffi(ffi(hr).*fft(sig 1); % 低频 sig2=ifft(fft(gr). *fft(sig2); % 高频 sig=sigl+sig2; % 源信号 figure(7); %信号重构图subplot(2,l J) plot(real(sigl); htle(,低频信号重构,); subplot(2,l,2) plot(real(sig2);titled高频信号重构,);figuie(8);subplot(2,l J)stem(abs(fft(sig 1);titled重构的低频信号频谱?; subplot(2,l,2)stem(abs(fft(sig2);titl

20、ed重构的高频信号频谱,);%5.重构信号与原信号比较 figme(9)%图形比较 plot(real(sig)/rVlinewidth2); hold on;plot(y);legendf重构信号丁原始信号,) dig重构信号与原始信号的比较图)两个正弦信号的混合正弦波21.510.50-0.5-1-1.550100200250-2o150 t=0:1300图12两个正弦信号的混合正弦波300低通滤波器图0.5050100150200250300图14低通滤波器图1.5高通滤波器图图15高通滤波器图分解信号1图16分解信号图分解信号2频谱15010050-1-20100sSilil11卜15

21、0200图17分解信号频谱图低频信号重构250300LLLII4 d111111 11 1 .LnUj|Hi1 n idL I. hfiH L11 n nII II r fl l| |l it ; Il Ih 1 h h Hi A(I ll n B ll /10 llU11 II A1 1 1! 川I fl 1! 1I 11 i i iJi j| ul n n I I AH l l II II ill 11 Iillll 1 ! nil 11 11 r 1 il IIIiiIfiilII jJ /.1 1 ! r. >n; i1 t | II /1 | 八 | I! A | I11 1

22、1 i 1 i I 1HI II un HI 1 H| fl n11 h | 1 111I J I 1 V 1 I | II *j u l川I | JI I U II If U l( I! |il II ! ll i/ lill If If I1 1 i I 1I 1 II I 1II 1II II 1Jrr(yItI/ U 1 il i u u V U li III Un HI i' 111uu H i li yipu nrrrrr50100150200250300高频信号重构-2050100150200250300图18信号重构图150重构的低频信号频谱重构的高频信号频谱图19重构

23、信号频谱重构信号与原始信号的比较图图20重构信号与原始信号的比较图(3) 畑是阶数n二8,小波函数为db3clc;clear;%1信号源:混合正弦波fl=50; % 频率 1£2=100;% 频率 2n =8; %n是阶数t = 0 : 1/(2A(11)-1) : 1;N = length( t);v=sin(2*pi*fl*t)+sm(2*pi*£2*t); % 正弦波混合figiue(l)plot(y);xla21(T=0I)曲e(,两个正弦信号的混合正弦波Jfigure(2) stem(abs(fft(v);titled混合信号频谱?%2.小波滤波器的谱分析h=wf

24、iltersCdb3T); % 低通g=wfilters(,db3,;h,); % 高通h=lLzeros(l,N-length(h); %补零(圆周卷积,且增人分辨率变于观察) g=g,zeros(l,N-length(g); %补零(圆周卷积,且增人分辨率变于观察) figiue(3);%滤波器图stem(abs(fft(h);titled低通滤波器图,)figure(4);stem(abs(fft(g);htleC高通滤波器图?% 3.MALLET分解算法(圆周卷枳的快速傅里叶变换实现)sig 1 =ifft(fft(v). *ffi(h); % 低通(低频分量)sig2=ifft(ff

25、t(v% 高通(高频分量)figure(5); %分解信号图subplot(2,l ,1)plot(real(sigl);dleC分解信号1')subplot(2,l,2)plot(real(sig2);figme(6); %分解信号频谱图subplot(2,l ,1) stem(abs(fft(sig 1);htleC分解信号1频谱?subplot(2,l,2)stem(abs(fft(sig2);htle(分解信号2频谱? % 4.MALLET重构算法 sig 1 =dyaddown(sig 1); % 2 抽取 sig2=dyaddown(sig2); % 2 抽取 sig 1

26、=dyadup(sig 1); % 2 插值 sig2=dyadup(sig2); % 2 插值 sigl=sigl(l,l:NJ); % 去掉最后一个零 sig2=sig2(l,l:N); % 去掉最后一个零 hi-=h(end>l:l);% 重构低通 gi-g(end>l:l); % 重构高通 lu=circshift(hf, 1)' %位置调整圆周右移一位 gr=ckcshift(gF, 1)' %位置调整圆周右移一位 sigl=ifft(fft(hr).*fft(sigl); % 低频 sig2=iffi(ffi(gr). *fft(sig2); % 高频

27、sig=sigl+sig2; % 源信号 figure(7); %信号重构图 subplot(2,l J) plot(real(sigl);htle(,低频信号重构,); subplot(2,l,2) plot(real(sig2);titled高频信号重构,);figure ; subplot(2,l J) stem(abs(fft(sig 1);titled重构的低频信号频谱?;subplot(2,l,2) stem(abs(fft(sig2);titled重构的高频信号频谱,); %5.重构信号与原信号比较 figure(9)%图形比较 plot(real(sig)/r71inewidt

28、h2); hold on;plot(y);legendf重构信号:原始信号,) dig重构信号与原始信号的比较图)两个正弦信号的混合正弦波21.510.50-0.5-1-250100200250150 t=0:1300图21两个正弦信号的混合正弦波混合信号频谱300图22混合信号频谱1.5低通滤波器图图23低通滤波器图高通滤波器图1.530图24高通滤波器图-1300LLLi-11 1 1 (MI1UI1 d Ji1 i ) In n11jllliuhHHlinhiHl Hlhfiii n Afl RR n 1 n1 | 1 A A | III 1 i I I t M ' 1H | (

29、 nil/ '.Ii!*-JII Hi 1(1IIIM i川II U 1III it IIU1UhI it y ii ii u 11 H U I! HyyIIIIIIIII Ii il II ii lllii1 UHillillln艸州jIII 卩川 Illi|n|rrrrr分解信号11050100200250150图25分解信号图分解信号1频谱图26分解信号频谱图低频信号重构LI 1 1 I I I h h kL 1I I fl 1 | A 1 'II llll I A 1 J1| 1 ! 1 1 I r| 1 1 1 1 1 1 I I J 1 1 1 f 11 1 1L山

30、1I i A In i n 11 ' 1di ftLIdlb11 I 1 III 1 Illi II 11|i|hL1Lh|b|J1 IrliTI'UH I;r H M1 |H|/ 1 (J HV n/ (|1 1H I riFflfl l w I idHyi 11 N1!Bl11 ni-2 1cc1050100150200250300高频信号重构图28重构信号频谱图28重构信号频谱图27信号重构图重构的高频信号频谱200250300图28重构信号频谱重构信号与原始信号的比较图图29重构信号与原始信号的比较图(4) %n是阶数n二6,小波函【为db3clc;clear;%1信号

31、源:混合正弦波fl=50; % 频率 1£2=100;% 频率 2n =6; %n是阶数t = 0 : l/(2A(n)-l) : 1;N = length( t);v=sin(2*pi*fl*t)+siii(2*pi*£2*t); % 正弦波混合figiue(l)plot(y);xlaHl(T=0I)曲e(,两个正弦信号的混合正弦波Jfigure(2)stem(abs(fft(v);titled混合信号频谱?%2.小波滤波器的谱分析h=wfiltersCdb3T); % 低通g=wfiltersCdb3,;h,); % 高通h=lLzeros(l,N-length(h);

32、 %补零(圆周卷积,且增人分辨率变于观察) g=g,zeros(l,N-length(g); %补零(圆周卷积,且增人分辨率变于观察) figuie(3);%滤波器图stem(abs(fft(h);titled低通滤波器图,)figure(4);stem(abs(fft(g);titled高通滤波器图?% 3.MALLET分解算法(圆周卷枳的快速傅里叶变换实现) sig 1 =ifft(fft(v).*ffi(h); % 低通(低频分量) sig2=ifft(fft(v).% 高通(高频分量)figure(5); %分解信号图subplot(2,l ,1)plot(real(sigl);tit

33、led分解信号1')subplot(2,l,2)plot(real(sig2);figme(6); %分解信号频谱图subplot(2,lstem(abs(fft(sig 1);titled分解信号1频谱?subplot(2,l,2) stem(abs(fft(sig2); titled分解信号2频谱? % 4.MALLET重构算法 sig 1 =dyaddown(sig 1); % 2 抽取 sig2=dyaddown(sig2); % 2 抽取 sig 1 =dyadup(sig 1); % 2 插值 sig2=dyadup(sig2); % 2 插值 sigl=sigl(l,l:

34、N); % 去掉最后一个零 sig2=sig2(l, 1:N); % 去掉最后一个零 hi-=h(end>l:l);% 重构低通 gi-g(end>l:l); % 重构高通hr=ckcshift(hf, 1)' %位置调整圆周右移一位 gf=ckcshift(gF,l)' %位置调整圆周右移一位 sig 1 =iffi(ffi(hr).*fft(sig 1); % 低频 sig2=ifft(fft(gr). *fft(sig2); % 高频 sig=sigl+sig2; % 源信号 figure(7); %信号重构图subplot(2,l J) plot(real(sigl); htle(,低频信号重构,); subplot(2,l,2) plot(real(sig2);titled高频信号重构,);figuie(8);subplot(2,l J)stem(abs(fft(sig 1);titled重构的低频信号频谱?;subplot(2,l,2)stem(abs(fft(sig2);titled重构的高频信号频谱,);%5.重构信号与原信号比较figure(9)%图形比

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论