瞬時頻率

在信號處理中，觀察信號的瞬時頻率是很重要的課題。假設一實信號 $x(t)\,$ 可寫成指數信號的N項相加(有無窮多種表示法，以 $N\,$ 小的為宜)，即$x(t)=\sum_{k=1}^N a_k \cdot e^{j \cdot \phi_k(t)}$，其中 $a_k\,$ 為虛常數。

則瞬時頻率(以頻率表示)$f_k(t)= \frac{\phi_k^\prime (t)} {2 \pi}$， k=1,...,N

## 瞬時頻率 (Hz)

以頻率來表示(單位為赫茲)：

$f_k(t)= \frac{\phi_k^\prime (t)} {2 \pi}$， k=1,...,N

## 瞬時頻率 (rad/s)

以角頻率來表示(單位為弧度每秒)：

$f_k(t)= \phi_k^\prime (t)$， k=1,...,N

## 以解析訊號法定義瞬時頻率

直觀上，瞬時頻率為相位的微分。對於自然界中的實數訊號，如何定義訊號的相位。Gabor提出解析訊號法(Analytic Signal Method)，將實數訊號表示為對應的複數訊號，即可定義複數訊號的大小與相位，將實數訊號的瞬時頻率求出。

實數訊號$s \left( t\right )$的解析訊號(Analytic Signal)$z \left( t\right )$定義為

$$z(t) = s(t)+\frac{j}{\pi} \int_{-\infty}^{\infty}\frac{s(\tau)}{t-\tau}\, d\tau.\,$$

其中虛數項為實數訊號$s \left( t\right )$的希爾伯特轉換(Hilbert Transform)，將它定義為$\widehat{s}\left( t\right )$。稱作解析函數的理由是，此型式的複數函數滿足柯西-里曼(Cauchy-Riemann)的可微分條件，稱之為解析函數(Analytic Function)。因此，解析訊號$z \left( t\right )$可以表示為

$$z(t) = s(t) + j \widehat{s}\left( t\right )=m(t)\cdot e^{j\theta(t)}\,$$

其中

$m(t)=\sqrt{s^2(t)+\widehat{s}^2(t)}$ ; $\theta(t)=\arctan\left({\widehat s(t) \over s(t)}\right)\,$

如果$s \left( t\right )$是沒有任何限制條件的時間訊號，計算出來的瞬時頻率可能不是正確的結果。對於平均值為零的局部對稱訊號而言，前述定義的瞬時頻率才具有物理意義。在1998年，黃鍔(Norden E. Huang)博士提出一個有效的演演算法，將訊號先行分解成具有局部對稱之分量，以正確地求得資料的瞬時頻率。這個方法稱為希爾伯特-黃轉換(Hilbert Huang Transform, HHT)。

以下簡單的例子來說明，對於平均值為零的訊號，此瞬時頻率的定義才具有物理意義。對於一個弦波訊號$s \left( t\right )$。

$$s \left( t\right ) = \beta+\cos{(t)}$$

考慮三種情況: (1) $\beta=0$ (2) $0<\beta<1$ (3) $\beta>1$

(1) $\beta=0$: 當弦波訊號平均值為零時，$z \left( t\right )$在複數平面上的描述是以座標原點為中心的單位圓，它的相位角$\theta(t)$則是以座標原點為中心，反時針方向呈線性遞增，其圖形為斜率1的直線，而瞬時頻率是一個常數值。

(2) $0<\beta<1$: $z \left( t\right )$在複數平面上仍然是一個單位圓，但其圓心從原點偏移了$\beta$個單位，其相角$\theta(t)$不再呈現線性遞增，瞬時頻率出現震盪的現象，而不是應有的常數值。

(3) $\beta>1$: 因為$\beta$值超過單位圓的半徑，因此$z \left( t\right )$的圓心在單位圓之外。如此相位角$\theta(t)$在$-\pi$/$2$, $\pi$/$2$震盪，瞬時頻率出現負值，與原訊號的特性有極大的差別。

## 觀察瞬時頻率的重要性

因為在目前許多數位信號處理的應用上都與信號的頻譜或信號的頻寬有很大的關係。若能確實地偵測信號的瞬時頻率，則通道頻寬可以被可適性(adaptive)的決定，如此一來能更有效地利用系統資源，提高系統效能。

### 相關應用

- 調變(modulation)
- 多工方式(multiplexing)
- 濾波器的設計(filter design)
- 資料壓縮（data compression）
- 信號分析(signal analysis)
- 信號辨識(signal identification)
- 語音信號處理(acoustical signal processing)
- 製作系統的模型(system modling)
- 雷達系統的分析(rader system analysis)
- 取樣(sampling)

## 如何觀察信號的瞬時頻率

### 瞬時頻率為常數－使用傅立葉變換

當瞬時頻率為常數即 $\phi(t)\,$ 為一階時間函數，使用傅立葉變換做信號分析。由於從傅立葉變換中是無法觀察出信號頻譜隨著時間改變的變化。故只有當瞬時頻率為常數，不是時間的函數時，便可使用傅立葉變換做信號分析。

### 瞬時頻率不為常數－使用時頻分析

當瞬時頻率不為常數即 $\phi(t)\,$ 為高階時間函數，使用時頻分析做信號分析。從時頻分析可觀察出信號頻率隨著時間變化的改，這是傅立葉變換無法做到的。因此當瞬時頻率為時間的函數，使用時頻分析做信號分析，如下圖，可以確切地觀察到信號瞬時頻率的變化。$x(t)=\begin{cases} \cos(\pi t) \ \ \ t\le10 \\ \cos(3\pi t)\ \ \ 10<t\le20 \ \ \ \\ \cos(2\pi t) \ \ \ t>20 \end{cases}$

### 解析訊號法

#### 信號為單一的sinusoid曲線－使用希爾伯特轉換 (Hilbert Transform)

當信號只有一個成分，且曲線是周期性的，具有固定的振幅、頻率和相，可以使用希爾伯特轉換，計算信號的相位求瞬時頻率。

瞬時頻率$\, =\frac{1}{2\pi} \frac{d}{dt} \theta, \quad \theta = \tan^{-1}\frac{x_H(t)}{x(t)}$

$$x_H(t) = \frac{1}{\pi} \int_{-\infty}^{\infty}\frac{x(\tau)}{t-\tau}d\tau \,$$

舉例:

$$\cos(2\pi ft)\;\xrightarrow{Hilbert} \; \sin(2\pi ft)$$

$$\theta = \tan^{-1}(\tan(2\pi ft))=2\pi ft$$

$$\frac{1}{2\pi} \frac{d}{dt} \theta =f$$

#### 信號為多個成分的非sinusoid曲線－使用希爾伯特-黃轉換 (Hilbert Huang Transform)

當信號為複數函數、非sinusoid曲線、有多個成分或$\theta$有多個解，此時可以先將信號分成sinusoid-like成分和趨勢，再運用Hilbert transform或短時距傅立葉變換 (STFT) 求零交叉的數量。

- 使用經驗模態分解 (EMD) 將信號分解為一系列本徵模態函數 (IMFs）的振蕩模態和趨勢

- 使用Hilbert transform
- 計算STFT，瞬時頻率 = $\frac{\text{number of zero-crossings between} \; t-B \; \text{and} \; t+B}{4B}$
- 直接計算零交叉，零交叉 = $\frac{\text{number of periods}}{2}$

## 同時參閱

- 信號處理
- 傅立葉變換
- 時頻分析