時頻分析

维基百科,自由的百科全书
跳转至: 导航搜索

時頻分佈讓我們能夠同時觀察一個訊號在時域和頻域上面資訊的工具,而時頻分析就是在分析時頻分佈。傳統上,我們常用傅立葉變換來觀察一個訊號的頻譜。然而,這樣的方法不適合用來分析一個頻率會隨著時間而改變的訊號。

讓我們看看以下這個例子:

x(t)=\begin{cases}
\cos(  \pi t);  & t  <10 \\
\cos(3 \pi t);  & 10 \le t < 20 \\
\cos(2 \pi t);  & t  > 20 
\end{cases}

一旦這樣的數學式成立,便可利用時頻分析的各種技術,萃取訊號中的各種有用資訊,並分離噪音或干擾。

常見的時頻分佈函數[编辑]

常見的時頻分佈函數有短時距傅立葉變換(包含加伯轉換)、科恩分佈函數(包含韋格納分佈)、改進型韋格納分佈 ,以及加伯-韋格納分佈(Gabor-Wigner distribution function)函數及S轉換等。

理想的時頻分佈函數[编辑]

一個理想的時頻分佈函數有助於我們做時頻分析,而它大致上具有以下四種性質:

  1. 「高清晰度」可讓我們分析更容易。
  2. 「沒有cross-term」可避免我們把訊號和雜訊混淆。
  3. 「好的數學性質」有利於我們在許多方面的應用。
  4. 「較低的運算複雜度」使得我們分析的速度變快。

在這裡我們比較幾個較常用的時頻分析之優劣度。

清晰度 Cross-term 好的數學性質 運算複雜度
加伯轉換 較差 較差
韋格納分佈函數 最好 最好
加伯-韋格納分佈函數 幾乎可以消除

為了能順利的分析各訊號之時頻分佈,選擇適當的時頻分佈函數是很重要的。而至於要如何選擇時頻分佈函數呢?這端看於我們所要應用它的地方在哪邊。韋格納分佈之定義中的自相關函數是一把雙面刃,它讓韋格納分佈函數擁有高的清晰度,然而,它也同時讓它產生了cross-term的問題。

因此,如果我們想要分析一個只有單一項的訊號,此時不會有cross-term的產生,因此我們通常選擇韋格納分佈函數來獲得高清晰度;另一方面,如果我們要分析的訊號是由很多個項所組成的,此時若用韋格納分佈會有cross-term產生,所以我們可能選擇用加伯轉換或是加伯-韋格納分佈函數會比較好。

應用[编辑]

在接下來即將介紹的應用中,我們除了需要時頻分佈函數,還需要搭配其他的運算才能達到目的,而著名的線性完整轉換(Linear canonical transform)可以幫助我們。我們可以利用線性完整轉換來任意的改變一個訊號在時頻分佈平面上面的形狀和位置,像是水平以及垂直的移動、擴大、shearing(扭曲),以及旋轉(用分數傅立葉變換,fractional Fourier transform, FRFT)等。由此可見,線性完整轉換讓我們對於時頻分佈的處理更靈活。 這邊我們列舉一些時頻分佈之應用的例子。

找出瞬間頻率[编辑]

瞬間頻率的定義是 \frac{1}{2 \pi}  \frac{d}{dt} \phi (t) ,其中\phi (t) 是訊號的瞬時相位。我們可以直接由時頻分佈的圖形中看出每個時刻的瞬時頻率是多少,不過前提是這個時頻分佈的圖形要夠清晰,因此,我們經常選用韋格納分佈函數來做進一步的分析。

濾波器設計[编辑]

濾波器的目的就是要移除我們不要的部份,並保留我們要的部份。在沒有應用時頻分佈之前,我們只能分別在時域跟頻域上面來做過濾的動作,如下所示。
Filter tf.jpg
像上面這樣只能分別在時域或頻域上過濾的方式,並不適合處理每一種訊號。如果訊號在時域上或在頻域上有重疊的話,這時候使用時頻分佈函數來做分析過濾,並搭配線性完整轉換的操作,就可以做出更有效且靈活的濾波器。讓我們看看以下的例子。
Filter fractional.jpg
而在濾波器設計的應用中,時頻分佈通常處理的訊號是由很多個項所組成的,因此若用韋格納分佈來做分析的話,將會產生cross-term的問題。或許加伯轉換、加伯-韋格納分佈函數,亦或Cohen's class 分佈函數會是比較好的選擇。

