小波變換

小波變換

         小波,一個神奇的波,可長可短可胖可瘦(伸縮平移),當去學習小波的時候,第一個首先要做的就是回顧傅立葉變換(又回來了,唉),因爲他們都是頻率變換的方法,而傅立葉變換是最入門的,也是最先了解的,通過傅立葉變換,瞭解缺點,改進,慢慢的就成了小波變換。主要的關鍵的方向是傅立葉變換、短時傅立葉變換,小波變換等,第二代小波的什麼的就不說了,太多了沒太多意義。當然,其中會看到很多的名詞,例如,內積,基,歸一化正交,投影,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!

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


六、小波的應用

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

      對於小波的應用很多,我學習的的方向主要是圖像處理,所以這裏用圖像的應用來舉例。對於圖像,要知道量化級數決定了圖像的分辨率,量化級數越高,圖像越是清晰,圖像的分辨率就高。

例一,哈爾小波圖像分解

                    


例二,  小波去噪平滑

                   

  

例三,  小波的邊緣檢測

                     

 

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

http://blog.163.com/renfengyuee@126/blog/static/35943136201091274316370/

http://www.zhihu.com/question/22864189

http://users.rowan.edu/~polikar/WAVELETS/WTtutorial.html

http://blog.csdn.net/wanglang3081/article/details/17751805



原文地址:http://blog.csdn.net/qq_20823641/article/details/51829981


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章