完美通俗解讀小波變換:深入小波背後的一些原理

2021-02-08 聲振之家


在上一篇《完美通俗解讀小波變換,終於搞懂小波是什麼東東了》中講到,每個小波變換都會有一個mother wavelet,我們稱之為母小波,同時還有一個father wavelet,就是scaling function。而該小波的basis函數其實就是對這個母小波和父小波縮放和平移形成的。縮放倍數都是2的級數,平移的大小和當前其縮放的程度有關。


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


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


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


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


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

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


其中ψ(t)是母小波,φ(t)是父小波。需要提醒一點的是,這個正交純粹是為了小波分析的方便而引入的特性,並不是說小波變換的基就一定必須是正交的。但大部分小波變換的基確實是正交的,所以本文就直接默認正交為小波變換的主要性質之一了。


引入這個父小波呢,主要是為了方便做多解析度分析(multiresolution analysis,MRA)。說到這裡,你的問題可能會井噴了:好好的為什麼出來一個父小波呢?這個scaling function是拿來幹嘛的?它背後的物理意義是什麼?wavelet function背後的物理意義又是什麼?這個多解析度分析又是什麼呢?不急,下面,我們圍繞一個例子來鞏固一下前面的知識,同時再引出新的特性。


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


圖1

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



圖2

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


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



圖3

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

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



圖4

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


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


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


圖5

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


等等,你可能已經發現了,有問題。這裡為什麼多了個沒有函數表達式的波形呢?這貨明顯不是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)空間中,我們可以找出一個嵌套的空間序列{Vj}j∈Z,並有下列性質:


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


圖6

這個圖是圈圈套圈圈,最裡面的圈是V0,之後分別是V1,V2,V3,V4 。那他們有趣的性質就是,假如有一個函數f(t)他屬於一個某空間,那你將其在時域上平移,它還是屬於這個空間。但如果你對它頻域的放大或縮小,它就會相應移到下一個或者上一個空間了。 同時我們還知道,你要形容每一個空間的話,都需要有對應的orthonormal basis,這是必然的,那對於V0來講,它的orthonormal basis就是:


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


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


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


當然,如果這個scaling function只是用來代表一個子空間的,那它的地位也就不會這麼重要了。剛才我們提到,這個嵌套空間序列有一個性質:


這就是這個函數,如果你對它頻域的放大或縮小,它就會相應移到下一個或者上一個空間了。這個性質就有意思了,它代表什麼呢?對於任何一個包含V0的更上一層的空間來講,他們的基都可以通過對scaling function做頻域的scale後再做時域上的整數變換得到!推廣開來就是說,當:


我們有


這也就意味著,對於任何屬於Vj空間的函數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的φ(t)在V2,V3, …,Vn中表示出來。這些方程就是MRA equation,也叫refinement equation,它是scaling function理論的基礎,也是小波分析的基礎之一。


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


圖7

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



圖8

對於更加finer的scale:



圖9

依此類推。實際上,對於任何scale和translate過的scaling function,都可以用更加精細的scale層面上的scaling function構建出來。 然後,我們有各種scale下的scaling function了,該看看它們分別所對應的嵌套的空間序列{Vj}j∈Z了。先看看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的波形驗證了之前提到的多解析度分析中的一個核心性質,那就是:


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


圖10

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


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


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


圖11

對應的小波函數是:


圖12

然後子空間V1的basis集合是這倆哥們:


圖13

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


圖14

然後V1中對應的wavelet function是


圖15

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


一種就是它本來的basis ψj,k ,對任意k。


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


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


1.本級(V3)的scaling function basis set


圖16

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


圖17

3 . 上上一級(V1)的scaling function + 上上一級(V1)的wavelet function + 上一級(V2)的wavelet function


圖18

4. 上上上一級(V0)的scaling function + 上上上一級(V0)的wavelet function + 上上一級(V1)的wavelet function + 上一級(V2)的wavelet function


圖19

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


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


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


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


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


對係數做對應處理 


從處理後的係數中重新構建信號。


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


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


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


圖20

左邊這四個basis組成元素,也就是scaling functions,的係數,表徵的是信號的local平均(想想它們和信號的內積形式),而右邊的這四個basis組成元素,也就是wavelet functions,的係數則表徵了在local平均中丟失的信號細節。得益於此,多解析度分析能夠對信號在越來越寬的區域上取平均,等同於做低通濾波,而且,它還能保留因為平均而損失的信號細節,等同於做高通濾波!


這樣,我們終於可以解釋了wavelet function和scaling function背後的物理意義了:wavelet function等同於對信號做高通濾波保留變化細節,而scaling function等同於對信號做低通濾波保留平滑的shape! 