訊號分解[编辑]

訊號分解的概念就跟濾波器設計很類似。

取樣定理[编辑]

Nyquist-Shannon取樣定理且經過一番推導,我們大致上可以說一個訊號經過取樣後而不產生失真(aliasing)的最低取樣點數,會和這訊號在時頻平面上圖形的面積相等(事實上,沒有一個訊號在時頻平面上的面積有限的,因此我們省略了一些精確度)。接下來,讓我們看看傳統取樣定理跟結合了時頻分析以後的取樣定理之差異。
Sampling.jpg
若淺綠色的部份是我們取樣的涵蓋範圍,則我們可以很明顯的看出使用時頻分析後,所需取樣的點數會比之前少了許多,因此加快了我們的運算。當我們使用韋格納分佈函數時,可能會產生cross-term;另一方面,若使用加伯轉換做分析的話,又可能會因為清晰度不佳而讓所需要取樣的面積又變大了。因此,選用哪個函數要視訊號的情形而定,如果訊號是單一項組成的,那麼就使用韋格納分佈函數;然而,如果訊號是由多項組成的,則用加伯轉換、加伯-韋格納分佈函數,或是Cohen's class 分佈函數。

調變與多工[编辑]

傳統上,調變(modulation)與 多工(multiplexing)都只有分別在時域及頻域上下功夫,也就是盡量塞滿時域及頻域上的空間,這都是一維的操作。如果我們利用時頻分佈函數,就可以將調變與多工的觸角延伸至二維的時頻平面上,所要做的就是塞滿整個時頻平面,做最有效的利用。由以下例子可以讓我們更瞭解。
Mul mod.jpg
由上例可知,使用韋格納分佈來分析會有嚴重的cross-term問題,這非常不利於調變與多工的作業,因此不能選擇它來做這種應用。

電磁波的傳遞[编辑]

應用時頻分析的觀念,我們可以將一個電磁波表示成一個2by1的矩陣 \begin{bmatrix}
  x  \\
  y
\end{bmatrix} 。而當電磁波經過一段free-space時,著名的 Fresnel diffraction就產生了。Fresnel diffraction可以用線性完整轉換的參數矩陣

\begin{bmatrix}
  a & b \\
  c & d
\end{bmatrix}=
\begin{bmatrix}
  1 & \lambda z \\
  0 & 1
\end{bmatrix}
來表達,其中z是電磁波在free-space中傳遞的距離,而 則是波長。如果電磁波通過一片球面透鏡片或是經過一個碟型面的反射,則參數矩陣可分別表示為 \begin{bmatrix}
  a & b \\
  c & d
\end{bmatrix}=
\begin{bmatrix}
  1 & 0 \\
  \frac{-1}{\lambda f} & 1
\end{bmatrix}
\begin{bmatrix}
  a & b \\
  c & d
\end{bmatrix}=
\begin{bmatrix}
  1 & 0 \\
  \frac{1}{\lambda R} & 1
\end{bmatrix}
,其中f是球面透鏡的焦距,而R是碟型面的半徑。電磁波經過上面三種操作的結果可由 \begin{bmatrix}
  a & b \\
  c & d
\end{bmatrix}
\begin{bmatrix}
  x \\
  y
\end{bmatrix}
得到。

光學[编辑]

光也是一種電磁波,所以我們在光學上的應用就跟電磁波傳遞很類似。

訊號鑑別[编辑]

以下兩個訊號無法經由單純的傅立葉分析分辨出來,它們的頻譜都長得一樣。
x_1 (t)=\begin{cases}
\cos(  \pi t);  & t  <10 \\
\cos(3 \pi t);  & 10 \le t < 20 \\
\cos(2 \pi t);  & t  > 20 
\end{cases}

x_2 (t)=\begin{cases}
\cos(  \pi t);  & t  <10 \\
\cos(2 \pi t);  & 10 \le t < 20 \\
\cos(3 \pi t);  & t  > 20 
\end{cases}
不過幸虧有時頻分佈函數,我們可以看出隨時間改變之頻率的起落,進而鑑別訊號。這個想法也可以應用至模式识别

語音[编辑]

語音訊號的特性就是它的頻率隨著時間變化的非常劇烈。因為語音訊號所涵蓋的資訊非常的多,所以相對的計算時間會是很重要的考量。很顯然,用運算複雜度較低的加伯轉換會是較好的選擇。

生醫工程[编辑]

例如,我們可以用時頻分佈函數來分析肌電圖