小波分析試驗輔導_第1頁
小波分析試驗輔導_第2頁
小波分析試驗輔導_第3頁
小波分析試驗輔導_第4頁
小波分析試驗輔導_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、小波分析上機實驗指導1預備內(nèi)容打開Matlab的工作界面,了解各窗口的主要功能。在Matlab中熟悉各種小波及其性質(zhì)和圖形。在小波工具箱主菜單窗口中,有WaveletDisplay(小波信息顯示)和WaveletPacketDesplay(小波包信息顯示)兩個按鈕,它們分別顯示小波函數(shù)和小波包函數(shù)簇的信息。小波信息顯示單擊WaveletDisplay按鈕后,彈出一個WaveletDisplay窗口,它的右邊有Wavelet選擇框和Refinement選擇框。Wavelet選擇框可以選擇所有顯示的小波函數(shù);Refinement選擇框用于控制計算小波函數(shù)的運算精度,數(shù)值越大,表示運算迭代次數(shù)越多,

2、小波函數(shù)的精度越高。在窗口右邊的Informationon標簽下有兩個按鈕,它們分別是XXXFamily按鈕和AllWaveletFamilies按鈕。XXXFamily按鈕以文本方式顯示所選擇小波函數(shù)的各項特征,如縮寫名(Shortname)、是否具有正交性(Orthogonal)、雙正交性(Biorthogonal)、是否具有緊支撐性(Compactsupport)、有效支撐長度(Supportwidth)、是否具有對稱性(Symmetry)等?!癤XX”表示所選擇的小波函數(shù)的函數(shù)名,它隨著小波函數(shù)的變化而變化。Wavelets按鈕以文本方式簡要顯示在Matlab工具箱中所有小波函數(shù)的對比

3、特性。小波包信息顯示小波包函數(shù)簇是以小波函數(shù)為基礎產(chǎn)生的,函數(shù)簇中的函數(shù)實際上就是各個帶通濾波器。單擊WaveletPacketDisplay按鈕后,彈出一個WaveletPacketDisplay窗口,它的右邊有Wavelet選擇框、Refinement選擇框和Wav.Pack.from0to:選擇框。Wavelet選擇框可以選擇所有顯示的小波函數(shù);Refinement選擇框用于控制計算小波函數(shù)的運算精度。在窗口右邊的Informationon標簽下也有兩個按鈕,它們分別是XXXFamily按鈕和WWavelets按鈕。XXXFamily按鈕以文本方式顯示所選擇小波包函數(shù)的各項特征。WWav

4、elets按鈕以文本方式簡要顯示在Matlab工具箱中所有小波包函數(shù)的對比特性。2一維小波變換試驗目的:學習有關一維小波變換的有關函數(shù)的用法。相關知識復習:一維小波變換包括一維連續(xù)小波變換和一維離散小波變換。小波變換后的小波系數(shù)Wf(a,b)定義為:Wf(a,b)=la|j/2ff(t)屮)dtfa,bRa系數(shù)以行方向存儲在矩陣中。cwtcwtisaone-dimensionalwaveletanalysisfunction.功能:一維連續(xù)小波變換格式:coefs=cwt(s,scales,wname)coefs=cwt(s,scales,wname,plot)說明:該函數(shù)為一維連續(xù)小波分析函

5、數(shù),其中coefs為連續(xù)小波變換后的小波系數(shù)。因為在工程應用中,f(t)是一個離散的信號,所以可以將信號用f(k)的形式表示,k=1到length(f),所以對于一個具體的尺度a,cwt將計算b從1到length所對應的每一個系數(shù)值Wf(a,b)。s為待分析信號,在計算中通常是以離散形式給出,如在MATLAB自身所帶有的noissin信號等。scales為連續(xù)小波變換的尺度向量。如果尺度為離散的值al,a2,a3,則尺度向量scales可以表示為:al,a2,a3的形式,值與值之間用逗號或者空格隔開;倘若尺度向量由起始尺度amin、終止尺度amax、尺度步長astep三者組成,則尺度向量sca

6、les可以表示為:amin:astep:amax啲形式(此時冋省略);倘若尺度向量同時包括上面兩種情況,則把離散尺度寫在前面,步長表示方式寫在后面,如:al,a2,a3,amin:astep:amaxwname為小波函數(shù)名,如haar,dbl,db2,meyer等。Coefs指返回的系數(shù)矩陣(小波變換系數(shù)),矩陣的行數(shù)為小波變換中尺度的個數(shù),列數(shù)為信號采用點的個數(shù),如noissin信號的采用點個數(shù)為1000,矩陣第一行的值對應第一個尺度變換后的系數(shù),第二行的值對應第二個尺度變換后的系數(shù),依此類推。在第二個格式中,plot是用來畫出小波變換后系數(shù)的圖形。小波變換的系數(shù)用灰度圖表示,橫坐標表示變換

