当前位置: 华文问答 > 科学

控制系统中的零极点有什么物理意义么?

2013-11-14科学

我不是学控制的,但是模拟电路是可以拿控制系统的那套理论来分析。之前有个哥们在我的专栏文章下面留言,说是我分析零极点的这套说辞实在是「清新脱俗」,可以跟学控制的同学分享一下。我可以讲讲一个电路里面的零极点是怎么回事。相信也可以让你有些物理上的理解。

首先是极点。

我们来看张图:

一个R和一个C,便构成了一个最基本的极点。它的传输函数如图所示,是1/(1+RCS).因为s等于j\omega ,所以这里的RC造成了一个左半平面的极点:-\frac{1}{RC} 。

等等!现实中怎么会有负数的频率呢?

所以,如果input signal里面有这样一个等于1/RC的频率(如果是以Hz为单位,应该除以2\pi ),那么会发生什么事情呢?

将\omega =1/RC 带入上面的传输函数,这个传输函数的amplitude response就变成了\frac{1}{\sqrt{2} } .

哦!原来在bode图里,遇到一个极点就会有-3dB(20lg(1/\sqrt{2}) =-3dB )的下降,跟这个确实可以对应起来呢!

Source : Bode plot (Figure 1(b): The Bode plot for a first-order (one-pole)lowpass filter; the straight-line approximations are labeled "Bode pole"; phase is 90° lower than for Figure 1(a) because the phase contribution of the numerator is 0° at all frequencies.)

好吧!上面我们还是围绕着传输函数的公式打转,但是!但是为什么会有恰好等于一半的amplitude response呢?

重新回到上面的图。一个信号经过一个R,会有一部分能量被R以热能的方式散发出去。但是对于信号本身的频率、相位这些参数,R其实是没什么影响的。但是!但是还有一个C啊!这么大一个电容连着output和gnd,你不能忽视人家嘛!

C和R不同的地方,在于它并不消耗能量,但是却会改变相位。当input变化的时候,C上面的电压也会跟着变化。这个不甘寂寞的C有个独门秘技:「 吸和放 」!也就是说,当加在它上面的电压忽然变化的时候,它会先吸走一部分,然后过一会再把被它吸走的电子重新放出来。

你见过月圆之夜时,清冷的月光洒在海面,深深的海底,巨蚌一张一合的样子吗?

那个,嘿嘿,不好意思啊,作者君也没见过……不过看小说看过……

好了,不插科打诨了。总之,C就是个这么神经兮兮的家伙。它明明不要你的电子,但是就是不情不愿的要阻拦一下你的信号,过一会儿再放一部分电子出来。

因为这个讨厌的家伙,你的信号被拦腰劫走了一部分。

H(S)=\frac{1}{1+j} =\frac{1}{\sqrt{2} } e^{-j\frac{\pi }{4} }

写成这样,我们可以看出来,若是输入信号的频率恰好等于\frac{1}{RC} ,那么传输函数变成为了上面那个样子。 增益变成了\frac{1}{\sqrt{2} } ,相位下降了45°

为什么是45°呢?因为C这个家伙是故意等了90°之后才不情愿的放出了你的信号。因为一部分(当\omega =\frac{1}{RC} 的时候,恰好是一半)逃出C的魔掌的信号没有相位的延迟,而另外一部分不那么幸运的信号就被C戏弄了一番之后放了出来。所以最后在output看到的总的效果就是延时了45°。嗯,不是90°,也不是0°,就是一半,45°呢!

所以,若是想让我们的信号特别厉害,不受到这个讨厌的C的毒害,我们的信号应该变成什么样呢?让我想想……那就是传输函数不就是1了吗!那个时候,我们的信号就别含变化量,直接是个DC的值,那么只对变化量感兴趣的C就懒得理你了!

还有,什么时候我们的信号被侵蚀得特别厉害,比如完全没有了?再让我想想……那就是大部分,或者说是几乎全部的信号都要先被C吸走再放出来吧?如果现在有个特别特别高频的信号,C就变得特别兴奋了。对于高频的信号,C的内力变强,传输函数包含s的那项远大于后面那个1,因而传输函数就变得无限趋近于零了。

嗯,好像input信号的具体频率其实起到了这样一个效果: 它决定了是从R直接到output的信号分量多呢?还是被C戏弄的信号分量多。

话说,R和C的具体值也是很有意义的吧?

那当然了。作者君每次都 朝着极端的情况想

比如,若是我没有这个R,就一个孤零零的C,结果会怎样?那就是input直接和output短接在一起了吧?那还担心C干嘛?

H(S)=\frac{1}{1+RCS} \simeq 1

或者,若是R无限大,又会怎样呢?额,信号花了九牛二虎之力,才勉勉强强的穿过R的重重包围到了output这边。结果前有狼后有虎,刚过来便又遇到一个虎视眈眈的C在output这里。唉!还是直接投降,任人鱼肉算了!C要戏弄就让它戏弄好了……

H(S)=\frac{1}{1+RCS} \simeq \frac{1}{RCS}= \frac{1}{RCj\omega }\rightarrow 0

所以,1/RC的值和信号频率的相对位置,才是关键之处啊!若是RC超级小(比如很小的C只对更高的频率感兴趣。对于一些kHz什么的小喽啰,人家根本不care),我们的信号还是很安全的。但若是RC超级大,比如有个巨无霸的C,就是那种巨大的巨蚌啦!人家什么都喜欢,来者不拒,你的kHz的信号也是它的爱好之一,那么你就惨惨惨了……

或者还有一种方式理解极点:


