[示波器操作]測量篇-用FFT瞬間變頻譜

話說示波器看波形,頻譜分析儀看頻率成分,這兩種儀器本來是井水不犯河水,但是自從工程數學界發明了傅立葉轉換之後,隨著CPU速度越來越快,現在的示波器幾乎都能做到將時域(Time Domain)的波形轉換為頻域(Frequency Domain)的頻譜圖,要達成這個功能就是靠快速傅立葉轉換(Fast Fourier Transform, FFT),我們先來看怎麼操作吧。

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旋鈕盡量把訊號挪到中間,但你可能會發現已經轉到盡頭了,仍力有未逮,頻譜訊號仍然偏左邊。

解決方式是將螢幕中的訊號cycle數變多,就能把FFT頻譜內的訊號間隔變得開一些,為什麼呢? 原因說明如下圖,由於示波器的記憶體是固定容量的,因此無論cycle多寡,取樣點數都是固定的。如下圖CASE A,若螢幕塞了較多的cycle,每個cycle分配的取樣點較少,也就是每個取樣點之間的時間T比較長,因此取樣頻率(1/T)會變低,反之亦然。

光說不練沒感覺,我直接將上圖的兩個CASE以實例來做比較,你就會發現週期多的CASE A取樣頻率較低,而週期少的CASE B取樣頻率較高。若取樣頻率高,頻譜就會展開(Span)得比較寬,相對的我們的待測訊號頻率看起來就會靠到左邊去了,這就是CASE B發生的狀況。

所以要讓FFT的低頻頻譜往中間靠一些的話,你就可以把週期數增加試試,也就是CASE A的情況。

為何以dB作單位

關於dB這個單位,我將會以另一篇專文來敘述細節。在這裡我就只簡述一下,為何看頻譜的時候大家都習慣以dB做單位?

在電子工程領域的放大器,通常倍數都很高,從10倍到10萬倍都有,如果你要在一張圖上同時看到10倍與10萬倍訊號各自的細節,那麼10倍與20倍的訊號在圖上看起來可能毫無差異。那是因為圖表上方頂了個10萬倍的訊號,這樣在圖表的使用上非常不方便。

因此聰明的工程師就發現,不如我們想一個方法,讓倍數轉化成某個簡單數字,就能呈現各種高低級距的細節,而能滿足這個功能的函數就是對數log,所以工程界才會發展出dB 這種定義,如下:

dB=10*log(A/B)  ,  A=功率A, B=功率B

如此一來放大100倍就稱為20dB,放大1萬倍就稱為40dB,我想大家應該都同意20與40這種簡單數字會比後面帶很多零的倍數要好理解吧。

事實上,不只在工程界常以dB作單位,就連我們人類的聽覺也是如此,當你的耳朵覺得聲音每次都變大一個級距時,聲音實際上已經放大好幾倍了,這也是為何音響擴大機都以dB標示音量的原因。

 

Be the first to comment

Leave a Reply

Your email address will not be published.


*