信號頻域分析方法的理解(頻譜、能量譜、功率譜、倒頻譜、小波分析)

信號的頻域分析方法多種多樣,這裏針對較爲常見的(頻譜、能量譜、功率譜、倒頻譜、小波分析)集中進行說明。這些方法的MATLAB代碼實現參見文章頻域特徵值提取的MATLAB代碼實現(頻譜、功率譜、倒頻譜)

在看這篇文章之前可以參看之前的兩篇,其中涉及一些時域特徵值介紹和能量、功率信號區別的介紹:

Mr.括號:信號的各種時域分析方法的理解

Mr.括號:能量信號和功率信號的分別

文章如要轉載請私信與我聯繫,並註明來源知乎專欄與信號處理有關的那些東東作者Mr.括號。

 

一、頻譜

一般來說,頻譜分析指的是將信號做傅里葉變換從而進行分析。頻譜分析是包括幅頻譜和相頻譜兩張圖的。不過最常用的是幅頻譜。

頻譜分析是最常用和最重要也是最基礎的頻域分析方法。在這裏不詳細展開說了,不瞭解概念的可以參考這篇文章:

Heinrich:如果看了這篇文章你還不懂傅里葉變換,那就過來掐死我吧

時常會見到幾個概念:DFT,DTFT,DFS,FFT,FT, FS等等。這些概念怎麼區分?看這篇文章就能搞懂:一幅圖弄清DFT與DTFT,DFS的關係 - BitArt - 博客園

在這裏概括一下(不感興趣的話可以直接跳過):

FT(Fourier Transformation):傅里葉變換。就是我們理論上學的概念,但是對於連續的信號無法在計算機上使用。其時域信號和頻域信號都是連續的。

DTFT(Discrete-time Fourier Transform):離散時間傅里葉變換。這裏的“離散時間”指的是時域上式離散的,也就是計算機進行了採樣。不過傅里葉變換後的結果依然是連續的。

DFT(Discrete Fourier Transform):離散傅里葉變換。在DTFT之後,將傅里葉變換的結果也進行離散化,就是DFT。

也就是說:FT時域連續、頻域連續;DTFT時域離散、頻域連續;DFT時域離散、頻域離散。

FFT(Fast Fourier Transformation):快速傅里葉變換。就是DFT的快速算法,一般工程應用時用的都是這種算法。

FS(Fourier Series):傅里葉級數。是針對時域連續週期信號提出的,結果是離散的頻域結果。

DFS(Discrete Fourier Series):離散傅里葉級數。是針對時域離散週期信號提出的,DFS與DFT的本質是一樣的。

另外補充幾點相關知識:

  • 在實際計算中通常使用快速傅里葉變換(FFT)。它是一種用來計算DFT(離散傅里葉變換)和IDFT(離散傅里葉反變換)的一種快速算法。

  • 隨機信號是無法做傅里葉變換的(*這裏要再補充)

 

二、能量譜

要理解能量譜和功率譜,首先要弄明白能量有限信號和功率有限信號(參看之前的文章能量信號和功率信號的分別)。

能量譜也叫能量譜密度,能量譜密度描述了信號或時間序列的能量如何隨頻率分佈。能量譜是原信號傅立葉變換的平方。

 

三、功率譜

功率譜是功率譜密度函數(PSD)的簡稱,它定義爲單位頻帶內的信號功率。

功率譜是針對功率信號來說的。功率譜的推導公式相對複雜,不過幸運的是維納-辛欽定理證明了:一段信號的功率譜等於這段信號自相關函數的傅里葉變換。

所以求功率譜就有了兩種方法:1.(傅立葉變換的平方)/(區間長度);2.自相關函數的傅里葉變換。這兩種方法分別叫做直接法和相關函數法。

功率譜這裏存在着一些問題,整理如下:

1.功率譜密度的單位是什麼,看有的寫的是dB,還有的說是W/Hz。

功率譜的單位是W/Hz,單位是dB時是做了對數處理(10logX)。取對數的目的是使那些振幅較低的成分相對高振幅成分得以拉高,以便觀察掩蓋在低幅噪聲中的週期信號。

2.求功率譜的兩種方法有什麼區別麼?

