第一章 - 預備觀念與本書簡介

# 預備觀念解說

在開始介紹訊號處理之前,讀者得先對「傅立葉分析」、「訊號」、「系統」這三個詞有個基本的概念,關於「傅立葉分析」還請讀者先看看這篇極好文 [1]只要花個 10 分鐘閱讀裡面的前兩小節「一、什麼是頻域」、「二、傅立葉級數 (Fourier Series) 的頻譜」就好。這篇文是網友在經由大學高等課程荼毒後發憤圖強的力作,就如同文章名稱「如果看了此文你還不懂傅里葉變換 (Fourier Transform),那就過來掐死我吧!」,看完該文應該很難不去理解傅立葉分析是什麼。在接觸嚴謹的數學推導之前,只要先知道:

  1. 時域 (time domain) 訊號通常可分解成各種不同頻率的弦波,而不同弦波的成分可在頻域 (frequency domain) 繪製成頻譜。

  2. 很多在時域看似不可能做到的數學操作,在頻域反而很容易,這就是我們需要傅立葉分析的地方。

兩大重點就可以了。

有了時域與頻域兩大觀念之後,我們將進一步地介紹何謂「訊號」?何謂「系統」?關於這些概念的基本介紹幾乎節錄自《數學傳播》十八卷四期裡面清華大學電機系祁忠勇教授的演講紀錄 [2] 再做小幅修改。

  • 何謂訊號處理 [2]:當你要處理訊號時,首先是必須有測量到的訊號,而訊號必定有一個產生的過程。假設我們有一輸入訊號xx,進入某個未知的系統後,而得到一個輸出訊號yy,然後我們想要設計一個系統來處理訊號 yy,以抽出它所攜帶的情報,這便是所謂的 「訊號處理」。而如何去設計一個好的系統,方能從 yy中正確而完全的獲得我們想要知道的情報,便是訊號處理者日日在研究的課題。我們現在舉些例子讓大家更能感覺到什麼是訊號處理。首先是通訊,在通訊裡面我們常常傳送 0 和 1 兩個數字的訊號,當然也有可能不只兩個數字,而所有的通信頻道都有它一定的頻寬,假如你傳送的太快,那麼前一個訊號和後一個訊號會相互干擾,從所收到的 y(t)y(t)就再也看不出它原來傳送的信號為 0 或 1 了。這是一個在通訊原理稱為符號間干擾 (intersymbol interference,簡稱 ISI) [3] 的現象,因此必須設計一個訊號處理系統 (signal processing system) 來處理所收到的訊號,以還原所傳送的信號,這就是一個典型的訊號處理問題。另一個例子便是語音訊號處理,人的聲音是由聲門產生一個振幅不均勻之脈衝串來激發聲道而產生聲音,並且經由聲道形狀的改變產生不同的聲音。我們也可經由電腦來合成這些聲音,但因為是合成的,所以會有些不自然。當然我們也能設計一個訊號處理系統來抽出一些想知道的訊息,如所發的是什麼音、頻率多少、以及是由何人所發的,這便可應用在語音鎖上。另外還有很多應用,例如:石油探戡、聲納、影像、雷達...等等。

  • 何謂訊號 [2]:訊號是一個系統所輸入的函數,不論是連續變數的函數,或是離散變數的函數,而系統的輸出也叫做訊號,還有系統內部所有可以代表的量,我們也稱作訊號。那它又可以根據時間的變數分為兩類。什麼是連續時間訊號 (continuous-time signal,簡稱 CT signal)?您可以把它想像成一個以時間 tt 為變數之函數x(t)x(t),但 tt連續的,例如:x(t)=Asin(w0t)x(t) = A\cdot\sin(w_0t),它是一個連續的函數圖形。離散時間訊號 (discrete-time signal,簡稱 DT signal) 又是什麼呢?簡單來說,就是時間為整數的函數x[n]x[n],例如:x[n]=Asin(w0n)x[n] = A\cdot\sin(w_0n)就是一個離散的函數圖形了。按照慣例,連續時間訊號的變數會使用 tt,而離散時間訊號的變數會使用nn。之所以要分成這兩種是因為計算機只能接受離散化的資訊,因此當我們要進行訊號處理的時候必須先對 CT 訊號進行取樣變成 DT 訊號之後才能處理。

    • 線性 (linear):就是此系統在輸入與輸出之間形成一種線性組合的關係,也就是說

              H{ax1(t)+bx2(t)}=aH{x1(t)}+bH{x2(t)}\mathcal H\{ax_1(t)+bx_2(t)\} = a\cdot\mathcal H\{x_1(t)\} + b\cdot\mathcal H\{x_2(t)\}        

              H{ax1[n]+bx2[n]}=aH{x1[n]}+bH{x2[n]}\mathcal H\{ax_1[n]+bx_2[n]\} = a\cdot\mathcal H\{x_1[n]\} + b\cdot\mathcal H\{x_2[n]\}

    • 非時變 (time-invariant):假設某個輸入訊號進入一個系統,結果產生一個輸出訊號,但是如果慢一個小時輸入的話,你還是會得到相同的輸出訊號,只是它也會跟著慢一個小時,並不會因輸入時間不同就得到不同的結果,這就稱作非時變,也就是說          H{x(t)}=y(t)    H{x(tt0)}=y(tt0)\mathcal H\{x(t)\} = y(t) \implies \mathcal H\{x(t-t_0)\} = y(t-t_0)          H{x[n]}=y[n]    H{x[nn0]}=y[nn0]\mathcal H\{x[n]\} = y[n] \implies \mathcal H\{x[n-n_0]\} = y[n-n_0]

最後筆者將本節所提到的關鍵詞彙整在這邊以結束本節。

時域:time domain
頻域:frequency domain
傅立葉:Fourier
連續時間:continuous-time,簡稱 CT
離散時間:discrete-time,簡稱 DT
線性非時變:linear time-invariant,簡稱 LTI
摺積:convolution,中文又稱「卷積」或「捲積」
脈衝響應:impulse response

# 預備數學符號

在序章一節,我們有提到先備數學知識包含了複指數相關運算與數論的同餘觀念,這邊有兩個記號是需要先定義的:

  1. 同餘符號:我們說 xr (mod n)x\equiv r\ (\text{mod }n)的意思是xxrr除以nn會有同一個餘數,而在本書我們這個概念推廣到實數域,也就是說 xr=nqx-r=nq,只有商數qq是整數,其他都是小數。

# 參考資料

  1. 如果看了此文你還不懂傅里葉變換 (Fourier Transform),那就過來掐死我吧!。只要看前面的第一、二節即可,第三節以後的內容已經稍微過於深奧,不過最後面有該網友的心路歷程自敘也可一看。

  2. 祁忠勇,〈FFT與訊號處理簡介〉,《數學傳播》十八卷四期,1994 年 12 月出版。這篇文旨在簡潔地介紹快速傅立葉轉換 (FFT),筆者僅取其中的前面第一、二節簡單說明何謂訊號與系統。

  3. https://en.wikipedia.org/wiki/Convolution。維基百科解釋摺積。

  4. https://ch-hsieh.blogspot.com/2018/04/lti-convolution.html。離散時間 LTI 系統等價於摺積運算的證明 (中文版)。

Last updated