本章總結、習題與參考資料
# 本章總結
這一章主要展示如何處理訊號的一個範例,一般來說標準流程如下:
Step 1. 寫程式去跑 CTFT 可以計算出待處理訊號 的頻譜。 Step 2. 肉眼觀察頻譜以決定想要留下、濾除哪段頻率成分,或放大、衰減哪段頻率成分,在頻域操作後令為新預期頻譜。 Step 3. 有了新頻譜之後,就直接作 ICTFT 得到為結果訊號。
如果濾波器不隨著輸入訊號而改變,那麼步驟也可以改成以下:
Step 2. 對濾波器頻譜先作 ICTFT 得到。 Step 3. 有了濾波器訊號之後,就可以作摺積 得到處理過後的訊號。 而無論是何種步驟,背後依靠的都是 的強大理論。這節的範例選擇很陽春的弦波濾波,因為它好操作、也容易觀察,這樣比較容易激發起學習者的熱情;有興趣的讀者應能繼續挑戰更進階的變聲練習 [3],雖不容易但完成後會很有成就感。
按照上面所說,其實第一節所介紹的表格好像沒有用到?坦白說還真的只有考試時比較常用,因為現實中會遇到的訊號通常都是不規則的,真硬要說的話,就是要從規則的濾波器頻譜反推回時域訊號也可以用。
# 延伸習題
在第一節的傅立葉轉換表裡面有兩個很重要的特性,請證明它們: (i) duality: (ii) time convolution:
在第二節的實驗裡面,Step 2 已經跑出原訊號 的頻譜,這邊想請讀者利用傅立葉轉換表以及前面一些重要的結果推導出該頻譜的數學式。原 (時限) 訊號為: x(t)=\begin{cases} A_1\sin(2\pi f_1t)+A_2\sin(2\pi f_2t)&\text{ for }0\le t\le 6 \\ 0&\text{ otherwise,} \end{cases}\quad\text{where}\begin{array}\ (f_1,A_1)=(1,10),\\ (f_2,A_2)=(8,2).\color{white}0\end{array} 它必須是由非時限的週期性訊號 乘上一個窗函數 再延遲 3 秒而來,因為訊號的絕對時間 (延遲) 不影響頻譜分析,因此這題只考慮沒有延遲的版本,也就是,現在問題是我們無法算出週期性訊號的傅立葉轉換 (因為是傅立葉級數才合理),那究竟該如何計算頻譜摺積?這邊便要介紹一個特殊的方法可以規避掉抽象的 函數,請依序跟隨以下的 5 個步驟推導。 Step 1. 證明出最下方藍框框的重要定理,會用到一些傅立葉轉換的定義,還蠻直觀、不會太困難。 Step 2. 利用尤拉公式把 表成傅立葉級數,並且和第一節表格裡的第 10 條式子比較異同,或許可以漸漸地體會到 函數所蘊含的意義?也請順便推導出 (傅立葉級數)。 Step 3. 第二章第五節的內文已經計算出 的傅立葉轉換,
而 可以看成是 在 的情況,其傅立葉轉換為何? Step 4. 最後終於要用到那個重要的定理惹,有了 Step 2 的 (傅立葉級數),再搭配 Step 3 的
就能順利算出答案,也就能回答在該節實驗中內文所提到的兩個問題: (i) 為什麼 1 Hz、-1 Hz 的量值各為 30,而 8 Hz、-8 Hz 的量值各為 6?
(ii) 為什麼計算出來的頻譜會有 sidelobe?
Step 5. 筆者的答案是 ,也的確 是與實驗結果相吻合!到這裡讀者應該能歸納出,對一個週期性訊號乘以一個 (脈波) 窗函數 之後會對原頻譜造成什麼改變?
第二節的實驗選擇用摺積處理訊號是為了模擬 LTI 系統,請問你是否能寫另外一支程式直接實作 ICTFT 得到還原訊號,和文中給的例子做比對呢?
計算週期性、非週期性訊號相乘之後的傅立葉轉換之重要定理
給定一週期性訊號 的傅立葉級數及濾波函數 所對應的傅立葉轉換 ,那麼兩訊號在時域相乘之後再作傅立葉轉換之後的結果 (頻域摺積) 為:
# 參考資料
https://www.mathworks.com/matlabcentral/answers/54698-convolution-without-any-built-in-commands。MATLAB 論壇解釋如何自行使用程式語言實作摺積公式。
http://www2.csie.ntnu.edu.tw/~u91029/Audio.html。演算法筆記介紹音訊分析。
Last updated