在我的學術生涯中,我注意到系統理論(systems theory)是最難教和最難學的課程之一;這些極點(pole)和零點(zero)概念在課堂上都感覺很有意思,不過一旦學生想將它們與實驗室中的實體電路相關連,理論和實踐之間就會出現鴻溝。在這篇文章中,我將嘗試找出關於極點和零點的實體感,使用運算放大器來控制它們在複數平面(complex plane)中的位置,並利用電路的自然響應來說明極點/零點位置帶來的效應。

單埠電路的自然響應

我們來看圖1中的被動線性單埠電路,包括電阻、電容和電感。

EDNT181207_PoleZero_TA31P1

圖1:(a)被動單埠電路;(b)自然(或無源)開路響應vn (t)。

如果我們施加一個測試電流I(s),單埠電路將產生電壓V(s),使得V(s)=Z(s)I(s),其中I(s)和V(s)是所施加電流和所產生電壓的拉普拉斯變換,s是以sec-1為單位的複數頻率。阻抗Z(s)作為s的有理函數形式,即分子多項式N(s)與分母多項式D(s)的比值: EDNT181207_PoleZero_TA31F1

等式N(s)=0的根被稱為Z(s)的零點,表示為z1、z2…而等式D(s)=0的根被稱為Z(s)的極點,表示為p1、p2…極點和零點統稱為根(root),也稱為臨界頻率。例如,阻抗: EDNT181207_PoleZero_TA31F2

當s=0時,其值為零;當s=-3±j4時,它具有共軛複數極點對(complex-conjugate pole pair)。可以用根來表達它,即: EDNT181207_PoleZero_TA31F3

如果我們繪製|Z(s)|相對於s的幅度曲線,則可以直觀理解零點和極點的含義。所得到的曲線就好像在s平面上豎起的帳篷,在零點處接觸s平面,而在極點處其高度變為無限。

EDNT181207_PoleZero_TA31P2

圖2:Z(s)=(10Ω)s/(s2+6s+25)的幅度圖(透過在虛軸上計算|Z|獲得的分佈曲線圖顯示出單埠電路的交流響應)。

為了找到極點的實體感,我們在s接近極點pk時施加電流I(s),就可以用相當小的I(s)獲得給定的電壓V(s)。s越接近極點pk,獲得給定電壓V(s)所需的電流I(s)越小。在s→pk的極限狀態下,即使電流為零,即開路,單埠電路也會獲得一個非零的供電電壓(圖1b)!這個電壓稱為自然響應或無源(source-free)響應,因為單埠電路可利用儲存在其電容和電感內部的能量來產生電壓。這些能量在電阻中消耗盡了,在被動單埠的情況下,它們將隨時間呈指數級衰減。實際上,系統理論預測到自然響應符合以下運算式: EDNT181207_PoleZero_TA31F4

其中a1、a2…等等是取決於儲存能量的適當因數(以V為單位),Z(s)的極點是指數中時間常數的倒數。

那麼Z(s)的零點呢?現在來看圖3,它表示圖1的兩種情況。現在施加的訊號是電壓V(s),而響應是電流I(s)=[1/Z(s)]V(s),這表明Z(s)的零點現在成為1/Z(s)的極點。透過雙重推理,在s→zk的極限狀態下,即使施加零電壓(短路),單埠電路也將提供非零電流(圖3b)!該電流稱為自然響應或被動響應,因為單埠電路利用儲存在其電容和電感內部的能量來產生電流,系統理論預測自然短路電流響應符合以下運算式: EDNT181207_PoleZero_TA31F5

其中b1、b2…等等是取決於儲存能量的適當因數(以安培為單位),Z(s)的零點是指數中時間常數的倒數。

EDNT181207_PoleZero_TA31P3

圖3:(a)被動單埠電路;(b)自然(或無源)短路響應in(t)。

總而言之,單埠電路的自然響應由其阻抗Z(s)的根控制:極點控制開路電壓響應vn (t),而零點控制短路電流響應in(t)。在某種程度上,根就像是單埠電路的DNA。例如圖4的單埠電路,在t=0時,電容兩端的電壓為9V,頂部為正,t>0時它的自然響應是什麼?可以看出單埠電路呈現的阻抗是: EDNT181207_PoleZero_TA31F5_1

顯然,z1=-1/(R1C)=-1/(10ms),p1=-1/[(R1+R2)C]= -1/(30ms)。此外,a1=[20/(10+20)]9=6V且b1=9/10=0.9mA。所以: EDNT181207_PoleZero_TA31F6

EDNT181207_PoleZero_TA31P4

圖4:找出(a)開路和(b)短路的自然響應。

