




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章MATLAB小波工具箱簡(jiǎn)介2.1MATLAB小波工具箱的小波分析函數(shù) 2.2自定義小波函數(shù)
2.3面向?qū)ο笤O(shè)計(jì)方法2.1MATLAB小波工具箱的小波分析函數(shù)1.小波工具箱圖形用戶接口函數(shù)小波工具箱提供了兩種進(jìn)行信號(hào)分析的方法,一種是使用命令行方式,另外一種就是使用小波工具箱圖形用戶接口方式。在圖形用戶接口方式下,用戶無(wú)需編寫任何程序,只要通過(guò)菜單操作和各種參數(shù)的選擇就可對(duì)信號(hào)進(jìn)行小波分析。在命令行窗口中輸入wavemenu,即可進(jìn)入小波工具箱圖形用戶接口界面。表2-1列舉了小波工具箱圖形用戶接口函數(shù)。表2-1小波工具箱圖形用戶接口函數(shù)
2.通用小波變換函數(shù)
MATLAB小波工具箱提供的通用小波變換函數(shù)如表2-2所示。用戶可以利用這些函數(shù)實(shí)現(xiàn)計(jì)算與小波相關(guān)的濾波器組、進(jìn)行信號(hào)的插值和采樣、計(jì)算小波函數(shù)和尺度函數(shù)以及小波管理等功能。表2-2通用小波變換函數(shù)
3.小波函數(shù)
MATLAB小波工具箱提供的小波變換函數(shù)如表2-3所示,它們主要用于產(chǎn)生一些基本的小波函數(shù)及其相應(yīng)的濾波器。表2-3小波變換函數(shù)
4.一維連續(xù)小波變換函數(shù)
MATLAB中的一維連續(xù)小波變換函數(shù)如表2-4所示。用戶可以利用它們由某一模式構(gòu)造用于連續(xù)小波變換的小波函數(shù),還可以進(jìn)行一維連續(xù)實(shí)小波或復(fù)小波變換。表2-4一維連續(xù)小波變換函數(shù)
5.一維離散小波變換函數(shù)
MATLAB小波工具箱提供的一維離散小波變換函數(shù)如表2-5所示。利用這些函數(shù),用戶可以進(jìn)行一維小波單尺度和多尺度分解,提取多尺度小波變換系數(shù),進(jìn)行小波重構(gòu)等。表2-5一維離散小波變換函數(shù)
6.二維離散小波變換函數(shù)
MATLAB小波工具箱提供的二維離散小波變換函數(shù)如表2-6所示。利用這些函數(shù)用戶實(shí)現(xiàn)二維小波單尺度和多尺度分解、提取多尺度小波變換系數(shù)、小波重構(gòu)、計(jì)算小波分解的能量等功能。表2-6二維離散小波變換函數(shù)
7.小波包變換函數(shù)
MATLAB小波工具箱提供的小波包變換函數(shù)如表2-7所示。用戶可以利用這些函數(shù)實(shí)現(xiàn)一維小波包分解、二維小波包分解、提取小波包分解結(jié)點(diǎn)系數(shù)、小波包重構(gòu)、小波包樹(shù)結(jié)構(gòu)結(jié)點(diǎn)的組合和分割等功能。表2-7小波包變換函數(shù)
8.離散平穩(wěn)小波變換函數(shù)
MATLAB中提供的離散平穩(wěn)小波變換函數(shù)如表2-8所示,通過(guò)離散平穩(wěn)小波變換可以獲得小波變換的平移不變性。這些函數(shù)用于進(jìn)行一維離散平穩(wěn)小波變換及逆變換、二維離散平穩(wěn)小波變換及逆變換。表2-8離散平穩(wěn)小波變換函數(shù)
9.提升小波變換函數(shù)
MATLAB中提供的提升小波變換函數(shù)如表2-9所示。利用這些函數(shù)可以實(shí)現(xiàn)一維提升小波變換及逆變換、二維提升小波變換及逆變換、一維提升小波變換系數(shù)的提取或重構(gòu)、二維提升小波變換系數(shù)的提取或重構(gòu)、轉(zhuǎn)化提升方案為濾波器組、添加提升步驟到提升方案中、將濾波器組轉(zhuǎn)化為提升方案等功能。表2-9提升小波變換函數(shù)
10.?Laurent多項(xiàng)式函數(shù)如表2-10所示,MATLAB小波工具箱提供了一個(gè)用于構(gòu)造類Laurent多項(xiàng)式的函數(shù)laurpoly。表2-10Laurent多項(xiàng)式函數(shù)
11.?Laurent矩陣函數(shù)如表2-11所示,MATLAB小波工具箱提供了一個(gè)用于構(gòu)造類Laurent多項(xiàng)式的函數(shù)laurmat。表2-11Laurent矩陣函數(shù)
12.信號(hào)/圖像的壓縮和去噪函數(shù)
MATLAB小波工具箱提供的信號(hào)/圖像的壓縮和去噪函數(shù)如表2-12所示。利用這些函數(shù)用戶可以獲取一維小波去噪或壓縮的閾值、獲取二維小波去噪或壓縮的閾值、獲取小波包去噪的閾值、使用小波進(jìn)行信號(hào)的壓縮或去噪、使用小波包進(jìn)行信號(hào)的壓縮獲取或去噪、產(chǎn)生含噪聲的小波測(cè)試數(shù)據(jù)等。表2-12信號(hào)/圖像的壓縮和去噪函數(shù)
13.一維多信號(hào)小波分析函數(shù)在MATLABR2008中新增加了一組一維多信號(hào)小波分析函數(shù),提供了多個(gè)信號(hào)的一維小波分析能力,如表2-13所示。表2-13一維多信號(hào)小波分析函數(shù)
14.其他的小波應(yīng)用函數(shù)如表2-14所示,MATLAB小波工具箱還提供了其他一些小波函數(shù),利用它們可以合成布朗運(yùn)動(dòng)、進(jìn)行局部布朗運(yùn)動(dòng)的參數(shù)估計(jì)、融合圖像以及融合矩陣或數(shù)據(jù)。
表2-14其他的小波應(yīng)用函數(shù)
15.樹(shù)管理函數(shù)
MATLAB工具箱還提供了一些用于小波包分解樹(shù)管理的函數(shù),如表2-15所示。利用這些函數(shù)進(jìn)行小波包分解樹(shù)結(jié)構(gòu)操作,如計(jì)算終結(jié)點(diǎn)、計(jì)算上溯結(jié)點(diǎn)、計(jì)算下溯結(jié)點(diǎn)、計(jì)算樹(shù)的深度、構(gòu)造類DTREE等。表2-15樹(shù)?管?理?函?數(shù)
16.通用和示例函數(shù)如表2-16所示,MATLAB還提供了一些通用函數(shù)和示例函數(shù)。表2-16通用和示例函數(shù)2.2自定義小波函數(shù)2.2.1準(zhǔn)備添加一個(gè)新的小波函數(shù)通過(guò)使用wavemngr函數(shù)用戶可以添加新的小波函數(shù)和小波函數(shù)族。需要注意的是,用戶在使用wavemngr命令添加一個(gè)新的小波函數(shù)之前,必須進(jìn)行如下工作:
(1)選擇一個(gè)小波函數(shù)的全稱名(fullname)。
(2)選擇一個(gè)小波函數(shù)的縮寫名(shortname)。
(3)選擇一個(gè)小波的類型(wt)。
(4)定義小波系列的序列號(hào)(nums)。
(5)新建一個(gè)MAT文件或M文件。
(6)對(duì)于沒(méi)有有限沖擊響應(yīng)濾波器的小波函數(shù),定義有效支撐集。下面將對(duì)這些步驟進(jìn)行詳細(xì)討論。
1.選擇小波函數(shù)的全稱名小波函數(shù)的全稱名必須是一個(gè)字符串。小波工具箱中已經(jīng)定義的小波全稱名有:Haar、Daubechies、Symlets、Coiflets、BiorSplines、ReverseBior、Meyer、Dmeyer、Gaussian、Mexican_hat、Morlet、ComplexGaussian、Shannon、FrequencyB-Spline以及ComplexMorlet。
2.選擇小波函數(shù)的縮寫名小波函數(shù)的縮寫名的字符個(gè)數(shù)必須小于或等于4。小波工具箱中已經(jīng)定義的小波縮寫名有:haar、db、sym、coif、bior、rbio、meyr、dmey、gaus、mexh、morl、cgau、fbsp以及cmor。
3.選擇小波的類型小波的類型主要有以下五種:
(1)具有有限沖激響應(yīng)濾波器的正交小波。這種類型的小波可以通過(guò)尺度濾波器w定義。小波工具箱中已經(jīng)定義的此種類型的小波有Haar、Daubechies、Coiflets以及Symlets。
(2)具有有限沖激響應(yīng)濾波器的雙正交小波。這種類型的小波可以通過(guò)兩個(gè)尺度濾波器wr和wd定義。BiorSplines小波是已經(jīng)定義的此種類型的小波。
(3)不具有有限沖激響應(yīng)濾波器,但有尺度方程的正交小波。這種類型的小波可以通過(guò)定義尺度方程和小波方程來(lái)進(jìn)行定義。Meyer小波是小波工具箱中已經(jīng)定義的此種類型的小波。
(4)不具有有限沖激響應(yīng)濾波器和尺度方程的小波。這種類型的小波可以通過(guò)定義小波方程來(lái)進(jìn)行定義。小波工具箱中已經(jīng)定義的此種類型小波包括Morlet和Mexican_hat。
(5)具有有限沖激響應(yīng)濾波器和尺度方程的復(fù)小波。這種類型的小波可以通過(guò)定義小波方程來(lái)進(jìn)行定義。小波工具箱中已經(jīng)定義的此種類型小波包括ComplexGaussian和Shannon。
4.定義小波系列的序列號(hào)如果存在一個(gè)小波函數(shù)系,則縮寫名和序列號(hào)一起構(gòu)成一個(gè)小波函數(shù)名。參數(shù)nums是包含序列號(hào)的字符串,?序列號(hào)之間用空格隔開(kāi)。對(duì)于單小波的序列(如Haar、Meyer和Morlet),沒(méi)有這個(gè)參數(shù)。例如,對(duì)于第一Daubechies小波,fsn='db',nums='123',因此它可以產(chǎn)生三個(gè)小波函數(shù)db1、db2和db3。對(duì)第一BiorSplines小波,fsn='bior',nums='1.11.31.52.2',因此它可以產(chǎn)生四個(gè)小波函數(shù)bior1.1、bior1.3、bior1.5和bior2.2。
5.新建一個(gè)MAT文件或M文件
1)第1類小波(具有有限沖擊響應(yīng)濾波器的正交小波)
M文件的第一行的語(yǔ)法結(jié)構(gòu)是:
functionw=file(wname)其中,輸入?yún)?shù)wname是小波函數(shù)名,輸出參數(shù)w是相應(yīng)的尺度濾波器。尺度濾波器w必須為偶數(shù)長(zhǎng),如果不是,則工具箱將自動(dòng)補(bǔ)0,將其變?yōu)榕紨?shù)長(zhǎng)。在工具箱提供的小波函數(shù)中,尺度濾波器的和為1。對(duì)于一個(gè)新的小波函數(shù)(尺度濾波器的數(shù)值為0除外),用戶可以不進(jìn)行標(biāo)準(zhǔn)化,因?yàn)楣ぞ呦鋾?huì)自動(dòng)對(duì)其標(biāo)準(zhǔn)化并使用標(biāo)準(zhǔn)化的版本。已經(jīng)定義的這種類型的M文件有Daubechies小波的dbwavf.m,Coiflets小波的coifwavf.m以及Symlets小波的symwavf.m。
2)第2類小波(具有有限沖擊響應(yīng)濾波器的雙正交小波)
M文件的第一行的語(yǔ)法結(jié)構(gòu)是:
function[wr,wd]=file(wname)其中,輸入?yún)?shù)wname是小波函數(shù)名,輸出參數(shù)wr和wd分別是相應(yīng)的重構(gòu)尺度濾波器和分解尺度濾波器。尺度濾波器wr和wd都必須是偶數(shù)長(zhǎng)。一般來(lái)說(shuō),初始的雙正交濾波器并不滿足這個(gè)要求,因此工具箱會(huì)對(duì)它們進(jìn)行補(bǔ)0。在工具箱提供的小波函數(shù)中,尺度濾波器的和為1。對(duì)于一個(gè)新的小波函數(shù)(尺度濾波器的數(shù)值為0除外),用戶可以不進(jìn)行標(biāo)準(zhǔn)化,因?yàn)楣ぞ呦鋾?huì)自動(dòng)對(duì)其標(biāo)準(zhǔn)化并使用標(biāo)準(zhǔn)化的版本。
BiorSplines小波的biorwavf.m是小波工具箱中已經(jīng)定義的這種類型的M文件。
3)第3類小波(具有尺度方程的正交小波)
M文件的第一行的語(yǔ)法結(jié)構(gòu)是:
function[phi,psi,t]=file(lb,ub,n,wname)函數(shù)返回的是在n點(diǎn)的支撐長(zhǎng)度[lbub]上的尺度方程phi和小波方程psi在t處的值。參數(shù)wname是可選的。
meyer.m是小波工具箱中已經(jīng)定義的這種類型的M文件。
4)第4類小波(不具有有限沖激響應(yīng)的尺度濾波器)或第5類小波(不具有尺度方程)
M文件的第一行的語(yǔ)法結(jié)構(gòu)是:
function[psi,t]=file(lb,ub,n,wname)或
function[psi,t]=file(lb,ub,n,wname,"additionalarguments")函數(shù)返回的是在n點(diǎn)的支撐長(zhǎng)度[lbub]上的小波方程psi在t處的值。
6.定義有效支撐集有效支撐集的定義僅對(duì)第3、4、5類小波需要,因?yàn)樗鼈儾痪哂芯o支性。定義有效支撐集就是定義一個(gè)上界和下界。對(duì)于已有的小波函數(shù),其有效支撐長(zhǎng)度的定義如表2-17所示。表2-17小波函數(shù)系的有效支撐長(zhǎng)度2.2.2添加一個(gè)新的小波函數(shù)用戶可以使用wavemngr函數(shù)添加一個(gè)新的小波函數(shù)。wavemngr函數(shù)的調(diào)用格式主要有以下兩種:
(1)?wavemngr('add',fn,fsn,wt,nums,file)
(2)?wavemngr('add',fn,fsn,wt,nums,file,b)下面舉例對(duì)wavemngr函數(shù)的用法進(jìn)行詳細(xì)介紹。本例中關(guān)于新的小波函數(shù)的有關(guān)參數(shù)定義如下所示?!裥〔ê瘮?shù)系的全稱名:Ndaubechies;●小波函數(shù)系的縮寫名:ndb;●小波類型:1(具有有限沖擊響應(yīng)濾波器的正交小波);●小波函數(shù)系中的序列號(hào):12345;●新建的用于產(chǎn)生濾波器的M文件:ndbwavf.m。程序代碼如下所示:
%列舉初始的小波函數(shù)系
wavemngr('read')
%添加新的雙正交小波
wavemngr('add','Ndaubechies','ndb',1,'12345','ndbwavf');
%列舉所有的小波
wavemngr('read',1)程序運(yùn)行結(jié)果如下所示:
ans=
===================================
Haar haar
Daubechies db
Symlets sym
Coiflets coif
BiorSplines bior
ReverseBior rbio
Meyer meyrDMeyer dmeyGaussian gausMexican_hat mexhMorlet morlComplexGaussian cgauShannon shanFrequencyB-Spline fbspComplexMorlet cmor===================================ans====================================Haar haar===================================Daubechies db------------------------------db1 db2 db3 db4 db5 db6 db7 db8 db9 db10 db** ===================================Symlets sym------------------------------sym2 sym3 sym4 sym5 sym6 sym7 sym8 sym** ===================================Coiflets coif------------------------------coif1 coif2 coif3 coif4 coif5 ===================================BiorSplines bior------------------------------bior1.1 bior1.3 bior1.5 bior2.2 bior2.4 bior2.6 bior2.8 bior3.1 bior3.3 bior3.5 bior3.7 bior3.9 bior4.4 bior5.5 bior6.8 ===================================ReverseBior rbio------------------------------rbio1.1 rbio1.3 rbio1.5 rbio2.2 rbio2.4 rbio2.6 rbio2.8 rbio3.1 rbio3.3 rbio3.5 rbio3.7 rbio3.9 rbio4.4 rbio5.5 rbio6.8 ===================================Meyer meyr===================================DMeyer dmey===================================Gaussian gaus------------------------------gaus1 gaus2 gaus3 gaus4 gaus5 gaus6gaus7 gaus8 gaus** ===================================Mexican_hat mexh===================================Morlet morl===================================ComplexGaussian cgau------------------------------cgau1 cgau2 cgau3 cgau4 cgau5 cgau** ===================================Shannon shan------------------------------shan1-1.5 shan1-1 shan1-0.5 shan1-0.1 shan2-3 shan** ===================================FrequencyB-Spline fbsp------------------------------fbsp1-1-1.5 fbsp1-1-1 fbsp1-1-0.5fbsp2-1-1 fbsp2-1-0.5 fbsp2-1-0.1 fbsp** ===================================ComplexMorlet cmor------------------------------cmor1-1.5 cmor1-1 cmor1-0.5 cmor1-1 cmor1-0.5 cmor1-0.1 cmor** ===================================Ndaubechies ndb------------------------------ndb1 ndb2 ndb3 ndb4 ndb5 ===================================從上面的結(jié)果可以看出,用戶已經(jīng)向系統(tǒng)中添加了一個(gè)Ndaubechies小波函數(shù)系。用戶需要注意的是,MATLAB并不對(duì)新小波的數(shù)學(xué)特性進(jìn)行檢查,這些需要用戶自己來(lái)完成。2.2.3使用新的小波函數(shù)當(dāng)使用wavemngr函數(shù)添加了一個(gè)新小波后,MATLAB會(huì)自動(dòng)在當(dāng)前目錄生成三個(gè)文件:兩個(gè)ASCII文件(wavelets.asc和wavelets.prv),以及一個(gè)MAT文件(wavelets.inf)。此時(shí),用戶還不能在小波工具箱中使用添加的新小波函數(shù)。用戶按照下面的5個(gè)步驟進(jìn)行設(shè)置后,即可以使用新的小波函數(shù)。
(1)創(chuàng)建一個(gè)新的目錄以存放自己的小波函數(shù)的系列;
(2)將上面提到的三個(gè)文件存放在該目錄下;
(3)將這個(gè)新建的目錄放入MATLAB的搜索路徑中(具體方法參見(jiàn)MATLAB的path函數(shù));
(4)如果需要修改小波函數(shù)系,最好在同一個(gè)目錄中進(jìn)行。如果將每次生成的小波函數(shù)系放在不同的目錄中,可能會(huì)產(chǎn)生不可預(yù)料的結(jié)果;
(5)定義一個(gè)名為<fsn>info.m的M文件。完成以上步驟后,當(dāng)用戶在小波工具箱中的圖形用戶接口中單擊按鈕時(shí),這個(gè)文件就會(huì)自動(dòng)出現(xiàn)在顯示框中,并顯示出這個(gè)新建的小波函數(shù)系列。下面將以上一節(jié)添加的新小波函數(shù)為例,說(shuō)明如何使用新的小波函數(shù),具體操作步驟如下:
(1)創(chuàng)建一個(gè)新的目錄D:\wavelet。
(2)將wavelets.asc、wavelets.prv以及wavelets.inf文件放入目錄D:\wavelet中。
(3)在MATLAB主菜單File中選擇SetPath選項(xiàng),如圖2.1所示,將目錄D:\wavelet加入到MATLAB的搜索路徑中。
(4)在目錄D:\wavelet中新建一個(gè)文件ndbinfo.m,文件的第一行要求為functionw=file(wname)。圖2.1SetPath選項(xiàng)在完成上述設(shè)置后,在MATLAB的命令行中輸入wavenemu,打開(kāi)MATLAB圖形用戶接口,單擊按鈕,在打開(kāi)的窗口中右側(cè)即可看到小波函數(shù)ndb,如圖2.2所示。圖2.2小波函數(shù)ndb2.3面向?qū)ο笤O(shè)計(jì)方法2.3.1小波工具箱中的主要對(duì)象小波工具箱中定義了四類對(duì)象,它們之間的層次關(guān)系如圖2.3所示。只有小波包分析函數(shù)使用這些對(duì)象。更準(zhǔn)確地說(shuō),在小波工具箱中使用WPTREE對(duì)象來(lái)產(chǎn)生小波包。圖2.3對(duì)象類1.?WTBO對(duì)象WTBO類是一個(gè)抽象類,小波工具箱中的任何一個(gè)類都是WTBO類的子類。WTBO對(duì)象的字段包括:●?wtboInfo:對(duì)象信息(不使用);●?ud:用戶數(shù)據(jù)。WTBO對(duì)象的方法包括:●?wtbo:WTBO類的構(gòu)造函數(shù);●?get:獲得WTBO對(duì)象字段內(nèi)容;●?set:設(shè)置WTBO對(duì)象字段內(nèi)容。
2.?NTREE對(duì)象
NTREE類用來(lái)進(jìn)行樹(shù)操作(節(jié)點(diǎn)標(biāo)志、節(jié)點(diǎn)分解/合成等),它也是一個(gè)抽象類。
NTREE對(duì)象的字段包括:●?wtbo:父對(duì)象;●?order:樹(shù)的叉數(shù);●?depth:樹(shù)的深度;●?spsch:結(jié)點(diǎn)的分割方法;●?tn:終結(jié)點(diǎn)索引的列向量。NTREE對(duì)象的方法包括:●?ntree:類NTREE的構(gòu)造函數(shù);●?findactn:找到激活的結(jié)點(diǎn);●?get:獲得NTREE對(duì)象字段內(nèi)容;●?nodejoin:重組結(jié)點(diǎn);●?nodesplt:分解結(jié)點(diǎn);●?plot:畫NTREE對(duì)象;●?set:設(shè)置NTREE對(duì)象字段內(nèi)容;●?tlabels:樹(shù)結(jié)點(diǎn)的標(biāo)簽;●?wtreemgr:管理NTREE對(duì)象。
3.?DTREE對(duì)象
DTREE對(duì)象用于進(jìn)行與向量或矩陣相關(guān)的處理,它也是一個(gè)抽象類。
DTREE對(duì)象的字段包括:●?ntree:父對(duì)象;●?allNI:所有結(jié)點(diǎn)信息;●?terNI:終結(jié)點(diǎn)信息。DTREE對(duì)象的方法包括:●?dtree:類的構(gòu)造函數(shù);●?expand:擴(kuò)展對(duì)象樹(shù);●?fmdtree:DTREE對(duì)象字段管理;●?nodejoin:重組結(jié)點(diǎn);●?nodesplt:分解結(jié)點(diǎn);●?rnodcoef:結(jié)點(diǎn)系數(shù)重構(gòu);●?defaninf:定義所有結(jié)點(diǎn)信息;●?get:獲得DTREE對(duì)象字段內(nèi)容;●?plot:畫DTREE對(duì)象;●?read:讀取DTREE對(duì)象字段值;●?set:設(shè)置DTREE對(duì)象字段內(nèi)容;●?write:寫DTREE對(duì)象字段值;●?merge:重組某一結(jié)點(diǎn)數(shù)據(jù);●?recons:重組結(jié)點(diǎn)系數(shù);●?split:分解某一終結(jié)點(diǎn)數(shù)據(jù)。
4.?WPTREE對(duì)象
WPTREE類用于管理一維和二維小波包。它重載了DTREE類的一些方法,如split、merge以及recons。不過(guò)WPTREE類的大多數(shù)方法都不是重載得到的,如bestlevt、besttree以及wp2wtree。
WPTREE類的字段包括:●?dtree:父對(duì)象;●?wavInfo:小波結(jié)構(gòu)信息;●?entInfo:熵結(jié)構(gòu)信息。字段wavInfo是一個(gè)復(fù)合結(jié)構(gòu),它包括小波名稱wavName、低通分解濾波器Lo_D、高通分解濾波器Hi_D、低通重構(gòu)濾波器Lo_R和高通重構(gòu)濾波器Hi_R。字段ntInfo也是一個(gè)復(fù)合結(jié)構(gòu),它包括熵名稱entName和熵參數(shù)entPar。
WPTREE類的方法包括:
1)構(gòu)造函數(shù)●?wptree:類WPTREE的構(gòu)造函數(shù)。
2)重載的類DTREE的方法●?defaninf:定義所有結(jié)點(diǎn)信息;●?get:獲得DTREE對(duì)象字段內(nèi)容;●?merge:重組某一結(jié)點(diǎn)的數(shù)據(jù);●?read:讀取WPTREE對(duì)象字段值;●?recons:重構(gòu)小波包系數(shù);●?set:設(shè)置DTREE對(duì)象字段內(nèi)容;●?split:分解某一終結(jié)點(diǎn)數(shù)據(jù);●?tlabels:小波包樹(shù)結(jié)點(diǎn)的標(biāo)簽;●?write:寫WPTREE對(duì)象字段值。3)類WPTREE的方法●?bestlevt:小波包樹(shù)最佳層次;●?besttree:最佳小波包樹(shù);●?entrupd:小波包樹(shù)熵gengxin;●?wp2wtree:從小波包樹(shù)中提取小波樹(shù);●?wpcoef:小波包系數(shù);●?wpcutree:分解小波包樹(shù);●?wpjoin:重組小波包;●?wpplotcf:畫有色的小波包系數(shù);●?wprcoef:重構(gòu)小波包系數(shù);●?wprec:一維小波包重構(gòu);●?wprec2:二維小波包重構(gòu);●?wpsplt:分解小波包;●?wpthcoef:小波包系數(shù)閾值;●?wpviewcf:畫有色的小波包系數(shù)。用戶可以在命令行窗口輸入helpwavelet,在WaveletsPacketsAlgorithms和TreeManagementUtilities這兩部分察看上面的類的方法。在輸入helpwavelet后,WaveletsPacketsAlgorithms和TreeManagementUtilities兩部分的結(jié)果如下所示。WaveletsPacketsAlgorithms.bestlevt -Bestleveltree(waveletpacket).besttree -Besttree(waveletpacket).entrupd -Entropyupdate(waveletpacket).wenergy -Energyforawaveletpacketdecomposition.wentropy -Entropy(waveletpacket).wp2wtree -Extractwavelettreefromwaveletpackettree.wpcoef -Waveletpacketcoefficients.wpcutree -Cutwaveletpackettree.wpdec -Waveletpacketdecomposition1-D.wpdec2 -Waveletpacketdecomposition2-D.wpfun -Waveletpacketfunctions.wpjoin -Recomposewaveletpacket.wprcoef -Reconstructwaveletpacketcoefficients.wprec -Waveletpacketreconstruction1-D.wprec2 -Waveletpacketreconstruction2-D.wpsplt -Split(decompose)waveletpacket.TreeManagementUtilities.allnodes -Treenodes.cfs2wpt -Waveletpackettreeconstructionfromcoefficients.depo2ind -Nodedepth-positiontonodeindex.disp -DisplayinformationofWPTREEobject.drawtree -Drawwaveletpacketdecompositiontree(GUI).dtree -ConstructorfortheclassDTREE.get -Gettreeobjectfieldcontents.ind2depo -Nodeindextonodedepth-position.isnode -Trueforexistingnode.istnode -Determineindicesofterminalnodes.leaves -Determineterminalnodes.nodeasc -Nodeascendants.nodedesc -Nodedescendants.nodejoin -Recomposenode.nodepar -Nodeparent.nodesplt -Split(decompose)node.noleaves -Determinenonterminalnodes.ntnode -Numberofterminalnodes.ntree -ConstructorfortheclassNTREE.plot -Plottreeobject.read -Readvaluesintreeobjectfields.readtree -Readwaveletpacketdecompositiontreefromafigure.set -Settreeobjectfieldcontents.
tnodes -Determineterminalnodes(obsolete-useLEAVES).treedpth -Treedepth.treeord -Treeorder.wptree -ConstructorfortheclassWPTREE.wpviewcf -Plotwaveletpacketscoloredcoefficients.write -Writevaluesintreeobjectfields.wtbo -ConstructorfortheclassWTBO.wtreemgr -NTREEobjectmanager.2.3.2對(duì)象的應(yīng)用用戶可以使用命令行方式、GUI方式或者結(jié)合這兩種方式來(lái)應(yīng)用WPTREE對(duì)象。下面通過(guò)幾個(gè)例子從簡(jiǎn)單到深入進(jìn)行說(shuō)明。
【例2-1】本例將介紹如何畫樹(shù)結(jié)構(gòu)、如何改變樹(shù)結(jié)構(gòu)的標(biāo)簽和行為以及使用函數(shù)wpviewcf畫有色的小波包系數(shù)。程序代碼如下所示:
loadcnoislop;
x=cnoislop;
%對(duì)信號(hào)使用haar小波進(jìn)行層次為2的小波包分解
t=wpdec(x,2,'haar');運(yùn)行結(jié)果如圖2.4所示。將結(jié)點(diǎn)標(biāo)簽從深度-位置改為索引,并單擊結(jié)點(diǎn)3,運(yùn)行結(jié)果如圖2.5所示。圖2.4信號(hào)小波包分解樹(shù)結(jié)構(gòu)
圖2.5改變結(jié)點(diǎn)標(biāo)簽為索引形式并單擊結(jié)點(diǎn)3將結(jié)點(diǎn)行為從顯示改為分解-合成,單擊結(jié)點(diǎn)1,運(yùn)行結(jié)果如圖2.6所示。圖2.6合成結(jié)點(diǎn)1在前面的基礎(chǔ)上添加代碼如下:%重組索引為1的結(jié)點(diǎn)newt=wpjoin(t,1);%在原圖中重新繪制樹(shù)結(jié)構(gòu)plot(newt,fig);運(yùn)行結(jié)果如圖2.7所示。圖2.7重組結(jié)點(diǎn)1在前面的基礎(chǔ)上添加代碼如下:%使用wpviewcf函數(shù)顯示有色的小波包系數(shù)wpviewcf(newt,1)%WPVIEWCF(T,CMODE)畫出樹(shù)T的終結(jié)點(diǎn)的有色的系數(shù)%T是一個(gè)wptree對(duì)象.%CMODE是一個(gè)代表著色模式的整數(shù):
%1:'FRQ:Global+abs'%2:'FRQ:ByLevel+abs'%3:'FRQ:Global'%4:'FRQ:ByLevel'%5:'NAT:Global+abs'%6:'NAT:ByLevel+abs'%7:'NAT:Global'%8:'NAT:ByLevel'運(yùn)行結(jié)果如圖2.8所示。圖2.8終結(jié)點(diǎn)的有色系數(shù)
【例2-2】舉例介紹一個(gè)二維小波包分解結(jié)點(diǎn)操作的例子,通過(guò)修改終結(jié)點(diǎn)的系數(shù),得到一個(gè)有趣的結(jié)果,原圖中的左右位置對(duì)調(diào)了。程序代碼如下所示:
loadwgatlin;
t=wpdec2(X,1,'db2');
plot(t);
%單擊結(jié)點(diǎn)(0,0)結(jié)果如圖2.9所示。圖2.9圖像小波包分解及察看結(jié)點(diǎn)(0,0)在前面的基礎(chǔ)上添加代碼如下:%修改四個(gè)終結(jié)點(diǎn)的系數(shù)newt=t;NBcols=40;fornode=1:4cfs=read(t,'data',node);tmp=cfs(1:end,1:NBcols);
cfs(1:end,1:NBcols)=cfs(1:end,end-NBcols+1:end);cfs(1:end,end-NBcols+1:end)=tmp;
newt=write(newt,'data',node,cfs);endplot(newt)%單擊結(jié)點(diǎn)(0,0)結(jié)果如圖2.10所示。圖2.10修改終結(jié)點(diǎn)系數(shù)后的結(jié)點(diǎn)(0,0)
【例2-3】本例將介紹一個(gè)使用小波包閾值去噪的例子,分別使用全局閾值處理和對(duì)各個(gè)結(jié)點(diǎn)分別進(jìn)行閾值處理得到消噪后的信號(hào)。程序代碼如下:
loadnoismima
x=noismima;
t=wpdec(x,3,'db4');
plot(t);
%單擊結(jié)點(diǎn)(0,0)結(jié)果如圖2.11所示。圖2.11小波包分解及結(jié)點(diǎn)(0,0)在前面的基礎(chǔ)上添加代碼如下:%全局閾值處理t1=t;sorh='h';thr=wthrmngr('wp1ddenoGBL','penalhi',t);cfs=read(t,'data');cfs=wthresh(cfs,sorh,thr);t1=write(t1,'data',cfs);plot(t1)%單擊結(jié)點(diǎn)(0,0)結(jié)果如圖2.12所示。圖2.12全局閾值處理后的結(jié)點(diǎn)(0,0)在前面的基礎(chǔ)上添加代碼如下:%對(duì)各個(gè)結(jié)點(diǎn)分別進(jìn)行閾值處理t2=t;sorh='s';thr(1)=wthrmngr('wp1ddenoGBL','penalhi',t);thr(2)=wthrmngr('wp1ddenoGBL','sqtwologswn',t);tn=leaves(t);fork=1:length(tn)node=tn(k);cfs=read(t,'data',node);numthr=rem(node,2)+1;cfs=wthresh(cfs,sorh,thr(numthr));t2=write(t2,'data',node,cfs);endplot(t2)%單擊結(jié)點(diǎn)(0,0)結(jié)果如圖2.13所示。圖2.13結(jié)點(diǎn)閾值處理后的結(jié)點(diǎn)(0,0)
【例2-4】在這個(gè)例子中將介紹構(gòu)造一個(gè)新的對(duì)象類NewTREE,它重載了其父對(duì)象DTREE的方法Expand、Fmdtree、Nodejoin、Nodesplt、Rnodcoef以及Defaninf。類NewTREE定義描述為:ClassNewTREE(parentclass:DTREE)。
NewTREE對(duì)象的字段包括:●?dtree:父對(duì)象;●?dwtMode:DWT擴(kuò)展模式;●?wavInfo:小波結(jié)構(gòu)信息。
WavInfo結(jié)構(gòu)信息包括:低通分解濾波器Lo_D、高通分解濾波器Hi_D、低通重構(gòu)濾波器Lo_R和高通重構(gòu)濾波器Hi_R。
NewTREE對(duì)象的方法包括:●?newTREE:類NewTREE的構(gòu)造函數(shù);●?expand:擴(kuò)展對(duì)象樹(shù);●?fmdtree:DTREE對(duì)象字段管理;●?nodejoin:重組結(jié)點(diǎn);●?nodesplt:分解結(jié)點(diǎn);●?rnodcoef:結(jié)點(diǎn)系數(shù)重構(gòu);●?defaninf:定義所有結(jié)點(diǎn)信息。
【例2-5】構(gòu)造一個(gè)右小波樹(shù)對(duì)象RWVTREE。在這個(gè)例子中創(chuàng)建了一個(gè)新的對(duì)象類RWVTREE。類RWVTREE繼承于類WTREE并重載了方法split、merge以及plot,plot方法顯示了如何添加NodeLabels。關(guān)于類RWVTREE的用法,用戶可以在目錄toolbox/wavelet/wavedemo中查看一個(gè)一維的例子ex1_rwvt.m和一個(gè)二維的例子ex2_rwvt.m,它們都可以直接運(yùn)行。類RWVTREE的定義描述為:ClassRWVTREE(parentclass:WTREE)。類RWVTREE的字段包括:●?dummy:不使用;●?wtree:父對(duì)象。類RWVTREE的方法包括:●?rwvtree:類RWVTREE的構(gòu)造函數(shù);●?merge:重組某一結(jié)點(diǎn)的數(shù)據(jù);●?plot:畫RWVTREE對(duì)象;●?split:分解某一終結(jié)點(diǎn)的數(shù)據(jù)。下面運(yùn)行例子ex2_rwvt.m,通過(guò)重載類WTREE的方法,在畫的小波樹(shù)結(jié)構(gòu)圖中可以將低頻信號(hào)以黃色表示,而高頻信號(hào)以紅色表示。程序代碼如下。
%加載圖像
loadwoman;
lev=2;
wav='db1';
%創(chuàng)建小波樹(shù)t=rwvtree(X,lev,wav);%畫樹(shù)tplot(t)%打開(kāi)菜單NodeLabel結(jié)果如圖2.14所示。單擊結(jié)點(diǎn)20,結(jié)果如圖2.15所示。圖2.14菜單結(jié)點(diǎn)標(biāo)簽
圖2.15結(jié)點(diǎn)20信息可以看到結(jié)點(diǎn)20為黃色,單擊結(jié)點(diǎn)20結(jié)果顯示是低頻信號(hào)。單擊結(jié)點(diǎn)3,結(jié)果如圖2.16所示??梢钥吹浇Y(jié)點(diǎn)3為黃色,單擊結(jié)點(diǎn)3結(jié)果顯示是高頻信號(hào)。圖2.16結(jié)點(diǎn)3信息將結(jié)點(diǎn)行為從顯示改為分解
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 幼兒教師音樂(lè)教學(xué)技能提升方法
- 鄭州工業(yè)安全職業(yè)學(xué)院《社會(huì)學(xué)經(jīng)典著作導(dǎo)讀》2024-2025學(xué)年第一學(xué)期期末試卷
- 黑龍江農(nóng)業(yè)職業(yè)技術(shù)學(xué)院《建筑裝飾材料與工程概預(yù)算》2024-2025學(xué)年第一學(xué)期期末試卷
- 遼寧中醫(yī)藥大學(xué)杏林學(xué)院《工業(yè)機(jī)器人基礎(chǔ)與實(shí)踐》2024-2025學(xué)年第一學(xué)期期末試卷
- 高中物理實(shí)驗(yàn)安全規(guī)范手冊(cè)
- 灰土擠密樁施工質(zhì)量控制要點(diǎn)
- 建筑工地冬季安全施工管理方案
- 塔里木大學(xué)《土木工程專業(yè)概論》2024-2025學(xué)年第一學(xué)期期末試卷
- 廣東青年職業(yè)學(xué)院《CAD設(shè)計(jì)》2024-2025學(xué)年第一學(xué)期期末試卷
- 赤峰應(yīng)用技術(shù)職業(yè)學(xué)院《學(xué)前兒童社會(huì)教育》2024-2025學(xué)年第一學(xué)期期末試卷
- 免疫05-第五章-免疫凝集試驗(yàn)
- 2025年中國(guó)東方航空集團(tuán)招聘筆試參考題庫(kù)含答案解析
- C919機(jī)組培訓(xùn)-導(dǎo)航系統(tǒng)
- 高考地理易錯(cuò)題專練:地球運(yùn)動(dòng)易錯(cuò)突破(4大易錯(cuò))含答案及解析
- 2025年上半年上海海港綜合經(jīng)濟(jì)開(kāi)發(fā)區(qū)招考易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024ESC心房顫動(dòng)管理指南解讀
- 2024年度禮品設(shè)計(jì)創(chuàng)新研發(fā)合同3篇
- 樹(shù)木砍伐用工合同模板
- 小學(xué)班主任資料-家校聯(lián)系本
- 氧化鋁制取全套教學(xué)教程整套課件全書電子教案
- 安徽省渦陽(yáng)縣2023-2024學(xué)年八年級(jí)下學(xué)期期末考試語(yǔ)文試題
評(píng)論
0/150
提交評(píng)論