對小波變換的基礎知識,我們就講到這裡。需要注意的是,這只是小波變換最基本最基本的知識,但也是最核心的知識。掌握了這些,代表你對小波變換的物理意義有了一定的了解。但對於小波變換本身的講解,一本書都不一定能將講透,還有很多的基礎知識我都沒有講,比如如何構建自己的scaling function,選取合適的係數集h[k],並由此構建自己的wavelet functions。所以,如果有深入下去研究的同學,好好買一本書來看吧。而只是希望用小波變換來服務自己的應用的同學,個人覺得這些知識已經足夠讓你用來起步了。

本文是《小波變換和motion信號處理》系列文章中的第二篇,來自網絡,轉載眾多,其作者可能為windstorm,出自www.kunli.info。


聲明:本微信轉載文章出於非商業性的教育和科研目的,並不意味著贊同其觀點或證實其內容的真實性。版權歸原作者所有,如轉載稿涉及版權等問題,請立即聯繫我們,我們會予以更改或刪除相關文章,保證您的權利!

相關焦點

  • 視頻基本原理 -視頻壓縮之小波變換基礎
    由於STFT採用的的滑動窗函數一經選定就固定不變,故決定了其時頻解析度固定不變,不具備自適應能力,而小波分析很好的解決了這個問題。小波分析是一種新興的數學分支,它是泛函數、Fourier分析、調和分析、數值分析的最完美的結晶;在應用領域,特別是在信號處理、圖像處理、語音處理以及眾多非線性科學領域,它被認為是繼Fourier分析之後的又一有效的時頻分析方法。
  • 小波變換MATLAB圖像融合
    而小波變換具有的正交性、非冗餘性以及完善的重構能力,有效彌補金字塔方法分解時的信息冗餘性以及重構過程中的不穩定性。小波變換的基本原理是繼承和發展了短時傅立葉變換局部化的思想,同時又克服了窗口大小不隨頻率變化等缺點,能夠提供一個隨頻率改變的「時間-頻率」窗口,是進行信號時頻分析和處理的理想工具。
  • 如何利用Matlab進行小波分析
    小波分析(wavelet analysis), 或小波轉換(wavelet transform)是指用有限長或快速衰減的、稱為母小波(mother
  • 利用小波理論改變預測變量的特徵頻譜從而改進自然系統的模擬
    使用這種獨特的方差變換,可以通過評估其表徵應變量中未被解釋信息的能力來選擇其他預測變量;應變量中未被解釋的信息是指考慮已經確定的預測變量的因素後剩餘的信息。使用已知的線性和非線性系統的生成的數據集以及帶參數和非參數預測模型,我們演示了這種基於小波方法的實用性。應用於一個動態系統和雪梨地區乾旱指標的預測的真實示例進一步證實了其在實際應用中的有效性。
  • 《模型理論》連載十七:第六章<小波調整秘密> 第三節 小波預測模型實戰案例(上)
    第三節 小波預測模型實戰案例 只要確定了走勢符合上一節中的要求,就可以使用小波預測模型的分析意義,對股價未來的走勢進行預測和分析
  • 傅立葉變換與短時傅立葉變換
    時頻分析小波變換Randon-Wiger 變換分數階傅立葉變換線調頻小波變換循環統計理論和調幅-調頻信號分析‥‥‥舉例1 有一信號主要頻率成分是50Hz和300Hz的正弦信號,該信號被一白噪聲汙染,現對該信號進行採樣,採樣頻率為1000Hz,通過傅立葉變換對其頻率成分進行分析
  • 圖像壓縮背後的數學
    我們也將討論一些JPEG背後的數學。被更廣泛地稱為數據壓縮的論題問的是:「我們怎樣以緊湊、有效的方式表示信息?」除了圖像文件外,通常要壓縮數據、影像、音樂文件。例如,如何壓縮8個GB的iPod Nano的2000首歌曲?問題的關鍵是通過某種方式組織信息,揭示出可被消除的固有的多餘之處。
  • 【圖像處理】圖像直方圖、濾波、小波變換、分割處理系統matlab代碼
    to be defined in a future version of MATLAB% handles   structure with handles and user data (see GUIDATA)global img_51;ImgPath=get(handles.edit17,'String');imwrite(img_51,ImgPath,'bmp');
  • 《小波》推薦2017第3期新WPM惠家KD-310/VP/J咖啡機功能介紹與保養內容.
    《小波》推薦2017第3期新WPM惠家KD-310/VP/J咖啡機功能介紹與保養內容。
  • 【微課堂】熱紅外與傾斜攝影技術的完美結合
    基於熱紅外傳感器的傾斜攝影系統,將傾斜攝影與熱紅外的優勢完美結合,不但可突破傳統設備對成像條件的限制,在夜間也可以成像,並且可以獲得更豐富的信息。例如,在應急監測方面,在地震救災現場可以快速進行數據採集,不僅能夠獲得垮塌的面積,還可以分析出垮塌程度。在精準農業方面,可以對植被整個冠層的各個部分溫度的分布情況進行精確監測,為部分生物參量的反演提供更加細緻的數據。