交流(頻域)模擬的原理介紹

上次我們以時域暫態模擬,用比較笨的方法來找出放大器的頻率響應。今天我們來看一下另外可以很快幫我們找到放大器頻率響應的模擬方式:「交流模擬 (或稱 AC 模擬)」。

小補充在前

上次忘記提到一點,對於「每個時刻下的資料點」,模擬器的演算都是透過電路的網路方程式來計算出各節點電壓與各路徑電流的,每道能被條列出來的方程式,來自於電路學中所學到的「克希荷夫電壓定律 (KVL) 與電流定律 (KCL)」,因為它們是定律,所以在任何時刻下,定律恆成立。定律不會在這一秒成立,下一秒失效;不會在今天成立,然後明天失效 (否則會有一堆人翻桌... XDD)。


對於交流模擬也一樣,KVL 與 KCL 定律同樣成立。定律不會說在時域上成立,而在頻域上就不成立了。(不管你用時域還是用頻域來看一個訊號,都是同一個訊號,這之間並沒有發生什麼不可思議的事情。)


暫態模擬跟電路學中的時域分析是對應的,而交流模擬則是跟電路學中的相量穩態分析是對應的。直流模擬當然就跟直流分析相對應,相對而言比較簡單,但並不是說直流模擬不重要。直流分析很重要,特別是在主動電路的設計。就電路分析的角度,你必須先做完直流分析才有辦法找到 gm,接著才能夠利用小訊號模型來計算放大器的小訊號增益(阻抗等參數);以設計的角度而言,你必須先知道電晶體的直流特性,才有辦法根據設計目標來找出適合的偏壓點。我在「E.E. 慣用的訊號表示法」這篇文章中有稍稍提到這些概念。


電路學跟電子學是密不可分的。這麼說好了,電路學有點像是在練心法,電子學則是帶大家走向比較實際的電子電路設計。例如在電子學中,當我們學到 BJT、MOSFET 的小訊號模型之後,依據條件求取模型中的參數,接著將模型展開(或取代)至原電路中,剩下的就是電路學的問題了。

什麼是頻率響應

記得我還在念大學的時候,電子學剛學到頻率響應就搞得我頭昏腦脹的,若嚴格說起來,只能怪自己不認真,電子學很愛翹課 (不知道為什麼,我們班都非常的愛翹電子學,不是只有我這樣哦~~)。


頻率響應即在表現「一個元件(或電路/或系統)在接受不同頻率的輸入訊號時,它的特性會是如何」。


現在設想一個場景,你非常喜歡聽音樂,很喜歡重低音碰碰碰的那種感覺,但是你覺得手邊的音響設備還不夠碰,你想要音樂一下去就有地震的感覺。身為一個 EE 人,你很不屑用音樂軟體來調整,你想要自己設計一顆重低音加強器 (Bass Booster)。這時候,你就會開始關心:「哦?這個重低音的聲音,它的音頻比較低,那到底是多低?現在我想要加強它的強度,讓它碰的更有力量,我想要加強到什麼程度?」


我們不管這個過程所找出來的確切數字到底是什麼,但你總是會得到像這樣的結論:「我需要在頻率 f 附近,給它放大個 n 倍」。對於需要砍訊號的情況,就會變成:「我需要在頻率 f  附近,給它衰減個 n 倍」。當然,實際的情況以及要求往往是比我所舉的例子要複雜許多,但概念是一樣的。


既然你想要的電路表現跟頻率有關,那你勢必就得好好關心一下電路的頻率響應了。怎麼個關心法?你要知道如何使用頻域分析(設計)方法,也要知道怎麼樣進行交流模擬,當然更要知道怎麼樣量測出頻域的參數 (頻率響應)。在真實的設計中,頻域分析的用量往往比時域分析來的多 (當然也是要看針對的問題是什麼,這裡只是普遍地說起來是這樣)。

