1. 程式人生 > >從傅立葉變換到小波變換的分析 學習筆記

從傅立葉變換到小波變換的分析 學習筆記

感謝前輩的分析和總結

         小波,一個神奇的波,可長可短可胖可瘦(伸縮平移),當去學習小波的時候,第一個首先要做的就是回顧傅立葉變換(又回來了,唉),因為他們都是頻率變換的方法,而傅立葉變換是最入門的,也是最先了解的,通過傅立葉變換,瞭解缺點,改進,慢慢的就成了小波變換。主要的關鍵的方向是傅立葉變換、短時傅立葉變換,小波變換等,第二代小波的什麼的就不說了,太多了沒太多意義。當然,其中會看到很多的名詞,例如,內積,基,歸一化正交,投影,Hilbert空間,多解析度,父小波,母小波,這些不同的名詞也是學習小波路上的標誌牌,所以在剛學習小波變換的時候,看著三個方向和標誌牌,可以順利的走下去,當然路上的美景要自己去欣賞(這裡的美景就是定義和推導了)。因為內容太多,不是很重要的地方我都註釋為(查定義)一堆文字的就是理論(可以大體一看不用立刻就懂),同時最下面也給了幾個網址輔助學習。

一、基

           傅立葉變換和小波變換,都會聽到分解和重構,其中這個就是根本,因為他們的變化都是將訊號看成由若干個東西組成的,而且這些東西能夠處理還原成比原來更好的訊號。那怎麼分解呢?那就需要一個分解的量,也就是常說的基,基的瞭解可以類比向量,向量空間的一個向量可以分解在x,y方向,同時在各個方向定義單位向量e1、e2,這樣任意一個向量都可以表示為a=xe1+ye2,這個是二維空間的基,

                                                                    

           而對於傅立葉變換的基是不同頻率的正弦曲線,所以傅立葉變換是把訊號波分解成不同頻率的正弦波的疊加和,而對於小波變換就是把一個訊號分解成一系列的小波,這裡時候,也許就會問,小波變換的小波是什麼啊,定義中就是告訴我們小波,因為這個小波實在是太多,一個是種類多,還有就是同一種小波還可以尺度變換,但是小波在整個時間範圍的幅度平均值是0,具有有限的持續時間和突變的頻率和振幅,可以是不規則,也可以是不對稱,很明顯正弦波就不是小波,什麼的是呢,看下面幾個圖就是

                                                                

           當有了基,以後有什麼用呢?

           下面看一個傅立葉變換的例項:

           對於一個訊號的表示式為x=sin(2*pi*t)+0.5*sin(2*pi*5*t); 

          這裡可以看到是他的基就是sin函式,頻率是1和5,下面看看圖形的表示,是不是感受了到了頻域變換給人的一目瞭然。

                                                               

           基具有非冗餘性,即使基不是正交的,有相關性,但若去掉其中任何一個,則不成為基,這一點也叫完備性;基的表示有唯一性,即給定一族基對一個函式的表達是唯一的;一般情況下基非正交,也稱為為exact frame(Resize basis),這個時候要表示訊號可以將基正交化成唯一的正交基(對偶為其自身);也可以求其對偶框架(dual frame),其對應了小波變換中的雙正交情形!訊號可以依框架分解,然後用對偶框架重構。若在基集裡新增一些新的向量,並隨意調整空間位置,則有可能成為框架。把函式與基或框架作內積,也可以說成是一種函式空間到係數空間的變換。若某種變換後的能量(內積的平方和度量)仍然有一個大於0的上下界,才可以成為框架,由於框架的冗餘性,所以係數的表達也不具有唯一性。若上下界相等,則為緊框架,且界表示冗餘度。若上下界相等為且為1,稱為pasval identity frame,此時不一定為正交基(想象把一組正交基中某一個拆成兩個同方向的基之和,則pasval identity仍然成立),此時若加上基的長度均為一的條件,則框架退化為正交基。可能你會問我們用基來表示訊號就行了啊,為什麼還要框架呢?其實很多訊號表示方法不能構成基,卻能構成框架,如短時傅立葉變換中如要求窗函式滿足基條件,則可推出該函式有很差的時頻區域性化性質(事實上退化為了傅立葉變換。

二、內積

            在Hilbert空間(查定義)裡看到這個東西,用來刻畫兩個向量的夾角,當內積為0時,兩個向量正交,若g為Hilbert空間裡的正交基的時候,內積為f向基上的正交投影;(Hilbert空間是一個很直觀的空間,我一直都理解為歐氏空間去理解定義在其上的東西,L^2(平方可積,查定義)和l^2同樣為Hilbert空間。

下面這個公式是基本,經過變形後會用在推導中:

                       

如果兩個向量的內積為0 ,就說他們是正交的。

如果一個向量序列相互對偶正交,並且長度都為1,那麼就說他們是正交歸一化的。

對於,存在L2(R)上一組標準正交基gi(t),i=1,2,3….,使得

                                                                         

 L2(R)上任意一個函式f(t)都可以由L2(R)上的一個規範正交基gi(t)進行線性組合表示出來

三、傅立葉的缺點

先列舉出來缺點,然後再說明:

(1)    Fourier分析不能刻畫時間域上訊號的區域性特性

(2)    Fourier分析對突變和非平穩訊號的效果不好,沒有時頻分析

        傅立葉變換傅立葉變換將函式投影到三角波上,將函式分解成了不同頻率的三角波,這不能不說是一個偉大的發現,但是在大量的應用中,傅立葉變換的侷限性卻日趨明顯,事實上在光滑平穩訊號的表示中,傅立葉基已經達到了近似最優表示,但是日常生活中的訊號卻並不是一直光滑的,而且奇異是平凡的,傅立葉在奇異點的表現就著實讓人不爽,從對方波的傅立葉逼近就可以看出來,用了大量不同頻率的三角波去逼近其係數衰減程度相當緩慢,而且會產生Gibbs效應。其內在的原因是其基為全域性性基,沒有區域性化能力,以至區域性一個小小的擺動也會影響全域性的係數。實際應用中很需要時頻區域性化,傅立葉顯然缺乏此能力了。即使如此,由於其鮮明的物理意義和快速計算,在很多場合仍然應用廣泛。傅立葉變換在從連續到離散的情形是值得借鑑與學習的,大家都知道,時間週期對應頻域離散,時間離散對應頻域週期,時間離散週期對應頻域離散 週期,DFT其實是將離散訊號做週期延拓然後做傅立葉變換再擷取一個週期,反變換同樣如此,所以DFT用的是塊基的概念,這樣如果訊號兩端的訊號連線後不再光滑(即使兩邊都光滑),同樣會在邊界上產生大幅值係數(邊界效應),延伸到影象中就是塊效應。當對訊號做對稱週期延拓後再做傅立葉變換得到的正弦係數全部為0,也就是任何對稱函式可以寫成餘弦的線性組合,同樣按照離散的思路構造得到的是離散塊餘弦基,即DCT變換,雖然DCT可以通過對稱後周期延拓再變換減少了邊界效應(兩邊訊號接上了,但不一定平滑),但任不能消除塊效應,尤其是影象變換中人為將影象分成8*8處理後塊效應更加明顯。但是DCT很好的能量聚集效應讓人驚奇,加之快速計算方法使它替代DFT成為影象的壓縮的標準了很長時間(JPEG)。

           上面一堆文字也許看的有點蒙,還是用圖來說明

          第一個就是傅立葉變換是整個時域,所以沒有區域性特徵,這個也是他的基函式決定的看圖,同時如果在時域張有了突變,那麼在頻域就需要大量的三角波去擬合,這也是傅立葉變換性質決定的。

         第二個就是面對非平穩訊號,傅立葉變換可以看到由哪些頻域組成,但是不知道各成分對應的時刻是什麼,也就是沒有時頻分析,看不出來訊號頻域隨著時間變換的情況,反過來說就是,一個的頻圖對應好幾個時域圖,不知道是哪個,這個在實際應用中就不好了,看圖

                                  

          做FFT後,我們發現這三個時域上有巨大差異的訊號,頻譜(幅值譜)卻非常一致。尤其是下邊兩個非平穩訊號,我們從頻譜上無法區分它們,因為它們包含的四個頻率的訊號的成分確實是一樣的,只是出現的先後順序不同。

        可見,傅立葉變換處理非平穩訊號有天生缺陷。它只能獲取一段訊號總體上包含哪些頻率的成分,但是對各成分出現的時刻並無所知。因此時域相差很大的兩個訊號,可能頻譜圖一樣。

        然而平穩訊號大多是人為製造出來的,自然界的大量訊號幾乎都是非平穩的,所以在比如生物醫學訊號分析等領域的論文中,基本看不到單純傅立葉變換這樣naive的方法。

                                  

   上圖所示的是一個正常人的事件相關電位。對於這樣的非平穩訊號,只知道包含哪些頻率成分是不夠的,我們還想知道各個成分出現的時間。知道訊號頻率隨時間變化的情況,各個時刻的瞬時頻率及其幅值——這也就是時頻分析。

四、短時傅立葉變換(Short-time Fourier Transform,STFT)

            有了缺點就要改進了,這裡就出來了短時傅立葉變換,也叫加窗傅立葉變換,顧名思義,就是因為傅立葉變換的時域太長了,所以要弄短一點,這樣就有了區域性性。

          定義:把整個時域過程分解成無數個等長的小過程,每個小過程近似平穩,再傅立葉變換,就知道在哪個時間點上出現了什麼頻率了。”這就是短時傅立葉變換。下面就是示意圖

                                  

          時域上分成一段一段做FFT,不就知道頻率成分隨著時間的變化情況了嗎!

         可能理解這一點最好的方式是舉例子。首先,因為我們的變換是對時間和頻率的函式(不像傅立葉變換,僅僅是對頻率的函式),它是二維的(如果加上幅度則是三維)。以下圖所示的非平穩訊號為例:

                               

   在這個訊號中,在不同時刻有四個頻率分量。0-250ms內訊號的頻率為300Hz,其餘每個250ms的間隔的訊號頻率分別為200Hz,100Hz和50Hz。很明顯,這是一個非平穩訊號,讓我們看一看它的短時傅立葉變換:用這樣的方法,可以得到一個訊號的時頻圖了:

                              

        圖上既能看到10Hz, 25 Hz, 50 Hz, 100 Hz四個頻域成分,還能看到出現的時間。兩排峰是對稱的,所以大家只用看一排就行了。

看著貌似解決了問題,好像有了區域性性,但是這個名字叫做加窗傅立葉變換,那麼這個窗要多大了呢?

窗太窄,窗內的訊號太短,會導致頻率分析不夠精準,頻率解析度差。

窗太寬,時域上又不夠精細,時間解析度低。

                                

                          

(這裡插一句,這個道理可以用海森堡不確定性原理來解釋。類似於我們不能同時獲取一個粒子的動量和位置,我們也不能同時獲取訊號絕對精準的時刻和頻率。這也是一對不可兼得的矛盾體。我們不知道在某個瞬間哪個頻率分量存在,我們知道的只能是在一個時間段內某個頻帶的分量存在。所以絕對意義的瞬時頻率是不存在的。)

                         

                        

                         

         上圖對同一個訊號(4個頻率成分)採用不同寬度的窗做STFT,結果如右圖。用窄窗,時頻圖在時間軸上解析度很高,幾個峰基本成矩形,而用寬窗則變成了綿延的矮山。但是頻率軸上,窄窗明顯不如下邊兩個寬窗精確。

          所以窄視窗時間解析度高、頻率解析度低,寬視窗時間解析度低、頻率解析度高。

          對於時變的非穩態訊號,高頻適合小視窗,低頻適合大視窗。然而STFT的視窗是固定的,在一次STFT中寬度不會變化,所以STFT還是無法滿足非穩態訊號變化的頻率的需求

五、小波變換

          真是千呼萬喚才出來了,終於看見小波了啊。

           這裡先引入小波,回顧一下基,然後再看看小波的優點,其實就是上面傅立葉缺點的解決。

           對於加窗傅立葉變換讓人頭疼的就是視窗的大小問題,如果我們讓視窗的大小可以改變,不就完美了嗎?答案是肯定的,小波就是基於這個思路,但是不同的是。STFT是給訊號加窗,分段做FFT;而小波變換並沒有採用窗的思想,更沒有做傅立葉變換。小波直接把傅立葉變換的基給換了——將無限長的三角函式基換成了有限長的會衰減的小波基。這樣不僅能夠獲取頻率,還可以定位到時間了~

          這裡就又回到了最開始的基了。

          這個基函式會伸縮、會平移(其實是兩個正交基的分解)。縮得窄,對應高頻;伸得寬,對應低頻。然後這個基函式不斷和訊號做相乘。某一個尺度(寬窄)下乘出來的結果,就可以理解成訊號所包含的當前尺度對應頻率成分有多少。於是,基函式會在某些尺度下,與訊號相乘得到一個很大的值,因為此時二者有一種重合關係。那麼我們就知道訊號包含該頻率的成分的多少。如前邊所說,小波做的改變就在於,將無限長的三角函式基換成了有限長的會衰減的小波基。效果如下圖

                                       

現在來看一下小波公式

                            

從公式可以看出,不同於傅立葉變換,變數只有頻率ω,小波變換有兩個變數:尺度a(scale)和平移量 τ(translation)。尺度a控制小波函式的伸縮,平移量 τ控制小波函式的平移。尺度就對應於頻率(反比),平移量 τ就對應於時間。如下圖

                               

         當伸縮、平移到這麼一種重合情況時,也會相乘得到一個大的值。這時候和傅立葉變換不同的是,這不僅可以知道訊號有這樣頻率的成分,而且知道它在時域上存在的具體位置。

         而當我們在每個尺度下都平移著和訊號乘過一遍後,我們就知道訊號在每個位置都包含哪些頻率成分。

 看到了嗎?有了小波,我們從此再也不害怕非穩定訊號啦!從此可以做時頻分析啦!

(1) 解決了區域性性

         

(2)解決時頻分析

做傅立葉變換隻能得到一個頻譜,做小波變換卻可以得到一個時頻譜!

   

時域訊號                                           傅立葉變換結果                                                小波變換結果

六、小波的深入

             上面那麼多,也就是走進小波的大門,具體的我們還要學習子空間、多解析度,母小波的變換,如何去構造想要的小波函式,然後還有離散小波變換,正交小波變換,二維小波變換,小波包的應用(這裡沒有介紹可以自己看資料)。好像還有很多要學習的。

這裡先深入一下,父小波和母小波,多解析度分析,瞭解一下伸縮和平移。

         任何小波變換的基函式,其實就是對母小波和父小波縮放和平移的集合。首先要看的就是多解析度分析。

每個小波變換都會有一個mother wavelet,我們稱之為母小波,同時還有一個father wavelet,就是scaling function。而該小波的basis函式其實就是對這個母小波和父小波縮放和平移形成的。縮放倍數都是2的級數,平移的大小和當前其縮放的程度有關。

        還講到,小波系統有很多種,不同的母小波,衍生的小波基就完全不同。小波展開的近似形式是這樣:

                                                                           

    其中的就是小波級數,這些級數的組合就形成了小波變換中的基basis。和傅立葉級數有一點不同的是,小波級數通常是orthonormal basis,也就是說,它們不僅兩兩正交,還歸一化了。

     我們還講了一般小波變換的三個特點,就是小波級數是二維的,能定位時域和頻域,計算很快。但我們並沒有深入講解,比如,如何理解這個二維?它是如何同時定位頻域和時域的?

      在這一篇文章裡,我們就來討論一下這些特性背後的原理。 

      首先,我們一直都在講小波展開的近似形式。那什麼是完整形式呢?之前講到,小波basis的形成,是基於基本的小波函式,也就是母小波來做縮放和平移的。但是,母小波並非唯一的原始基。在構建小波基函式集合的時候,通常還要用到一個函式叫尺度函式,scaling function,人們通常都稱其為父小波。它和母小波一樣,也是歸一化了,而且它還需要滿足一個性質,就是它和對自己本身週期平移的函式兩兩正交:

                                

                               

       另外,為了方便處理,父小波和母小波也需要是正交的。可以說,完整的小波展開就是由母小波和父小波共同定義的。

                    

       其中ψ(t)是母小波,是父小波。需要提醒一點的是,這個正交純粹是為了小波分析的方便而引入的特性,並不是說小波變換的基就一定必須是正交的。但大部分小波變換的基確實是正交的,所以本文就直接預設正交為小波變換的主要性質之一了。引入這個父小波呢,主要是為了方便做多解析度分析(multiresolution analysis, MRA)。說到這裡,你的問題可能會井噴了:好好的為什麼出來一個父小波呢?這個scaling function是拿來幹嘛的?它背後的物理意義是什麼?waveletfunction背後的物理意義又是什麼?這個多解析度分析又是什麼呢?不急,下面,我們圍繞一個例子來鞏固一下前面的知識,同時再引出新的特性。

    假設我們有這樣一個訊號:

                 

         該訊號長度為8,是離散的一維訊號。我們要考慮的,就是如何用小波將其展開。為了方便講解,我們考慮最簡單的一種小波,哈爾小波。下面是它的一種母小波:

                 

那如何構建基於這個母小波的基呢?剛才提到了,要縮放,要平移。我們先試試縮放,那就是ψ(2n):

                               

但這樣的話,它與自己的內積就不是1了,不符合小波基orthonormal的要求,所以我們要在前面加一個係數根號二,這樣我們就得到了另一個哈爾小波的basis function:

                                 

          同理,我們可以一直這樣推廣下去做scale,得到4n,8n,…….下的basis function。當然在這個例子裡,我們訊號長度就是8,所以做到4n就夠了。但推廣來說,就是這種scaling對母小波的作用為,這是歸一化後的表示形式。

       平移的話也很簡單,我們可以對母小波進行平移,也可以對scale之後的basis function進行平移。比如對上一幅圖中的basis function進行平移,就成了

                                       

       看得出來,平移後的basis function和母小波以及僅僅scale過的小波,都是正交的,附合小波basis的特點。如果我們用ψ(n)來表示這個mother wavelet,那麼這些orthonormal basis函式可以寫成:

                                                 

        這裡的k是可以看成時域的引數,因為它控制著小波基時域的轉移,而j是頻域的引數,因為它決定了小波基的頻率特性。看到這裡,你應該會感覺很熟悉,因為這裡的平移和變換本質和剛才對scaling function的平移變換是一模一樣的。

這樣,我們就有了針對此訊號space的哈爾小波basis組合:

                             

        可以看出,我們用到了三層頻率尺度的小波函式,每往下一層,小波的數量都是上面一層的兩倍。在圖中,每一個小波基函式的表達形式都寫在了波形的下面。

        等等,你可能已經發現了,有問題。這裡為什麼多了個沒有函式表示式的波形呢?這貨明顯不是wavelet function阿。沒錯,它是之前提到的scaling function,也就是父小波。然後你可能就會問,為啥這個憑空插了一個scaling function出來呢?明明目標訊號已經可以用純的小波基組合表示了。是,確實是,就算不包括scaling function,這些小波函式本身也組成了正交歸一基,但如果僅限於此的話,小波變換也就沒那麼神奇的功效了。引入這個scaling function,才能引入我們提到的多解析度分析的理論,而小波變換的強大,就體現在這個多解析度上。那在這裡,我們怎麼用這個多解析度呢?這個哈爾小波basis組合是怎麼通過多解析度推匯出來的呢?

        話說在數學定義中,有一種空間叫Lebesgue空間,對於訊號處理非常重要,可以用L^p(R)表示,指的是由p次可積函式所組成的函式空間。我們在小波變換中要研究的訊號都是屬於L^2(R)空間的,這個空間是R上的所有處處平方可積的可測函式的集合,這樣就等於對訊號提出了一個限制,就是訊號能量必須是有限的,否則它就不可積了。小波變換的定義都是基於但不限於L^2(R)中的訊號的。這玩意的特性要具體解釋起來太數學了,牽涉到太多泛函知識,我就不在這裡詳述了。而且老實說我也沒能力完全講清楚,畢竟不是學這個的,有興趣可以參考wiki。總之你記住,小波變換研究中所使用的訊號基本都是平方可積的訊號,但其應用不限於這種訊號,就行了。

    對L^2(R)空間做MRA是在幹嘛呢?就是說,在L^2(R)空間中,我們可以找出一個巢狀的空間序列,並有下列性質:

       我來簡單解釋一下這些性質。這個V_j都是L^2(R)空間中的子空間,然後他們是由小到大的,交集是{0},因為這是最小的子空間,並集就是L空間。是不是有點難以理解?沒關係,看看下面這個圖就清楚了:

                                                     

      這個圖是圈圈套圈圈,最裡面的圈是V0,之後分別是V1,V2,V3,V4 。那他們有趣的性質就是,假如有一個函式f(t)他屬於一個某空間,那你將其在時域上平移,它還是屬於這個空間。但如果你對它頻域的放大或縮小,它就會相應移到下一個或者上一個空間了。

       同時我們還知道,你要形容每一個空間的話,都需要有對應的orthonormal basis,這是必然的,那對於V0來講,它的orthonormal basis就是

                                

       這一系列函式是什麼呢?是的時域變換,而且我們剛才也說了,時域上平移,是不會跳出這個空間的。這樣,我們就可以說,由這一系列basis所定義的L^2(R)子空間V0被這些basis所span,表示成:

                              

       k從負無窮到正無窮。上面的bar表示這是一個閉包空間,也就是說

                        

       這樣,我們就定義了基本的V0這個子空間。剛才說了,這個子空間的基都是對的整數時域變換,這裡我們稱為scalingfunction,所以換個說法,就是說這裡整個子空間V0,由scalingfunction和其時域變換的兄弟們span。

      當然,如果這個scaling function只是用來代表一個子空間的,那它的地位也就不會這麼重要了。剛才我們提到,這個巢狀空間序列有一個性質,。這就是這個函式,如果你對它頻域的放大或縮小,它就會相應移到下一個或者上一個空間了。這個性質就有意思了,它代表什麼呢?對於任何一個包含V0的更上一層的空間來講,他們的基都可以通過對scaling function做頻域的scale後再做時域上的整數變換得到!推廣開來就是說,當

               

我們有    

這也就意味著,對於任何屬於V_j空間的函式f(t),都可以表示為:

                 

          到這裡,我們就明白這些個子空間和那個憑空冒出來的scaling function的作用了。scaling的構建這些不同的子空間的基礎,當j越大的時候,每一次你對頻率變換後的scaling function所做的時域上的整數平移幅度會越小,這樣在這個j子空間裡面得到的f(t)表示粒度會很細,細節展現很多。反之亦然。通俗點說,就是對scaling function的變換平移給你不同的子空間,而不同的子空間給你不同的解析度,這樣你就可以用不同的解析度去看目標訊號。

        下面就是時候看看什麼是MRA equation了,這是更加有趣,也是更加核心的地方。通過剛才的講解,V0屬於V1,那scaling function是在V0中的,自然也在V1中了。我們把他寫成V1的基的線性組合,那就是

                

        其中的h(n)是scaling function的係數,也叫做scaling filter或者scaling vector,可以是實數,也可以是虛數。根號2是為了維持norm為1的。看,在這個公式裡,我們就把屬於V0的函式用V1的基表示出來了。同理,我們可以迴圈如此,把屬於V0的在V2,V3, …, Vn中表示出來。這些方程就是MRA equation,也叫refinement equation,它是scaling function理論的基礎,也是小波分析的基礎之一。

        好,稍微總結一下。到現在,已經講了關於scaling function的基本理論知識,知道了訊號空間可以分為不同精細度的子空間,這些子空間的basis集合就是scaling function或者頻率變換之後的scaling function,如下圖所示:

                                  

上圖就是四個子空間的basis集合的展覽。通過前面的討論,我們還知道,一開始的scalingfunction可以通過更精細的子空間的scaling function(它們都是對應子空間的basis)來構建。比如

                                

對於更加finer的scale:

                                       

       依此類推。實際上,對於任何scale和translate過的scaling function,都可以用更加精細的scale層面上的scaling function構建出來。

        然後,我們有各種scale下的scaling function了,該看看它們分別所對應的巢狀的空間序列了。先看看V0,自然就是以基本的scaling function為基礎去span出來的:

                                   

          這個不新鮮,剛才就講過了。這個子空間代表什麼樣的訊號?常量訊號。道理很簡單,這個scaling function在整個訊號長度上,沒有任何變化。繼續往下看:

                               

這個相比V0更加finer的子空間,代表著這樣一種訊號,它從1-4是常量,從5-8是另一個常量。同理我們有:

                            

            V2代表的訊號,是分別在1,2; 3,4; 5,6; 7,8上有相同值的訊號。那麼V3呢?則表示任何訊號,因為對於V3來講,任何一個時間刻度上的值都可以不一樣。而且現在,我們也可以通過上面的一些scaling functions的波形驗證了之前提到的多解析度分析中的一個核心性質,那就是:

                         

      我們之前講了一堆多解析度的理論,但直到現在,通過這些圖形化的分析,我們可能才會真正理解它。那好,既然我們有一個現成的訊號,那就來看看,對這個訊號作多解析度分析是啥樣子的:

                                            

             你看,在不同的子空間,對於同一個訊號就有不同的詮釋。詮釋最好的當然是V3,完全不損失細節。這就是多解析度的意義。我們可以有巢狀的,由scalingfunction演變的basis function集合,每一個集合都提供對原始訊號的某種近似,解析度越高,近似越精確。

           說到這裡,可能你對scaling function以及多解析度分析已經比較理解了。但是,我們還沒有涉及到它們在小波變換中的具體應用,也就是還沒有回答剛才那個問題:憑空插了一個scaling function到小波basis組合中幹嘛。也就是說,我們希望理解scaling function是怎麼和小波函式結合的呢,多解析度能給小波變換帶來什麼樣的好處呢。這其實就是是小波變換中的核心知識。理解了這個,後面的小波變換就是純數學計算了。

好,我們已經知道,對於子空間V0,basis是scalingfunction:

看出什麼規律了麼?多看幾次這三個圖,你會驚訝地發現,在V0中的scaling function和wavelet function的組合,其實就是V1中的basis!繼續這樣推導,V1本來的的basis是:

         他們的組合,本質上也就是V2的basis(參考圖2)。你繼續推導下去,會得到同樣的結論:在scale j的wavelet function,可以被用來將Vj的basis擴充套件到V(j+1)中去!這是一個非常非常關鍵的性質,因為這代表著,對任何一個子空間Vj,我們現在有兩種方法去得到它的orthonormal basis:

1. 一種就是它本來的basis ,對任意k。

2. 第二種就是它上一個子空間的basis,對任意k,以及上一級子空間的wavelet function ,對任意k。

       第二種選擇能給我們帶來額外的好處,那就是我們可以迴圈不斷地用上一級子空間的scaling function以及wavelet function的組合來作為當前子空間的基。換句話說,如果針對V3這個子空間,它實際上就有四種不同的,但是等價的orthonormal basis:

1. 本級(V3)的scalingfunction basis set

2. 上一級(V2)的scalingfunction + wavelet function;

3 . 上上一級(V1)的scalingfunction + 上上一級(V1)的waveletfunction + 上一級(V2)的waveletfunction;

4. 上上上一級(V0)的scalingfunction + 上上上一級(V0)的waveletfunction + 上上一級(V1)的waveletfunction + 上一級(V2)的waveletfunction

          好,看看最後一種選取方式,有沒有感到眼熟?對了,它就是我們之前提到的“針對此訊號space的哈爾小波basis組合”,參見圖1。現在我們知道了,這個scalingfunction不是憑空插進去的,而是通過不斷的巢狀迭代出來的:

      那為什麼我們最後選定的是這種選取方式呢?實際上,剛才介紹的這個性質已經告訴我們,對於任何的scale j0,我們都可以給我們的signal space找到一組orthonormal basis,這個basis是通過組合scale j0上的scaling function以及所有在scale j,j>=j0上的wavelets得到的。這樣,基於這個orthonormal basis,

所有訊號空間中的訊號都可以寫成組成這個basis的functions的線性組合:

對應的係數的計算和平常一樣:

這,就是最終的,也是最核心的,小波變換形式。不管是訊號壓縮,濾波,還是別的方式處理,只要是用小波變換,都逃不出這個基礎流程:

1. 選取合適的wavelet function和scaling function,從已有的訊號中,反算出係數c和d。

2. 對係數做對應處理

3. 從處理後的係數中重新構建訊號。

      這裡的係數處理是區別你的應用的重點。比如影象或者視訊壓縮,就希望選取能將能量聚集到很小一部分系數中的小波,然後拋棄那些能量很小的小波係數,只保留少數的這些大頭係數,再反變換回去。這樣的話,影象訊號的能量並沒有怎麼丟失,影象體積卻大大減小了。

      還有一個沒有解釋的問題是,為什麼要強調尺度函式和小波函式組成一個orthonormal basis呢?計算方便是一方面,還有一個原因是,如果他們滿足這個性質,就滿足瑞利能量定理,也就是說,訊號的能量,可以完全用每個頻域裡面的展開部分的能量,也就是他們的展開係數表示:

         到這裡,我們對小波變換的形式就講完了。雖然是用的最簡單的哈爾小波為例子,但舉一反三即可。我們著重介紹了多解析度分析以及它給小波變換帶來的殺手鐗:時域頻域同時定位。結束之前,再多說幾句小波變換的意義。我們拿剛才例子中V3子空間的第二種可選擇的orthonormal basis作為例子:

                                

           左邊這四個basis組成元素,也就是scaling functions,的係數,表徵的是訊號的local平均(想想它們和訊號的內積形式),而右邊的這四個basis組成元素,也就是wavelet functions,的係數則表徵了在local平均中丟失的訊號細節。得益於此,多解析度分析能夠對訊號在越來越寬的區域上取平均,等同於做低通濾波,而且,它還能保留因為平均而損失的訊號細節,等同於做高通濾波!這樣,我們終於可以解釋了wavelet function和scaling function背後的物理意義了:wavelet function等同於對訊號做高通濾波保留變化細節,而scalingfunction等同於對訊號做低通濾波保留平滑的shape!

       對小波變換的基礎知識,我們就講到這裡。需要注意的是,這只是小波變換最基本最基本的知識,但也是最核心的知識。看完這裡其實就是回到了最開始的介紹:小波變換是把訊號分解成一系列的小波(經過原始小波伸縮和平移得到的),這裡就告訴了我們伸縮和平移

七、小波的應用

         小波是多解析度理論的分析基礎。而多解析度理論與多種解析度下的訊號表示和分析有關,其優勢很明顯--某種解析度下無法發現的特性在另一個解析度下將很容易被發現。從多解析度的角度來審視小波變換,雖然解釋小波變換的方式有很多,但這種方式能簡化數學和物理的解釋過程。

      對於小波的應用很多,我學習的的方向主要是影象處理,所以這裡用影象的應用來舉例。對於影象,要知道量化級數決定了影象的解析度,量化級數越高,影象越是清晰,影象的解析度就高。

例一,哈爾小波影象分解

                    

例二,  小波去噪平滑

                   

例三,  小波的邊緣檢測

                     

       小波的知識還有很多,可以再繼續看書學習,希望看到這個文章,可以對小波入門的同學有一定的幫助,下面給出幾個不錯的網站可以輔助學習