來源:簡書,作者:今日你學左米啊。
在正式進入小波變換之前,我們不妨來討論一下傅立葉變換的局限性和為什麼我們需要引入小波變換。
回想傅立葉變換的公式
從積分的算式我們可以輕鬆知道,在積分式一結束的同時,另外一個譜的信息就會完全消失,就是說,傅立葉變換的頻域上不含有時間信息。
同時,從積分的上下限我們也可以看到,當信號發生一些不平穩的變化的時候,傅立葉變換並不能很好的察覺到他的幅度和位置,因為從表達式可以看到,傅立葉變化對每一個時刻的值都是平等對待的,而且所有的突變值也會被積分區間所平分。所以,我們可以看到傅立葉變換對窄帶信號檢測不敏感,不能處理非平穩信號。
從濾波的角度看,回想一下當信號頻譜和噪聲頻譜是相互分離的時候,我們總可以分離信號和噪聲,通過一些加窗濾波的方法就可以了。但是如果信號和噪聲的頻譜是混在一起的,那麼這個時候傅立葉變換就無能為力了,也就是說濾波靠的是信號域和噪聲域在頻譜上的分離。
怎麼來解決以上的問題呢?有人提出了短時傅立葉變換來加以改善,我們先來看看短時傅立葉變換的表達式:
通過加入一個滑動的窗函數ω(ω,t)(長度為N),來彌補傅立葉變換的頻譜上沒有時間信息這個弊端。
其實,原理很簡單,就是原來一段的傅立葉變換現在固定分成幾段來分別進行傅立葉變換,那麼分成的這幾段可以在時間上獨立開來,就變成了具有時間信息的傅立葉變換。但是,這個加窗對整個變換也是有影響的,這裡不妨先介紹兩個術語:
時間解析度由時窗寬度Tp 決定,Tp 越小,時間解析度越高。
頻譜解析度是指分辨信號中相鄰譜峰的能力
△fc 越小,頻譜解析度越高。
在對信號的時頻分析中,我們希望時間解析度和頻譜解析度都可以比較高,但是從定義式裡面我們就知道,時間解析度和頻譜解析度是相互制約的,同時也說明我們沒辦法同時獲得較高的時間解析度和頻譜解析度。
從這裡我們可以再一步印證出,傅立葉變換(連續)具有無窮的頻譜解析度,而無時間解析度。
現在,我們回來討論短時傅立葉變換的窗函數ω[n-k] 的長度N,顯然N 如果變大,頻譜解析度肯定是越來越好的,時間解析度確是越來越差的。同時N 如果變小,頻譜解析度肯定是越來越差的,時間解析度便是越來越差的。
既然上面說了時間解析度和頻譜解析度已經是不可兼得的了,那麼現在問題來了,我們到底想得到什麼東西?
回想一下,傅立葉變換的缺點在他不能有效地處理非平穩信號,短時傅立葉變換的N 是固定的,往兩邊變化都會有制約。那我們能不能在分析的過程中讓這個N 變起來?讓他在信號變化快的時候窗變小一點,獲得較高的時間解析度,較低的頻譜解析度;在信號變化慢的時候窗變大一點,獲得較低的時間解析度,較高的頻譜解析度。
這個時候就應該給大家引入小波變換了。
大家可以先無道理地認為小波變換就是一個窗長度會變的傅立葉變換(雖然我一直不喜歡這個通俗的比喻...)
在信號分析中,我們常將信號展開成一組信號的線性組合,即有
其中,{an, n∈Z} 為展開係數,{𝜙n(t), n∈Z}為展開函數。若展開式具有唯一性,即不同的信號對應不同的展開係數an,則該展開函數𝜙n(t) 稱為基 (basis)。
對基函數來說,若其內積滿足:
稱此基函數為正交規範 (orthonormal) 基函數。正交在於其他內積等於0,規範在於係數是1。在此基礎上,我們可以知道由於每個基函數之間都是互相正交的,所以我們可以將x(t) 和基函數𝜙n(t) 進行內積計算,便可以得到相應的展開係數an,也就是:
稍微有點泛函常識的我們可以知道,這就是將信號往給定基函數元素所張成的內積空間裡面投射。比較出名的就是傅立葉級數,將信號往以ejωt 為基函數的內積空間(無窮維空間)內投射,得到的相應正交基函數的特徵值(也就是展開係數an),這裡的an 就是傅立葉級數裡面的Cn。大家大可看看表達式,都是一模一樣的。
當然,這個是反著來用的,根據每個維度的特徵值來合成回x(t),也就是逆變換。這裡要注意的還有一點是,所謂的基函數其實不僅僅是一個函數,而是一些有相同特徵且相互正交的函數族。
小波 (wavelet) 信號是一類衰減較快的波動信號,其能量有限且相對集中在局部區域。先來看看常用的小波函數:
小波函數(也稱為母小波)的基本特性,小波函數𝜙t 通過展縮和平移得到小波函數族Ψj,k(t)。
這裡小波函數由於相對集中在局部區域,所以比傅立葉變換的基函數多了平移這一步。
和小波變換相關的還有尺度函數(父小波)(Scaling Function)。
由尺度函數φ(t) 通過展縮和平移得到尺度函數族φj,k(t),尺度函數族φj,k(t) 定義為:
小波函數族和尺度函數族前面的係數2j 是為了保持基函數的能量始終為1。對於這兩個後面會有更理性的認識,這裡我們先直接介紹DWT和IDWT。
有了小波函數和尺度函數,就相當於明確了我們的小波的基函數。可以利用小波函數族Ψj,k(t),尺度函數族φj,k(t),來將信號進行小波展開:
同時,上式也被稱為離散小波逆變換 (IDWT)。相反地,由信號x(t) 求解展開係數 {c0[k],d1[k],d2[k]} 稱為離散小波變換(Discrete Wavelet Transform, DWT)。
我們常用c0 來表示信號的粗糙成分,dj,k 來表示信號的精細部分。
之前總有一段時間不想學小波,感覺這個名詞有點高大上什麼的,後因為要涉及到相關的信息所以不得不學一下。學完個基礎之後不得不感嘆的是,小波變換比傅立葉變換還要來得簡單直接,演示的效果有時還蠻驚豔的。
原文連結:
https://www.jianshu.com/p/e487df4d82a4
我單位專注於工程技術應用領域,專業從事CAE技術服務諮詢公司,提供完整的CAE解決方案,結合企業需求定製內部培訓,定製專項公開課培訓,超算服務等。
Q: 你覺得還有哪些需要關注的知識?
歡迎留言和大家分享你的看法。請關注微信公眾號
歡迎諮詢~鄭經理 13671108418(微信)
「ANSYS Workbench旋轉機械的轉子動力學分析」專題
「結構振動、衝擊、碰撞分析、動力優化、振動疲勞計算與振動臺試驗模擬」專題
「COMSOL Multiphysics多物理場耦合」專題培訓
焊接、螺栓連接結構與過盈裝配結構有限元計算高級培訓