---
# System prepended metadata

title: 4.1 CTFS

---

# 4.1 CTFS
## 傅立葉家族
接下來幾個章節，我們將會拋開系統的問題，瘋狂分析信號。傅立葉級數、轉換有太多的變體，但是核心概念不變: 我們要將一個任意的信號，轉換成**一堆弦波的和**。

主要我們會遇到4個不同轉換:
- CT傅立葉級數 (CTFS)
- DT傅立葉級數 (DTFS)
- CT傅立葉轉換 (CTFT)
- DT傅立葉轉換 (DTFT)

至於他們之間有何不同，我們會慢慢說明。

## 推導CTFS
連續時間傅立葉級數(Continuous Time Fourier Series, CTFS)說的是如果我們有一個任意的**週期性**信號，我們可以將它轉換成一堆弦波的和，而這些弦波的頻率，恰好是這個信號的頻率的整數倍。

講到弦波，我們會想到sin、cos。如果一個信號$x(t)$的角頻率是$\omega_0$，那麼我們確實可以用$\{sin(k\omega_0t), cos(k\omega_0t),1\}$組成這個弦波。但是，一個更簡潔的方式是: 運用複指數$e^{jk\omega_0t}$。

我們首先看一下複指數的一些性質。我們考慮$\langle e^{jm\omega_0t}, e^{jn\omega_0t} \rangle$，其中$m,n$都是整數。回憶2.6，這代表我們要求這兩個函數的內積。不過在這邊稍微有點不同，我們只想求它們在一個週期裡的積分:
$$
\langle e^{jm\omega_0t}, e^{jn\omega_0t} \rangle = 
\int_{0}^{\frac{2\pi}{\omega_0}} e^{jm\omega_0t}e^{-jn\omega_0t}\,dt
$$

\begin{cases}
= \frac{1}{j\omega_0(m-n)}e^{j\omega_0(m-n)t} \Bigg|_{0}^{\frac{2\pi}{\omega_0}} & = 0 & ,m\neq n \\[6pt] 
= 1 \,\Bigg|_{0}^{\frac{2\pi}{\omega_0}}& = \frac{2\pi}{\omega_0} & ,m=n
\end{cases}

一個有趣的結果。它告訴我們:
:::info
$\{e^{jk\omega_0t}\}$ 是一組正交基底。
:::

然後我們必須跳過一些證明，使用一個事實:
:::danger
**定理** $\{e^{jk\omega_0t}\}$ 可以生成整個$L^2([0, T_0])$。
:::
白話來說，我們可以利用這組基底，(線性)組合出任意$L^2([0, T_0])$內的函數。
雖然這是我們利用傅立葉級數的關鍵，但是背後的證明需要複雜的數學分析技巧，已經超出我們的目的了。這裡的$L^2([0, T_0])$ 指的是所有平方可積、以$T_0$為週期的函數。

接下來，我們可以把$x(t)$，轉換到這組新的基底上面，變成它的線性組合:
:::danger
$$
x(t) = \sum_{k=-\infty}^{\infty} a_k e^{jk\omega_0t}\
$$
:::
而係數可以這樣求:
:::danger
$$
a_k = \frac{\omega_0}{2\pi} \langle x(t),e^{jk\omega_0t} \rangle = \frac{\omega_0}{2\pi} \int_{0}^{T_0} x(t)e^{-jk\omega_0t}\,dt
$$
:::
和我們在線性代數做的事完全一樣，但這就是CT的傅立葉級數了。

幾個細節:
1. $\frac{\omega_0}{2\pi} = \frac{1}{T_0}$，通常這樣寫會更簡潔。
2. 因為函數是週期的，積分區間實際上可以選任何一個長度為$T_0$的區間。
3. 前面的係數是因為我們的基不是歸一化的，而是有一個長度在，這個長度是$\sqrt{\frac{\omega_0}{2\pi}}$。

## CTFS的定義

我們將上面的推導重新整理成兩個式子: 
:::danger
**CTFS合成公式** (Synthesis Equation)
$$ 
x(t) = \sum_{k=-\infty}^{\infty} a_k e^{jk\omega_0t}\
$$
**CTFS分析公式** (Analysis Equation)
$$
a_k=\frac{1}{T_0} \int_{T_0} x(t)e^{-jk\omega_0t}\,dt
$$
:::
其中分析公式，讓我們找出每個基底上的分量。合成公式則是讓我們利用係數線性組合出原本的信號。

### 時域與頻域

現在我們知道，想要表達一個周期性的信號有兩種方式。第一種是直接給出$x(t)$。另一種是給出它的週期$T_0$，以及對每一個整數倍，它的係數$a_k$。這兩種表達方式完全等價，因為我們可以透過上面的兩個公式轉換成另一種。

以$x(t)$表示時，自變數是$t$。我們稱這是這個信號的「時域」(time domain)；而以$a_k$表示時，自變數$k$代表的是基頻的整數倍，因此稱作「頻域」(frequency domain)。

我們可以依據現在遇到的問題，決定我們要在時域或頻域去表述。

## 例子

我們現在要來推導幾個常見函數的CTFS係數。
### $\sin(\omega_0 t)$ & $\cos(\omega_0 t)$

我們固然可以直接用分析公式下去做，更好的方式是直接湊出合成公式的樣子，進而導出係數。回顧[2.2複指數函數](/@seanyih/signal-2-2)提到的公式:
$$
sin(\omega_0 t) = \frac{1}{2j}(e^{j\omega_0t}-e^{-j\omega_0t})
$$
於是我們得到了:
$$
a_1=\frac{1}{2j},\,a_{-1}=\frac{-1}{2j}
$$
是他的CTFS。同理，對於$cos(\omega_0 t)$，有:
$$
a_1=\frac{1}{2},\,a_{-1}=\frac{1}{2}
$$

### 方波
前一個例子非常的trivial，所以現在該來看點真實的東西了。我們考慮這樣一個波:
$$
x(t)=
\left\{
    \begin{matrix}
        1, &\, 0\le t\le DT_0 \\
        0, &\, DT_0 <t<T_0
    \end{matrix}
\right.
$$
其中$0\le D\le 1$，然後函數以$T_0$為週期出現，即$x(t)=x(t+T_0)$。

現在我們得用分析公式了:
$$
a_k=\frac{1}{T_0} \int_{T_0} x(t)e^{-jk\omega_0t}\,dt=\frac{1}{T_0}\int_{0}^{DT_0}e^{-jk\omega_0t}\,dt
$$$$
=\frac{1}{T_0} \frac{-1}{jk\omega_0} e^{-jk\omega_0t}\Bigg|_ {0}^{DT_0}
=\frac{-1}{j2\pi k} (e^{-j2\pi kD}-1)
$$
到這一步其實就可以了。不過我們可以繼續化簡成更好的樣子。
$$
= \frac{j}{2\pi k} (\cos(2\pi kD)-j\sin(2\pi kD)-1)
$$$$
= \frac{j(\cos(2\pi kD)-1)}{2\pi k}+\frac{\sin(2\pi kD)}{2\pi k}
$$
然後再用cos二倍角展開。
$$
= \frac{-j\sin^2(\pi kD)}{\pi k}  +\frac{\sin(2\pi kD)}{2\pi k}
$$
如果我們令$D=0.5$，就會得到一個平均的方波。它的係數是:

\begin{cases}
\frac{1}{2} & k=0 \\[6px]
\frac{-j}{k \pi} & k=odd\\[6px]
0 & o.w.
\end{cases}

注意這裡我們需要用到$\lim_{t\to0}\frac{sin(t)}{t}=1$的性質。

{%hackmd @seanyih/signal-main %}