單極點控制

在圖5a的電路中,由vn表示的節點和地之間的阻抗為Z(s)=R||(1/sC)=R/(1+sRC),因此在s=-1/(RC)=-1/(1ms)時電路具有一個極點。假設vn (0)=1V,我們可以得到:

EDNT181207_PoleZero_TA31F7

EDNT181207_PoleZero_TA31P5

圖5:(a)基本電路;(b)相同的電路,但可以控制極點。

無論如何選擇R和C的值,該電路的極點將始終為負。我們希望找到控制它的方法,以便將其驅動為零或使其成為正的。圖5b示出的電路可以完成這項工作。非反相放大器檢測vn並輸出電壓:(1+R2/R1) vn=(1+k) vn

其中R2代表電位器在其左端和電位計游標(wiper)之間的部分。對於給定的元件值,從左端到右端改變游標將使k在0<k<2的範圍內變化。現在,R3上的電壓為(1+k) vn-vn,即k vn,在右邊是正的,表明R3將為C提供電流k vn/R3。鑒於R從C中汲取電流vn/R,因此從C流出的淨電流為iC = vn [1/R+1/(-R3/k)],表明C視R與一個負電阻-R3/k並聯,淨等效電阻Req =R||(–R3/k)]。擴展後可以得到:

EDNT181207_PoleZero_TA31F8

對於給定的元件值,我們有Req=(10kΩ)/(1-k),因此極點位置現在為s=-1/( ReqC)=-(1-k)/(1ms),方程式(4)變為: EDNT181207_PoleZero_TA31F9

我們討論一下作為游標設置函數的電路運作原理,使用圖6中的PSpice電路來顯示隨後的自然響應類型。

  • ● 當游標一直向左(k=0)時,R3上的電壓降為零,因此R3帶有零電流,C透過R放電,時間常數為1ms,如方程式(4)所示;
  • ● 將游標向右移動時,R3將電流提供給C,只要該電流小於R汲取的電流,C仍然會呈指數放電,但速度比k=0時要慢;
  • ● 當游標處於中間(k=1)時,R3輸出的電流等於R汲取的電流,電容的淨電流為零,因此電容電壓保持恆定;
  • ● 將游標進一步向右移動(k>1),使得源電流大於汲取電流,因此C以指數方式充電,從而產生不同的響應,直到運算放大器飽和。

EDNT181207_PoleZero_TA31P6

圖6:PSpice電路顯示不同k值的自然響應,假設電容最初充電電壓為1V。

圖7描繪了作為k的函數的極點位置。

EDNT181207_PoleZero_TA31P7

圖7:極點軌跡是k的函數。

極點對控制

在圖8a的電路中,干擾自然響應vn (t)產生的阻抗是:

EDNT181207_PoleZero_TA31F10

D(s)的度數表明我們現在有一個二階系統。對於這樣的系統,D(s)通常以更方便的形式表達: EDNT181207_PoleZero_TA31F11

其中ζ稱為阻尼比,ω0稱為無阻尼固有頻率。設定D(s)=0,可以得到極點對:

EDNT181207_PoleZero_TA31F12

比較方程式(8)和(9),我們發現圖8a的電路具有:ζ=1.5和ω0=1/(RC)=1/(1ms)。代入方程式(10)得到極點對p1=-1/(0.3818ms),p2= -1/(2.618ms),表示vn(t)由一對指數衰減(exponential decays)組成,因為電阻消耗了儲存在電容中的電能。

為簡單起見,假設圖8a的RC對完全相同。可以看出,無論我們如何選擇元件值,該電路的極點將始終為實數(real)和負數。

EDNT181207_PoleZero_TA31P8

圖8:(a)基本電路;(b)相同的電路,但可以控制極點。

我們希望可以找到方法來控制它們在複數平面上的位置,以便將它們放置在虛軸上,甚至使它們溢出到複數平面的右半部。圖8b展示了可完成這項工作的電路,其中最左邊的電容被提升離地,由一個非反相放大器驅動,檢測到vn並輸出電壓(1+R2/R1) vn=(1+k) vn,k如方程式(5)所示。對於給定的元件值,從左端到右端改變游標將使k在0<k<3的範圍內變化。這樣做的目的是想透過改變k值,使運算放大器透過最左邊的電容注入的能量可以改變甚至超過電阻消耗的電能。

使用熟悉的電路分析技巧,我們發現干擾自然響應vn(t)產生的阻抗為:

EDNT181207_PoleZero_TA31F13

這說明了2-k=2ζ,或:

EDNT181207_PoleZero_TA31F14

