話說示波器看波形,頻譜分析儀看頻率成分,這兩種儀器本來是井水不犯河水,但是自從工程數學界發明了傅立葉轉換之後,隨著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為單位。
dB 分貝是甚麼-音響與工程上常見的計量方式
dBm dBmV 是甚麼單位-搞懂dB的衍伸單位
在這裡我就只簡述一下,為何看頻譜的時候大家都習慣以dB做單位?
因為在工程領域,我們很常比大小,而比大小的時候我們會用倍數來敘述,10倍、100倍、1000倍之類的,但是10倍與1000倍的波形要同時放在一個螢幕裡面,你通常只會看到1000倍的波形,那個10倍的訊號通常是看不到的,因為振福是人家的百分之一,可能連螢幕的1點都不到。
所以聰明的工程師就發現,不如我們想一個方法,讓倍數轉化成某個簡單數字,就能盡量呈現各種高低級距的細節。能夠滿足這個功能的函數就是對數log,所以工程界才會發展出dB 這種定義,如下:
dB=10*log(A/B) , A=功率A, B=功率B
如此一來放大100倍就稱為20dB,放大1萬倍就稱為40dB,我想大家應該都同意20與40這種簡單數字會比後面帶很多零的倍數要好理解吧,而且在螢幕上也比較方便顯示。
事實上,不只在工程界常以dB作單位,就連我們人類的聽覺也是如此,當你的耳朵覺得聲音每次都變大一個級距時,聲音實際上已經放大好幾倍了,這也是為何音響擴大機都以dB標示音量的原因。
相關文章
Be the first to comment