python小波包分解_小波包变换(Wavelet Packet Transform)的学习笔记
對于一個連續的周期信號,可以將其分解為一組頻率不同的三角函數信號的線性組合,這就是傅里葉級數的本質,將信號從時域投影到頻域中的不同頻段上來完成分解。
當這個周期信號的周期趨近于無窮大時,傅里葉級數就變成了傅里葉變換。此時的信號本質上是一個連續非周期信號,傅里葉變換的意義就在于對其進行分解,同樣也是以一組三角函數作為正交基,并通過這組三角函數基的線性組合來表示原信號。數學表達為:
由于三角函數是一個無限長的信號,在時域上不具有局部性,因此以其作為正交基對信號進行擬合時,具有以下兩個不足:第一,對于突變信號,如階躍信號或尖峰信號,其需要大量的三角函數基進行組合才能完成較好的信號擬合;第二,由于三角函數不具備在時域上的局部性,因此在對信號進行傅里葉變換時,僅僅只能獲取到信號在頻域上的分布信息,并不能獲取到這些不同頻率的信號分量在時域上出現的位置。因此傅里葉變換對于非平穩信號的分解會遺失其在時域上的變化信息。
小波變換就是為了解決對非平穩信號的分解問題而產生的數學方法。相比于傅里葉變換使用一組無限長的三角函數基進行信號擬合,小波變換使用的是一組正交的、迅速衰減的小波函數基進行信號擬合。這種小波函數基可通過其尺度變量和平移變量,獲得不同的頻率和時間位置。因此在利用這種小波函數基對信號進行分解時,可以用較少的小波函數基就擬合出突變信號(稀疏編碼特性),同時也能獲得不同頻率的信號分量在時域上的出現位置。
用于生成一組不同頻率和時移的小波函數的小波函數
,稱為基本小波(Basic Wavelet),由其生成的一組小波函數,是該基本小波的一個小波族(Wavelet Family),表示為:
,其中
為尺度參數,通過伸縮控制小波的尺度(頻率),
為平移參數,通過移位控制小波在時域中的出現位置。這兩個參數的作用順序是先作平移,再作伸縮。對這一族小波函數進行歸一化,即得到一組小波函數基。
可進行小波變換的對象是平方可積的信號,也即是位于希爾伯特空間中的一個函數。希爾伯特空間保證了在空間中的每一個函數,都可由該空間中的其他函數線性組合得到。
小波變換值,也即是用于擬合原始信號的小波函數基的系數,可通過計算原始信號與各小波函數基的內積得到。其意義為原始信號在各個小波函數基上的投影值,投影值越大,說明對應的小波信號所攜帶的原始信號的特征信息的比例越大。數學表達如下:
其中,
表示
的共軛函數。
在實際應用中,由于計算機的處理對象為離散數據,因此在使用小波變換時,一般指的都是離散小波變換。因此對于上式,可寫成離散形式:
其中,
表示
的共軛函數。
從數學的角度理解,在小波變換中,一個位于希爾伯特空間中的函數,可以分解成一個尺度函數和一個小波函數,其中尺度函數對應原始函數中的低頻部分,小波函數對應原始函數中的高頻部分。通過尺度函數可以構建對原始信號的低通濾波器,通過小波函數可以構建對原始信號的高通濾波器。
從信號處理的角度理解,在小波變換中,信號可通過信號濾波器分解為高頻分量(高頻子帶(subband))和低頻分量(低頻子帶(subband)),高頻子帶又稱為細節(detailed)子帶,低頻子帶又稱為近似(approximate)子帶。細節子帶是由輸入信號通過高通濾波器后再進行下采樣得到的,近似子帶是由輸入信號通過低通濾波器后再進行下采樣得到的。
小波變換是這樣一個過程:首先將原始信號作為輸入信號,通過一組正交的小波基分解成高頻部分和低頻部分,然后將得到的低頻部分作為輸入信號,又進行小波分解,得到下一級的高頻部分和低頻部分,以此類推。隨著小波分解的級數增加,其在頻域上的分辨率就越高。這就是多分辨率分析(MRA,MultiResolution Analysis)。
離散小波變換在逐級分解時,由尺度函數所張成的空間為:
其中
為第
級的尺度函數所張成的空間,
為尺度變量,
為平移變量。
為產生
一族尺度函數的父函數,又稱父小波。上式中的
是歸一化因子。
離散小波變換在逐級分解時,由小波函數所張成的空間為:
其中
為第
級的小波函數所張成的空間,
為尺度變量,
為平移變量。
為產生
一族小波函數的母函數,又稱母小波。上式中的
是歸一化因子。
是
關于
的正交空間補集,兩者存在關系:
,根據該關系,可以遞歸展開,得到:
由上式可知,分解級數越高,信號在時域和頻域的分辨率就越高,包含的信息也就越多。
又根據上式,對于
中的任一函數
,可分解為以下形式:
其中
為
中的函數,
,
為
中的函數。
在小波變換中,若令尺度參數為
,即對尺度按冪級數作離散化,同時對平移保持連續變化,則此類小波變換稱為二進小波變換(Dyadic Wavelet Transform)。
在二進小波變換中,各級小波分解時,相鄰級數的尺度函數之間滿足關系:
,
即是:
相鄰級數的小波函數和尺度函數之間滿足關系:
,
即是:
其中,
為第$i$級的尺度函數,
為第
級的尺度函數,
為第
級的小波函數。
為低通濾波器,定義為:
為高通濾波器,定義為:
在小波變換中,緊支撐小波基是性質較好的一類小波基,緊支撐(Compact Support)函數是指這樣的一類函數:其自變量僅在0附近的取值范圍內能得到非零函數值,而在其他區間取值,則得到的函數值全為零。能得到非零函數值的自變量取值區間被稱為該函數的支撐區間。一個函數的支撐區間長度主要由其尺度參數決定。支撐區間越大,計算復雜度越高,邊界拖尾效應越明顯。不僅如此,支撐區間越大,會產生更多的高幅值小波系數,關于這個結論的解釋,可參考傅里葉變換使用無限長(支撐區間大)的三角函數基進行信號擬合的情況,相比于使用信號迅速衰減(支撐區間小)的小波基,三角函數基擬合信號時需要更多的數量。因此在選擇小波基時,以支撐長度較短的小波基為宜。此外,小波基的正交性也是一類重要的性質,它確保了信號的分解沒有冗余(最優分解)。
在小波變換中,另一個重要的概念是消失矩。小波函數的消失矩定義如下:
若:
則稱該小波函數具有N階消失矩。其中,
為基本小波,
。消失矩越大,在進行小波分解時,會產生更多數值為0的小波系數,使得信號的分解更為稀疏,便于進行數據壓縮。但與此同時,更大的消失矩也會產生更大的支撐區間,這是一個權衡關系。
然而小波變換仍存在著不足之處,由于小波變換在每級信號分解時僅僅對低頻子帶進行分解,因此無法對高頻子帶的信息進行同樣高分辨率的提取。
小波包分解(Wavelet Packet Decomposition),又稱為最優子帶樹結構(Optimal Subband Tree Structuring)正是對小波變換的進一步優化。其主要的算法思想是:在小波變換的基礎上,在每一級信號分解時,除了對低頻子帶進行進一步分解,也對高頻子帶進行進一步分解。最后通過最小化一個代價函數,計算出最優的信號分解路徑,并以此分解路徑對原始信號進行分解。
同樣地,在二進小波包變換中,各級小波包分解時,相鄰級數的尺度函數和小波函數之間也具有遞推關系。
記小波包變換中的父小波
為
,母小波
為
,其中的上標表示該小波包所在的分解級數,下標表示該小波包在其級里的位置。
于是上述的遞推關系可以表述如下:
即是:
其中
、
的定義同小波變換。
即稱為小波包。
在小波包變換中,常用的代價函數為信息熵函數。最小化代價函數,也即是最大化逐級信號分解的信息熵。
無論是小波變換還是小波包變化,一個重要的環節是選擇合適的小波函數基進行信號分解。常用的幾類小波函數基包括:
Haar小波:Haar函數是最簡單的一個小波函數,其具有緊支撐性和正交性,函數圖像為在支撐區間[0,1)上的單個矩形波。Haar小波在時域上不連續,作為基本小波時性能不是很好。尺度函數 小波函數
Daubechies小波:通常簡稱為
,其中
為小波分解的級數。該小波的尺度函數和小波函數的支撐區間長度為
,小波函數的消失矩為
。
小波具有較好的正則性(本身的函數較為光滑,其擬合出的信號也較為光滑),且隨著小波分解級數$N$的增加,其小波函數的消失矩也增大,小波更加光滑,在時域的緊支撐性降低(支撐區間變大),在頻域的局部性增加(頻域可分性更強)。此外,由于支撐區間的變大,計算量也將增加,使得計算實時性下降。當
小波的
=1時,
小波即為Haar小波;當
小波的
時,其不具有對稱性(即其相位為非線性),該特性會使其在進行信號重構時產生一定程度的失真。尺度函數 小波函數
Biorthogonal小波:雙正交小波,使用對偶的兩個小波分別用于信號的分解和重構。雙正交小波與正交小波的區別在于,在正交小波中,由基本小波的伸縮和平移所產生的一族小波基函數之間完全正交。而在雙正交小波中,由基本小波的伸縮所產生的一族小波基函數完全正交,由基本小波的平移所產生的一族小波基函數則不正交。雙正交小波借由犧牲一部分的正交性,來減少基本小波平移產生小波基時需滿足的約束(擴大函數空間),從而使小波可以通過平移來獲取線性相位(在函數空間中可取到具有線性相位的函數),以得到精確重構信號所需的對稱性。雙正交小波的作用過程可以描述為:首先對輸入信號使用一個雙正交小波進行正交分解,然后在該雙正交小波的對偶空間中尋找一個具有線性相位的對偶小波進行對輸入信號的非正交重構。雙正交小波具備正則性和緊支撐性,其重構支撐區間長度為
,分解支撐區間長度為
,
和
分別代表信號重構的級數和信號分解的級數。左上:用于信號分解的尺度函數 右上:用于信號分解的小波函數 左下:用于信號重構的尺度函數 右下:用于信號重構的小波函數
Symlets小波:通常簡稱為
,其中
為小波分解的級數。
小波是對
小波的一種改進,其除了具備
小波所擁有的特性外,還具備了更好的對稱性,是一類近似對稱的緊支撐正交小波。因此,
小波能在一定程度上減少信號重構時產生的相位失真。
小波的支撐區間長度為
,消失矩為
。上:尺度函數 下:小波函數
Mexican Hat小波:Mexican函數為Gaussian函數的二階導數,形似墨西哥帽的截面,它在時域和頻域上都具有很好的局部性,但不存在尺度函數,因此該小波函數不具備正交性。小波函數
在選擇合適的小波函數基時,需要考慮的因素除了小波的支撐區間大小、小波的消失矩之外,還需考慮其對稱性、正則性和相似性。小波的對稱性主要體現在保證信號重構時不會產生相位畸變,即是不會產生重構信號的相位失真。小波的正則性保證了信號的光滑和可微性,對于大部分小波而言(非全部),其與消失矩存在關系:小波的消失矩越大,正則性也就越大。最后,選擇與輸入信號的波形相似性高的小波,意義在于使數據壓縮和降噪變得更容易(信號的擬合和分解都更容易)。
關于小波分解的應用:
由于小波分解的稀疏編碼特性,其可用于數據壓縮,主要做法為:將信號進行小波分解,并將較小的小波系數置零。相當于將不重要(特征不明顯)的信息分量去除,達到數據精簡的效果。
小波分解也可用于信號濾波,主要做法為:將信號進行小波分解,并將特定級數以上的小波系數置零。相當于將高分辨率的信息分量去除,達到數據平滑的效果。
小波分解還可用于信號降噪,主要做法為:將信號進行小波分解,并通過設置一個閾值,將其中低于閾值的小波系數置零。相當于將信號中占成分比例較低的噪聲部分去除。
小波包分解的應用與小波分解同理。
總結
以上是生活随笔為你收集整理的python小波包分解_小波包变换(Wavelet Packet Transform)的学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dwm1000 用c语言控制,DWM10
- 下一篇: MicroSIP软电话安装配置说明