---
# System prepended metadata

title: 6.5 頻域的表示法

---

# 6.5 頻域的表示法

## 頻譜 (frequency spectrum)
頻譜是指一個時域的訊號在頻域下的表示方式。簡單來說，就是**頻域的函數圖形**。

我們通常考慮的信號都是在時域下是實數的信號。這應該很好理解，因為時域對應到我們真正在生活中看到的樣子，例如聲音信號、感測器的讀值，也可以是一張照片。想要畫出這些信號的時域函數圖形，就像我們在國中學過的那樣，將$(x,f(x))$點標一標就好了。

但是我們知道，頻域的表示下，函數值往往是**複數的**。而複數的值不能用一張2D的圖表示。要表示一個複數需要兩個分量。兩種基本的表達方式是:
- 直角坐標的表示法: 實部+虛部 $z=a+bi$
- 極座標的表示法: 長度+角度 $z=re^{i\theta}$

所以我們至少需要兩張圖，例如一張$a$-$\omega$圖和一張$b$-$\omega$圖。可惜的是基本上沒人這樣表示，我們習慣用長度+角度的表示法，將他們畫成縱軸分別為長度和角度、橫軸為頻率的圖。根據工程上的命名習慣，把它們叫做**振幅頻譜**(amplitude spectrum)和**相位頻譜**(phase spectrum)。令要表示的目標是$X(\omega)$，振幅記作$|X(\omega)|$，而相位記作$\angle X(\omega)$。

會選擇用極座標的表示法，是因為**長度直接對應到信號的能量**，而角度有時候我們反而不太在乎。當相位不重要的時候，我們也會選擇只用振幅頻譜，並選擇性的標上它原本的相位(例如sine函數的CTFT，會被表成兩個$\delta(\omega)$，高度為$j$ )，這也是為什麼課本常常會出現只有一張圖的頻譜。

## 離散頻譜
當我們對信號作CTFS、DTFS(DFT)時，得到的頻譜會是離散的。此時離散的圖形就像是DT的信號圖形: 用類似長條圖的方式表示。

在離散頻譜的時候，尤其是DTFS(DFT)只有有限個值，有時候直接寫出頻譜本身的數值還比較快。而很多時候DFT是被應用在程式的實作上面，所以常被寫成陣列、向量、矩陣甚至張量的形式，直接以數值表示而不顯示圖表。

## 連續頻譜
在連續的狀況下，除非CTFT有解析解，否則沒辦法直接寫出所有的頻域數值。因此連續頻譜多半會以圖形的方式顯示。
除了最簡單的，直接將振幅/相位和頻率的關係直接做圖的頻譜以外，我們還會用特殊的圖表幫助計算。

### 對振幅取對數
回憶[3.2](/@seanyih/signal-3-2)講過的，對LTI系統而言，有:
$$
y=x*h
$$其中$h$代表脈衝響應(impulse response)。而根據卷積定理，在頻域上:
$$
Y=XH
$$

這代表如果我們手上有一張輸入信號的頻譜，一張脈衝響應的頻譜，我們可以對其進行點對點的相乘，而得到輸出信號的頻譜。這樣就省去了計算卷積的複雜操作。

那麼問題就來了，如果今天$H$是一個濾波器，然後只有1跟0兩種高度，那乘法很簡單，對每個點都只有保留和歸零兩種結果。但如果是一坨很醜的東西呢? 我是不是就得拿尺出來量，然後再按計算機做乘法? 這讓我的操作很不直觀。

所以我們可以用一個小技巧: **對公式兩邊取對數(log)**。那公式就變成:
$$
\log Y=\log X+\log H
$$這樣一來，如果我的頻譜圖的振幅是用對數軸畫，我只需要將兩者的高度相加，就可以得到輸出頻譜了，是不是方便很多?

在工程上，我們取的對數通常是$20\log_{10}$。取出來的結果稱為**分貝(dB, decibel)**。所以20dB=10(倍)，40dB=100(倍)，以此類推。其他常用的分貝值還有$\frac{1}{2}\approx-6\,\text{dB},\,\frac{1}{\sqrt{2}}\approx-3\,\text{dB}$。對於電機系的讀者來說，這些在電子學也有教過，所以應該不陌生。

### 波德圖 (Bode Plot)
一個常用於分析頻率響應的圖稱為波德圖。它在振幅上是對數振幅-對數頻率的圖，相位則是線性相位(多用$[-\pi,\pi]$當縱軸)-對數頻率。一個維基百科上的例子長得像這樣:

![image](https://hackmd.io/_uploads/rkypVmplZx.png)

對於DT而言，因為頻域只有$2\pi$的寬度，所以通常不會再對頻率取對數。


{%hackmd @seanyih/signal-main %}