從原理上講似乎沒什麼區別,從MATLAB仿真結果上來看,相關函數法對噪聲的抑制效果更好,圖線更平滑。(見頻域特徵值提取的MATLAB代碼實現(頻譜、功率譜、倒頻譜)

3.FFT和PSD都是表示的頻譜特性,幫助我們找出峯值的位置,那麼有了FFT爲什麼還要提出PSD?

信號分爲確定信號和隨機信號,而確定信號又分爲能量信號和功率信號,隨機信號一定是功率信號。根據狄裏赫利條件,能量信號可以直接進行傅里葉變換,而功率信號不行。對於無法做傅里葉變換的信號,只能走一步彎路,先求自相關,再做傅里葉。但是物理意義上就是功率譜了。不過總之得到了信號的頻率特性。

4.既然爲什麼隨機信號的一次FFT沒有意義卻還能(傅立葉變換的平方)/(區間長度)得到功率譜?

對隨機信號直接做FFT的做法其實就是截斷成能量信號進行處理,這種處理不符合隨機信號定義,但之所以這樣做,是做短時頻域分析下作的近似處理。(這裏希望能有大神能給出更好的解釋)

所以總結,頻譜和能量譜(也叫能量譜密度)是傅里葉變換得到的複數結果和模平方的關係; 而功率譜(也就是功率譜密度)是針對隨機信號分析提出的概念。

更多討論可以參看:隨機信號傅里葉變換和功率譜密度圖給出的信息有什麼不同 - MATLAB中文論壇

 

四、倒頻譜

倒頻譜(Cepstrum)也叫倒譜、二次譜和對數功率譜等。倒頻譜的工程型定義是:信號功率譜對數值進行傅立葉逆變換的結果。(信號→求功率譜→求對數→求傅里葉逆變換)

爲什麼翻譯作倒頻譜呢?我個人的理解是,頻譜(功率譜)反應的頻率特徵點橫座標是頻率f(Hz),在倒頻譜中對應的特徵點的橫座標是時間t(s),而f與t互爲倒數。從這裏也可以看出,雖然倒頻譜也叫“頻譜”,其橫座標卻並不是頻率,而是時間。

那麼倒頻譜有什麼好處呢?

“該分析方法方便提取、分析原頻譜圖上肉眼難以識別的週期性信號,能將原來頻譜圖上成族的邊頻帶譜線簡化爲單根譜線,受傳感器的測點位置及傳輸途徑的影響小。”

這都是啥意思?一條條解釋:

1.方便提取、分析原頻譜圖上肉眼難以識別的週期性信號

我們知道,頻譜分析就是爲了提取原始信號中的週期性信號的,怎麼頻譜中的信號還會有周期性?這就又涉及到兩個概念:調製和邊頻帶。

調製分爲幅值調製和頻率調製。下面以齒輪的幅值調製爲例進行說明:齒輪的振動信號主要包括兩部分,分別是齒輪齧合振動信號(高頻)和齒輪軸的轉頻振動信號(低頻),時域和頻域曲線分別如下圖所示:

高頻信號和低頻信號時域波形

高頻信號和低頻信號的頻域波形

調製就是高低頻率信號的混合。幅值調製從數學上看,相當於兩個信號在時域上相乘;而在頻域上,相當於兩個信號的卷積。調製後的信號在時域和頻域上分別變爲:

調製後的時域信號

調製後的頻域信號

我們發現,調製後的信號中,除原來的齧合頻率分量外,增加了一對分量,它們是以高頻信號特徵頻率爲中心,對稱分佈於兩側,所以稱爲邊頻帶。

實際實驗中齒輪齧合振動信號(高頻)和齒輪軸的轉頻振動信號(低頻)的特徵頻率可能是有多組的,其調製後的頻域信號近似於一組頻率間隔較大的脈衝函數和一組頻率間隔較小的脈衝函數的卷積,從而在頻譜上形成若干組圍繞齧合頻率及其倍頻成分兩側的邊頻族,如下圖:

邊頻帶的形成

說了一大堆,終於迴歸到上邊提到的問題:倒頻譜“方便提取、分析原頻譜圖上肉眼難以識別的週期性信號”。這裏指的週期性信號,就是重複出現的邊頻帶。

倒頻譜能較好地檢測出功率譜上的週期成分,通常在功率譜上無法對邊頻的總體水平作出定量估計,而倒頻譜對邊頻成分具有“概括”能力,能較明顯地顯示出功率譜上的週期成分,將原來譜上成族的邊頻帶譜線簡化爲單根譜線,便於觀察,而齒輪發生故障時的振動頻譜具有的邊頻帶一般都具有等間隔(故障頻率)的結構,利用倒頻譜這個優點,可以檢測出功率譜中難以辨識的週期性信號。

2.受傳感器的測點位置及傳輸途徑的影響小

這是倒頻譜的第二個好處。對於佈置在不同位置的傳感器,由於傳遞路徑不同,其功率譜也不相同。但在倒頻譜上,由於信號源的振動效應和傳遞途徑的效應分離開來,代表齒輪振動特徵的倒頻率分量幾乎完全相同,只是低倒頻率段存在由於傳遞函數差異而產生的影響。在進行倒頻譜分析時,可以不必考慮信號測取時的衰減和標定係數所帶來的影響。這一優點對於故障識別極爲有用。

關於倒頻譜,文章 齒輪故障診斷常用信號分析處理方法 給出了具體了例子,方便理解。

 

五、小波分析

小波分析是一種時頻域分析方法,該方法兼顧了信號在時域和頻域的信息。知乎上有一篇文章對小波分析的理解進行了生動的講解,強烈建議對小波分析概念不熟的同學先看一下。咚懂咚懂咚:能不能通俗的講解下傅立葉分析和小波分析之間的關係?這篇文章中最後給出的小波變換的結果是這樣的:

連續小波變換

看起來十分厲害,不過同時會發現兩個問題:運算量很大;只有數值解,沒有解析解。上述這種小波分析方法叫連續小波變換(continuous wavelet transform, CWT)。

爲了減少變換運算量,去除不必要的重複的係數,實際中使用的通常是離散小波變換(discrete wavelet transform, DWT)。

這裏的“離散”指的是什麼呢?

讓我們先回到小波基波(也叫母小波)的表達式:

其中s是尺度參數,表徵頻率;t是位移參數,表徵時間。這部分在答友的連接裏也提到了。再看上一張圖,xy座標分別是SCALE和TRANSLATION,也就是s和t,他們在連續小波變換中是連續的。

所以,在離散小波變換中,“離散”的就是參數s和t。此時小波表達式寫爲:

j和k都是整數,通常取s0=2,τ0=1。

可以看出,隨着j取值的遞增,我們可以得到一串不同的小波(子小波,也叫女兒小波...)。這些子小波的尺度參數以2的j次方的形式增長。當使用這一系列的子小波,對一個連續函數進行離散分析時,我們所獲得的是一組小波分析的係數,這個分析過程稱爲小波系列分解。

上邊說道,尺度參數表徵的是頻率,在子小波中尺度參數以2的倍數增長(即小波的“長度”被“拉長”了2倍),那麼子小波對應能檢測到的頻率值也會以1/2的倍數縮小。母小波所對應的頻譜位於頻率譜的高端,具有最大的頻率譜範圍- 而其他的子小波的頻率譜則依次向頻譜圖的低頻端移動,同時它們所覆蓋的頻率譜範圍也相應地遞減。在理想的情況下,所有的濾波器應該首尾相接互相覆蓋。

不同尺度的子小波在小波頻率譜上的覆蓋

是的,每個子小波就相當於一個濾波器,離散小波變換的過程就是逐級濾波的過程。

具體流程是怎樣的呢?

用一句話描述就是:一組離散信號通過一系列的低通和高通濾波器,分別可以得到近似信號(用字母A表示)和細節信號(用字母D表示)。

用一張圖描述就是:

LP爲低通濾波器,HP爲高通濾波器,B爲帶寬,2B爲2倍帶寬

用一個例子來描述就是:

對原始信號濾波:原始信號是在一個連續的低頻正弦波信號(頻率爲0.5)上隨機疊加了兩個高頻(頻率爲 10)高振幅的正弦脈衝,這裏使用了 dB5(第五級Daubechies小波)作爲去除噪音操作的母小波。

原始信號

一階小波分解的結果爲:

一階小波分解的近似信號(低通結果)

一階小波分解的細節信號(高通結果)

二階小波分解的結果爲(即對A1信號做分解):

二階小波分解的近似信號(低通結果)

二階小波分解的細節信號(高通結果)

三階小波分解的結果爲(即對A2信號做分解):

三階小波分解的近似信號(低通結果)

三階小波分解的細節信號(高通結果)

四階小波分解的結果爲(即對A3信號做分解):

四階小波分解的近似信號(低通結果)

四階小波分解的細節信號(高通結果)

至此我們已經能夠得到較好的濾波結果了(即A5,不過脈衝信號也被濾掉了,用設置門限的方法可以保留住該信號,這裏不做展開)。可以看到原式信號被逐級的,無遺漏地進行了高、低通濾波,且越接近低頻分段越細,幾乎想要哪個頻段的特徵都能得到,因而這個方法有個霸氣的名字,叫濾波器銀行。

小波變換大致講完了,那麼它有哪些特點,可以用來做什麼呢?

首先當然是濾除噪聲。

其次,由於離散小波變換是可逆的,所以還可以用來做圖像、信號的無損壓縮。

另外,可以檢測信號的非連續性。奇異信號會在細節信號D中展現。

除此之外,還可以進行圖像邊界檢測等工作。

 

(時)頻域的一些常見的分析處理方法就介紹到這裏了。這裏能講到的只是一些表面的概念和一些個人的理解。文中的內容還會不斷修正和完善,對於不嚴謹以及謬誤指出,還望多多指教。

歡迎關注我的公衆號“括號的城堡”,微信號爲“khscience”,會有更多有趣的東西分享。

 

參考:

Heinrich:如果看了這篇文章你還不懂傅里葉變換,那就過來掐死我吧

隨機信號傅里葉變換和功率譜密度圖給出的信息有什麼不同 - MATLAB中文論壇

傅里葉變換和逆變換公式的我理解意義 - CSDN博客

齒輪的振動機理

齒輪故障診斷常用信號分析處理方法

Cepstrum - Wikipedia

Wavelet - Wikipedia

周宇峯, 程景全. 小波變換及其應用[J]. 物理, 2008, 37(1):24-32.

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