示波器看波形,頻譜分析儀看頻率成分,這兩種儀器看似井水不犯河水,但是自從工程數學界發明了「傅立葉轉換」後,隨著 CPU 速度越來越快,現在的示波器幾乎都能做到將時域(Time Domain)的波形轉換為頻域(Frequency Domain)的頻譜圖,要達成這個功能便是要靠「快速傅立葉轉換」(Fast Fourier Transform,FFT)。
在我們進入解說以前,讓我們先來看看「快速傅立葉轉換」到底是怎麼操作的!
https://www.youtube.com/watch?v=brjsQ9cQ2DU
快速運算的 FFT
這邊沒有打算說明 FFT 的細節,想了解細節的人可以去翻翻工程數學,我沒記錯的話,光是 Fourier Series 與 Fourier Transform 就佔了一整個章節,FFT 只是實現如何快速把答案算出來而已。
這邊我想要聊的是, FFT 到底可以算多快呢?若波形由 N 個點組成,以傳統的 Fourier Transform 計算,會需要N*N 次的計算;若以 FFT 運算,運算量會縮減到 N*logN 次的運算。
那這樣可以節省多少次運算呢?我們代入實際數字,大家可能會比較有感覺,假設示波器的波形是由 N=10,000 個點所組成。
- Fourier Transform 的計算次數:N*N=100,000,000(一億次計算)
- FFT 的計算次數:N*logN=10000*4=40000 (四萬次計算),共縮減了 2500 倍
這個縮減倍數會隨 N 的增加而增加,換句話說, FFT 真的是一個非常有效的運算方式。雖然 FFT 很強,但沒有 Fourier Transform,也就不會有 FFT 。我想傅立葉這位老兄,在當年提出「無論連續或非連續的函數,都能展開為正弦函數的級數」的說法,應該是一項大膽的創舉,因為一般人應該很難聯想到,不連續的函數也能用連續的弦波來表示。
為何訊號都擠在頻譜左邊?
如下圖所示,通常只要打開 FFT,你會發現你想觀察的訊號都擠在頻譜的左邊,即便在 FFT 內可以使用 Horizontal 旋鈕盡量將訊號挪到中間,但到最後常常是已經轉到了盡頭,頻譜訊號卻仍然偏左。
示波器的 FFT 畫面(圖片來源:實作派提供)
解決訊號偏左顯示的方式是增加螢幕中的訊號 cycle 數,如此就能把 FFT 頻譜內的訊號間隔變得開一些,為什麼呢?因為示波器的記憶體容量是固定的,因此無論 cycle 多寡,取樣點數都是固定的。如下圖的 CASE A,若螢幕塞了較多的 cycle,每個 cycle 分配的取樣點較少,也就是每個取樣點之間的時間 T 比較長,取樣頻率(1/T)就會變低,反之亦然。
只需不到短短一分鐘...
輸入您的信箱與ID註冊即可享有一切福利!
會員福利
免費電子報
會員搶先看
主題訂閱
好文收藏