7、系數(shù)的系號,縱坐標表示尺度,灰度顏色越深,表示系數(shù)的值越大。尺度必須為正實數(shù)。當步長astep沒有顯示給出時,則取默認步長1。習題2.1:已知一信號f(t)=3sin100pit+2sin68pit+5cos(72pit),且該信號混有白噪聲,對該信號進行連續(xù)小波變換,小波函數(shù)用db3,尺度為1、1.2、1.4、1.63。要求:在MatLab工作空間中直接輸入命令,用cwt()函數(shù)計算這一信號的小波變換參考:t=0:0.01:1;f=3*sin(100*pi*t)+2*sin(68*pi*t)+5*cos(72*pi*t)+randn(1,length(t);coefs=cwt(f,1:0.2

8、:3,db,plot);title(對不同的尺度小波變換系數(shù)值);Ylabel(尺度);Xlabel(時間);習題22:對Matlab中所帶有的noissin信號進行連續(xù)小波變換,尺度a分別為0.12、0.24、0.48、1.2、2、4、6、8、10,小波函數(shù)用db3,試求出連續(xù)小波變換后的系數(shù)。要求:在MatLab中以M文件的方式,用cwt()函數(shù)計算noissin信號的小波變換FromtheMATLABprompt,typeloadnoissin;Younowhavethesignalnoissininyourworkspace:whosNameSizeBytesClassNoissin1

9、x10008000doublearray參考:loadnoissin;s=noissin(1:100);ls=length(s);w=cwt(s,0.12,0.24,0.48,1.2,2:2:10,db3,plot);Xlabel(時間);Ylabel(變換尺度);title(對應于尺度的小波變換系數(shù)的絕對值);dwtSingle-leveldiscrete1-Dwavelettransform功能:單尺度一維離散小波變換格式:cA,cD=dwt(X,wname)cA,cD=dwt(X,Lo_D,Hi_D)說明:該函數(shù)用于進行一維離散小波分解,X為被分析的離散信號,wname為分解所用到的小波

10、函數(shù),Lo_D、Hi_D為分解濾波器,cA和cD分別為返回的低頻系數(shù)和高頻系數(shù)向量,它們長度相等且為:length(X)/2(當length(X)為偶數(shù)時)或(length(X)+l)/2(當length(X)為奇數(shù)時)。習題23:分別用haar小波和db2小波對noissin信號進行一維離散小波分解參考:loadnoissin;%裝載原始一維信號s=noissin(1:1000);%畫出原始信號的波形subplot(4,1,1);plot(s);title(原始信號);%下面用Haar小波函數(shù)進行一維離散小波變換ca1,cd1=dwt(s,haar);subplot(4,2,3);plot(

11、ca1);Ylabel(haar(ca1);subplot(4,2,4);plot(cd1);Ylabel(haar(cd1);%給定一個小波db2,計算與之相應的分解濾波器Lo_D,Hi_D=wfilters(db2,d);%用分解濾波器Lo_D,Hi_D計算信號s的離散小波分解系數(shù)ca2,cd2=dwt(s,Lo_D,Hi_D);subplot(4,2,5);plot(ca1);Ylabel(db2(ca2);subplot(4,2,6);plot(cd1);Ylabel(db2(cd2);備注:相關函數(shù)簡介函數(shù)wfilters(Waveletfilters)功能:返回相應的小波濾波器格式

12、:Lo_D,Hi_D,Lo_R,Hi_R=wfilters(wname)F1,F2=wfilters(wname,type)說明:該函數(shù)用來計算和得到與正交或雙正交小波wname相關的四個濾波器。返回的四個濾波器分別是Lo_D(分解的低通濾波器)、Hi_D(分解的高通濾波器)、Lo_R(重構的低通濾波器)和Hi_R(重構的高通濾波器)。Lo_R和Hi_R分別是Lo_D和Hi_D的對偶算子,也可以分別理解為Lo_D和Hi_D的共軛轉(zhuǎn)置矩陣。在格式2中,F(xiàn)1和F2分別代表如下的兩個濾波器:Lo_D和Hi_D(分解濾波器)type為d時Lo_R和Hi_R(重構濾波器)type為r時Lo_D和Lo_R

13、(低通濾波器)type為T時Hi_D和Hi_R(高通濾波器)type為h時wavedec功能:多尺度一維小波分解Multilevel1-Dwaveletdecomposition格式:C,L=wavedec(X,N,wname)C,L=wavedec(X,N,Lo_D,Hi_D)說明:該函數(shù)用小波函數(shù)或分解濾波器完成對信號X的一維多尺度分解,N為尺度,且是嚴格的正整數(shù)。輸出參數(shù)C是由cAj,cDj,cDj-1,cD1組成,L是由cAj的長度,cDj的長度,cDj-1的長度,cDl的長度,X的長度組成。以一個3尺度分解為例,分解結(jié)構如下圖所示C:cA3cD3cD2cD1LcA3長度cD3的長度c

14、D2的長度cD1長度X長度給定一個長度為n的信號S,離散小波分解(DWT)最多可以把信號分解成log2n個頻率級。第一步分解開始于信號S,分解后分解細數(shù)由兩部分組成:低頻系數(shù)向量cA1和高頻系數(shù)向量cD1,向量cA1是由信號S與低通分解濾波器Lo_D經(jīng)過卷積運算得到,向量cD1是由信號S與高通分解濾波器Hi_D經(jīng)過卷積運算得到。習題24:用db1小波對sumsin信號進行多尺度一維離散小波分解參考:loadsumsin;s=sumsin;subplot(4,1,1);plot(s);title(原始信號);%用小波函數(shù)db1對信號進行3尺度的小波分解c,l=wavedec(s,3,db1);s

15、ubplot(4,1,3);plot(c);%畫出變換后的波形title(信號S的3尺度小波分解結(jié)構);Xlabel(尺度3的低頻系數(shù)和尺度3、2和1的高頻系數(shù));axis(0,1000,-5,5);waverec功能:多尺度一維小波重構Multilevel1-Dwaveletreconstruction格式:X=waverec(C,L,wname)X=waverec(C,L,Lo_R,Hi_R)說明:該函數(shù)用指定的小波函數(shù)或重構濾波器對小波分解結(jié)構C,L進行多尺度一維小波重構,它是wavedec函數(shù)的逆函數(shù),即有X=waverec(wavedec(X,N,wname),wname)格式一使用

16、小波函數(shù)進行重構,格式二使用重構濾波器進行重構。習題25:用db5小波先對leleccum信號進行一維離散小波分解,然后用同樣的小波對分解結(jié)果進行重構。參考:loadleleccum;s=leleccum(1:3920);ls=length(s);subplot(211);plot(s);%畫出原始信號的波形圖title(原始信號);%用小波函數(shù)db5對信號進行3尺度分解c,l=wavedec(s,3,db5);%在小波分解結(jié)構c,l的基礎上對信號進行重構a=waverec(c,l,db5);subplot(212);plot(a);title(重構信號);%檢測重構的誤差err=norm(s

17、-a)wrcoef功能:對一維小波系數(shù)進行單支重構格式:X=wrcoef(type,C,L,wname,N)X=wrcoef(type,C,L,Lo_R,Hi_R,N)X=wrcoef(type,C,L,wname)X=wrcoef(type,C,L,Lo_R,Hi_R)說明:該函數(shù)是對一維信號的分解結(jié)構C,L用指定的小波函數(shù)或重構濾波器進行重構。當type=a時,指對信號的低頻部分進行重構,此時N可以為0;當type=d時,指對信號的高頻部分進行重構,此時N為嚴格的正整數(shù)。習題26:用sym4小波對sumsin信號進行5尺度一維離散小波分解,然后用同樣的小波對分解結(jié)果在尺度5上的低頻部分進行

18、重構。參考:%裝載一個一維信號loadsumsin;s=sumsin;subplot(321);plot(s);%畫出原始信號的波形圖title(原是信號);%用小波函數(shù)sym4對信號進行5尺度小波分解c,l=wavedec(s,5,sym4);%對尺度5上的低頻部分進行重構a5=wrcoef(a,c,l,sym4,3);subplot(322);plot(a5);title(重構信號);appcoef功能:提取一維小波系數(shù)低頻系數(shù)格式:A=appcoef(C,L,wname,N)X=appcoef(C,L,wname)X=wrcoef(C,L,Lo_R,Hi_R)X=wrcoef(C,L,L

19、o_R,Hi_R,N)說明:該函數(shù)是一個一維小波分析函數(shù),它用于從分解結(jié)構C,L中提取一維信號的低頻系數(shù),其中,C,L為小波分解結(jié)構,wname為小波函數(shù),N為尺度。格式一計算在尺度N時的一維分解低頻系數(shù);格式二用于提取最后一尺度的小波變換低頻系數(shù);格式三、四是用濾波器進行信號低頻系數(shù)的提取。一般說來,濾波器是與某一小波函數(shù)相關的,通??梢杂蓋filters函數(shù)得到。返回系數(shù)A是一個向量,向量的元素個數(shù)為length(S)/2N。習題27:用dbl小波對leleccum信號進行3尺度一維離散小波分解,然后1、2尺度上的低頻系數(shù)。參考:loadleleccum;s=leleccum(1:2000

20、);ls=length(s);subplot(421);plot(s);title(原是信號);%用小波函數(shù)dbl進行3尺度小波分解c,l=wavedec(s,3,db1);%從小波分解結(jié)構中提取尺度1、2的低頻系數(shù)cal=appcoef(c,l,dbl,l);subplot(4,4,5);plot(ca1);Ylabel(ca1);ca2=appcoef(c,l,db1,2);subplot(4,8,17);plot(ca2);Ylabel(ca2);detcoef功能:提取一維小波系數(shù)高頻系數(shù)格式:D=detcoef(C,L,N)X=appcoef(C,L)說明:該函數(shù)是一個一維小波分析函

21、數(shù),它與appcoef函數(shù)相對應,用來計算一維小波變換后的高頻系數(shù)。格式一提取尺度為N,分解結(jié)構為C,L的一維分解高頻系數(shù);格式二用于提取最后一尺度的一維分解高頻系數(shù)。該函數(shù)返回一個向量,向量的元素個數(shù)為length(S)/2N。習題2.&用dbl小波對leleccum信號進行3尺度一維離散小波分解,然后1、2尺度上的高頻系數(shù)。參考:loadleleccum;s=leleccum(1:2000);ls=length(s);subplot(421);plot(s);title(原是信號);%用小波函數(shù)dbl進行3尺度小波分解c,l=wavedec(s,3,db1);%從小波分解結(jié)構中提取尺度1、

22、2的高頻系數(shù)cdl=detcoef(c,l,l);subplot(4,4,5);plot(cd1);Ylabel(cd1);cd2=detcoef(c,l,2);subplot(4,8,17);plot(cd2);Ylabel(cd2);3二維小波變換dwt2功能:單尺度二維離散小波變換格式:cA,cH,cV,cD=dwt2(X,wname)cA,cH,cV,cD=dwt2(X,Lo_D,Hi_D)說明:該函數(shù)用于二維離散小波分解,X為被分析的離散信號,wname為分解所用到的小波函數(shù),Lo_D,Hi_D為分解濾波器,cA和cH、eV、cD(水平、垂直、對角線)分別為返回的低頻系數(shù)和高頻系數(shù)向

23、量。對于圖像分解,其算法同一維分解的情況類似,二維小波函數(shù)和尺度函數(shù)是通過一維小波函數(shù)和尺度函數(shù)經(jīng)過張量積(tensorproduct)變換得到。二維小波分解是把尺度j的低頻部分分解成四個部分;尺度j+1的低頻部分和三個方向(水平、垂直、斜線)的高頻部分。習題3.1:用db1小波對一個圖像進行二維小波變換參考:%裝載原始圖像,X中含有被裝載的信號,map中含有被裝載的colormaploadwoman;nbcol=size(map,1);%畫出原始的圖像figure(1);subplot(221);image(X);colormap(map);title(原始圖像);axissquare%用小

24、波函數(shù)dbl對X進行單尺度分解cA,cH,cV,cD=dwt2(X,db1);%畫出各分解系數(shù)對應的圖像figure(2);subplot(221);image(cA);colormap(map);title(低頻系數(shù)圖像);axissquaresubplot(222);image(cH);colormap(map);title(水平高頻系數(shù)圖像);axissquaresubplot(223);image(cV);colormap(map);title(垂直高頻系數(shù)圖像);axissquaresubplot(224);image(cD);colormap(map);title(斜線高頻系數(shù)圖像

25、);axissquare%從figure(2)中畫出的圖像可以看出,直接用系數(shù)畫出的圖像是很不清楚的,%我們可以通過量化編碼的手段改善圖像的質(zhì)量%下面進行圖像的編碼cod_X=wcodemat(X,nbcol);cod_cA=wcodemat(cA,nbcol);cod_cH=wcodemat(cH,nbcol);cod_cV=wcodemat(cV,nbcol);cod_cD=wcodemat(cD,nbcol);figure(3);subplot(221);image(cod_cA);colormap(map);title(編碼后低頻系數(shù)圖像);axissquaresubplot(222)

26、;image(cod_cA);colormap(map);title(編碼后水平高頻系數(shù)圖像);axissquaresubplot(223);image(cod_cA);colormap(map);title(編碼后垂直高頻系數(shù)圖像);axissquaresubplot(224);image(cod_cA);colormap(map);title(編碼后斜線高頻系數(shù)圖像);axissquarewavedec2功能:多尺度二維小波分解(二維多分辨分析函數(shù))格式:C,S=wavedec2(X,N,wname)C,S=wavedec2(X,N,Lo_D,Hi_D)說明:wavedec2函數(shù)完成對信號

27、X在尺度N上的二維分解,N是嚴格的正整數(shù)。返回參數(shù)為分解結(jié)構C,S,其中,C為C=A(N)IH(N)IV(N)ID(N)I.H(N-l)IV(N-l)ID(N-l)I.H(1)IV(l)ID(l)向量A為低頻系數(shù),向量H為水平高頻系數(shù),向量V為垂直高頻系數(shù),向量D為斜線高頻系數(shù)。每個向量是以列的方式存儲在矩陣C中。矩陣S為S(l,:)為尺度N的低頻系數(shù)長度S(i,:)為尺度N-i+2的高頻系數(shù)長度,其中,i=2,N+lS(N+2,:)=size(X)習題3.2:用dbl小波對一個圖像進行二維多尺度分解參考:%下面裝載原始圖像,X中含有被裝載的信號loadwoman;%用小波函數(shù)dbl對X進行尺

28、度2的分解c,s=wavedec2(X,2,db1);sizex=size(X)sc=size(c)val_s=sidwt2功能:單尺度逆二維離散小波變換格式:X=idwt2(cA,cH,cV,cD,wname)X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R)X=idwt2(cA,cH,cV,cD,wname,S)X=idwt2(cA,cH,cV,cD,Lo_R,Hi_R,S)說明:該函數(shù)用于單尺度二維離散小波變換的重構,它通常和dwt2配套使用。返回向量X為單尺度重構后信號的低頻系數(shù)。習題3.3:用db4小波分別對一幅圖像進行分解和重構,并計算重構誤差。參考:%下面裝載原始圖像,

29、X中含有被裝載的信號,map中含有被裝載的colormaploadwoman;sX=size(X);%畫出原始圖像subplot(221);image(X);colormap(map);title(原始圖像);axissquare%用db4小波對X進行單尺度分解cA,cH,cV,cD=dwt2(X,db4);lxtp=2*size(cA);%利用分解系數(shù)進行直接重構A0=idwt2(cA,cH,cV,cD,db4,sX);%畫出重構圖像subplot(222);image(A0);colormap(map);title(重構圖像);axissquare%檢查重構精度A0max=max(max(

30、X-A0)waverec2功能:多尺度二維小波重構格式:X=waverec2(C,S,wname)X=waverec2(C,S,Lo_R,Hi_R)說明:該函數(shù)用指定的小波函數(shù)或重構濾波器在小波分解結(jié)構C,S上對信號進行多尺度二維小波重構,它是wavedec2函數(shù)的逆函數(shù),即有X=waverec2(wavedec2(X,N,wname),wname)習題3.4用sym4小波分別對一幅圖像進行多尺度二維分解和重構,并計算重構誤差。參考:%下面裝載原始圖像,X中含有被裝載的信號,map中含有被裝載的colormaploadwoman;%畫出原始圖像subplot(221);image(X);col

31、ormap(map);title(原始圖像);axissquare%用sym4小波對X進行2尺度小波分解c,s=wavedec2(X,2,sym4);%對小波分解結(jié)構c,s進行重構A0=waverec2(c,s,sym4);%畫出重構圖像subplot(222);image(A0);colormap(map);title(重構圖像);axissquare%檢查重構精度A0max=max(max(X-A0)appcoef2功能:提取二維小波分解低頻系數(shù)格式:A=appcoef2(C,S,wname,N)A=appcoef2(C,S,wname)A=appcoef2(C,S,Lo_R,Hi_R)A

32、=appcoef2(C,S,Lo_R,Hi_R,N)說明:該函數(shù)是一個二維小波分析函數(shù),它主要用于從多尺度二維小波分解的分解結(jié)構C,S中提取二維信號的低頻系數(shù),它常常和wavedec2函數(shù)配套使用。參數(shù)N表示計算尺度N的二維分解低頻系數(shù)。習題3.5用db1小波對一幅圖像進行二維多尺度分解后,提取其低頻系數(shù)。參考:%下面裝載原始圖像,X中含有被裝載的信號,map中含有被裝載的colormaploadwoman;%畫出原始圖像subplot(221);image(X);colormap(map);title(原始圖像);axissquare%尺度為2,小波函數(shù)為db1進行小波分解c,s=waved

33、ec2(X,2,db1);sizex=size(X)sizec=size(c)val_s=s%提取尺度2中的低頻系數(shù)ca2=appcoef2(c,s,db1,2);sizeca2=size(ca2)%畫出尺度2中低頻信號的圖像subplot(222);image(ca2);colormap(map);title(尺度2的低頻圖像);axissquare%提取尺度1中的低頻系數(shù)ca1=appcoef2(c,s,db1,1);sizeca1=size(ca1)%畫出尺度2中低頻信號的圖像subplot(223);image(ca1);colormap(map);title(尺度1的低頻圖像);ax

34、issquaredetcoef2功能:提取二維小波分解高頻系數(shù)格式:D=detcoef2(type,C,S,N)說明:該函數(shù)是一個二維小波分析函數(shù),它與appcoef2函數(shù)相對應,用來從分解結(jié)構C,S中提取二維小波變換的高頻系數(shù),它常常與wavedec2函數(shù)配套使用。type為提取類型,具體意義如下:type的類型意義h提取水平系數(shù)v提取垂直系數(shù)D提取對角線系數(shù)習題36用dbl小波對一幅圖像進行二維多尺度分解后,提取其三個方向上的高頻系數(shù)。參考:%下面裝載原始圖像,X中含有被裝載的信號,map中含有被裝載的colormaploadwoman;%畫出原始圖像figure(1);subplot(2

35、21);image(X);colormap(map);title(原始圖像);axissquare%尺度為2,小波函數(shù)為dbl進行小波分解c,s=wavedec2(X,2,db1);sizex=size(X)sizec=size(c)val_s=s%從不同的方位從分解結(jié)構c,s中提取尺度2的高頻系數(shù)chd2=detcoef2(h,c,s,2);cvd2=detcoef2(v,c,s,2);cdd2=detcoef2(d,c,s,2);sizecd2=size(chd2)%畫出尺度2中高頻信號的圖像subplot(222);image(chd2);colormap(map);title(尺度2的

36、高頻圖像的水平部分);axissquaresubplot(223);image(cvd2);colormap(map);title(尺度2的高頻圖像的垂直部分);axissquaresubplot(224);image(cdd2);colormap(map);title(尺度2的高頻圖像的斜線部分);axissquare%從不同的方位從分解結(jié)構c,s中提取尺度1的高頻系數(shù)chd1=detcoef2(h,c,s,1);cvd1=detcoef2(v,c,s,1);cdd1=detcoef2(d,c,s,1);sizecd1=size(chd1)%畫出尺度1中高頻信號的圖像figure(2);su

37、bplot(221);image(X);colormap(map);title(原始圖像);axissquaresubplot(222);image(chd1);colormap(map);title(尺度1的高頻圖像的水平部分);axissquaresubplot(223);image(cvd1);colormap(map);title(尺度1的高頻圖像的垂直部分);axissquaresubplot(224);image(cdd1);colormap(map);title(尺度1的高頻圖像的斜線部分);axissquareupwlev2功能:二維小波分解的單尺度重構格式:NC,NL,cA=

38、upwlev2(C,S,wname)NC,NL,cA=upwlev2(C,S,Lo_R,Hi_R)說明:該函數(shù)用于對小波分解結(jié)構C,S進行單尺度重構,即對分解結(jié)構C,S的第n步進行重構,返回一個新的分解結(jié)構NC,NL(第n-1步的分解結(jié)構),并提取最后一尺度的低頻系數(shù)矩陣。即如果C,S是尺度n的一個分解結(jié)構,則NC,NL就是尺度n-1的一個分解結(jié)構,cA是尺度n的低頻系數(shù)矩陣。C為原始的小波分解向量,S是相應的記錄矩陣。習題3.7用db1小波對一幅圖像進行二維多尺度分解后,試進行單尺度重構。參考:%下面裝載原始圖像,X中含有被裝載的信號,map中含有被裝載的colormaploadwoman;

39、sX=size(X);%尺度為2,小波函數(shù)為db1進行小波分解c,s=wavedec2(X,2,db1);sc=size(c)val_s=s%對小波分解結(jié)果進行一步重構nc,ns=upwlev2(c,s,db1);snc=size(nc)val_ns=nswrcoef2功能:對二維小波系數(shù)進行單支重構格式:X=wrcoef2(type,C,S,wname,N)X=wrcoef2(type,C,S,Lo_R,Hi_R,N)X=wrcoef2(type,C,S,wname)X=wrcoef2(type,C,S,Lo_R,Hi_R)說明:該函數(shù)是對二維信號的分解結(jié)構C,S用指定的小波函數(shù)或重構濾波器

40、進行重構。當type=a時,指對信號的低頻部分進行重構,當type=h(或v、d)時,指對信號水平(或垂直、對角線)的高頻部分進行重構。習題38用sym5小波對一幅圖像進行二維2尺度分解后,分別獲得其每個尺度上的低頻、高頻重構圖像。參考:%下面裝載原始圖像,X中含有被裝載的信號,map中含有被裝載的colormaploadwoman;%畫出原始圖像subplot(221);image(X);colormap(map);title(原始圖像);axissquare%用小波函數(shù)sym5對X進行尺度2的分解c,s=wavedec2(X,2,sym5);%對小波分解結(jié)構c,s的低頻系數(shù)進行尺度1和尺度

41、2上的重構a1=wrcoef2(a,c,s,sym5,1);a2=wrcoef2(a,c,s,sym5,2);%畫出尺度1的低頻圖像subplot(222);image(a1);colormap(map);title(尺度1的低頻圖像);axissquaresubplot(223);image(a2);colormap(map);title(尺度2的低頻圖像);axissquare%對小波分解結(jié)構c,s的高頻系數(shù)分別進行尺度2上的重構hd2=wrcoef2(h,c,s,sym5,2);vd2=wrcoef2(v,c,s,sym5,2);dd2=wrcoef2(d,c,s,sym5,2);%畫出

42、尺度2的水平高頻圖像subplot(224);image(hd2);colormap(map);title(尺度2水平高頻圖像);axissquare%檢查重構圖形的大小sX=size(X)%原始圖像sal=size(al)%低頻重構圖像shd2=size(hd2)%高頻重構圖像upcoef2功能:二維小波分解的直接重構格式:Y=upcoef2(type,X,wname,N,S)Y=upcoef2(type,X,Lo_R,Hi_R,N,S)Y=upcoef2(type,X,wname,N)Y=upcoef2(type,X,Lo_R,Hi_R,N)Y=upcoef2(type,X,wname)Y

43、=upcoef2(type,X,Lo_R,Hi_R)說明:該函數(shù)是用于二維小波分析的函數(shù),它是對第N層的小波分解系數(shù)進行重構,N是嚴格的正整數(shù)。如果type=a,則是對低頻系數(shù)進行重構,如果type=h(或v、d),則是對水平方向(或垂直方向,對角線方向)的高頻系數(shù)進行重構。習題39用db4小波對一幅圖像進行二維2尺度分解后,在不同方向上獲得其重構圖像。參考:%下面裝載原始圖像,X中含有被裝載的信號,map中含有被裝載的colormaploadwoman;sX=size(X);%畫出原始圖像figure(1);subplot(221);image(X);colormap(map);title(

44、原始圖像);axissquare%用小波函數(shù)db4對X進行尺度2的分解c,s=wavedec2(X,2,db4);siz=s(size(s,1),:);%提取低頻部分系數(shù)并進行重構ca1=appcoef2(c,s,db4,1,siz);a1=upcoef2(a,ca1,db4,1,siz);%畫出低頻重構圖figure(2);subplot(221);image(a1);colormap(map);title(尺度1的低頻系數(shù)重構圖);axissquare%提取高頻水平部分系數(shù)并進行重構chd1=detcoef2(h,c,s,1);hd1=upcoef2(h,chd1,db4,1,siz);%

45、畫出高頻水平部分重構圖subplot(222);image(hd1);colormap(map);title(尺度1的高頻水平重構圖);axissquare%提取高頻垂直部分系數(shù)并進行重構cvd1=detcoef2(v,c,s,1);vd1=upcoef2(v,cvd1,db4,1,siz);%畫出高頻垂直部分重構圖subplot(223);image(vd1);colormap(map);title(尺度1的高頻垂直重構圖);axissquare%提取高頻斜線部分系數(shù)并進行重構cdd1=detcoef2(d,c,s,1);dd1=upcoef2(d,cdd1,db4,1,siz);%畫出高頻

46、斜線部分重構圖subplot(224);image(dd1);colormap(map);title(尺度1的高頻斜線重構圖);axissquare4小波分析在信號壓縮中的應用試驗目的:進一步加深對小波分析進行信號壓縮的理解學習Matlab中有關信號壓縮的相關函數(shù)的用法。相關知識復習:用一個給定的小波基對信號進行壓縮后,它意味著信號在小波閾的表示相對缺少了一些信息。之所以能對信號進行壓縮,是因為對于規(guī)則的信號,可以用很少的低頻系數(shù)(在一個合適的小波層上)和一部分高頻系數(shù)來近似表示。利用小波變換對信號進行壓縮分為以下幾個步驟來完成:進行信號的小波分解;將高頻系數(shù)進行閾值量化處理。對從1到N的每一

47、層高頻系數(shù),都可以選擇不同的閾值,并且用硬閾值進行系數(shù)的量化;對量化后的系數(shù)進行小波重構。用小波分析進行信號消噪或壓縮的相關函數(shù)ddencmp功能:獲取在消噪或壓縮過程中的默認閾值(軟和硬)、熵標準格式:THR,SORH,KEEPAPPCRIT=ddencmp(IN1,IN2,X)THR,SORH,KEEPAPP=ddencmp(IN1,wv,X)THR,SORH,KEEPAPPCRIT=ddencmp(IN1,wv,X)說明:該函數(shù)是一個獲取在消噪或壓縮過程中的默認閾值的函數(shù),即在運用小波或小波包進行一維或二維信號的消噪或壓縮時,它可以給出默認閾值。X為一維(向量)或二維(矩陣)信號;IN1

48、是消噪與壓縮的選擇,den表示消噪,cmp表示壓縮;IN2是小波與小波包的選擇,wv表示小波,wp表示小波包;THR為返回的閾值;SORH為軟閾值和硬閾值選擇參數(shù);KEEPAPP保存低頻信號;CRIT(只在小波包分析時使用)是熵名。wdencmp功能:用小波進行信號的消噪或壓縮格式:XC,CXC,LXC,PERF0,PERFL2=wdencmp(gbl,X,wname,N,THR,SORH,KEEPAPP)XC,CXC,LXC,PERF0,PERFL2=wdencmp(lvd,X,wname,N,THR,SORH)XC,CXC,LXC,PERF0,PERFL2=wdencmp(lvd,C,L,

49、wname,N,THR,SORH)說明:該函數(shù)是一個一維或二維消噪或壓縮函數(shù)。它用小波對信號或圖像進行消噪或壓縮。格式一對輸入信號X(一維或二維)進行消噪或壓縮后返回XC(消噪或壓縮后的結(jié)果),wname指定所用的小波函數(shù),gbl表示各層都是用同一個閾值處理。lvd(level-dependent)表示每層必須都要有一個閾值,故對于一維信號的情況,閾值向量THR的長度為N;對于二維信號的情況,THR必須是一個矩陣,它含有三個方向(水平、斜向、垂直)的獨立閾值,且長度為N。CXC,LXC為XC的小波分解結(jié)構(可參見wavedec或wavedec2)。N表示小波分解的層數(shù),wname是一個包含小波

50、名的字符串,SORH(s或h)是軟閾值或硬閾值的選擇。如果KEEPAPP=1,則低頻系數(shù)不進行閾值量化(即系數(shù)不會受到改變),反之,低頻系數(shù)要進行閾值量化(即系數(shù)會受到改變)。PERF0和PERFL2是恢復和壓縮的L2范數(shù)百分比。如果C,L是X的小波分解結(jié)構,則PERFL2=100*(CXC向量的范數(shù)/C向量的范數(shù))2;如果X是一個一維信號,小波wname是一個正交小波,則100IIXC|2PERFL2IIXII2格式三具有與一、二格式一樣的輸出參數(shù)和輸入選擇項,只不過它是直接從小波分解結(jié)構C,L中進行信號的消噪與壓縮處理。一維小波分析進行信號壓縮功能:一維連續(xù)小波變換格式:THR,SORH,

51、KEEPAPPCRIT=ddencmp(IN1,IN2,X)THR,SORH,KEEPAPP=ddencmp(IN1,wv,X)THR,SORH,KEEPAPPCRIT=ddencmp(IN1,wv,X)說明:該函數(shù)是一個獲取在消噪或壓縮過程中的默認閾值的函數(shù),即在運用小波或小波包進行一維或二維信號的消噪或壓縮時,它可以給出默認閾值。X為一維(向量)或二維(矩陣)信號;IN1是消噪與壓縮的選擇,den表示消噪,cmp表示壓縮;IN2是小波與小波包的選擇,wv表示小波,wp表示小波包;THR為返回的閾值;SORH為軟閾值和硬閾值選擇參數(shù);KEEPAPP保存低頻信號;CRIT(只在小波包分析時使用

52、)是熵名。習題4.1對于某一給定的信號(信號的文件名為leleccum.mat),利用小波分析對信號進行壓縮處理。loadleleccum%將信號裝入Matlab工作環(huán)境%設置變量名s和ls,在原始信號中,只取2600-3100個點s=leleccum(2600:3100);ls=length(s);%用db3對信號進行3級小波分解c,l=wavedec(s,3,db3);%選用全局閾值進行信號壓縮thr=35;xd,cxd,lxd,perf0,perfl2=wdencmp(gbl,c,l,db3,3,thr,h,1);subplot(2,1,1);plot(s);title(原是信號s);s

53、ubplot(2,1,2);plot(xd);title(壓縮后的信號xd);二維小波分析用于圖像壓縮一個圖像經(jīng)過小波分解以后,可得到一系列不同分辨率的子圖像,不同分辨率的子圖像對應的頻率是不同的。高分辨率(即高頻)子圖像上大部分的數(shù)值都接近于0,越是高頻這種現(xiàn)象越明顯。對一個圖像來說,表現(xiàn)一個圖像最主要的部分是低頻部分,所以一個最簡單的壓縮方法就是利用小波分解,去掉圖像的高頻部分而只保留低頻部分。習題4.2給出一個圖像(即一個二維信號,文件名為wbarb.mat),請利用二維小波分析對圖像進行壓縮。clear%清除Matlab工作環(huán)境中現(xiàn)有的變量loadwbarb;%顯示圖像subplot(

54、221);image(X);colormap(map);title(原始圖像);axissquare;disp(壓縮前圖像X的大小)whos(X)%=%對圖像用bior3.7小波進行2層小波分解c,s=wavedec2(X,2,bior3.7);%提取小波分解結(jié)構中第1層的低頻系數(shù)和高頻系數(shù)ca1=appcoef2(c,s,bior3.7,1);ch1=detcoef2(h,c,s,1);%小波分解結(jié)構中第1層的水平方向高頻系數(shù)cv1=detcoef2(v,c,s,1);%小波分解結(jié)構中第1層的垂直方向高頻系數(shù)cd1=detcoef2(d,c,s,1);%小波分解結(jié)構中第1層的斜線方向高頻系數(shù)

55、%分別對小波分解結(jié)構中第1層的各頻率成份進行重構a1=wrcoef2(a,c,s,bior3.7,1);h1=wrcoef2(h,c,s,bior3.7,1);v1=wrcoef2(v,c,s,bior3.7,1);d1=wrcoef2(d,c,s,bior3.7,1);c1=a1,h1;v1,d1;%顯示分解后各頻率成分的信息subplot(222);image(c1);axissquaretitle(分解后低頻和高頻信息);%=%下面進行圖像的壓縮處理%保留小波分解結(jié)構中第1層的低頻信息,進行圖像壓縮%第1層的低頻信息為cal,顯示第1層的低頻信息%首先對第1層信息進行量化編碼ca1=wc

56、odemat(ca1,440,mat,0);%改變圖像的亮度ca1=0.5*ca1;subplot(223);image(ca1);colormap(map);axissquare;title(第一次壓縮圖像);disp(第一次壓縮圖像的大小為:)whos(ca1)%=%保留小波分解第二層低頻信息,進行圖像的壓縮,此時壓縮比更大%第2層的低頻信息即為ca2,顯示第2層的低頻信息ca2=appcoef2(c,s,bior3.7,2);%首先對第2層低頻信息進行量化編碼ca2=wcodemat(ca2,440,mat,0);%改變圖像的亮度ca2=0.25*ca2;subplot(224);ima

57、ge(ca2);colormap(map);axissquare;title(第2次壓縮圖像);disp(第2次壓縮圖像的大小為:);whos(ca2)上面的保留原始圖像中低頻信息的壓縮辦法只是一種最簡單的壓縮辦法。它不需經(jīng)過其他處理即可獲得較好的壓縮效果。當然,對于上面的例子我們還可以只提取小波分解的第三、第四層的低頻信息。從理論上說,我們可以獲得任意壓縮比的壓縮圖像。只不過在對壓縮比和圖像質(zhì)量都有較高要求時,它就不如其他編碼方法了。習題4.3給出一個輪胎圖像(文件名為tire.mat),請利用wdencmp函數(shù)對圖像進行壓縮。clear;%裝入圖形信號loadtire;%顯示圖像subpl

58、ot(221);image(X);colormap(map);title(原始圖像);disp(壓縮前圖像的大小);whos(X);axissquare;%對圖像進行壓縮%對圖像用db3小波進行五層小波分解c,s=wavedec2(X,5,db3);thr,sorh,keepapp=ddencmp(cmp,wv,X);Xcomp,cxc,lxc,perf0,perfl2=wdencmp(gbl,c,s,db3,2,thr,sorh,keepapp);%將壓縮后的圖像于原始圖像相比較subplot(222);image(Xcomp);colormap(map);title(壓縮后的圖像);dis

59、p(壓縮后圖像的大小);whos(Xcomp)%顯示有關參數(shù)disp(小波分解系數(shù)中值為0的系數(shù)個數(shù)百分比);disp(perf0);disp(壓縮后剩余能量百分比);disp(perfl2);5小波分析在信號奇異性檢測中的應用試驗目的:通過例子學習小波分析在一維信號奇異性檢測中的應用。相關知識復習:首先給出過零點,模極大值點,極大曲線的相關定義。QW(ab)定義1:在某一尺度a0下,如果存在一點(a0,b0)使得Wf(a0b0)=0,貝I稱000QbQW(a,b)點(a0,b0)是局部極值點,且一f(00)=0在b=b0上有一過零點。如果對“的某0000Qb一領域內(nèi)的任意點b,有IWf(a0

60、,b)lWIWf(a0,b0)l,則稱(a,b)為小波變換的模極大值點。尺度位置空間(a,b)中所有的模極大值點的連線稱為極大曲線。通常,用Lipschitz指數(shù)來描述函數(shù)的局部奇異性,下面給出Lipschitz指數(shù)的定義。定義2:設n是一非負整數(shù),nvaWn+1,如果存在著兩個常數(shù)A和h,及n次多0項式P(h),使得對任意的hh,均有n0If(x0+h)-Pn(h)l0,使得任意ava。,tu(c,d),|Wf(a,b)丨沒有局部極大值點,則在區(qū)間(c+,d-)上是一致Lipschitza。定義2:設n是一非負整數(shù),nvaWn+1,如果存在著兩個常數(shù)A和h,及n次多0項式P(h),使得對任意

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論