第一篇:小波變換快速算法及應(yīng)用小結(jié)
離散小波變換的快速算法
Mallat算法[經(jīng)典算法] 在小波理論中,多分辨率分析是一個重要的組成部分。多分辨率分析是一種對信號的空間分解方法,分解的最終目的是力求構(gòu)造一個在頻率上高度逼近L2(R)空間的正交小波基,這些頻率分辨率不同的正交小波基相當(dāng)于帶寬各異的帶通濾波器。因此,對于一個能量有限信號,可以通過多分辨率分析的方法把其中的逼近信號和細(xì)節(jié)信號分離開,然后再根據(jù)需要逐一研究。多分辨率分析的概念是S.Mallat在構(gòu)造正交小波基的時候提出的,并同時給出了著名的Mallat算法。Mallat算法在小波分析中的地位相當(dāng)于快速傅立葉變換在經(jīng)典傅立葉變換中的地位,為小波分析的應(yīng)用和發(fā)展起到了極大的推動作用。MALLAT算法的原理
在對信號進(jìn)行分解時,該算法采用二分樹結(jié)構(gòu)對原始輸入信號x(n)進(jìn)行濾波和二抽取,得到
111第一級的離散平滑逼近和離散細(xì)節(jié)逼近和,再采用同樣的結(jié)構(gòu)對進(jìn)行濾波和二抽取
22得到第二級的離散平滑逼近和離散細(xì)節(jié)逼近和,再依次進(jìn)行下去從而得到各級的離散123細(xì)節(jié)逼近對,…,即各級的小波系數(shù)。重構(gòu)信號時,只要將分解算法中的步驟反過來進(jìn)行即可,但要注意,此時的濾波器與分解算法中的濾波器不一定是同一濾波器,并且要將二抽取裝置換成二插入裝置才行。
多孔算法
[小波變換快速算法及其硬件實(shí)現(xiàn)的研究毛建華]
多孔算法是由M.shen于1992年提出的一種利用Mallat算法結(jié)構(gòu)計(jì)算小波變換的快速算法,因在低通濾波器h0()和高通濾波器h1()中插入適當(dāng)數(shù)目的零點(diǎn)而得名。它適用于a=2的二分樹結(jié)構(gòu),與Mallat算法的電路實(shí)現(xiàn)結(jié)構(gòu)相似。先將Mallat算法的電路實(shí)現(xiàn)的基本支路作一下變形。令h0 和h1()的z變換為H0(z)與H1(z),下兩條支路完全等價,只不過是將插值和二抽取的順序調(diào)換一下罷了。圖中其它的上下兩條支路也為等效支路,可仿照上面的方法證明。這樣,我們便可由Mallat算法的二分樹電路結(jié)構(gòu)得出多孔算法的電路級聯(lián)圖,原Mallat算法中的電路支路由相應(yīng)的等效支路所取代,所以整個電路形式與Mallat算法非常相似。如果舍去最后的抽取環(huán)節(jié)們實(shí)際上相當(dāng)于把所有點(diǎn)的小波變換全部計(jì)算出來。
基干FFT的小波快速算法
[小波變換快速算法及其硬件實(shí)現(xiàn)的研究毛建華]
Mallat算法是由法國科學(xué)家StephaneG.Mallat提出的計(jì)算小波分解與重構(gòu)的快速算法,能大大降低小波分解與重構(gòu)的計(jì)算量,因此在數(shù)字信號處理和數(shù)字通信領(lǐng)域中得到了廣泛的應(yīng)用。但是如果直接采用該算法計(jì)算信號的分解和重構(gòu),其運(yùn)算量還是比較大。主要體現(xiàn)在信號長度較大時,與小波濾波器組作卷積和相關(guān)的乘加法的計(jì)算量很大,不利于信號的實(shí)時處理。故有必要對該算法作進(jìn)一步的改進(jìn)。眾所周知,F(xiàn)FT是計(jì)算離散傅里葉變換(DFT)的一種快速算法,如能將它和Mallat算法結(jié)合在一起,勢必會進(jìn)一步降低小波分解和重構(gòu)的計(jì)算量,事實(shí)證明這一想法是可行的。
基于FFT的小波變換快速算法是通過離散傅里葉變換建立起FFT和mallat算法之何的橋梁,從而將、FFT引入到小波變換中來,達(dá)到改小波變換快速算法及硬件實(shí)現(xiàn)的研究進(jìn)Mallat算法的目的。
當(dāng)信號長度較小時,F(xiàn)FT算法效率不及直接算法;隨著長度的增加,特別是對于長度是2的幕次方的信號,F(xiàn)FT算法比直接算法更適用,能大大降低計(jì)算t。當(dāng)信號是長序列信號時,小波分解與重構(gòu)中,濾波器要補(bǔ)很多的零,這對信號的實(shí)時計(jì)算很不利,我們可以采用長序列快速相關(guān)卷積算法對信號進(jìn)行分段后再運(yùn)用FFT算法,提高運(yùn)算速度。
基于算術(shù)傅里葉變換的小波變換快速算法
[小波變換快速算法及其硬件實(shí)現(xiàn)的研究毛建華]
算術(shù)傅里葉變換(AFT)是1988年由Tufts和Sadasiv提出的一種用Mobius反演公式計(jì)算連續(xù)函數(shù)傅里葉系數(shù)的方法.它具有乘法運(yùn)算t僅為O(N)算法簡單、并行性好的優(yōu)點(diǎn)。根據(jù)DPT和連續(xù)函數(shù)傅里葉系數(shù)的關(guān)系,可以用AFT計(jì)算DFT。同直接算法相比,APT方法可以將DFT的計(jì)算時間減少90%,尤其是對于含有較大素因子,特別是其長度本身為素?cái)?shù)的DFT,它的速度比傳統(tǒng)的FFT更快.另一方面,Mallat算法的分解和重構(gòu)算法也可由DFT來計(jì)算,從而將AFT與Mallat算法聯(lián)系了起來,從而為小波變換快速算法開辟了新的途徑。對于尺度
為j的快速分解算法步驟如下: 1)選定濾波器系數(shù)h(n)和g(n),再根據(jù)FFT的性質(zhì)2,用N點(diǎn)的AFT分別計(jì)算出H(k)和G(k),分別取共扼,進(jìn)而得到H*(k),G*(k)。
2)在已知cj(n)的情況下,用N點(diǎn)的AFT求出其DFTCj(k)3)分別計(jì)算出H*(k)Cj(k),G*(k)Cj(k),即C’j(k)和D’j(k)4)用N點(diǎn)的AFT求出C’j+1(k)和D’j+1(k)IDFT,得到C’j+1(n)和D’j+1(n)IDFT,再分別對它 們作二抽取,就可求出Cj+1(n)和Dj+1(n)。在進(jìn)行分解計(jì)算時,H(k)G(k)只要計(jì)算一次即可。重復(fù)步驟(2)一(4)可實(shí)現(xiàn)下一尺度小波分解,直到達(dá)到規(guī)定的尺度為止。不過要注意:尺度增加一個級別,信號長度減半。對于尺度為j+1的快速重構(gòu)算法為: 1)對Cj+1(n)和Dj+1(n)進(jìn)行二插值,得到C’j+1(n)和D’j+1(n);2)用N點(diǎn)的AFT分別求出h(n)、g(n)的DFTH(k)和G(k)3)用N點(diǎn)的AFT分別求出C’j+1(n)和D’j+1(n)的DFTC’j+1(k)和D’j+1(k);4)根據(jù)(17)式求出Cj(k),再用N點(diǎn)的AFT進(jìn)行IDFT,可求出cj(n)。
基于Hermite插值的小波變換模極大值重構(gòu)信號快速算法
[基于Hermite插值的小波變換模極大值重構(gòu)信號快速算法韓民,田嵐,翟廣濤,崔國輝] 信號在不同尺度上的小波變換模極大值包含了信號中的重要信息,因此研究如何由小波變 換模極大值重構(gòu)信號是很有意義的。論文提出了一種基于Hermite插值多項(xiàng)式由二進(jìn)小波變換模極大值重構(gòu)信號的快速算法。數(shù)值試驗(yàn)表明,與S.Mallat提出的經(jīng)典交替投影算法相比,該算法可以在保證重構(gòu)質(zhì)量的前提下簡化計(jì)算過程,提高計(jì)算效率,計(jì)算所需時間與交替投影算法相比大大減少,是一種實(shí)用性較強(qiáng)的信號重構(gòu)算法。
Hermite插值[11]方法是一種具有重節(jié)點(diǎn)的多項(xiàng)式插值方法,由于它要求在節(jié)點(diǎn)處滿足相應(yīng)的導(dǎo)數(shù)條件,因此也稱為切觸差值。由于小波系數(shù)模極大值點(diǎn)的導(dǎo)數(shù)為零,這與Hermite插值對節(jié)點(diǎn)的導(dǎo)數(shù)要求不謀而合,因此我們選用Hermite插值多項(xiàng)式作為改進(jìn)的插值方法。
強(qiáng)奇異積分方程小波Petrov-Galerkin快速算法
[強(qiáng)奇異積分方程小波Petrov-Galerkin快速算法隆廣慶]
通過構(gòu)造具有高階消失矩、小支集和半雙正交性質(zhì)的分片多尺度小波基底, 給出第2類強(qiáng)奇異積分方程的小波Petrov-Galerkin快速算法, 并證明該算法收斂階達(dá)到最佳, 條件數(shù)有界, 計(jì)算復(fù)雜性幾乎最佳。構(gòu)造配置泛函的思想, 構(gòu)造分片多項(xiàng)式空間Xn上2列具有半雙正交性的小波基,其中一列具有高階消失矩性質(zhì)。
小波變換的應(yīng)用
小波分析在圖像壓縮編碼中的應(yīng)用
[小波變換算法在數(shù)字圖像處理中的應(yīng)用支春強(qiáng)中國電子科技集團(tuán)公司第二十八研究所,江蘇南京 210007摘] 數(shù)字圖像信號像素間一般都具有相關(guān)性,相鄰之間、相鄰列之間的相關(guān)性最強(qiáng),其相關(guān)系數(shù)呈指規(guī)律衰減。圖像中相關(guān)性的存在,是圖像壓縮的理論依據(jù),使得能針對性地采用某種相關(guān)的手段去除冗余信息,達(dá)到壓縮的目的。利用變換編碼可以有效地消除像素間的相關(guān)性,從而獲得較好的壓縮效果。其基本原理就是將在時域描述的信號(如聲音信號)或在空域描述的信號(如圖像信號)經(jīng)變換到正交向量空間(即變換域)中進(jìn)行描述,在變換域的描述中各信號分量之間的相關(guān)性很小或互不相關(guān),即能量得以集中。
小波變換進(jìn)行圖像重構(gòu)實(shí)質(zhì)上是相當(dāng)于分別對圖像數(shù)據(jù)的行和列做一維小波逆變換。對通過水平跟垂直濾波,離散小波將一級變換后圖像的4個子圖進(jìn)行合成。對多級變換后的圖像,則先對其信息集中的圖進(jìn)行重構(gòu),然后逐層進(jìn)行。
小波分析在圖像處理邊緣檢測中的應(yīng)用
小波變換在車牌定位中的應(yīng)用張國才,王召巴(中北大學(xué)信息與通信工程學(xué)院,山西太原030051)
由于傳統(tǒng)的邊緣檢測方法檢測到的邊緣信息復(fù)雜,要想從中找準(zhǔn)車牌的位置十分困難,而小波可以在不同的分辨率層次上對圖像進(jìn)行分割,在低分辨率層次上進(jìn)行粗分割,由于計(jì)算量較小,適用于尋找目標(biāo)的大致輪廓,在較高分辨率上實(shí)現(xiàn)精細(xì)分割,而且粗分割的結(jié)果對精細(xì)分割具有一定的指導(dǎo)作用,可以減少計(jì)算量和提高目標(biāo)的定位精度。所以有的學(xué)者將小波變換用在了車牌區(qū)域的定位方面,利用小波的特點(diǎn)對車牌圖像進(jìn)行分析,發(fā)現(xiàn)小波分解后的細(xì)節(jié)分量中有能較好體現(xiàn)出車牌位置的信息,特別是水平低頻、垂直高頻分量能提供更準(zhǔn)確的車牌位置信息。利用小波變換對車牌定位,在小波變換的分解圖像中這里只研究其低頻子圖像,對低頻子圖像利用最大類間方差法進(jìn)行二值化分割。
在軍事工程方面的應(yīng)用
[小波變換及其在軌道檢測中的應(yīng)用俞峰 戴月輝 ] 目前小波分析應(yīng)用于軌道檢測主要有: ①用小波時域局部特征檢測突變信號(如檢測鋼
軌焊接部位缺陷、鋼軌表面磨損等);②當(dāng)傳統(tǒng)的功率譜無法區(qū)分信號譜特征時,采用小波分 層細(xì)化分解,提取信號譜特征。
在語音合成方面的應(yīng)用
[語音處理中自適應(yīng)小波變換的應(yīng)用 Application of Adaptive Wavelet Transformations in Speech Processing徐靜波,冉崇森XU Jing2bo , RAN Chong2sen(信息工程大學(xué)信息工程學(xué)院,河南鄭州450002)] 對于含噪聲語音信號,我們先分離小波變換中語音信號引起的模極大值點(diǎn)和噪聲引起的模極 大值點(diǎn),再根據(jù)語音信號引起的模極大值點(diǎn)來檢測端點(diǎn)。一般地,原始信號的Lipschitz指數(shù)是正的,而白噪聲的Lipschitz指數(shù)是負(fù)的。當(dāng)尺度減少時,如果某些小波變換模極大值點(diǎn)的幅值急劇增加,則表明對應(yīng)的奇異性具有負(fù)的Lipschitz指數(shù),這些極大值點(diǎn)幾乎被噪聲控制。因?yàn)橛稍肼曇鸬哪O大值點(diǎn)的平均密度與尺度成反比,所以,隨著尺度的遞增,至少有一半的模極大值點(diǎn)不能傳遞到較大尺度上。因此,那些不能從一個尺度上傳遞到較大尺度上的模極大值點(diǎn),也是由噪聲控制的。我們把噪聲控制的模極大值點(diǎn)去掉,剩下的模極大值點(diǎn)就是由語音信號控制的。
在其他方面的應(yīng)用
(1)小波分析在數(shù)字水印中的應(yīng)用
使用小波域水印方法的優(yōu)點(diǎn)與在JPEG 中使用小波是類似的,并且小波的多分辨率分析與人眼視覺特性是一致的,這對根據(jù)HVS 選擇適當(dāng)?shù)乃∏度胛恢煤颓度霃?qiáng)度有很大的幫助。(2)小波分析在圖像濾波中的應(yīng)用
在小波變換域,可通過對小波系數(shù)進(jìn)行切削、縮小幅度等非線性處理,以達(dá)到濾除噪聲的目的。
(3)小波分析在地球物理勘探中的應(yīng)用
提高物理勘探資料的信噪比和分辨率一直是物理勘探資料處理所追求的目標(biāo)。在資料處理中所遇到的噪音主要有規(guī)則干擾和隨機(jī)干擾兩大類,利用小波變換時頻兩域都有局部化的特點(diǎn),對信號進(jìn)行多尺度分解同樣可以抑制噪音。(4)醫(yī)學(xué)檢測方面的應(yīng)用
小波能有效提取生理信號中的突變特征點(diǎn),這在醫(yī)學(xué)方面(如B超、CT、磁共振、心電圖等)已有成熟的應(yīng)用。在胃動力檢測方面,利用小波包變換方法能很清除地分辨出人體胃運(yùn)動的三相特征,這些在臨床上都有重要的應(yīng)用價值。
第二篇:小波變換 matlab 總結(jié)范文
小波變換matlab總結(jié) 目錄
一、預(yù)置工具...........................................................................................................................4
1.預(yù)置信號......................................................................................................................4 2.預(yù)置小波......................................................................................................................4 3.濾波器函數(shù)..................................................................................................................6
wfilters函數(shù).......................................................................................................6 4.量化編碼......................................................................................................................6
wcodemat函數(shù).......................................................................................................6 5.閾值獲取......................................................................................................................6
ddencmp函數(shù).........................................................................................................6 thselect函數(shù).......................................................................................................7 wbmpen函數(shù)...........................................................................................................7 wdcbm函數(shù)..............................................................................................................7 6.閾值去噪......................................................................................................................8
wden函數(shù)................................................................................................................8 wdencmp函數(shù).........................................................................................................8 wthresh函數(shù).........................................................................................................9 wthcoef函數(shù).........................................................................................................9 wpdencmp函數(shù).......................................................................................................9
二、小波變換函數(shù).................................................................................................................12
單尺度一維小波變換.....................................................................................................12
cwt一維連續(xù)小波變換.........................................................................................12 dwt一維離散小波變換.........................................................................................12 idwt一維離散小波逆變換..................................................................................13 upcoef 一維小波系數(shù)重構(gòu)................................................................................13 多尺度一維小波變換.....................................................................................................14
wavedec多尺度一維分解...................................................................................14 waverec多尺度一維重構(gòu)...................................................................................15 appcoef低頻系數(shù)提取.......................................................................................16 detcoef高頻系數(shù)提取.......................................................................................16 wrcoef多尺度小波系數(shù)重構(gòu).............................................................................17 一維靜態(tài)(平穩(wěn))小波變換.........................................................................................18
swt一維平穩(wěn)小波變換.........................................................................................18 iswt一維平穩(wěn)小波逆變換..................................................................................18 實(shí)例.........................................................................................................................19 單尺度二維小波變換.....................................................................................................19
dwt2二維離散小波變換......................................................................................19 idwt2二維離散小波逆變換................................................................................20 upcoef2二維系數(shù)重構(gòu).......................................................................................20 多尺度二維小波變換.....................................................................................................21
wavedec2多尺度二維分解.................................................................................21 waverec2多尺度二維重構(gòu).................................................................................22 appcoef2低頻系數(shù)提取.....................................................................................23 detcoef2高頻系數(shù)提取.....................................................................................23 wrcoef2多尺度小波系數(shù)重構(gòu)...........................................................................24 二維靜態(tài)(平穩(wěn))小波變換.........................................................................................26
swt2二維靜態(tài)小波變換......................................................................................26 iswt2二維靜態(tài)小波逆變換................................................................................26 實(shí)例.........................................................................................................................26 直接調(diào)用的小波函數(shù).....................................................................................................28
meyer函數(shù)............................................................................................................28 cgauwavf函數(shù).....................................................................................................28 mexihat函數(shù).......................................................................................................28 morlet函數(shù).........................................................................................................29 symwavf函數(shù).......................................................................................................29
三、圖像接口調(diào)用.................................................................................................................30
使用圖形接口做一維連續(xù)小波分析.....................................................................30 使用圖形接口做一維離散小波分析.....................................................................33 使用圖形接口分析復(fù)信號.....................................................................................36 使用圖形接口做一維除噪分析.............................................................................36
四、小波變換在圖像處理中的應(yīng)用.....................................................................................40
4.1 小波分析用于圖像壓縮........................................................................................40
4.1.1 基于小波變換的圖像局部壓縮...............................................................40 4.1.2 小波變換用于圖像壓縮的一般方法.......................................................41 4.1.3 基于小波包變換的圖像壓縮...................................................................45 4.2 小波分析用于圖像去噪........................................................................................47
小噪聲閾值去噪.....................................................................................................48 大噪聲濾波去噪.....................................................................................................49 少量噪聲的小波分解系數(shù)閾值量化去噪.............................................................50 4.3 小波分析用于圖像增強(qiáng)........................................................................................52
4.3.1 圖像增強(qiáng)問題描述...................................................................................52 4.3.2 圖像鈍化...................................................................................................53 4.3.3 圖像銳化...................................................................................................54 4.4 小波分析用于圖像融合........................................................................................56 4.5 小波分析用于圖像分解........................................................................................57
一、預(yù)置工具 1.預(yù)置信號
Matlab 內(nèi)置了大量的信號實(shí)例,進(jìn)行信號試驗(yàn)的時候可以調(diào)用。調(diào)用格式:load signal matlab安裝目錄的toolbox/wavelet/wavedemo noissin 包含噪聲的正弦波
leleccum一維電壓信號,有365560個采樣點(diǎn) wbarb 專指圖片:
2.預(yù)置小波
Matlab預(yù)置了共計(jì)15種小波。查看語句:wavemngr('read',1)查看單個小波:waveinfo('wname')
1.Haar小波 小波名haar
2.Daubechies小波系 小波名db 調(diào)用名db1db2db3db4 db5 db6 db7 db8 db9 db10
3.對稱小波系Symlets 小波名sym 調(diào)用名sym2sym3 sym4 sym5 sym6 sym7 sym8
4.Coiflets 小波系 小波名coif 調(diào)用名 coif1coif2coif3coif4coif5 5.Biorthogonal小波系 小波名bior 調(diào)用名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
6.ReverseBior小波系 小波名rbio 調(diào)用名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
7.Meyer小波 小波名meyr
8.Dmeyer小波 小波名dmey
9.Gaussian小波系 小波名gaus 調(diào)用名gaus1gaus2gaus3gaus4gaus5gaus6gaus7gaus8
10.Mexican hat小波 小波名mexh
11.Morlet小波 小波名morl
12.Complex Gaussian小波系 小波名cgau 調(diào)用名cgau1cgau2cgau3cgau4cgau5 cgau
13.Shannon小波系 小波名shan 調(diào)用名shan1-1.5shan1-1shan1-0.5shan1-0.1shan2-3
14.Frequency B小波系 小波名fbsp 調(diào)用名fbsp1-1-1.5fbsp1-1-1fbsp1-1-0.5fbsp2-1-1fbsp2-1-0.5fbsp2-1-0.1
15.Complex Morlet小波系 小波名cmor 調(diào)用名cmor1-1.5cmor1-1cmor1-0.5cmor1-1cmor1-0.5cmor1-0.1 3.濾波器函數(shù) wfilters函數(shù)
[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('wname')計(jì)算對應(yīng)小波的濾波器。
The four output filters are Lo_D, 用于分解的低通濾波器 Hi_D, 用于分解的高通濾波器 Lo_R, 用于重構(gòu)的低通濾波器 Hi_R, 用于重構(gòu)的高通濾波器
4.量化編碼 wcodemat函數(shù)
y=wcodemat(x,nb,opt,absol)y=wcodemat(x,nb,opt)y=wcodemat(x,nb)y=wcodemat(x)該函數(shù)是用來對矩陣X進(jìn)行量化編碼,它返回矩陣X的一個編碼矩陣,在編碼中,把矩陣X中元素絕對值最大的作為NB(NB是一個整數(shù)),絕對值最小的作為1,其他元素依其絕對值的大小在1與NB中排列.當(dāng)OPT為'row'時,做行編碼;當(dāng)OPT為'col'時,做列編碼, 當(dāng)OPT為'mat'時,做全局編碼,即把整個矩陣中的元素絕對值最大的元素作為NB,最小的作為1,其他元素依其絕對值的大小在整個矩陣中排列.當(dāng)ABSOL為0時,該函數(shù)返回輸入矩陣X的一個編碼版本;為非0時,返回X的絕對值
5.閾值獲取
MATLAB中實(shí)現(xiàn)閾值獲取的函數(shù)有ddencmp、thselect、wbmpen和wwdcbm,下面對它們的用法進(jìn)行簡單的說明。ddencmp函數(shù)
調(diào)用格式:
[THR,SORH,KEEPAPP,CRIT]=ddencmp(IN1,IN2,X)函數(shù)ddencmp用于獲取信號在消噪或壓縮過程中的默認(rèn)閾值。輸入?yún)?shù)X為一維或二維信號;
IN1取值為'den'或'cmp','den'表示進(jìn)行去噪,'cmp'表示進(jìn)行壓縮; IN2取值為'wv'或'wp',wv表示選擇小波,wp表示選擇小波包。輸出參數(shù)THR為函數(shù)選擇的閾值,SORH為函數(shù)選擇閾值使用方式。Sorh=s,為軟閾值;Sorh=h,為硬閾值;輸出參數(shù)KEEPAPP決定了是否對近似分量進(jìn)行閾值處理??蛇x為0或1。CRIT為使用小波包進(jìn)行分解時所選取的熵函數(shù)類型。例:自動生成信號小波處理的閾值選取方案。r=2055415866;randn('seed',r);x=randn(1,1000);%產(chǎn)生白噪聲;%求取對信號進(jìn)行小波消噪處理的默認(rèn)閾值、軟閾值,并且保留低頻系數(shù);[thr,sorh,keepapp]=ddencmp('den','wv',x);輸出:
thr = 3.8593 sorh = s keepapp = 1 thselect函數(shù)
調(diào)用格式如下:
THR=thselect(X,TPTR);根據(jù)字符串TPTR定義的閾值選擇規(guī)則來選擇信號X的自適應(yīng)閾值。自適應(yīng)閾值的選擇規(guī)則包括以下四種:
*TPTR='rigrsure',自適應(yīng)閾值選擇使用Stein的無偏風(fēng)險估計(jì)原理。*TPTR='heursure',使用啟發(fā)式閾值選擇。
*TPTR='sqtwolog',閾值等于sqrt(2*log(length(X))).*TPTR='minimaxi',用極大極小原理選擇閾值。
閾值選擇規(guī)則基于模型 y = f(t)+ e,e是高斯白噪聲N(0,1)。wbmpen函數(shù)
調(diào)用格式:
THR=wbmpen(C,L,SIGMA,ALPHA);返回去噪的全局閾值THR。THR通過給定的一種小波系數(shù)選擇規(guī)則計(jì)算得到,小波系數(shù)選擇規(guī)則使用Birge-Massart的處罰算法。
[C,L]是進(jìn)行去噪的信號或圖像的小波分解結(jié)構(gòu); SIGMA是零均值的高斯白噪聲的標(biāo)準(zhǔn)偏差;
ALPHA是用于處罰的調(diào)整參數(shù),它必須是一個大于1的實(shí)數(shù),一般去ALPHA=2。wdcbm函數(shù) 調(diào)用格式:
(1)[THR,NKEEP]=wdcbm(C,L,ALPHA);(2)[THR,NKEEP]=wdcbm(C,L,ALPHA,M);函數(shù)wdcbm是使用Birge-Massart算法獲取一維小波變換的閾值。返回值THR是與尺度無關(guān)的閾值,NKEEP是系數(shù)的個數(shù)。
[C,L]是要進(jìn)行壓縮或消噪的信號在j=length(L)-2層的分解結(jié)構(gòu); LAPHA和M必須是大于1的實(shí)數(shù);
THR是關(guān)于j的向量,THR(i)是第i層的閾值;
NKEEP也是關(guān)于j的向量,NKEEP(i)是第i層的系數(shù)個數(shù)。一般壓縮時ALPHA取1.5,去噪時ALPHA取3.6.閾值去噪
MATLAB中實(shí)現(xiàn)信號的閾值去噪的函數(shù)有wden、wdencmp、wthresh、wthcoef、wpthcoef以及wpdencmp。下面對它們的用法作簡單的介紹。wden函數(shù) 調(diào)用格式:
(1)[XD,CXD,LXD]=wden(X,TPTR,SORH,SCAL,N,'wname')(2)[XD,CXD,LXD]=wden(C,L,TPTR,SORH,SCAL,N,'wname')函數(shù)wden用于一維信號的自動消噪。X為原始信號,[C,L]為信號的小波分解,N為小波分解的層數(shù)。
THR為閾值選擇規(guī)則:
*TPTR='rigrsure',自適應(yīng)閾值選擇使用Stein的無偏風(fēng)險估計(jì)原理。*TPTR='heursure',使用啟發(fā)式閾值選擇。
*TPTR='sqtwolog',閾值等于sqrt(2*log(length(X))).*TPTR='minimaxi',用極大極小原理選擇閾值。SORH是軟閾值或硬閾值的選擇(分別對應(yīng)'s'和'h')。SCAL指所使用的閾值是否需要重新調(diào)整,包含下面三種: *SCAL='one' 不調(diào)整;
*SCAL='sln' 根據(jù)第一層的系數(shù)進(jìn)行噪聲層的估計(jì)來調(diào)整閾值。*SCAL='mln' 根據(jù)不同的噪聲估計(jì)來調(diào)整閾值。
XD為消噪后的信號,[CXD,LXD]為消噪后信號的小波分解結(jié)構(gòu)。格式(1)返回對信號X經(jīng)過N層分解后的小波系數(shù)進(jìn)行閾值處理后的消噪信號XD和信號XD的小波分解結(jié)構(gòu)[CXD,LXD]。格式(2)返回參數(shù)與格式(1)相同,但其結(jié)構(gòu)是由直接對信號的小波分解結(jié)構(gòu)[C,L]進(jìn)行閾值處理得到的。
wdencmp函數(shù)
調(diào)用格式有以下三種:
(1)[XC,CXC,LXC,PERF0,PERFL2]=wdencmp('gbl',X,'wname',N,THTR,SORH,KEEPAPP);(2)[XC,CXC,LXC,PERF0,PERFL2]=wdencmp('lvd',X,'wname',N,THTR,SORH);(3)[XC,CXC,LXC,PERF0,PERFL2]=wdencmp('lvd',C,L,'wname',N,THTR,SORH);函數(shù)wdencmp用于一維或二維信號的消噪或壓縮。wname是所用的小波函數(shù)。
gbl(global的縮寫)表示每一層都采用同一個閾值進(jìn)行處理。lvd表示每層采用不同的閾值進(jìn)行處理。N表示小波分解的層數(shù)。THR為閾值向量,對于格式(2)和(3)每層都要求有一個閾值,因此閾值向量THR的長度為N。
SORH表示選擇軟閾值或硬閾值(分別取值為's'和'h'),參數(shù)KEEPAPP取值為1時,則低頻系數(shù)不進(jìn)行閾值量化,反之,低頻系數(shù)要進(jìn)行閾值量化。XC是要進(jìn)行消噪或壓縮的信號,[CXC,LXC]是XC的小波分解結(jié)構(gòu),PERF0和PERFL2是恢復(fù)或壓縮L^2的范數(shù)百分比。如果[C,L]是X的小波分解結(jié)構(gòu),則PERFL2=100*(CXC向量的范數(shù)/C向量的范數(shù))^2;如果X是一維信號,小波wname是一個正交小波,則PERFL2=100||XC||^2/||X||^2。
wthresh函數(shù)
調(diào)用格式:
Y=wthresh(X,SORH,T)返回輸入向量或矩陣X經(jīng)過軟閾值(如果SORH='s')或硬閾值(如果SORH='h')處理后的信號。T是閾值。
Y=wthresh(X,'s',T)返回的是Y=SIG(X)*(|X|-T)+,即把信號的絕對值與閾值進(jìn)行比較,小于或等于閾值的點(diǎn)變?yōu)榱?,大于閾值的點(diǎn)為該點(diǎn)值與閾值的差值。
Y=wthresh(X,'h',T)返回的是Y=X*1(|X|>T),即把信號的絕對值和閾值進(jìn)行比較,小于或等于閾值的點(diǎn)變?yōu)榱?,大于閾值的點(diǎn)保持不變。一般來說,用硬閾值處理后的信號比用軟閾值處理后的信號更粗糙。wthcoef函數(shù) 調(diào)用格式:
(1)NC=wthcoef('d',C,L,N,P)(2)NC=wthcoef('d',C,L,N)(3)NC=wthcoef('a',C,L)(4)NC=wthcoef('t',C,L,N,T,SORH)用于一維信號小波系數(shù)的閾值處理。
格式(1)返回小波分解結(jié)構(gòu)[C,L]經(jīng)向量N和P定義的壓縮率處理后的新的小波分解向量NC,[NC,L]構(gòu)成一個新的小波分解結(jié)構(gòu)。N包含被壓縮的細(xì)節(jié)向量,P是把較小系數(shù)置0的百分比信息的向量。N和P的長度必須相同,向量N必須滿足1<=N(i)<=length(L)-2。格式(2)返回小波分解結(jié)構(gòu)[C,L]經(jīng)過向量N中指定的細(xì)節(jié)系數(shù)置0后的小波分解向量NC。格式(3)返回小波分解結(jié)構(gòu)[C,L]經(jīng)過近似系數(shù)置0后的小波分解向量NC。
格式(4)返回小波分解結(jié)構(gòu)[C,L]經(jīng)過將向量N作閾值處理后的小波分解向量NC。如果SORH=?s?,則為軟閾值;如果SORH='h'則為硬閾值。N包含細(xì)節(jié)的尺度向量,T是N相對應(yīng)的閾值向量。N和T的長度必須相等。
wpdencmp函數(shù)
調(diào)用格式:
[XD,TREED,PERF0,PERFL2]=wpdencmp(X,SORH,N,'wname',CRIT,PAR,KEEPAPP)[XD,TREED,PERF0,PERFL2]=wpdencmp(TREE,SORH,CRIT,PAR,KEEPAPP)函數(shù)wpdencmp用于使用小波包變換進(jìn)行信號的壓縮或去噪。格式(1)返回輸入信號X(一維或二維)的去噪或壓縮后的信號XD。輸出參數(shù)TREED是XD的最佳小波包分解樹;
PERFL2和PERF0是恢復(fù)和壓縮L2的能量百分比。PERFL2=100*(X的小波包系數(shù)范數(shù)/X的小波包系數(shù))^2;如果X是一維信號,小波wname是一個正交小波,則PERFL2=100*||XD||^2/||X||^2。
SORH的取值為's'或'h',表示的是軟閾值或硬閾值。
輸入?yún)?shù)N是小波包的分解層數(shù),wname是包含小波名的字符串。
函數(shù)使用由字符串CRIT定義的熵和閾值參數(shù)PAR實(shí)現(xiàn)最佳分解。如果KEEPAPP=1,則近似信號的小波系數(shù)不進(jìn)行閾值量化;否則,進(jìn)行閾值量化。
格式(2)與格式(1)的輸出參數(shù)相同,輸入選項(xiàng)也相同,只是它從信號的小波包分解樹TREE進(jìn)行去噪或壓縮。
實(shí)例:
load noisdopp;x=noisdopp;%給出全局閾值
[thr,sorh,keepapp]=ddencmp('den','wv',x);%根據(jù)全局閾值對信號降噪
xc=wdencmp('gbl',x,'sym4',2,thr,sorh,keepapp);[c,l]=wavedec(x,2,'sym4');[thr1,nkeep]=wdcbm(c,l,3);xc1=wdencmp('lvd',c,l,'sym4',2,thr1,'s');subplot(311);plot(x);title('原始信號')subplot(312);plot(xc);title('使用全局閾值降噪后的信號');subplot(313);plot(xc1);title('使用分層閾值降噪后的信號');
load woman %下面進(jìn)行噪聲的產(chǎn)生 init=3;rand('seed',init);Xn=X+18*(rand(size(X)));%下面進(jìn)行圖像的去噪處理
[thr,sorh,keepapp]=ddencmp('den','wv',Xn);Xd=wdencmp('gbl',Xn,'sym5',2,thr,sorh,keepapp);%用sym5小波對圖像信號進(jìn)行二層的小波分解 [c,s]=wavedec2(X,2,'sym5');[thr1,nkeep1]=wdcbm2(c,s,1.5);Xd1=wdencmp('lvd',c,s,'sym5',2,thr1,'s');%顯示圖像
subplot(221);image(X);colormap(map);title('原始圖像X');axis square subplot(222);image(Xn);colormap(map);title('含噪聲的圖像');axis square subplot(223);image(Xd);colormap(map);title('去噪后的圖像');axis square subplot(224);image(Xd1);colormap(map);title('分層去噪后的圖像');axis square
二、小波變換函數(shù) 單尺度一維小波變換 cwt一維連續(xù)小波變換 調(diào)用格式:
coefs = cwt(s,scale,’wname’)【僅給出系數(shù)值】
coefs = cwt(s,scale,’wname’,’plot’)【給出系數(shù)值同時生成圖像】 實(shí)例:
load noissin;figure subplot(121)plot(noissin);subplot(122)c=cwt(noissin,1:48,'db4','plot');
dwt一維離散小波變換 調(diào)用格式:
[cA1,cD1]=dwt(X,?wname?)【使用指定的小波基函數(shù) 'wname' 對信號 X 進(jìn)行分解】 [cA1,cD1]=dwt(X,Lo_D,Hi_D)【使用指定的濾波器組 Lo_D、Hi_D 對信號進(jìn)行分解】 實(shí)例:
load leleccum;s=leleccum(1:3920);ls=length(s);[cA,cD]=dwt(s,'db1');figure subplot(121)plot(cA);subplot(122)plot(cD)[Lo_D,Hi_D,Lo_R,Hi_R] = wfilters('db1')[cA1,cD1]=dwt(s, Lo_D, Hi_D);figure subplot(121)plot(cA1);subplot(122)plot(cD1)
idwt一維離散小波逆變換 調(diào)用格式:
X=idwt(cA,cD,'wname')【由近似分量 cA 和細(xì)節(jié)分量 cD 經(jīng)小波反變換重構(gòu)原始信號 X】 X=idwt(cA,cD,Lo_R, Hi_R)【用指定的重構(gòu)濾波器 Lo_R 和 Hi_R 經(jīng)小波反變換重構(gòu)原始信號 X 】 X=idwt(cA,cD,'wname',L)【指定返回信號 X 中心附近的 L 個點(diǎn)】 X=idwt(cA,cD, Lo_R, Hi_R, L)【與上邊一致】
upcoef一維小波系數(shù)重構(gòu) 調(diào)用格式:
Y = upcoef(O,X,'wname',N)Y = upcoef(O,X,'wname',N,L)Y = upcoef(O,X,Lo_R,Hi_R,N)Y = upcoef(O,X,Lo_R,Hi_R,N,L)這一函數(shù)是一維小波分解系數(shù)的直接重構(gòu)
它重建的是原信號在指定層次的,高頻或者低頻分量。
也就是說,這個信號不是原本的信號,而且某個層次上的逼近。N=1條件下相當(dāng)與缺省模式的idwt A1 = upcoef('a',cA1,'db1',1,l_s)相當(dāng)于A1 = idwt(cA1,[],'db1',l_s);D1 = upcoef('d',cD1,'db1',1,l_s)相當(dāng)于 D1 = idwt([],cD1,'db1',l_s);而O是一個標(biāo)識符,O=?a? 低頻,O=?d? 高頻 N代表了小波系數(shù)的級別,是幾級小波系數(shù)。L則指定返回信號 X 中心附近的 L 個點(diǎn) 例子:
load leleccum;s=leleccum(1:3920);ls=length(s);[cA,cD]=dwt(s,'db1');A1=upcoef('a',cA,'db1',1,ls);D1=upcoef('d',cD,'db1',1,ls);% A1 = idwt(cA,[],'db1',ls);D1 = idwt([],cD,'db1',ls);subplot(1,2,1);plot(A1);title('Approximation A1')subplot(1,2,2);plot(D1);title('Detail D1')
多尺度一維小波變換 wavedec多尺度一維分解
調(diào)用格式:
[C, L]=wavedec(X,N,’wname’)[C, L]=wavedec(X,N,Lo_D,Hi_D)函數(shù)返回N層分解的各組分系數(shù)C(連接在一個向量里),向量L里返回的是各組分的長度。分解的結(jié)構(gòu)如下
例子:
load leleccum;s=leleccum(1:3920);[C,L]=wavedec(s,3,'db1');subplot(1,2,1);plot(C);title('C')subplot(1,2,2);plot(L);title('L')
waverec多尺度一維重構(gòu) 調(diào)用格式:
X=waverec(C,L,’wname’)X=waverec(C,L,Lo_R,Hi_R)實(shí)例:
load leleccum;s=leleccum(1:3920);[C,L]=wavedec(s,3,'db1');A0=waverec(C,L,'db1');Err=abs(s-A0);figure(1)subplot(3,1,1);plot(s);title('original s');subplot(3,1,2);plot(A0);title('wavereconstruction s');subplot(3,1,3);plot(Err);title('wavereconstruction err');
appcoef低頻系數(shù)提取 調(diào)用格式:
A=appcoef(C,L,?wname?,N)從C中抽取N層近似系數(shù) A=appcoef(C,L,?wname?)A=appcoef(C,L,Lo_R,Hi_R,N)A=appcoef(C,L, Lo_R,Hi_R)detcoef高頻系數(shù)提取 調(diào)用格式:
A=detcoef(C,L,N)A=detcoef(C,L)實(shí)例:
load leleccum;s=leleccum(1:3920);[C,L]=wavedec(s,3,'db1');cA3=appcoef(C,L,'db1',3);cD3=detcoef(C,L,3);cD2=detcoef(C,L,2);cD1=detcoef(C,L,1);subplot(2,2,1);plot(cA3);title('cA3')subplot(2,2,2);plot(cD3);title('cD3')subplot(2,2,3);plot(cD2);title('cD2')subplot(2,2,4);plot(cD1);title('cD1')
wrcoef多尺度小波系數(shù)重構(gòu)
調(diào)用格式:
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)其中type=?a? 低頻,type=?d? 高頻 作用類似于upcoef,只不過是多尺度函數(shù)。實(shí)例:
load leleccum;s=leleccum(1:3920);[C,L]=wavedec(s,3,'db1');cA3=wrcoef('a',C,L,'db1',3);cD1=wrcoef('d',C,L,'db1',1);cD2=wrcoef('d',C,L,'db1',2);cD3=wrcoef('d',C,L,'db1',3);subplot(2,2,1);plot(cA3);title('cA3')subplot(2,2,2);plot(cD3);title('cD3')subplot(2,2,3);plot(cD2);title('cD2')subplot(2,2,4);plot(cD1);title('cD1')
一維靜態(tài)(平穩(wěn))小波變換
離散平穩(wěn)小波分析所用到的函數(shù)有swt小波分解和iswt小波重構(gòu) swt一維平穩(wěn)小波變換 調(diào)用格式
SWC = swt(X,N,'wname')SWC = swt(X,N,Lo_D,Hi_D)[swa,swd] = swt(X,N,'wname')[swa,swd] = swt(X,N,Lo_D,Hi_D)對于SWT變換,如果需要在第k層分解信號,那么原始信號需要能夠平分成2^k份。所以如果原始信號的長度不滿足要求,需要使用Signal Extension GUI工具或使用wextend函數(shù)來擴(kuò)展它。
函數(shù)執(zhí)行將產(chǎn)生N層近似和細(xì)節(jié)的系數(shù),兩者和信號的長度是相等的,這也是平穩(wěn)小波和普通小波不同的地方,從而使它在某些領(lǐng)域有好的效果。iswt一維平穩(wěn)小波逆變換 調(diào)用格式
X = iswt(SWC,'wname')X = iswt(SWA,SWD,'wname')X = iswt(SWC,Lo_R,Hi_R)X = iswt(SWA,SWD,Lo_R,Hi_R)實(shí)例
load noisdopp s = noisdopp;[swa,swd] = swt(s,1,'db1');%一層平穩(wěn)小波分解
subplot(1,2,1), plot(swa);title('Approximation cfs')subplot(1,2,2), plot(swd);title('Detail cfs')res = iswt(swa,swd,'db1');%一層平穩(wěn)小波重構(gòu) %從系數(shù)中構(gòu)建近似和細(xì)節(jié)
nulcfs = zeros(size(swa));A1 = iswt(swa,nulcfs,'db1');D1 = iswt(nulcfs,swd,'db1');subplot(4,1,1), plot(s);title('original s');subplot(4,1,2), plot(res);title('recovered s');subplot(4,1,3), plot(A1);title('Approximation A1');subplot(4,1,4), plot(D1);title('Detail D1');
單尺度二維小波變換 dwt2二維離散小波變換
[cA1,cH1,cV1,cD1]=dwt2(X,?wname?)[cA1,cH1,cV1,cD1]=dwt2(X,Lo_D,Hi_D)其中cA1, cH1水平;cV1垂直;cD1對角 二維小波變換有四個值 實(shí)例:
load wbarb;figure(1);image(X);colormap(map);colorbar;[cA1,cH1,cV1,cD1]=dwt2(X,'bior3.7');figure(2);colormap(map);subplot(2,2,1);image(wcodemat(cA1,192));title('cA1')subplot(2,2,2);image(wcodemat(cH1,192));title('cH1')subplot(2,2,3);image(wcodemat(cV1,192));title('cV1')subplot(2,2,4);image(wcodemat(cD1,192));title('cD1')
idwt2二維離散小波逆變換
X = idwt2(cA1,cH1,cV1,cD1,'bior3.7');
upcoef2二維系數(shù)重構(gòu)
調(diào)用格式:
Y=upcoef2(O,X,?wname?,N,S)Y=upcoef2(O,X,Lo_R,Hi_R,N,S)Y=upcoef2(O,X,?wname?,N)Y=upcoef2(O,X,Lo_R,Hi_R,N)Y=upcoef2(O,X,?wname?)Y=upcoef2(O,X,Lo_R,Hi_R)O:?a?低頻;?h?水平;?v?垂直;?d?對角 實(shí)例: load wbarb;[cA1,cH1,cV1,cD1]=dwt2(X,'bior3.7');A1 = upcoef2('a',cA1,'bior3.7',1);H1 = upcoef2('h',cH1,'bior3.7',1);V1 = upcoef2('v',cV1,'bior3.7',1);D1 = upcoef2('d',cD1,'bior3.7',1);figure(2);colormap(map);subplot(2,2,1);image(wcodemat(A1,192));title('Approximation A1')subplot(2,2,2);image(wcodemat(H1,192));title('Horizontal Detail H1')subplot(2,2,3);image(wcodemat(V1,192));title('Vertical Detail V1')subplot(2,2,4);image(wcodemat(D1,192));title('Diagonal Detail D1')
多尺度二維小波變換 wavedec2多尺度二維分解
[C, S]=wavedec2(X,N,’wname’)[C, S]=wavedec2(X,N,Lo_D,Hi_D)
c為各層分解系數(shù),s為各層分解系數(shù)長度,也就是大小.c的結(jié)構(gòu): c=[A(N)|H(N)|V(N)|D(N)|H(N-1)|V(N-1)|D(N-1)|H(N-2)|V(N-2)|D(N-2)|...|H(1)|V(1)|D(1)] 可見,c是一個行向量,即:1*(size(X)),(e.g,X=256*256,then c
大小為:1*(256*256)=1*65536)A(N)代表第N層低頻系數(shù),H(N)|V(N)|D(N)代表第N層高頻系數(shù),分別是水平,垂直,對角高頻,以此類推,到H(1)|V(1)|D(1).s的結(jié)構(gòu): 儲存各層分解系數(shù)長度的,即第一行A(N)的長度,第二行是H(N)|V(N)|D(N)|的長度,第三行是
H(N-1)|V(N-1)|D(N-1)的長度,倒數(shù)第二行是H(1)|V(1)|D(1)長度,最后一行是X的長度(大小)實(shí)例:
load wbarb;[C,S] = wavedec2(X,2,'bior3.7');figure(2);colormap(map);subplot(1,2,1);plot(C);subplot(1,2,2);plot(S);
waverec2多尺度二維重構(gòu) 調(diào)用格式:
X=waverec2(C,S,’wname’)X=waverec2(C,S,Lo_R,Hi_R)實(shí)例:
load wbarb;[C,S] = wavedec2(X,2,'bior3.7');X0=waverec2(C,S,'bior3.7');Err=abs(X0-X);figure(1);colormap(map);subplot(3,1,1);image(wcodemat(X,192));title('original X')subplot(3,1,2);image(wcodemat(X0,192));title('wavereconstruction X')subplot(3,1,3);imshow(Err,[])
appcoef2低頻系數(shù)提取 調(diào)用格式:
A=appcoef2(C,S,?wname?,N)A=appcoef2(C,S,Lo_R,Hi_R,N)detcoef2高頻系數(shù)提取
調(diào)用格式:
A= detcoef2(‘type’,C,S,’wname’,N)Type: ’h’ 水平;‘v’垂直;‘d’對角 實(shí)例:
load wbarb;[C,S] = wavedec2(X,2,'bior3.7');cA2 = appcoef2(C,S,'bior3.7',2);cH2 = detcoef2('h',C,S,2);cV2 = detcoef2('v',C,S,2);cD2 = detcoef2('d',C,S,2);cA1 = appcoef2(C,S,'bior3.7',1);cH1 = detcoef2('h',C,S,1);cV1 = detcoef2('v',C,S,1);cD1 = detcoef2('d',C,S,1);figure(1);colormap(map);subplot(2,2,1);image(wcodemat(cA1,192));title('Approximation A1')subplot(2,2,2);image(wcodemat(cH1,192));title('Horizontal Detail H1')subplot(2,2,3);image(wcodemat(cV1,192));title('Vertical Detail V1')subplot(2,2,4);image(wcodemat(cD1,192));title('Diagonal Detail D1')figure(2);colormap(map);subplot(2,2,1);image(wcodemat(cA2,192));title('Approximation A2')subplot(2,2,2);image(wcodemat(cH2,192));title('Horizontal Detail H2')subplot(2,2,3);image(wcodemat(cV2,192));title('Vertical Detail V2')subplot(2,2,4);image(wcodemat(cD2,192));title('Diagonal Detail D2')
wrcoef2多尺度小波系數(shù)重構(gòu)
調(diào)用格式:
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,N)Type: ?a?低頻;?h? 水平;?v?垂直;?d?對角 實(shí)例:
load wbarb;[C,S] = wavedec2(X,2,'bior3.7');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);A2 = wrcoef2('a',C,S,'bior3.7',2);H2 = wrcoef2('h',C,S,'bior3.7',2);V2 = wrcoef2('v',C,S,'bior3.7',2);D2 = wrcoef2('d',C,S,'bior3.7',2);figure(1);colormap(map);subplot(2,2,1);image(wcodemat(A1,192));title('reApproximation A1')subplot(2,2,2);image(wcodemat(H1,192));title('reHorizontal Detail H1')subplot(2,2,3);image(wcodemat(V1,192));title('reVertical Detail V1')subplot(2,2,4);image(wcodemat(D1,192));title('reDiagonal Detail D1')figure(2);colormap(map);subplot(2,2,1);image(wcodemat(A2,192));title('reApproximation A2')subplot(2,2,2);image(wcodemat(H2,192));title('reHorizontal Detail H2')subplot(2,2,3);image(wcodemat(V2,192));title('reVertical Detail V2')subplot(2,2,4);image(wcodemat(D2,192));title('reDiagonal Detail D2')
二維靜態(tài)(平穩(wěn))小波變換
回顧從一維離散小波變換到二維的擴(kuò)展,二維靜態(tài)小波變換采用相似的方式。對行和列分別采用高通和低通濾波器。這樣分解的結(jié)果仍然是四組圖像:近似圖像、水平細(xì)節(jié)圖像、豎直細(xì)節(jié)圖像和對角圖像,與離散小波變換不同的只是靜態(tài)小波分解得到的四幅圖像與原圖像尺寸一致,道理與一維情況相同。
二維離散小波變換同樣只提供了一個函數(shù)swt2,因?yàn)樗粚Ψ纸庀禂?shù)進(jìn)行下采樣,所以單層分解和多層分解的結(jié)果是一樣的。不需要另外提供多層分解的功能。swt2二維靜態(tài)小波變換
調(diào)用格式:
[A,H,V,D] = swt2(X,N,'wname')[A,H,V,D] = swt2(X,N,Lo_D,Hi_D)iswt2二維靜態(tài)小波逆變換 調(diào)用格式
X = iswt2(SWC,'wname')X = iswt2(A,H,V,D,wname)X = iswt2(SWC,Lo_R,Hi_R)X = iswt2(A,H,V,D,Lo_R,Hi_R)實(shí)例
clc;clear;close all;load woman;[cA,cH,cV,cD]=swt2(X,2,'haar');%用haar小波基進(jìn)行2尺度平穩(wěn)小波分解 cA1=cA(:,:,1);cH1=cH(:,:,1);cV1=cV(:,:,1);cD1=cD(:,:,1);%尺度1低、高頻系數(shù)
cA2=cA(:,:,2);cH2=cH(:,:,2);cV2=cV(:,:,2);cD2=cD(:,:,2);%尺度2低、高頻系數(shù)
reX = iswt2(cA,cH,cV,cD,'haar');X1 = iswt2(cA1,cH1,cV1,cD1,'haar');X2 = iswt2(cA2,cH2,cV2,cD2,'haar');figure;colormap(map);subplot(1,4,1),image(X);title('原始圖像');subplot(1,4,2),image(reX);title('重構(gòu)圖像');subplot(1,4,3),image(X1);title('尺度1的重構(gòu)圖像');subplot(1,4,4),image(X2);title('尺度1的重構(gòu)圖像');figure;colormap(map);subplot(1,2,1),image(uint8(cA1));title('尺度1的低頻系數(shù)圖像');subplot(1,2,2),image(uint8(cA2));title('尺度2的低頻系數(shù)圖像');figure;colormap(map);subplot(2,3,1),image(uint8(cH1));title('尺度1水平方向高頻系數(shù)');subplot(2,3,2),image(uint8(cV1));title('尺度1垂直方向高頻系數(shù)');subplot(2,3,3),image(uint8(cD1));title('尺度1斜線方向高頻系數(shù)');subplot(2,3,4),image(uint8(cH2));title('尺度2水平方向高頻系數(shù)');subplot(2,3,5),image(uint8(cV2));title('尺度2垂直方向高頻系數(shù)');subplot(2,3,6),image(uint8(cD2));title('尺度2斜線方向高頻系數(shù)');
直接調(diào)用的小波函數(shù) meyer函數(shù) 功能:Meyer小波
函數(shù)語法格式:
[PHI,PSI,T] = meyer(LB,UB,N)[PHI,T] = meyer(LB,UB,N,'phi')[PSI,T] = meyer(LB,UB,N,'psi')
cgauwavf函數(shù)
功能:Complex Gaussian小波
函數(shù)語法格式:
[PSI,X] = cgauwavf(LB,UB,N,P)
mexihat函數(shù) 功能:墨西哥帽小波
函數(shù)語法格式:
[PSI,X] = mexihat(LB,UB,N)
morlet函數(shù) 功能:Morlet小波
函數(shù)語法格式:
[PSI,X] = morlet(LB,UB,N)
symwavf函數(shù)
功能:Symlets小波濾波器 函數(shù)語法格式:F = symwavf(W)
三、圖像接口調(diào)用
使用圖形接口做一維連續(xù)小波分析
1.開啟一維連續(xù)小波工具,只需輸入如下命令 wavemenu
出現(xiàn)如下小波工具箱主菜單
選擇Continuous Wavelet 1-D菜單項(xiàng),出現(xiàn)如下一維信號分析連續(xù)小波分析工具
2.加載信號
選擇菜單File->Load Signal,在Load Signal對話框里選擇noissin.mat文件,它在matlab安裝目錄的toolbox/wavelet/wavedemo文件夾下,點(diǎn)擊OK加載信號。一維連續(xù)小波工具開始加載信號,加載后默認(rèn)采樣頻率為1s。3.執(zhí)行連續(xù)小波變換
下面來測試使用db4小波對尺度1到48做小波分析,設(shè)置如下
4.點(diǎn)擊Analyze按鈕
在短暫的計(jì)算后,工具將繪制小波系數(shù),并在Coefficients line坐標(biāo)系中繪制尺度為24的小波系數(shù),在local maxima坐標(biāo)系中繪制各尺度的小波系數(shù)最大值。
5.查看小波Coefficients Line 在小波系數(shù)圖中右鍵點(diǎn)擊可以選擇展示其他尺度的小波系數(shù),選擇后點(diǎn)擊New Coefficients Line按鈕,Coefficients Line會相應(yīng)更新。
6.查看Maxima Line 點(diǎn)擊Refresh Maxima Line按鈕,可以顯示從尺度1到所選尺度的小波系數(shù)的最大值。
注意當(dāng)在系數(shù)圖中按下鼠標(biāo)右鍵并移動時,會在最下面的Info框中顯示當(dāng)前鼠標(biāo)位于的X位置和尺度。
7.在尺度和偽頻率之間切換
在右邊選擇Frequencies,當(dāng)再在系數(shù)圖中選擇時,在Info中顯示的將是Hz。
而關(guān)于尺度和頻率的轉(zhuǎn)換關(guān)系,可以看How to Connect Scale to Frequency? 8.選擇要顯示的坐標(biāo)系
9.放大細(xì)節(jié)
在系數(shù)框中按鼠標(biāo)左鍵可以選擇放大的范圍。
10.選擇好放大范圍后點(diǎn)擊最下面的按鈕可以實(shí)現(xiàn)指定的放大
11.顯示普通系數(shù)或系數(shù)絕對值
兩種顯示方式的區(qū)別在于,普通模式下,顏色映射是在系數(shù)的最大最小之間;而絕對模式,顏色映射是在0和最大的系數(shù)絕對值之間。圖形接口的導(dǎo)入導(dǎo)出信息 導(dǎo)入信號到一維連續(xù)小波工具
首先將要處理的信號保存到mat文件中,要求信號是一維的向量。然后使用工具的File->Load Signal菜單功能,選擇此信號文件即可導(dǎo)入信號。
文件中第一個一維變量被認(rèn)為是信號,變量在文件中順序是按字母排序的。保存小波系數(shù)
小波分析完成后,點(diǎn)擊File->Save->Coefficients,可以將分析結(jié)果保存到mat文件。保存后,可以使用load函數(shù)加載數(shù)據(jù),會看到保存的變量有小波系數(shù)coeff、尺度scales、小波的名字wname。
使用圖形接口做一維離散小波分析 1.開啟一維小波分析工具 Wavemenu->Wavelet 1-D 2.加載信號
3.執(zhí)行一層小波分解 使用db1小波執(zhí)行一層分解
4.放大有關(guān)細(xì)節(jié) 5.執(zhí)行多層小波分解 使用db1小波執(zhí)行3層分解。
選擇不同的顯示方式:在Display mode下拉菜單下可以選擇不同的顯示方式,默認(rèn)的顯示方式為Full Decomposition Mode,其他的顯示方式及其意義如下 Separate Mode:在不同的列中顯示細(xì)節(jié)和近似;
Superimpose Mode:在一張圖上以不同的顏色顯示細(xì)節(jié)、近似;
Tree Mode:顯示分解樹、原始信號和選擇的成分,在分解樹上選擇你想顯示的成分; Show and Scroll Mode:顯示3個窗口,第一個顯示原始信號和選擇的近似信號,第二個顯示選擇的細(xì)節(jié),第三個顯示小波系數(shù); Show and Scroll Mode(Stem Cfs):和Show and Scroll Mode很接近,除了第三個窗口中以桿狀圖替代顏色條顯示小波系數(shù)。
對于每個分析任務(wù),可以改變默認(rèn)的顯示方式,只要在View->Default Display Mode子菜單下選擇理想的方式即可;不同的顯示方式會有額外的顯示選項(xiàng),在More Display Options中做選擇,這些選項(xiàng)可以控制不同成分的顯示、選擇是否顯示原始信號與細(xì)節(jié)、近似對比。6.從信號中移除噪聲
圖形接口提供了以預(yù)定義的閾值策略除噪的選項(xiàng),這使得從信號中除噪非常容易,只需點(diǎn)擊De-noise按鈕就可以彈出除噪工具。
點(diǎn)擊Close可以關(guān)閉除噪窗口,由于不能同時打開除噪和壓縮窗口,所以需要關(guān)閉除噪窗口再進(jìn)行信號壓縮。關(guān)閉時會提示Update Synthesized Signal提示對話框,點(diǎn)擊No,如果點(diǎn)擊Yes,合成的信號會加載到主窗口。7.改善分析
圖像工具可以在任何時候輕易的改善分析,只需要改變分析的方法就可以了,如使用db3做5層小波分析。8.壓縮信號
圖形接口提供了自動化或人工閾值的做壓縮的功能。
默認(rèn)使用的是全閾值方法,當(dāng)然也可以使用人工閾值的方法,選擇By Level thresholding選項(xiàng)即可,下面的滑動條提供了各級閾值獨(dú)立調(diào)整的功能,相應(yīng)的調(diào)整可以在左邊的窗口中看到,在圖形窗口中也可以直接拖動來改變閾值。
完成選擇后,點(diǎn)擊壓縮按鈕可以完成壓縮。從壓縮的結(jié)果可以看到,壓縮過程去除了大多數(shù)噪聲,但保存了信號99.74%的能量。自動化閾值是非常有效的,它使除3.2%的小波系數(shù)都?xì)w零化了。9.顯示殘差
點(diǎn)擊Residuals按鈕可以查看壓縮的殘差。顯示的統(tǒng)計(jì)數(shù)據(jù)包括測量的趨勢(平均值、眾數(shù)、中值)和散布情況(極差、標(biāo)準(zhǔn)差)。另外,工具還提供了概率分布直方圖和累計(jì)直方圖以及時間序列圖,如自相關(guān)函數(shù)、頻譜。這些都是和去噪工具是一樣的。10.顯示統(tǒng)計(jì)分布
可以顯示一系列有關(guān)信號及其組分的統(tǒng)計(jì)數(shù)據(jù)。
點(diǎn)擊Statistics按鈕可以查看統(tǒng)計(jì)數(shù)據(jù)信息,點(diǎn)擊Histograms可以查看直方圖。從圖形接口中導(dǎo)入導(dǎo)出信息 保存信息
l 保存合成的信號
如加載如下信號File > Example Analysis > Basic Signals > with db3 at level 5 → Sum of sines,做除噪或壓縮處理后,保存合成信號File > Save > Synthesized Signal,保存后加載文件,會得到如下變量: 如果使用除全閾值外的方法時,得到的變量結(jié)構(gòu)如下
Synthsig是合成的信號,除噪或壓縮的小波方法保存在wname中,相互依賴的各級閾值保存在thrParams中,小波分解的等級數(shù)和cell的長度相等,thrParams{i},i從1到5分別保存了閾值間距上下限的值和閾值(間距閾值是允許的,在自適應(yīng)閾值方法中會用到,參見One-Dimensional Variance Adaptive Thresholding of Wavelet Coefficients)如果使用的全閾值方法,保存的數(shù)據(jù)結(jié)構(gòu)如下
alTHR保存的是全閾值的值。l 保存離散小波變換的系數(shù) 一個例子的文件內(nèi)容如下
Coefs包含了離散小波變換的系數(shù),longs包含了各組分的長度,thrParams為空,因?yàn)楹铣尚盘柌淮嬖冢瑆name是小波的名字。l 保存分解結(jié)果(即保存小波分析的全體數(shù)據(jù))小波工具將保存為.wal文件,加載方式為 load wdecex1d.wa1 –mat 文件內(nèi)容為
加載信息
加載的文件只要和保存的相應(yīng)文件中的變量一樣即可。
使用圖形接口分析復(fù)信號
與實(shí)信號不同的是,選擇Complex Continuous Wavelet 1-D,得到的結(jié)果如下
具體操作過程與實(shí)信號的相似,如下
使用圖形接口做一維除噪分析 1.開啟一維平穩(wěn)小波除噪工具
輸入wavemenu,選擇SWT Denoising 1-D,出現(xiàn)如下GUI
2.加載信號 Load Signal 3.執(zhí)行平穩(wěn)小波分解
使用db1小波執(zhí)行5層小波分解,得到的是非抽取系數(shù)(nondecimated coefficients),它們是使用相同的離散小波變換來得到的,只是省略了抽取的步驟。得到的結(jié)果如下
4.使用平穩(wěn)小波變換除噪
可以使用GUI默認(rèn)的參數(shù)做除噪處理。右邊的滑動條可以控制各級系數(shù)的閾值大小,也可以直接在系數(shù)圖中直接拖動來調(diào)整閾值的大小,注意近似系數(shù)中沒有閾值。點(diǎn)擊denoise進(jìn)行除噪處理
得到的效果是非常好的,但似乎在信號不連續(xù)的地方出現(xiàn)了過平滑,這個可以從殘差圖中看出來,在800的位置出現(xiàn)了突降點(diǎn)。
選擇hard閾值模式代替soft模式,再進(jìn)行除噪,結(jié)果如下
可以看到這次效果非常好,而且殘差圖也看起來像白噪聲序列。為了驗(yàn)證這一點(diǎn),可以點(diǎn)擊Residuals按鈕查看殘差圖及相關(guān)統(tǒng)計(jì)數(shù)據(jù)來詳細(xì)說明。
四、小波變換在圖像處理中的應(yīng)用 4.1 小波分析用于圖像壓縮
4.1.1 基于小波變換的圖像局部壓縮
基于離散余弦變換的圖像壓縮算法,其基本思想是在頻域?qū)π盘栠M(jìn)行分解,驅(qū)除信號點(diǎn)之間的相關(guān)性,并找出重要系數(shù),濾掉次要系數(shù),以達(dá)到壓縮的效果,但該方法在處理過程中并不能提供時域的信息,在我們比較關(guān)心時域特性的時候顯得無能為力。
但是這種應(yīng)用的需求是很廣泛的,比如遙感測控圖像,要求在整幅圖像有很高壓縮比的同時,對熱點(diǎn)部分的圖像要有較高的分辨率,例如醫(yī)療圖像,需要對某個局部的細(xì)節(jié)部分有很高的分辨率,單純的頻域分析的方法顯然不能達(dá)到這個要求,雖然可以通過對圖像進(jìn)行分快分解,然后對每塊作用不同的閾值或掩碼來達(dá)到這個要求,但分塊大小相對固定,有失靈活。
在這個方面,小波分析的就優(yōu)越的多,由于小波分析固有的時頻特性,我們可以在時頻兩個方向?qū)ο禂?shù)進(jìn)行處理,這樣就可以對我們感興趣的部分提供不同的壓縮精度。
下面我們利用小波變化的時頻局部化特性,舉一個局部壓縮的例子,大家可以通過這個例子看出小波變換在應(yīng)用這類問題上的優(yōu)越性。
我們把圖像中部的細(xì)節(jié)系數(shù)都置零,從壓縮圖像中可以很明顯地看出只有中間部分變得模糊(比如在原圖中很清晰的圍巾的條紋不能分辨),而其他部分的細(xì)節(jié)信息仍然可以分辨的很清楚。
實(shí)例:
load wbarb %使用sym4小波對信號進(jìn)行一層小波分解 [ca1,ch1,cv1,cd1]=dwt2(X,'sym4');codca1=wcodemat(ca1,192);codch1=wcodemat(ch1,192);codcv1=wcodemat(cv1,192);codcd1=wcodemat(cd1,192);%將四個系數(shù)圖像組合為一個圖像
codx=[codca1,codch1,codcv1,codcd1];%復(fù)制原圖像的小波系數(shù) rca1=ca1;rch1=ch1;rcv1=cv1;rcd1=cd1;%將三個細(xì)節(jié)系數(shù)的中部置零
rch1(33:97,33:97)=zeros(65,65);rcv1(33:97,33:97)=zeros(65,65);rcd1(33:97,33:97)=zeros(65,65);codrca1=wcodemat(rca1,192);codrch1=wcodemat(rch1,192);codrcv1=wcodemat(rcv1,192);codrcd1=wcodemat(rcd1,192);%將處理后的系數(shù)圖像組合為一個圖像
codrx=[codrca1,codrch1,codrcv1,codrcd1];%重建處理后的系數(shù)
rx=idwt2(rca1,rch1,rcv1,rcd1,'sym4');subplot(221);image(wcodemat(X,192)),colormap(map);title('原始圖像');subplot(222);image(codx),colormap(map);title('一層分解后各層系數(shù)圖像');subplot(223);image(wcodemat(rx,192)),colormap(map);title('壓縮圖像');subplot(224);image(codrx),colormap(map);title('處理后各層系數(shù)圖像');%求壓縮信號的能量成分 per=norm(rx)/norm(X)%求壓縮信號與原信號的標(biāo)準(zhǔn)差 err=norm(rx-X)運(yùn)行結(jié)果
per = 1.0000 err = 586.4979 4.1.2 小波變換用于圖像壓縮的一般方法
二維小波分析用于圖像壓縮是小波分析應(yīng)用的一個重要方面。
它的特點(diǎn)是壓縮比高,壓縮速度快,壓縮后能保持圖像的特征基本不變,且在傳遞過程中可以抗干擾。4.1.2.1 利用二維小波分析進(jìn)行圖像壓縮
基于小波分析的圖像壓縮方法很多,比較成功的有小波包、小波變換零樹壓縮、小波變換矢量量化壓縮等。
利用二維小波變換進(jìn)行圖像壓縮時,小波變換將圖像從空間域變換到時間域,它的作用與以前在圖像壓縮中所用到的離散余弦(DCT)、傅立葉變換(FFT)等的作用類似。但是要很好的進(jìn)行圖像的壓縮,需要綜合的利用多種其他技術(shù),特別是數(shù)據(jù)的編碼與解碼算法等,所以利用小波分析進(jìn)行圖像壓縮通常需要利用小波分析和許多其他相關(guān)技術(shù)共同完成。小波高頻濾波壓縮 %%%%%%%%裝入圖像、變換 load wbarb;%對圖像用bior3.7小波進(jìn)行2層小波分解 [c,s]=wavedec2(X,2,'bior3.7');%提取小波分解結(jié)構(gòu)中第一層低頻系數(shù)和高頻系數(shù) ca1=appcoef2(c,s,'bior3.7',1);ch1=detcoef2('h',c,s,1);cv1=detcoef2('v',c,s,1);cd1=detcoef2('d',c,s,1);%分別對各頻率成分進(jìn)行重構(gòu)
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];%%%%%%%%%下面進(jìn)行圖像壓縮處理
%保留小波分解第一層低頻信息,進(jìn)行圖像的壓縮 %第一層的低頻信息即為ca1,顯示第一層的低頻信息 %首先對第一層信息進(jìn)行量化編碼
ca1=appcoef2(c,s,'bior3.7',1);ca1=wcodemat(ca1,440,'mat',0);%改變圖像的高度 ca1=0.5*ca1;%保留小波分解第二層低頻信息,進(jìn)行圖像的壓縮,此時壓縮比更大 %第二層的低頻信息即為ca2,顯示第二層的低頻信息 ca2=appcoef2(c,s,'bior3.7',2);%首先對第二層信息進(jìn)行量化編碼
ca2=wcodemat(ca2,440,'mat',0);%改變圖像的高度 ca2=0.25*ca2;%%%%%%%顯示圖像、分解后各頻率成分的信息
subplot(221);image(X);colormap(map);title('原始圖像');axis square subplot(222);image(c1);axis square;title('分解后低頻和高頻信息');subplot(223);image(ca1);colormap(map);axis square;title('第一次壓縮');subplot(224);image(ca2);colormap(map);axis square;title('第二次壓縮');disp('壓縮前圖像X的大小:');whos('X')disp('第一次壓縮圖像的大小為:');whos('ca1')disp('第二次壓縮圖像的大小為:');whos('ca2')輸出結(jié)果如下所示:
壓縮前圖像X的大?。?Name SizeBytesClass X256x256524288double array Grand total is 65536 elements using 524288 bytes 第一次壓縮圖像的大小為: Name SizeBytesClass ca1135x135145800double array Grand total is 18225 elements using 145800 bytes 第二次壓縮圖像的大小為: Name SizeBytesClass ca2 75x7545000double array Grand total is 5625 elements using 45000 bytes
可以看出,第一次壓縮提取的是原始圖像中小波分解第一層的低頻信息,此時壓縮效果較好,壓縮比較?。s為1/3):第二次壓縮是提取第一層分解低頻部分的低頻部分(即小波分解第二層的低頻部分),其壓縮比較大(約為1/12),壓縮效果在視覺上也基本過的去。這是一種最簡單的壓縮方法,只保留原始圖像中低頻信息,不經(jīng)過其他處理即可獲得較好的壓縮效果。
小波高頻閾值壓縮 %裝入一個二維信號 load tire;
%下面進(jìn)行圖像壓縮
[c,s]=wavedec2(X,2,'db3');%對圖像用db3小波進(jìn)行2層小波分解, [thr,sorh,keepapp]=ddencmp('cmp','wv',X);%使用ddencmp函數(shù)來求取閾值
[Xcomp,cxc,lxc,perf0,perfl2]=wdencmp('gbl',c,s,'db3',2,thr,sorh,keepapp);%輸入?yún)?shù)中選擇了全局閾值選項(xiàng)?gbl?,用來對所有高頻系數(shù)進(jìn)行相同的閾值量化處理 %將壓縮后的圖像與原始圖像相比較,并顯示出來
subplot(121);image(X);colormap(map);title('原始圖像');axis square subplot(122);image(Xcomp);colormap(map);title('壓縮圖像');axis square disp('小波分解系數(shù)中置0的系數(shù)個數(shù)百分比:');perf0 disp('壓縮后圖像剩余能量百分比:');perfl2
輸出結(jié)果如下所示:
小波分解系數(shù)中置0的系數(shù)個數(shù)百分比: perf0 =49.1935 壓縮后圖像剩余能量百分比: perfl2 =99.9928 4.1.2.2 二維信號壓縮中的閾值的確定與作用命令
由于閾值處理只關(guān)心系數(shù)的絕對值,并不關(guān)心系數(shù)的位置,所以二維小波變換系數(shù)的閾值化方法同一維情況大同小異,為了方便用戶使用小波工具箱對某些閾值化方法提供了專門的二維處理命令
閾值化壓縮方法 %裝入一個二維信號 load tire;%下面進(jìn)行圖像壓縮
[c,s]=wavedec2(X,2,'db3');%對圖像用db3小波進(jìn)行2層小波分解, [thr,sorh,keepapp]=ddencmp('cmp','wv',X);%使用ddencmp函數(shù)來求取閾值 [Xcomp,cxc,lxc,perf0,perfl2]=wdencmp('gbl',c,s,'db3',2,thr,sorh,keepapp);%將壓縮后的圖像與原始圖像相比較,并顯示出來 subplot(121);image(X);colormap(map);title('原始圖像');axis square subplot(122);image(Xcomp);colormap(map);title('壓縮圖像');axis square disp('小波分解系數(shù)中置0的系數(shù)個數(shù)百分比:');perf0 disp('壓縮后圖像剩余能量百分比:');perfl2
顯示結(jié)果如圖所示
可見分層閾值化壓縮方法同全局閾值化方法相比,在能量損失不是很大的情況下可以獲得最高的壓縮化,這主要是因?yàn)閷訑?shù)和方向相關(guān)的閾值化方法能利用更精細(xì)的細(xì)節(jié)信息進(jìn)行閾值化處理。
4.1.3 基于小波包變換的圖像壓縮
小波分析之所以在信號處理中有著強(qiáng)大的功能,是基于其分離信息的思想,分離到各個小波域的信息除了與其他小波域的關(guān)聯(lián),使得處理的時候更為靈活。全局閾值化方法作用的信息粒度太大,不夠精細(xì),所以很難同時獲得高的壓縮比和能量保留成分,在作用的分層閾值以后,性能明顯提高,因?yàn)榉謱娱撝蹈荏w現(xiàn)信號固有的時頻局部特性。
但是小波分解仍然不夠靈活,分解出來的小波樹只有一種模式,不能完全地體現(xiàn)時頻局部化信息。而壓縮的核心思想既是盡可能去處各小波域系數(shù)之間的信息關(guān)聯(lián),最大限度體現(xiàn)時頻局部化的信息,因此,實(shí)際的壓縮算法多采用小波包算法,而小波樹的確定則是根據(jù)不同的信息論準(zhǔn)則,以達(dá)到分解系數(shù)表達(dá)的信息密度最高。
下面我通過一個例子來說明小波包分析在圖像壓縮中的應(yīng)用,并給出性能參數(shù)以便于同基于小波分析的壓縮進(jìn)行比較。
小波包優(yōu)化 %讀入信號 load julia %求顏色索引表長度 nbc=size(map,1);%得到信號的閾值,保留層數(shù),小波樹優(yōu)化標(biāo)準(zhǔn)
[thr,sorh,keepapp,crit]=ddencmp('cmp','wp',X);%通過以上得到的參數(shù)對信號進(jìn)行壓縮
[xd,treed,perf0,perfl2]=wpdencmp(X,sorh,4,'sym4',crit,thr*2,keepapp);%更改索引表為pink索引表 colormap(pink(nbc));subplot(121);image(wcodemat(X,nbc));title('原始圖像');subplot(122);image(wcodemat(xd,nbc));title('全局閾值化壓縮圖像');xlabel(['能量成分',num2str(perfl2),'%','零系數(shù)成分',num2str(perf0),'%']);plot(treed);
得到的壓縮結(jié)果如圖所示
圖6 基于小波包分析的圖像壓縮
壓縮過程中使用的最優(yōu)小波數(shù)如圖所示
圖7 最優(yōu)小波樹
ddencmp、wpdencmp這兩個命令是Matlab小波工具箱提供的自動獲取閾值和自動使用小波包壓縮的命令,后者將分解閾值化和重建綜合起來。在將小波包用于信號壓縮的過程中,ddencmp命令返回的最優(yōu)小波樹標(biāo)準(zhǔn)都是閾值化標(biāo)準(zhǔn)。根據(jù)這個標(biāo)準(zhǔn)確定的最優(yōu)小波樹可以使得壓縮過程的零系數(shù)成分最高,并且自動降低計(jì)算量。
圖像壓縮是應(yīng)用非常廣泛的一類問題,所以其機(jī)器實(shí)現(xiàn)效率是至關(guān)重要的,在實(shí)際的應(yīng)用中,如JPEG2000,一般不采用通常的mallat算法做小波分解,而是應(yīng)用特定的雙正交小波,利用其濾波器分布規(guī)則的特性,用移位操作來實(shí)現(xiàn)濾波操作。4.2 小波分析用于圖像去噪
噪聲可以理解為妨礙人的視覺器官或系統(tǒng)傳感器對所接收圖像源進(jìn)行理解或分析的各種因素。一般噪聲是不可預(yù)測的隨機(jī)信號,它只能用概率統(tǒng)計(jì)的方法去認(rèn)識。噪聲對圖像處理十分重要,它影響圖像處理的輸入、采集、處理的各個環(huán)節(jié)以及輸出結(jié)果的全過程。特別是圖像的輸入、采集的噪聲是個十分關(guān)鍵的問題,若輸入伴有較大噪聲,必然影響處理全過程及輸出結(jié)果。因此一個良好的圖像處理系統(tǒng),不論是模擬處理還是計(jì)算機(jī)處理無不把減少最前一級的噪聲作為主攻目標(biāo)。去噪已成為圖像處理中極其重要的步驟。
對二維圖像信號的去噪方法同樣適用于一維信號,尤其是對于幾何圖像更適合。二維模型可以表述為
s(i,j)=f(i,j)+δ·e(i,j)i,j=0,1,…,m-1 其中,e是標(biāo)準(zhǔn)偏差不變的高斯白噪聲。二維信號用二維小波分析的去噪步驟有3步:(1)二維信號的小波分解。選擇一個小波和小波分解的層次N,然后計(jì)算信號s到第N層的分解。
(2)對高頻系數(shù)進(jìn)行閾值量化。對于從1到N的每一層,選擇一個閾值,并對這一層的高頻系數(shù)進(jìn)行軟閾值量化處理。
(3)二維小波的重構(gòu)。根據(jù)小波分解的第N層的低頻系數(shù)和經(jīng)過修改的從第一層到第N層的各層高頻系數(shù)計(jì)算二維信號的小波重構(gòu)。
在這3個步驟中,重點(diǎn)是如何選取閾值和閾值的量化 小噪聲閾值去噪
下面給出一個二維信號(文件名為detfinger.mat),并利用小波分析對信號進(jìn)行去噪處理。
%裝入圖像 load tire %下面進(jìn)行噪聲的產(chǎn)生 init=3718025452;rand('seed',init);Xnoise=X+18*(rand(size(X)));%用sym5小波對圖像信號進(jìn)行二層的小波分解 [c,s]=wavedec2(X,2,'sym5');%下面進(jìn)行圖像的去噪處理
%使用ddencmp函數(shù)來計(jì)算去噪的默認(rèn)閾值和熵標(biāo)準(zhǔn)
%使用wdencmp函數(shù)來實(shí)現(xiàn)圖像的壓縮
[thr,sorh,keepapp]=ddencmp('den','wv',Xnoise);[Xdenoise,cxc,lxc,perf0,perfl2]=wdencmp('gbl',c,s,'sym5',2,thr,sorh,keepapp);%顯示去噪后的圖像 colormap(map);subplot(131);image(wcodemat(X,192));title('原始圖像X');axis square subplot(132);image(wcodemat(X,192));title('含噪聲的圖像Xnoise');axis square subplot(133);image(Xdenoise);title('去噪后的圖像');axis square
輸出結(jié)果
從圖中3個圖像的比較可以看出,Matlab中的ddencmp和wdencmp函數(shù)可以有效地進(jìn)行去噪處理。大噪聲濾波去噪
再給定一個有較大白噪聲的delmontl.mat圖像。由于圖像所含的噪聲主要是白噪聲,而且主要集中在圖像的高頻部分,所以我們可以通過全部濾掉圖像中的高頻部分實(shí)現(xiàn)圖像的去噪。
load wmandril;%產(chǎn)生含噪圖像
init=2055615866;randn('seed',init)x=X+38*randn(size(X));
%下面進(jìn)行圖像的去噪處理
%用小波函數(shù)sym4對x進(jìn)行2層小波分解 [c,s]=wavedec2(x,2,'sym4');%提取小波分解中第一層的低頻圖像,即實(shí)現(xiàn)了低通濾波去噪 a1=wrcoef2('a',c,s,'sym4',1);%提取小波分解中第二層的低頻圖像,即實(shí)現(xiàn)了低通濾波去噪 a2=wrcoef2('a',c,s,'sym4',2);
%畫出圖像
subplot(221);image(X);colormap(map);title('原始圖像');axis square subplot(222);image(x);colormap(map);title('含噪聲圖像');axis square;subplot(223);image(a1);title('第一次去噪圖像');axis square;subplot(224);image(a2);title('第二次去噪圖像');axis square;輸出結(jié)果如圖:
從上面的輸出結(jié)果可以看出,第一次去噪已經(jīng)濾去了大部分的高頻噪聲,但從去噪圖像與原始圖像相比可以看出,第一次去噪后的圖像中還是含有不少的高頻噪聲;第二次去噪是在第一次去噪的基礎(chǔ)上,再次濾去其中的高頻噪聲。從去噪的結(jié)果可以看出,它具有較好的去噪效果。
少量噪聲的小波分解系數(shù)閾值量化去噪
下面再給出定一個喊有較少噪聲的facets.mat圖像。由于原始圖像中只喊有較少的高頻噪聲,如果按照上一個例子把高頻噪聲全部濾掉的方法將損壞圖像中固有的高頻有用信號。因此這幅圖像適合采用小波分解系數(shù)閾值量化方法進(jìn)行去噪處理。
%下面裝入原始圖像,X中含有被裝載的圖像 load facets;%產(chǎn)生含噪聲圖像
init=2055615866;randn('seed',init)x=X+10*randn(size(X));%下面進(jìn)行圖像的去噪處理
[c,s]=wavedec2(x,2,'coif3');%用小波畫數(shù)coif3對x進(jìn)行2層小波分解 n=[1,2];%設(shè)置尺度向量n p=[10.12,23.28];%設(shè)置閾值向量p %對三個方向高頻系數(shù)進(jìn)行閾值處理 nc=wthcoef2('h',c,s,n,p,'s');nc=wthcoef2('v',nc,s,n,p,'s');nc=wthcoef2('d',nc,s,n,p,'s');%對新的小波分解結(jié)構(gòu)[nc,s]進(jìn)行重構(gòu) xx=waverec2(nc,s,'coif3');%畫出圖像
subplot(131);image(X);colormap(map);title('原始圖像');axis square subplot(132);image(x);colormap(map);title('含噪聲圖像');axis square subplot(133);image(xx);colormap(map);title('去噪后的圖像');axis square
輸出結(jié)果如圖
更加標(biāo)準(zhǔn)的做法是下面這樣:
第三篇:小波分析算法資料整理總結(jié)
一、小波分析基本原理:
信號分析是為了獲得時間和頻率之間的相互關(guān)系。傅立葉變換提供了有關(guān)頻率域的信息,但有關(guān)時間的局部化信息卻基本丟失。與傅立葉變換不同,小波變換是通過縮放母小波(Mother wavelet)的寬度來獲得信號的頻率特征,通過平移母小波來獲得信號的時間信息。對母小波的縮放和平移操作是為了計(jì)算小波系數(shù),這些小波系數(shù)反映了小波和局部信號之間的相關(guān)程度。相關(guān)原理詳見附件資料和系統(tǒng)設(shè)計(jì)書。
注:小波分析相關(guān)數(shù)學(xué)原理較多,也較復(fù)雜,很多中文的著作都在討論抽象讓非數(shù)學(xué)相關(guān)專業(yè)人難理解的數(shù)學(xué)。本人找到了相對好理解些的兩個外文的資料: Tutorial on Continuous Wavelet Analysis of Experimental Data.doc Ten.Lectures.of.Wavelets.pdf
二、搜索到的小波分析源碼簡介(僅談大體印象,還待繼續(xù)研讀):
1、83421119WaveletVCppRes.rar 源碼類型:VC++程序
功能是:對簡單的一維信號在加上了高斯白噪聲之后進(jìn)行Daubechies小波、Morlet小波和Haar小波變換,從而得到小波分解系數(shù);再通過改變分解得到的各層高頻系數(shù)進(jìn)行信號的小波重構(gòu)達(dá)到消噪的目的。
說明:在這一程序?qū)崿F(xiàn)的過程中能直觀地理解信號小波分解重構(gòu)的過程和在信號消噪中的重要作用,以及在對各層高頻系數(shù)進(jìn)行權(quán)重處理時系數(shù)的選取對信號消噪效果的影響。但這是為專業(yè)應(yīng)用寫的算法,通用性差。
2、WA.FOR(南京氣象學(xué)院常用氣象程序中的小波分析程序)
源碼類型:fortran程序
功能是:對簡單的一維時間序列進(jìn)行小波分析。
說明:用的是墨西哥帽小波。程序短小,但代碼寫得較亂,思路不清,還弄不明白具體應(yīng)用。
3、中科院大氣物理學(xué)所.zip(原作者是美國Climate Diagnostics Center的C.Torrence 等)
源碼類型:fortran和matlab程序各一份
功能是:氣象應(yīng)用。用小波分析方法對太平洋溫度的南方濤動指數(shù)進(jìn)行分析。
說明:用的是Morlet和墨西哥帽小波。程序編寫規(guī)范,思路清晰,但這是為專業(yè)應(yīng)用寫的算法,通用性差。
4、Morlet小波變換源程序.rar 源碼類型:matlab程序
功能是:對簡單的一維時間序列進(jìn)行小波分析。
說明:用的是墨西哥帽小波。程序短小,但代碼寫得較亂,思路不清,還弄不明白具體應(yīng)用。
5、Morlet小波計(jì)算函數(shù)封裝源程序.rar 源碼類型:matlab程序
功能是:對一維時間序列信號進(jìn)行連續(xù)小波變換程序。
說明:用的是Morlet小波。程序短小,代碼調(diào)用了matlab內(nèi)置函數(shù)wave,并使用了卷積進(jìn)行求解,源碼中的多個參數(shù)的選擇和設(shè)置原理和依據(jù)還弄不明白。6、計(jì)算關(guān)于時間序列數(shù)據(jù)的的小波變換fortran程序.rar 源碼類型:fortran程序
功能是:對簡單的一維時間序列進(jìn)行小波變換。
說明:用的是DOG小波、Morlet小波、Paul小波。程序較長,代碼寫得較亂,還弄不明白具體應(yīng)用。
三、小波分析底層基本算法實(shí)現(xiàn)的困難:
1、小波分析中用的小波基函數(shù)的種類很多,選擇不同基小波函數(shù)的,變換內(nèi)核的計(jì)算實(shí)現(xiàn)方法不同。
2、小波分析的應(yīng)用領(lǐng)域非常多,不同的應(yīng)用領(lǐng)域的小波算法框架不同。
3、小波分析的輸入輸出參數(shù)較多,但在應(yīng)用時靈活度不強(qiáng),對不同小波基函數(shù)和不同的應(yīng)用有著不同的參數(shù)選擇和設(shè)定方法,同時表現(xiàn)出不同的性質(zhì)。
因而,很多時候小波在不同的實(shí)際應(yīng)用時的算法和編碼實(shí)現(xiàn)有差別非常大。從目前本人收集到的5個小波分析源程序的分析來看,這6個源程序的具體實(shí)現(xiàn)思路、參數(shù)選擇和設(shè)置各不相同??傊茈y設(shè)定一個比較標(biāo)準(zhǔn)通用的小波分析底層算法。
第四篇:詞形變換小結(jié)
詞形變換小結(jié)
一、形容詞變副詞的規(guī)則 1.一般情況下直接加―ly‖,如 quick---quickly
real-really
helpful-helpfully careful-carefully hopeful-hopefully slow-slowly
quick-quickly quiet-quietly
2.以輔音字母―y‖結(jié)尾的,先將―y‖改成―i‖,再加―ly‖,如happy---happily
busy-busily angry-angrily
easy-easily
3、以輔音字母加不發(fā)音的字母e結(jié)尾和以-ue結(jié)尾的形容詞要先去掉e,然后再加-y或-ly。例如:
terrible-terribly;gentle-gently;simple→simply probable – probably;able-ably;true-truly
但絕大多數(shù)以e結(jié)尾的形容詞仍然直接加-ly。例如:polite-politely, wide-widely等。
另外,副詞還可以由形容詞加前綴a-得來,如:loud(adj.)-aloud(adv.)
4.以ll結(jié)尾的詞 只加y full-fully dull→dully 以ic結(jié)尾的詞 加ally
automatic-automatically energetic-energetically
democratic→democratically 有些以-ly 結(jié)尾既為形容詞,也為副詞。daily,weekly,monthly,yearly,early The Times is a daily paper.The Times is published daily.此外,部分名詞加后綴也可變成副詞,如: part-partly,例句: It is partly her fault.有部分是她的錯。需注意: friendly,deadly,lonely,likely,lively,ugly,brotherly , fatherly, motherly,lovely等是形容詞而非副詞。形容詞變副詞通常是加ly,特殊變化請記住以下口訣:
一般直接加,―元e‖去e加,―輔y‖改i加,―le‖結(jié)尾e改y。分別舉例如下:
quick—quickly, true—truly, happy—happily, gentle — gently possible —possibly.probable — probably 在英語中,有些詞既可以作形容詞,又可以作副詞,如early, much, fast, little, wide, loud, high, deep,hard等。由于這類詞詞性雖不同,但詞形卻一樣,這就需要大家學(xué)會在特定語境中判斷它們各自的詞性。例句: Thank you very much.(adv.)多謝。There is much water in the river.(adj.)
The music is too loud.Please turn it down.(adj.)He speaks loud enough,So everyone in the room can hear what he said.(adv.)他說話的聲音很大,所以房間里每個人都能聽到他的話。
兼有兩種形式的副詞
1)close與closely
close意思是“近”; closely 意思是“仔細(xì)地” He is sitting close to me.Watch him closely.2)late 與lately
late意思是“晚”; lately 意思是“最近” You have come too late.What have you been doing lately? 3)deep與deeply
deep意思是“深”,表示空間深度;deeply時常表示感情上的深度,“深深地” He pushed the stick deep into the mud.Even father was deeply moved by the film.4)high與highly
high表示空間高度;highly表示程度,相當(dāng)于much The plane was flying high.I think highly of your opinion.5)wide與widely
wide表示空間寬度;widely意思是“廣泛地”,“在許多地方” He opened the door wide.English is widely used in the world.6)free與freely
free的意思是“免費(fèi)”;freely 的意思是“無限制地” You can eat free in my restaurant whenever you like.You may speak freely;say what you like.另外,還有一類副詞和形容詞詞義相同,但拼寫卻不同,如well和good。例句 He speaks good English.他講一口流利的英語。He speaks English well.他英語講得不錯。
二、動詞變名詞小結(jié)
1.在詞尾加er,r ,雙寫加er 或or: A.play — player, sing — singer
wait — waiter , find — finder B.write — writer, drive —driver
come — comer, explore — explorer
dance — dancer C.run — runner, win — winner
traval — travaller D.visit — visitor, invent — inventor 2.在詞尾加ing:
build — building, draw —drawing end — ending, begin — beginning swim — swimming,skate — skating feel — feeling, say — saying, mean — meaning, cross — crossing surf — surfing, paint — painting
3.在詞尾加ion 或去e加ion: 1)以-d或-de結(jié)尾的動詞,在對應(yīng)的名詞和形容詞中,d通常變成s,如: provide→provision,decide→decision
invade(侵略)→invasion
等等。2)以-end結(jié)尾的動詞,往往有-ent結(jié)尾的名詞與之對應(yīng)。如extend→extent,descend→descent,等等
3)以te結(jié)尾去e加ion,如: celebrate — celebration, educate — education graduate — graduation, donate — donation contribute — contribution invite — invitation congratulate — congratulation
operate — operation pollute —pollution appreciate — appreciation 以t結(jié)尾加ion,如:
attract — attraction
invent — invention instruct — instruction 注意:
describe — description discuss — discussion produce — production, pronounce — pronunciation, organize — orgnization determine — determination impress — impression 4.在詞尾加 ment 結(jié)尾 achieve---achievement 成就 advertise---advertisement 廣告
agree— agreement協(xié)議 enjoy — enjoyment amuse—amusement 娛樂develop---development equip 裝備---equipment 裝備,器材
govern 統(tǒng)治—government 政府 manage---management 經(jīng)營, 管理
argue---argument爭吵
know — knowledge, please — pleasure practise —practice advise—advice die — death, succeed — success
weigh — weight,sit — seat , fly — flight, discover — discovery,fail — failure, behave—behavior mix — mixture , press —pressure
appear — appearance,enter — entrance guide—guidance perform—performance
tour 在---旅游,在---作巡回演出 直接+地點(diǎn) tour China---tour 旅游/ tourist 游客
三、動詞變形容詞
1.詞尾加ful: use – useful
carethankful peace – peaceful
forget – forgetful
succeed – successful
wonderclosed, wound – wounded
relax – relaxed
develop – developed
appreciate – appreciated
interest – interested
usecrowded,pollutesleeping frustrate – frustrating
relax — relaxing live – living 4.詞尾變y為i,加ed: worrymarried,fryterrified satisfyknowledgeable, enjoysuitable adjustcomfortable 6.其它:
losefoolish, livesleepy / sleeping / asleep, waketasty speakbroken, dieaducational
四、名詞變形容詞
有時在名詞之前或末尾加上不同的前綴或后綴就可以變?yōu)樾稳菰~。如: sleep(睡覺)→asleep(睡著的)→sleepy(瞌睡的,困乏的)
help(幫助)→helpful(有幫助的)等。下面就名詞變?yōu)樾稳菰~的構(gòu)成方法歸納如下: 1.名詞加-y構(gòu)成形容詞。表示―充滿……的‖ rain(雨水)→rainy(多雨的)
wind(風(fēng))→windy(多風(fēng)的,風(fēng)大的)cloud(云)→cloudy(多云的,陰天的)
snow(雪)→ snowy(多雪的)
sun(太陽)→ sunny(多陽光的,明朗的)[特別提醒:別忘了雙寫n] luck(運(yùn)氣)→ lucky(幸運(yùn)的)
noise(嘈雜聲)→noisy(嘈雜的,喧鬧的)[特別提醒:別忘了去掉e] health(健康)→healthy(健康的)2.名詞加-ful構(gòu)成形容詞,表示肯定。use(使用)→useful(有用的,有益的)help(幫助)→helpful(有幫助的,有益的)harm(傷害,損害)→harmful(有害的)forget(忘記)→forgetful(健忘的)
beauty(美麗)→beautiful(美麗的)[特別提醒:別忘了把-y變成-i,再加-ful] care(關(guān)心,小心)→careful(小心的,仔細(xì)的)pain(疼痛)→painful(疼痛的)wonder(驚奇)→wonderful(極好的)color(顏色)→colorful(多彩的;色彩艷麗的)thank(感謝)→thankful(感激的,欣賞的)3.名詞加-less構(gòu)成形容詞,表示否定。use(用處)→useless(無用的)
care(關(guān)心,小心)→careless(粗心的)harm(傷害,損害)→ harmless(無害的)help(幫助)→helpless(無助的,無用的)
4.名詞加-ly構(gòu)成形容詞,這種形容詞常具有贊美的意味。friend(朋友)→friendly(友好的)
love(愛)→lovely(可愛的)
father(父親)→ fatherly(嚴(yán)父般 的 brother(兄弟)→ brotherly(兄弟般的)5.在某些名詞后加-ous構(gòu)成形容詞,表示―具有……的性質(zhì)的‖
danger(危險)→dangerous(危險的)courage → courageous(英勇的)fame(名聲,名望)→famous(著名的)[特別提醒:別忘了去掉e] 6.名詞加-en構(gòu)成形容詞,表示由某種物質(zhì)形成,在句中作定語或表語。wool(羊毛)→woolen(羊毛的)
wood(木頭)→wooden(木制的)
gold(金子)→golden(金子般的)earth(土地)→ earthen(土制的)7.名詞+ able adjustable 可調(diào)整的 comfort---comfortable knowledge---knowledgeable suit 一套-----suitable 合適的 8.ce 變 t
confidence----confident difference---different importance—important independence—independent diligence—diligent intelligence—intelligent 9.在名詞詞尾加-al 構(gòu)成形容詞,例如: nature – natural , nation – national
additioneducational
第五篇:小波分析小結(jié)
小波分析的形成
小波分析是一門數(shù)學(xué)分支,是繼Fourier變換之后新的時頻域分析工具。小波理論的形成經(jīng)歷了三個發(fā)展階段:
Fourier變換階段:
Fourier變換是將信號在整個時間軸上進(jìn)行積分,它將信號的時域特征和頻域特征聯(lián)系起來,分別進(jìn)行分析。設(shè)信號f(t),其Fourier變換為:
F(?)??f(t)e?i?tdt
???F(?)確定了f(t)在整個時間域上的頻譜特性。但Fourier變換不能對信號從時域和頻域結(jié)合起來分析,它是一種全局變換,在時間域上沒有任何分辨率。
例:f(t)?1,(?2??t??2),其Fourier變換對應(yīng)圖如下:
短時Fourier變換階段:
短時Fourier變換即加窗Fourier變換,其思想是把信號分成許多小的時間間隔,用Fourier分析每個時間間隔,以確定該間隔存在的頻率,達(dá)到時頻局部化目的。其表達(dá)式為:
Gf(?,?)??f(t),g(t??)ej?t???f(t)g(t??)e?j?tdt
R式中,g(t)為時限函數(shù),即窗口函數(shù),e?j?t起頻限作用,Gf(?,?)大致反映了f(t)在?時、頻率為?的信號成分含量。
由上式,短時Fourier變換能實(shí)現(xiàn)一定程度上的時頻局部化,但窗口函數(shù)確定時,窗口大小和形狀固定,所得時頻分辨率單一。
小波分析階段:
為了克服上述缺點(diǎn),小波變換應(yīng)運(yùn)而生。小波變換在研究信號的低頻成分時其窗函數(shù)在時間窗長度上增加,即在頻率寬上減??;在研究信號的高頻成分時其窗函數(shù)在時間窗長度上減小,而在頻率寬上增加。對信號可以進(jìn)行概貌和細(xì)節(jié)上的分析。
小波的定義:
?(?),若滿足設(shè)?(t)?L2(R)(為能量有限的空間信號),其Fourier變換為?容許條件:
|?(?)|2???|?|d????
???(0)???(t)dt?0,說明?(t)具有波動則稱?(t)為母小波,由容許條件可得:????性,在有限區(qū)間外恒為0或快速趨近于0.t?12以Marr小波?(t)?(1?t)e2為例,如下圖:
2?2
將母小波進(jìn)行伸縮平移所得小波系列稱為子小波,定義式如下:
?b,a(t)?1t?b?(),a?0
aa其中a為伸縮因子,b為平移因子。
a 以Marr小波為例,分別取伸縮平移因子a,b為0.5、1、2、4;-1、0、1,對應(yīng)圖形如下:
Daubichies小波
常見的小波有Daubechies、Symlets、Morlet、Mexican Hat、Meyer小波等,其對應(yīng)的圖形及性質(zhì)如下:
Daubechies小波是正交小波,沒有解析表達(dá)式(除Haar小波外)。其簡寫形式為dbN,N表示階數(shù),支集區(qū)間為(0,2N-1)。
Symlets小波與db小波的差別是sym小波有更好的對稱性。
Morlet小波不具備正交性,不存在緊支集,不能做離散小波變換,沒有解析尺度函數(shù),其小波函數(shù)為:
?(x)?e?x/2cos(5x)
Mexican Hat小波不具有正交性,不存在尺度函數(shù),是高斯函數(shù)的二階導(dǎo)數(shù),小波函數(shù)為:
2?(x)?2?1/4?x2/2?e 3Meyer小波為在頻域定義的具有解析形式的正交小波,不存在緊支集,但其頻譜有限,具有對稱性。
小波函數(shù)的特點(diǎn):
正交性:小波函數(shù)與自身內(nèi)積為1,而與其伸縮平移后的小波系列內(nèi)積為0。正交小波的優(yōu)點(diǎn)是小波變換可將信號分解到無重疊的子頻帶上,并且可以進(jìn)行高效的離散小波變換。
對稱性:不具有對稱性的小波函數(shù)所重構(gòu)的信號會有相位失真。
緊支性:具有緊支性的小波其小波函數(shù)僅在有限區(qū)間內(nèi)是非零的,其局部化能力強(qiáng),小波變換復(fù)雜度低。
正則性:用于刻畫小波函數(shù)的光滑程度,正則性越高,函數(shù)越光滑。
消失矩:用于衡量小波逼近光滑函數(shù)時的能力。消失矩越大,壓縮比越大。
尺度函數(shù):若函數(shù)?(t)?L2(R),其整數(shù)平移系列?k(t)??(t?k)滿足:
?k(t),?k?(t)??kk?
則稱?(t)為尺度函數(shù)。
對尺度函數(shù)?(t)進(jìn)行平移和伸縮,可得一個尺度和位移均可變的函數(shù)集合:
?j,k(t)?2?j/2?(2?jt?k)??k(2?jt)
稱每一個固定尺度j上的平移系列?k(2?jt)所張成的空間Vj為尺度j的尺度空間:
Vj?span??k(2?jt)?,k?Z
正交多分辨分析:Hilbert空間L2(R)中,若一列閉子空間{Vj}j?z滿足如下性質(zhì):嵌套性:Vj?Vj?1,(j?z);逼近性:?Vj?{0},?Vj?L2(R);
j?zj?z伸縮性:f(t)?Vj?f(2t)?Vj?1;
平移不變性:f(t)?Vj?f(t?k)?Vj,j?Z;
正交性(Riesz基):存在?(t)?V0,使得{?(t?k),k?z}是V0的標(biāo)準(zhǔn)正交基。濾波器:在二尺度方程中,對系數(shù)系列{hk}k?z和gk?(?1)kh1?k,k?z作Fourier 變換得H(?)和G(?),其中H(?)?11?ik??ik?heG(?)?ge,稱H(?)和??kk2k?z2k?zG(?)分別為低通濾波器和高通濾波器。稱{hk}k?z和{gk}k?z分別為低通濾波器系數(shù)和高通濾波器系數(shù)。小波變換
連續(xù)小波變換:設(shè)?為一母小波,f(t)?L2(R),稱
(W?f)(a,b)??f,?a,b??|a|?12????f(t)?(t?b)dt a為f的連續(xù)小波變換。
離散小波變換
離散小波:通過離散化連續(xù)小波變換中的平移因子b和尺度因子a得到,通
mm常取a?a0,b?nb0a0,m,n?Z.?m2離散小波變換:(W?f)(a,b)??f,?a,b??|a0|????f(t)?(a0?mt?nb0)dt
若取a0?2,b0?1,可以得到二進(jìn)小波:?m,n(t)?2?m/2?(2?mt?n),m,n?Z
信號的離散小波變換并不是直接由尺度函數(shù)?(t)和對應(yīng)的小波?(t)與信號內(nèi)積來實(shí)現(xiàn),而是利用濾波器組h[n]和g[n]來實(shí)現(xiàn),用矩陣形式表述如下:
?cj[0]?00??cj?1[0]??c[1]??h[0]h[1]?h[k]0???c[1]??j??00h[0]h[1]?h[k]?0j?1?? ?????????????????????????c[n?1]??c[n?1]?h[k]0000h[0]h[1]????j?j?1????2??dj[0]?00??cj?1[0]??d[1]??g[0]g[1]?g[k]0???c[1]??j??00g[0]g[1]?g[k]?0? ??j?1????????????????????????d[n?1]??c[n?1]?g[k]0000g[0]g[1]????j?j?1????2?其中,設(shè)濾波器長度為k。并且兩濾波器系數(shù)間有如下關(guān)系:
gk?(?1)kh1?k,k?z
?|hk?zk|2?2; ?2; ??h2k?1?1;k?z?hk?zk?zk?h2k?hk?zk?2nkh?2?n0,?n?z
以db5小波為例,其低通濾波器系數(shù)如下(這里取二尺度方程為?(t)?2?hk?(2t?k))所得的系數(shù):
k?zh[0]=0.160102397974;h[1]=0.603829269797;h[2]=0.724308528438;h[3]=0.***1;h[4]=-0.242294887066;h[5]=-0.032244869585;h[6]=0.077571493840;h[7]=-0.006241490213;h[8]=-0.012580751999;h[9]=0.003335725285;變換所得系數(shù)cj和dj分別為離散小波變換的不同尺度下的低頻和高頻系數(shù)。
小波逆變換即信號的重建運(yùn)算,重構(gòu)是從尺度最低的近似系數(shù)cj和細(xì)節(jié)系數(shù)dj開始,通過低頻和高頻重構(gòu)濾波器恢復(fù)出上一尺度的近似信號cj?1,繼續(xù)這個過程,直到恢復(fù)原始信號。其計(jì)算公式為:
cj?1,m??cj,kh(m?2k)??dj,kg(m?2k),k?Z
kk離散小波變換與重構(gòu)實(shí)例如下:
所采用的信號為添加白噪聲的正弦信號,信號共1000個采樣,采用db4小波做3層分解,其原始信號、低頻系數(shù)、高頻系數(shù)和重構(gòu)信號如下圖: