# 5.1 CTFT
我們現在知道,如果有一個**週期函數**,我們就可以用一個無窮級數去逼近它,這個級數就是傅立葉級數。而分析傅立葉級數的係數,也就是分析它的**頻域**,可以簡化一些操作。例如將LTI系統的卷積,改為頻域上的乘積。
那問題就來了,現實生活中不會出現週期函數。沒有任何一個信號會無窮無盡的下去,一定都是有限長度。第二是這些函數不一定只有弦波、方波,而是一堆亂七八糟的波,例如講話的聲音、感測器的信號、甚至二維的圖像等等。他們顯然都不是週期的,那該怎麼處理?
以下我會用兩種不同的方式,導出(或著是說,試圖讓你接受)連續時間傅立葉轉換的公式。
## 推導CTFT的兩種方式
### 1. 從FS到FT
一個簡單(但有效)的想法是: 我們可以把一段非週期的信號,想像成是$T_0 \to \infty$ 的週期信號。我們先對分析公式開刀:
$$
a_k=\frac{1}{T_0} \int_{T_0} x(t)e^{-jk\omega_0t}\,dt
$$
這時候我們知道,$\omega_0$極小,使得$k\omega_0$最終可以遍布整個實數軸。這時候我們改稱$\omega=k\omega_0\in\mathbb{R}$,係數$a_k$改成$\omega$的函數$X(\omega)$。我們定義:
$$
X(\omega)=\int_{-\infty}^{\infty} x(t)e^{-j\omega t}\,dt
$$$$
a_k=\frac{1}{T_0} X(k\omega_0)
$$
注意第二個式子很重要,我們會在第七章在看到一次,但用更嚴謹的方式說明這個式子的意義。這時候再看合成公式這邊:
$$
x(t) =
\lim_{\omega_0 \to 0}\sum_{k=-\infty}^{\infty} a_k e^{jk\omega_0t}\
$$
把係數$a_k$替換掉:
$$
=\lim_{\omega_0 \to 0}\frac{1}{2\pi} \sum_{k=-\infty}^{\infty} X(k\omega_0) e^{jk\omega_0t}\omega_0
$$
這時候應該不難看出,只要我們把$\omega_0$當作$\Delta x_i$,$X(k\omega_0) e^{jk\omega_0t}=f(x_i)$,這個式子就是一個**黎曼和**。於是我們就有了:
$$
x(t)=\frac{1}{2\pi}\int_{-\infty}^{\infty} X(\omega)e^{j\omega t}\,dt
$$
這就得到了可以用在非週期函數的傅立葉級數(嚴格來說已經不是級數了),也就是**傅立葉轉換**(FT)的公式。
### 2. 向量空間觀點
第一種方法看似簡潔有力,實際上嚴謹性差的可怕,幾乎就是拿著式子硬湊。但它確實提供一種傅立葉級數到傅立葉轉換的一種直觀理解,和公式上的對應。
接下來我們用在CTFS看過的向量空間觀點來解決這個問題。首先回顧一下定義:
:::info
**定義** $L^2(\mathbb{R})$函數的內積
$$
\langle f,g \rangle = \int_{-\infty}^{\infty} f(x)\,\overline{g(x)}\,dx
$$
:::
再拿出一些引理:
:::danger
**引理1** $\{e^{j\omega t}\}$是一組正交基底。
**引理2** $\{e^{j\omega t}\}$確實生成整個$L^2(\mathbb{R})$。
:::
前置作業就完成了。接著就是熟悉的環節,導出分析公式(轉向正交基底)和合成公式(基底的線性組合)。所以,用線性代數的語言,我們可以將x(t)轉成無數個在$e^{j\omega t}$上的線性組合:
$$
x(t) = \frac{1}{2\pi}\int_{\mathbb{R}} \langle x(t),e^{j\omega t} \rangle\, e^{j\omega t}\,d\omega
$$
其中$\frac{1}{2\pi}$來自於正交基自身的長度平方。在CTFS裡面,這個係數是$\frac{1}{T_0}$,且常數會被放在分析公式的一側不過。但在這裡我們把**常數移動到合成公式的一側**。得到:
:::danger
**CTFT分析公式**
$$
X(\omega)=\int_{-\infty}^{\infty} x(t)e^{-j\omega t}\,dt
$$
**CTFT合成公式**
$$
x(t)=\frac{1}{2\pi}\int_{-\infty}^{\infty} X(\omega)e^{j\omega t}\,d\omega
$$
:::
這個常數依然來自於正交基的長度,只不過是在定義的時候換了位置。
實際上這個常數甚至可以被拆成$\frac{1}{\sqrt{2\pi}}$分別放在分析公式和合成公式上,轉換會更對稱,又被稱作**么正傅立葉轉換**。不過本書往後都會遵循工程慣例,使用非么正、角頻率的FT作為定義。
至於它為什麼被叫做**轉換(transform)**? 仔細觀察不難發現,$X(\omega)$是一個函數,$x(t)$也是一個函數。CTFT做的事是將函數轉變成另一個函數,所以它是一個從函數空間到另一個函數空間的轉換。
在這裡CTFT分析公式又叫做**傅立葉轉換**,而合成公式又叫做**傅立葉反轉換**(inverse FT, iFT)。我們用小寫的字母(e.g. $x(t)$)表示時域的信號,並用大寫的字母(e.g. $X(\omega)$)表示它的頻域。
有時頻域也會看到$X(j\omega)$的表示法。或是用$\hat{x}(\omega)$表示。這些除了記法以外,函數的本質都一樣。
當表示一個時域函數的轉換等於另一個頻域函數時,可以用$\mathcal{F}[x(t)]=X(\omega)$表示,或用雙箭頭標示轉換對: $x(t)\leftrightarrow X(\omega)$。
### 嚴謹性?
第二種推導真的有比較嚴謹嗎? 仔細觀察一下你就會發現它問題也很大。最大的問題就是$\{e^{i\omega t}\}$甚至**不在$L^2(\mathbb{R})$裡面**! 它完全是不可積分的。
如果它不可積分,我們又怎麼證明它正交? 另外,如果它壓根不在$L^2(\mathbb{R})$裡面,根據向量空間的定義,它應該沒辦法生成整個空間才對。
我先暴雷一下,這兩個問題都可以透過更難的數學解決,來讓第二種方法變得嚴謹。但對於工學院的學生來說,我們眼睛遮起來當沒看到就好。詳細的證明,我會補充在本章的最後。
## CTFT的收斂性
基本上,我們在FS學到的三種收斂性: 逐點收斂、均方收斂、一致收斂,以及他們對應的收斂條件,都可以拓展到CTFT上面。也就是說,我們知道:
:::danger
**逐點收斂** 滿足迪利克雷條件的信號:
1. $\int_{-\infty}^{\infty} |x(t)|\,dt<\infty$
2. 在任一個有限長的區間裡,只有有限多個極大值跟極小值。
3. 在任一個有限長的區間裡,只有有限多個不連續點。而這些不連續點必須是有限的,也就是要嘛是可移除的(removable),要嘛是跳躍的(jump)。這個條件也被稱為是分段連續(piecewise continuous)。
:::
:::danger
**均方收斂** 即$L^2(\mathbb{R})$的函數。
$$
\int_{-\infty}^{\infty} |x(t)|^2\,dt<\infty
$$
:::
:::danger
**一致收斂**
1. $x(t)$連續。
2. $x'(t)$分段連續。
:::
這些就是最常用的收斂性準則了。但是為了將CTFT拓展到「能用」,我們會引進新的收斂性: **分布收斂** (distributional convergence)。很多信號確實需要分布收斂的定義才能運作,例如最簡單的$e^{i\omega t}$,和所有週期函數(非$L^2(\mathbb{R})$),甚至是常數$1$的CTFT,都需要引入分布的概念。
不過,again,工學院的學生應該不太在乎這些,我們已經習慣把兩個 $dx$ 當作分數消掉,或是定義$\frac{1}{0}=\infty$了,所以這些一樣當成補充放進下一個小節。沒興趣的人可以跳過,對人生沒有太大影響,只要能接受(背起來)結果就能繼續推進。
## 例子
### 方波
考慮這個方波:
$$
x(t)=
\left\{
\begin{matrix}
1, &\, |t|\le T \\
0, &\, |t|> T
\end{matrix}
\right.
$$
注意現在這個函數**不是**週期的,只是一個偶函數的方塊而已。$T$是方塊的邊界,不是週期。它長這樣:

剩下的就是直接積分:
$$
X(\omega)=\int_{-T}^{T} e^{-j\omega t}\,dt=\frac{-1}{j\omega}e^{-j\omega t} \,\Bigg|_{-T}^{T}
=\frac{1}{j\omega} (e^{j\omega T}-e^{-j\omega T})
$$
記得$\sin(x)=\frac{e^{jx}-e^{-jx}}{2j}$,所以
:::danger
$$
X(\omega)=\frac{2\sin(T\omega)}{\omega}
$$
:::
一個工程上常用的定義是:
:::info
**歸一化sinc函數**
$$
sinc(x)=\frac{sin(\pi x)}{\pi x}
$$
:::
特別注意,有些時候會用$sinc(x)=\frac{sin(x)}{x}$作為定義。通常在工程領域比較常用歸一化的版本。它有幾個好處:
- $\int_{-\infty}^{\infty} sinx(x)=1$
- 定義 $sinc(0)=1$,則$sinc(n)=0, \forall n\in\mathbb{N}$
如果我們用sinc函數,則可以進一步簡化(?)結果成:
$$
X(\omega)= \frac{2\sin((T/\pi)(\pi\omega))}{(1/T)(T/\pi)(\pi\omega)}=2T \,sinc(\frac{T\omega}{\pi})
$$
或是更常見於以一般頻率($f$)表示下的結果:
$$
X(f)=2T\,sinc(2Tf)
$$
### $\delta(t)$
這個很簡單,直接用轉換:
$$
X(\omega)=\int_{-\infty}^{\infty} \delta(t)e^{-j\omega t}\,dt
$$
外加Delta函數的性質: $\delta(t)f(t)=\delta(t)f(0)$:
$$
=\int_{-\infty}^{\infty} \delta(t)\,dt=1
$$
就有了:
:::danger
$$
\delta(t) \leftrightarrow 1
$$
:::
### $e^{j\omega_0 t}$
在這裡$\omega_0$是一個常數,這是單一的一個時域信號。跟我們用來作CTFT的$e^{j\omega t}$意義不同,那裡的$\omega$是頻域的變數。
雖然準確地說,推導這個需要用到分布,但我們可以用一種直觀的方式理解。首先,我們考慮它的合成公式:
$$
e^{j\omega_0 t}=\frac{1}{2\pi}\int_{-\infty}^{\infty} X(\omega)e^{j\omega t}\,d\omega
$$
我們想要的是「解」這個$X(\omega)$。首先,這個函數一定要有一個常數$2\pi$,來和前面的分數抵銷掉。
另外,我們想從後面那無窮多個$e^{i\omega t}$裡面,抓出 $\omega=\omega_0$ 的那一個。這個問題就相當於:
$$
\int_{-\infty}^{\infty} X\cdot f(x)
=\int_{-\infty}^{\infty} X \cdot f(x_0)
= f(x_0)
$$
那麼這個函數就必須是Delta函數。它剛好滿足這個條件。於是我們就得到了:
:::danger
$$
e^{j\omega_0 t} \leftrightarrow 2\pi \delta(\omega-\omega_0)
$$
:::
而當 $\omega=0$ 時,這相當於問**常數1**的CTFT是什麼。所以:
:::danger
$$
1 \leftrightarrow 2\pi \delta(\omega)
$$
:::
注意到如果你直接去用正變換,你是導不出這些結果的。它需要一點技巧。