交流模擬的簡要說明

  • 由於電腦的計算永遠都是用「資料點 (data points)」。所以一個頻率為 f 的弦波,在頻域上,我們可以用一個「資料點」表示它 (事實上這個資料點是一個複數,其實就是相量,所以嚴格來講是需要兩筆資料去表示一個某頻率的弦波,但是我們不要扯遠了,那對整個概念來講其實不是很重要)。


  • 現在我們想知道:「如果輸入給電路的弦波頻率改變時,它的輸出會有什麼樣相應的變化。」那麼我們就可以在頻率上做一下切割,好讓「不同的頻率們」分別用「一個個」的資料點來表達。


  • 例如,我想知道當電路在輸入弦波頻率為 1 kHz 到 1000 kHz,它的表現是什麼。我可以每隔 1 kHz 投一個資料點給模擬器去分析,也就是 1 kHz, 2 kHz, 3 kHz, 4 kHz, ..., 100 kHz, 101 kHz, ..., 998 kHz, 999 kHz, 1000 kHz,總共需要準備 1000 個點。每個點投進去模擬計算後,都會得到相應的輸出。



  • 跟時域分析的概念很類似,時域的波形繪成圖,x 軸是時間,所以在模擬時所投入的「有限個資料點」是在時間上做分割。對於頻率響應,響應圖的 x 軸是頻率,所以在模擬時所投入的「有限個資料點」是在頻率上做分割。


  • 以術語來講,你可以設定 AC 模擬參數 start frequency、stop frequency 以及 frequency step。這三個參數決定了模擬所需的總資料點數。


  • 我們可以把上面那張圖,再畫的精簡一點。而且,我們可以根據「每個不同頻率」所投入的資料(輸入相量) 模擬出對應的輸出資料 (輸出相量)。然後,我們將輸出的大小與輸入相除,便可以得到元件在某個頻率下的增益。因為繪製出來的點很多 (假設是 1000 點),我們在繪製時可以直接將這些點跟點,用線連接起來,這樣就可以得到一張美美的頻率響應圖囉!


CE 組態放大器的交流模擬

這裡我們是以模擬一個 CE 放大器為例,大家不需要管電路的結構,只需要把焦點放在左下角的激發源(SRC5) 設定,以及模擬器 (AC 那一塊) 的參數設定。


  • 激發源是一個頻率為 freq 的弦波,振幅是 1 mV。


  • polar(0.001, 0) V 那裏是在設定此弦波的相量,它的振幅是 0.001 V 而角度是 0 度。


  • freq 是一個變數,在 ADS 中它是一個系統變數,這個變數如何在模擬時「變化」則是看你在 AC 那個模擬器參數的設定來決定。模擬器參數的 Start, Stop, Step 則是在告訴模擬器,請它幫你從 1 Hz 開始跑模擬,而且每 10 kHz 跑一個點,總共要跑到 500 MHz,所以在這個例子,它總共會跑個大概 5 萬點左右。


繪製放大器的頻率響應

  • 執行完模擬後,我們可以將輸出與輸入電壓相量的大小拿出來相除,就可以得到放大器在不同頻率下的電壓增益囉!


  • 你也可以將電壓增益轉成用 dB 來表示 (大家都還蠻習慣這樣做的)。


  • 下面響應圖的 x 軸 (頻率軸),我已將它換成 log-scale,這樣比較好觀察「很低頻 (10 kHz)」到「很高頻 (500 MHz)」之間的整體表現。


總結

到目前為止,大家已經學過如何做散射參數模擬、直流模擬、時域暫態模擬,再加上這個實驗學到的交流模擬,你現在擁有的能力幾乎已經可以應付八成以上的電路設計了。


如果你還記得 Phasor 這件事情,你應該會發現其實交流模擬完全就是用 Phasor 的觀念。我們只是把不同頻率的輸入訊號「頭」丟進電路,然後模擬出輸出訊號的「頭」。然後只要把不同頻率下,「輸出的頭」拿來跟「輸入的頭」比一比就找到增益的頻率響應了。現在,你是不是也覺得我們一直都在重複使用很類似的知識在解決問題呢?

補充

  • 上面的總結是原實驗講義的內容,是寫給大學生看的,以大學階段來講,確實只要有那幾個模擬器的觀念就可以了。如果是研究所以上,可能就很難講了。對於主動電路設計,還需要學會諧波平衡模擬;對於系統設計,還需要學會電路波包模擬;而如果要模擬完整的通訊系統,甚至還需要加上 DSP 的偕同模擬才行。


  • AC 模擬器在設定 frequency step 時,不一定總是要用本文中的方式,你也可以直接設定在一段頻率範圍內的「頻率點數」要跑幾點,讓模擬器自己幫你計算 frequency step。


  • 在切割頻率時,其實也可以換成 log scale 之後再去切割出想跑的總點數,這對於需要模擬超寬頻率範圍時會特別有用,例如你想模擬從 1 kHz 到 10 GHz,用線性切割法就必須要切割出很多點才行。


  • 交流模擬有沒有不同對付的事情?有,一個是無法評估時域上的暫態響應(只能根據頻率響應重建出時間上的穩態波形),另一個就是無法評估線性度(失真)。這就得靠一樣是頻域的諧波平衡模擬來幫忙囉~ 以後有時間再談囉!

YOTTA 你最專業的學習夥伴,提供優質內容與有趣觀點,擴大豐富你的視野。




所有圖片來源:Simen