之所以会有极点,就是因为当frequency上升之后,电容冒了出来,「一吸一放」。 或者可以这样说,这家伙是开黑店的。有事没事,路过的signal都被揪进去打了一顿才被放出来。(如果是DC,它不太敏感,也就放行了……)

其实你也 可以把pole理解成为两个current source (中间是virtual ground,或者说,是真的ground), 一个专门打家劫舍,抢signal;一个只做好事,放他哥们抢的signal出去。他们的电流都等于C*dV/dt。

所以在pole的frequency时,专门干坏事个那家伙抢了一半的signal进了它的老巢。然后它那个只做好事的哥们过了90°又把人放了出来。

等到frequency很高的时候,打劫的那家伙就把所有的signal都抢了……然后它哥们还是继续当老好人,过了90°又把人放了出来……实在是神经病的组合……

至于零点。在电路中,零点就是一条前馈通路。信号不老老实实的按照你给它规定的路线跑,它找到了一条捷径,抄近路了……比如你跟人一起去跑马拉松,结果明明应该跑个圈再回来的,另外那哥们直接走了小路,省了几十公里的路……

首先是零点的基本分析:


说完了极点,我们再来看看它的对立面——零点。没有对手的绝世高手注定是不存在的,因为世间万物,必定有其相生相克的另外一个……哈哈!就此打住,否则作者君要开始描述一副「决战紫禁之巅」的画面了……^_^

我们还是拿一个最基本的电路模型来入手。

和前面计算极点的电路相反,这次电容C横跨在了input和output之间,而output一段则有一个到地的R。非常自然的写出transfer function:

H(s)=\frac{R }{R+\frac{1}{CS}} =\frac{RCS}{1+RCS} =\frac{RCj\omega }{1+RCj\omega }

还是从频率为无穷小开始看:这个时候分子无限趋于0,而分母无限趋于1,。因此,transfer function的amplitude就约等于0。如果单位换成了20dB的话,则是一个无穷小的数。

然后我们再来看看当频率很大的时候:分母的那一项「1」可以忽略不计了。因此这个transfer function的amplitude就约等于1。单位换成20dB之后,就差不多是0了。

如果恰好\omega _{z} =\frac{1}{RC} ,那么这个频率就是我们所关心的零点频率了。同之前的极点频率类似,在这个零点频率处,amplitude变成了1/\sqrt{2} ,phase变成了45°。

等等!为什么书上都说,极点之后的amplitude以-20dB/dec下降,而零点之后的amplitude以20dB/dec上升呢?

前一篇我们仔细算了算,知道了极点下降的原因。那么零点上升也就是差不多的道理了啦!

重新写一下transfer function:

H(s)=\frac{RCj\omega}{1+RCj\omega}\approx RCj\omega

上面这样等效的成立条件,是频率比较小的时候。因此,不知道大家发现了没有,当分子的频率j\omega 成为了整个transfer function的关键所在之时,20dB/dec上升其实也就成了自然而然的结果。

source:http:// manual.audacityteam.org /man/high_pass_filter.html

回忆一下推导极点时所用的bode plot:

不知道大家注意到没有:

开始在频率小的时候,极点是没什么作用的;当频率超过了极点频率,则极点的作用就开始显现出来了;

而零点则是频率低的时候有影响,等到了高频,则它的影响就忽略不计了。

是不是感觉有些玄妙?嗯,其实呢,说白了,就是j\omega 这项到底什么时候冒出来。比如零点是当频率低的时候,j\omega 在分子出现。所以呢,就有了20dB/dec的上升。

而对于极点来说,

H(s)=\frac{1}{1+RCj\omega } 只能是在频率大,导致j\omega 那项远大于1的时候,才能起到决定性作用。而且又由于它在分母的位置,所以才会最后导致高频时的20dB/dec的下降。

再回去想想……哎呦!最上面那张图不是电容跨在input和output之间嘛!高频的时候,电容就相当于一根导线,那它自然也就不起作用了嘛!嗯嗯,好像就是这样的!

然后是模拟电路里面的零点:

我们来看看电路中基本的零点长得啥样。

还是一个简单的单极点电路。和之前唯一不同的地方,在于gate和drain之间被加上了一个Cc。因为这个Cc的存在,这个电路中出现了一个比较明显的零点。当然,一般的mosfet的Cgd都是不太大的,除非用在诸如两级运放之间的miller capacitor那种Cc,这个零点才是我们需要考虑的。

传输函数:

H(s)=\frac{g_{m} R_o+RC_cS}{1+R_o(C_c+C_s)s}

分母有个很明显的极点,分子有个明显的零点。极点咱们就先不管了,来看看这个零点:

\omega _z=-\frac{g_m}{C_c}

很显然,自然界没有负数的频率。因此,我们还是来关心\omega _z=\frac{g_m}{C_c} 好了。

Cc就相当于前一篇文章中提到的跨在input和output之间的电容,而gm从分子挪到分母去,则是之前的output接地电阻变成了1/gm。

话说,为什么这个零点只跟这个nmos的gm有关系呢?

原因还是在于零点的特性:当频率大于零点之后,这个零点才能逐渐被忽略掉。

设想一下,如果现在有个很高频的input signal,那么这个电路中唯一的nmos就变成了gate和drain短接在一起的一个diode了。一个diode的等效电阻是1/gm,所以这个零点也就跟gm有关了。

很多书上说, 零点的存在,其实是提供了一条所谓的「feed-forward」前馈通路。道理同上,也就是走了「捷径」。捷径的存在,导致本来应该被mos放大的signal直接跑到了output那端,自然也就严重的影响了mos的放大性能。

详细内容可以参考我的专栏文章:

极点的物理意义:

知乎专栏

单极点电路:

知乎专栏

零点的分析:

知乎专栏

零点的物理意义:

知乎专栏