ω0=1/(RC)=1/(1ms)。我們來討論電路作為游標設置之函數的運作原理;同樣,使用圖9a的PSpice電路來顯示隨後的自然響應類型,如圖9b所示。

● 隨著游標一直向左滑動(k=0),可以得到ζ=1。方程式(10)得到重合的極點對p1= p2=-1/(1ms)。在這種情況下,系統理論預測該類型的自然響應為:

EDNT181207_PoleZero_TA31F15

其中a和b是適當的因數,取決於t=0時儲存在電容中的能量。如圖9b所示,在初始浪湧之後,自然響應呈指數衰減直到趨於零。

● 設k=2,得到ζ=0,所以方程式(10)預測純虛極點對p1,2=±j103,其中j是虛數單位(j2= -1)。使用尤拉(Euler)方程式exp(jα)+exp(–jα)=2cosα,可以看出自然響應現在採用這種形式:

EDNT181207_PoleZero_TA31F16

EDNT181207_PoleZero_TA31P9

圖9:PSpice電路顯示對應於不同k值的自然響應,假設在t=0時,Ca充電到1V,Cb放電。

其中a和φ是適當的因數,取決於t=0時儲存在電容中的能量。其結果是持續振盪,也稱為無阻尼振盪(因此稱為ω0)。實體上,運算放大器注入單埠電路的能量等於埠電阻消耗的能量,這讓電容以某種乒乓(Ping-Pong)方式交換能量。

● 對於0<k<2,有1>ζ>0,所以現在方程式(10)可以預測一對共軛複數極點。例如,當k=1.5時,由方程式(12)得到ζ=0.25,因此由方程式(10)得到:

EDNT181207_PoleZero_TA31F17

代入方程式(2),合併,並再次使用歐拉方程式,將得到自然響應方程式:

EDNT181207_PoleZero_TA31F18

其中a和φ是適當的因數,取決於t=0時儲存在電容中的能量。

如圖9b所示,對於k=1.5,電容仍然以乒乓方式開始交換能量,但是該能量逐漸被電阻消耗,從而產生阻尼振盪。

● 將k提高到2以上,這將使運算放大器注入的能量超過埠電阻可以消耗的能量,引起發散振盪(diverging oscillation),如圖9b中k=2.1所示。振盪將持續增加到運算放大器飽和為止。

圖10顯示了作為k的函數的根軌跡圖(root locus)。總而言之,被動電路的極點位於複數平面的左半部分,為了使它們溢出到右半平面,我們需要一個主動元件,例如範例中的運算放大器,從自己的電源端取得能量並將其注入單埠電路。右半平面的極點導致發散的響應,最終使放大器飽和。

EDNT181207_PoleZero_TA31P10

圖10:(a)作為k的函數之根軌跡圖;(b)在阻尼響應狀態下的極點對。

一個流行的應用

我們的電路控制極點對位置的能力可用於產生持續的正弦波;為此它需要滿足兩個條件:

  • 為了自己可以啟動,電路的初始配置必須使其極點對位於複數平面的右半部分(k>2.0)。

即使兩個電容最初都放電,運算放大器的一點雜訊輸入就足以觸發不斷增加的振盪。

  • 一旦振盪達到所需幅度,就必須採取一些機制進行干預,以防止其進一步增加,並將其保持在該幅度。這需要將極點對放置在虛軸(k=2.0)上,並自動保持極點在其上,不管元件老化和漂移,或者任何其他干擾。

EDNT181207_PoleZero_TA31P11

圖11:在虛軸上放置並保持一對極點,以產生正弦波。

在圖11a中,電源接通時,兩個二極體仍然關閉,因此k= R2/ R1=22/10=2.2,表明振盪增加。隨著振盪的增加,二極體在交替的半週期內逐漸導通,所以k=[ R2||( R3+rd)]/R1,其中rd是動態二極體電阻(rd隨二極體電流而減小)。在rd<<R3的極限情況下,我們將得到k=(22||100)/10=1.8,表示電路可在1.8<k<2.2的範圍內調整k的值,這包括k=2.0時持續振盪達到所需幅度的情況。

假如由於某種原因實際幅度超過期望值,rd將減小並導致k降至2.0以下,從而抵消幅度上升。相反,如果幅度降至所需值以下,rd將增加並使k上升到2.0以上,從而抵消幅度下降。總之,只有k=2.0時電路才能找到它的「和平」(peace)狀態。我以前有一個學生感嘆:「啊…這就是負回饋(negative feedback)的魔力!」但他畢業後跑去盧卡斯影業(Lucasfilm)上班了。

本文同步刊登於電子技術設計2018年12月刊雜誌

(參考原文:Playing with poles and zeros,by Sergio Franco)