完整版请参考:

  • https://mazhaoxin.github.io/2019/06/08/Why_Gain_Margin_Can_be_Negative/
  • http://483v7j.coding-pages.com/2019/06/08/Why_Gain_Margin_Can_be_Negative/

引子

可能很多人都有过一个疑问,对于type-II PLL的传递函数(其波特图如下所示)而言,在DC处相移是180度,且开环增益远大于0dB,为什么还可以保持稳定呢?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-A4a7GnNW-1584195191482)(/img/in-post/{{page.id | replace:’/’,’-’}}/Bode_PLL_OL.png)]

如果说上例中DC处的180度相移是无限接近的话,在有温度补偿环路的PLL中(其频响曲线如下图所示),相频曲线明明白白地在增益大于0dB的位置穿过了180度,为什么还是能稳定呢?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sNGI5UXz-1584195191485)(/img/in-post/{{page.id | replace:’/’,’-’}}/Bode_PLL_OL_wTempCal.png)]

或者换句话说,如果一个系统的相位裕度为正,但增益裕度为负,那么这个系统是稳定的吗?如果可以,增益裕度的意义是什么?

稳定性判据

基本概念

我们知道,线性时不变(LTI)系统均有对应的单位冲激响应h(t)h(t)h(t),其拉普拉斯变换H(s)H(s)H(s)被称为系统函数或系统的传递函数。H(s)H(s)H(s)可以写成分子多项式比上分母多项式的形式(且分母的多项式阶数不小于分子多项式的阶数),分子多项式的根被称为零点,分母多项式的根被称为极点。

判断系统是否稳定的依据是观察系统的极点是否全部在复平面的左半平面。至于原因可参考:根轨迹极点在右边为什么不稳定? -知乎,简单整理如下:

对LTI系统来说,系统稳定的定义为有限的输入对应有限的输出。而输出是输入和单位冲激响应的卷积:y(x)=x(t)∗h(t)y(x)=x(t)*h(t)y(x)=x(t)∗h(t),那么就要求单位冲激响应h(t)h(t)h(t)是绝对可积的,也就是要求h(t)h(t)h(t)的傅立叶变换——系统的频率响应H(jω)H(j\omega)H(jω)是存在的。

根据拉普拉斯变换的相关性质,可以得到结论:系统稳定的充要条件是系统的极点的实部小于零(即位于左半平面)

推导过程简化如下:

x(t)∗h(t)有限→h(t)绝对可积→H(jω)=F{h(t)}存在→H(s)=L{h(t)}存在→虚轴jω在L{h(t)}收敛域内x(t)*h(t)有限 \rightarrow h(t)绝对可积 \rightarrow H(j\omega)=F\{h(t)\}存在 \rightarrow H(s)=L\{h(t)\}存在 \rightarrow 虚轴j\omega在L\{h(t)\}收敛域内x(t)∗h(t)有限→h(t)绝对可积→H(jω)=F{h(t)}存在→H(s)=L{h(t)}存在→虚轴jω在L{h(t)}收敛域内

因果系统→h(t)是右边信号→若σ在收敛域内,则满足Re{s}≥Re{σ}的s都在收敛域内→收敛域在最右极点的右边(收敛域中没有极点)因果系统 \rightarrow h(t)是右边信号 \rightarrow 若\sigma在收敛域内,则满足Re\{s\}\geq Re\{\sigma\}的s都在收敛域内 \rightarrow 收敛域在最右极点的右边(收敛域中没有极点)因果系统→h(t)是右边信号→若σ在收敛域内,则满足Re{s}≥Re{σ}的s都在收敛域内→收敛域在最右极点的右边(收敛域中没有极点)

结合上两个结论,既要虚轴在收敛域内,又要收敛域在最右极点的右边,只能要求极点的实部小于零。

考虑最简单的情况,有负反馈系统如下图所示(其中H(s)=num(s)/den(s)H(s)=num(s)/den(s)H(s)=num(s)/den(s)):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wShzNuN4-1584195191488)(/img/in-post/{{page.id | replace:’/’,’-’}}/Diagram_Sample_Negative_Feedback.png)]

易得其闭环传递函数为G(s)=H(s)/(1+H(s))=num(s)/(num(s)+den(s))G(s)=H(s)/(1+H(s))=num(s)/(num(s)+den(s))G(s)=H(s)/(1+H(s))=num(s)/(num(s)+den(s)),显然有

  • 闭环传函的零点与开环传函的相同;
  • 闭环传函的极点由num(s)+den(s)num(s)+den(s)num(s)+den(s)即1+H(s)1+H(s)1+H(s)决定。

现在的问题就转化为,如何根据H(s)H(s)H(s)判断1+H(s)1+H(s)1+H(s)是否有在右半平面的根。

如果能写出H(s)H(s)H(s)的解析式,求解1+H(s)=01+H(s)=01+H(s)=0并不是什么难事。如果不能写出其解析式,该如何判断呢?

巴克豪森判据

巴克豪森判据(Barkhausen Stability Criterion)提供了一种简单的办法来判断系统的稳定性,它的出发点是假设有一个正弦激励信号在环路里走了一圈,如果回来的信号是同相的,且幅度没有变小,无论这个激励信号的频率如何,这个系统都是不稳定的。这种想法很直观,并且很容易利用波特图(Bode Plot)进行判断,是在线电等课程中最常见到的稳定性判据。

即对于前面提到的负反馈而言,∠H(s)=180∘\angle H(s)=180^\circ∠H(s)=180∘表示激励信号转一圈后是同相的,KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲#124;H(s)|…表示回来的信号幅度相同或变大。

波特图描述的是当s=jωs=j\omegas=jω时,KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲#124;H(s)|和∠H(s)\angle H(s)∠H(s)随ω\omegaω的变化情况,其中KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲#124;H(s)|以dB为单位。对于特定的ω\omegaω,对应的KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲#124;H(j\omega)…和∠H(jω)\angle H(j\omega)∠H(jω)即表示角频率为ω\omegaω的激励信号经过该系统传递后获得的增益和相移。因此可以在幅频曲线(KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲#124;H(j\omega)…)和相频曲线(∠H(jω)−ω\angle H(j\omega)-\omega∠H(jω)−ω)上标出0dB和180∘^\circ∘的位置,借此判断由其构成的闭环系统是否稳定,以及裕量如何。

如下图所示,这个闭环系统是稳定的,并且其相位裕度(Phase Margin)是47∘^\circ∘,增益裕度(Gain Margin)是11.6dB。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-50moBfcq-1584195191491)(/img/in-post/{{page.id | replace:’/’,’-’}}/Bode_OPAMP.png)]

由于过冲(Overshooting)的大小与相位裕度有关(参考:Overshoot as a Function of Phase Margin),因此在实际应用中我们更多的用波特图观察相位裕度及其走向,而不太关注增益裕度。

如果出现了负的增益裕度,系统一定会像前面所述的那样出现不稳定的现象吗?给上面那个波特图在200kHz处加3个极点、在1MHz处加3个零点,会得到下面的图像(调整了增益项使单位增益频率不变):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nRj5kw6S-1584195191494)(/img/in-post/{{page.id | replace:’/’,’-’}}/Bode_OPAMP_2.png)]

在上图中有3个增益裕度,其中两负一正(-63.3dB、-25.2dB和+10.2dB)。而基于这个开环传函构建的闭环系统是稳定的,因为它的极点均在左半平面:

>> pole(feedback(H_ol_tf, 1))ans =1.0e+08 *-6.0843 + 0.0000i-3.8408 + 0.0000i-0.2917 + 0.7180i-0.2917 - 0.7180i-0.1148 + 0.0000i-0.0510 + 0.0103i-0.0510 - 0.0103i

检视闭环系统的阶跃响应也可以证明这点:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wR0hlcn6-1584195191496)(/img/in-post/{{page.id | replace:’/’,’-’}}/Step_OPAMP_2.png)]

这个例子说明巴克豪森判据对于这种问题是不完备的,它只能用于相频曲线只穿过一次180∘^\circ∘线的情况。更多的可以参考Barkhausen Stability Criterion。

根轨迹法

根轨迹(Root Locus)法是根据开环传函的零极点分布,通过改变其某个参数(一般是增益)来观察闭环极点在复平面上位置的变化情况,进而判断闭环系统稳定条件的方法。

根轨迹的绘制非常复杂和繁琐,具体的可以参考要想正确画出根轨迹,先搞清楚这8大法则再说!。不过借助MATLAB可以很轻松的获得上面那个传函的根轨迹图,如下所示(右侧的为局部放大图):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TXyC5wXU-1584195191499)(/img/in-post/{{page.id | replace:’/’,’-’}}/RLocus_OPAMP_2.png)]

从根轨迹图上可以看到闭环传函的极点有两部分到了右半平面,分别是

  • 当增益约大于3.42时(精确值是3.2359);
  • 当增益约在0.000589~0.0579之间时(精确值是0.000684~0.0550)。

这正对应了前面的增益裕度(+10.2dB、-63.3dB和-25.2dB)。

也就是说,增益裕度的含义是如果环路的额外增益出现这样的变化的话,系统会进入不稳定状态。**正的裕度表示环路的增益变大会导致不稳定,负的则表示增益变小会导致不稳定。**而至于为何环路增益在环路相移为180∘^\circ∘时大于1却不会产生自激振荡,我还没有找到合理、直观的答案,可参考:

  • Re: Loop Gain greater than 0db and phase shift 180 degree
  • What is the intuitive explanation for stability of a specific feedback system ?
  • Can a control system be stable with negative gain margin and positive phase margin

根轨迹法在实际应用中的问题在于需要知道传递函数的解析式,而如果知道了解析式便可以直接求解1+H(s)=01+H(s)=01+H(s)=0,因此我们还是希望直接利用H(s)H(s)H(s)的响应曲线进行判断,因为它是可以通过实验法获得的。

奈奎斯特判据

奈奎斯特判据(Nyquist Stability Criterion)利用了柯西副角定理(Cauchy’s argument principle),其简单的表述如下:

  • 若在sss平面用闭合曲线顺时针包围H(s)H(s)H(s)的零点,则在H(s)H(s)H(s)平面原点会被顺时针包围;
  • 若在sss平面用闭合曲线顺时针包围H(s)H(s)H(s)的极点,则在H(s)H(s)H(s)平面原点会被逆时针包围;
  • 若在sss平面用闭合曲线不包围H(s)H(s)H(s)的零点或极点,则在H(s)H(s)H(s)平面原点不会被闭合曲线包围;
  • 若在sss平面用闭合曲线顺时针包围H(s)H(s)H(s)的多个零点和极点,则在H(s)H(s)H(s)平面原点会被顺时针包围N=Z−PN=Z-PN=Z−P圈,其中ZZZ为闭合曲线中零点的个数,PPP为闭合曲线中极点的个数,若NNN为负值则表示原点被逆时针包围;

基于副角定理可以推断,如果在sss平面沿着虚轴从−∞-\infty−∞到+∞+\infty+∞、再沿着一个半径为无穷大的半圆回到−∞-\infty−∞,将覆盖H(s)H(s)H(s)所有在右半平面的零极点,那么数一数H(s)H(s)H(s)平面中原点被绕了几圈就可以推断右半平面零极点的个数。同样的道理,数一数点(-1, 0)被绕了几圈就可以推断1+H(s)1+H(s)1+H(s)右半平面零极点的个数,如下图所示(参考自奈奎斯特稳定判据):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pMO1ygb3-1584195191501)(/img/in-post/{{page.id | replace:’/’,’-’}}/Nyquist_principle.png)]

注意这里有个前提条件是原点和虚轴上没有零极点。

如果开环传函没有右半平面零极点(即P=0,Z=0P=0, Z=0P=0,Z=0),那么闭环系统稳定的充要条件是曲线不包围点(-1, 0)

对于开环传函有原点处极点的情况(例如PLL的传函),则需要补全曲线,其规则是用一个半径为无穷大的圆弧从正半实轴连接到ω=0+\omega=0^+ω=0+的点,圆弧的角度为−n⋅π/2-n\cdot\pi/2−n⋅π/2,其中nnn为开环传函中位于原点的极点个数。下图所示的为nnn分别取1、2、3的情况(从波特图上理解,可以认为在最最左侧相位从0连续变到−n⋅π/2-n\cdot\pi/2−n⋅π/2,即在相频曲线上画了一条竖线):

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rlQtzXHG-1584195191504)(/img/in-post/{{page.id | replace:’/’,’-’}}/Nyquist_principle_2.png)]

因为H(a−jb)H(a-jb)H(a−jb)与H(a+jb)H(a+jb)H(a+jb)的实部相同、虚部互为相反数(即关于实轴对称),实际应用中只需要知道ω=0+→+∞\omega=0^+\rightarrow+\inftyω=0+→+∞的情况即可。具体的可以参考:

  • How can I define stability of system if we have negative GM and positive PM ?
  • 20171005 NyquistBodeNichols.docx --by Itzhak Barkana
  • 奈奎斯特稳定判据

例1:把前面那个系统的H(s)H(s)H(s)在s=jω,ω=0→+∞s=j\omega, \omega=0\rightarrow+\inftys=jω,ω=0→+∞的值在复平面上画出,并对其做关于实轴的镜像,即得到了奈奎斯特图。在查看奈奎斯特图时需要不同级别的缩放,以观察曲线和点(-1, 0)的关系,如下图所示:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DTejPPQE-1584195191506)(/img/in-post/{{page.id | replace:’/’,’-’}}/Nyquist_OPAMP_2.png)]

由于原始奈奎斯特图不方便查看,此处引入一个缩放函数

KaTeX parse error: No such environment: equation at position 7: \begin{̲e̲q̲u̲a̲t̲i̲o̲n̲}̲ f(x)=\left\{ \…

该缩放函数可以在尽量避免影响−1<x<1-1<x<1−1<x<1的前提下大大减小不同数量级之间的差别。在释加缩放函数后奈奎斯特曲线如下图所示(需要注意两条线实际上是连接在一起的,下同)。从这张图中便很容易观察出(-1, 0)没有被闭合曲线围绕(可以把曲线想象成柔软的绳子,而(-1, 0)是一根柱子,拉住最右侧部分的绳子向右拉动,可以发现绳子不会被柱子挡住),因此系统是稳定的。至于裕量,需要通过曲线与单位圆的交点进行判断,此处不再赘述。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ulnuqd4J-1584195191509)(/img/in-post/{{page.id | replace:’/’,’-’}}/Nyquist_OPAMP_2_log.png)]

若将增益增大5倍,这条曲线会变成如下的样子,不难看出点(-1, 0)被沿逆时针方向围绕了两圈,即闭环传函在右半平面存在两个极点,系统不稳定。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g5rNg6AM-1584195191511)(/img/in-post/{{page.id | replace:’/’,’-’}}/Nyquist_OPAMP_2_log2.png)]

例2:考虑最前面带温度补偿的PLL,按照前面的规则绘制奈奎斯特图如下,同样可以看出点(-1, 0)没有被闭合曲线围绕,因此闭环系统是稳定的。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QOs38KM1-1584195191514)(/img/in-post/{{page.id | replace:’/’,’-’}}/Nyquist_PLL_wTempCal_log.png)]

尼科尔斯图

前面提到的波特图和奈奎斯特图是以两种不同的方式展示H(jω)H(j\omega)H(jω),分别是KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲#124;H(j \omega…和image(H(s))−real(H(s))image(H(s))-real(H(s))image(H(s))−real(H(s)),而尼科尔斯图(Nichols Plot)是另外一种展示方式,它是KaTeX parse error: Expected 'EOF', got '&' at position 1: &̲#124;H(j\omega)…曲线,如下图所示。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fp4TUlVM-1584195191516)(/img/in-post/{{page.id | replace:’/’,’-’}}/Nichols_OPAMP_2.png)]

波特图上的两条虚线就变成了尼科尔斯图上的一个点,一般情况下若点(-180∘^\circ∘, 0dB)在曲线的右侧(沿着ω\omegaω从小到大的方向看),则表示闭环系统稳定。而与波特图类似的,若相位多次穿过180∘^\circ∘,这种判据也会存在问题。

总结

本文的目的是探究负的增益裕量的含义和汇总常用的稳定性判据:

  • 增益裕量为负时闭环系统也可以是稳定的,只是说明若环路增益减小系统会进入不稳定状态,但如何直观的理解这一现象我还没找到答案;
  • 除了常见的巴克豪森判据,还有解析法、根轨迹法、奈奎斯特判据等方法可以稳妥的判断闭环系统是否稳定。

为什么增益裕度可以是负数相关推荐

  1. matlab 裕度指令,相位裕度增益裕度Matlab命令w=logspace-13.PPT

    相位裕度增益裕度Matlab命令w=logspace-13 4.1 s平面和z平面之间的映射 4.2 稳定性分析 4.3 稳态误差分析 4.4 时域特性分析 4.5 频域特性分析 4.6 应用实例 4 ...

  2. 带隙基准中运放相位裕度与增益裕度

    参考:基准 stb 带隙基准包括两回路:正反馈回路和负反馈回路.电路要稳定就需要负反馈增益大于正反馈增益,STB仿真需要验证的就是这点,所以你需要做的是断开两个回路的公共节点进行环路稳定性仿真. br ...

  3. 在Simulink中调整增益映射 Tune Gain Schedules in Simulink

    文章目录 调节增益调度的工作流程 Workflow for Tuning Gain Schedules 1)选择一组设计点,充分覆盖你需要调优的操作范围 2)获取一组在设计点处描述线性动力学性能的线性 ...

  4. matlab 幅值相角裕度,伯德图分析-稳定性-及幅值和相角裕度.ppt

    <伯德图分析-稳定性-及幅值和相角裕度.ppt>由会员分享,可在线阅读,更多相关<伯德图分析-稳定性-及幅值和相角裕度.ppt(51页珍藏版)>请在装配图网上搜索. 1. 线性 ...

  5. 利用MATLAB确定幅值裕度和相角裕度:margin命令

    运用函数margin能够直接在伯德图上确定系统的相对稳定性指标,同理,与绘制伯德图类似,一种返回参数不绘图,另一种绘图并直接显示出幅值裕度和相角裕度. 何为相对稳定性指标? 增益裕度(幅值裕度):G. ...

  6. 对增益、相位裕度的个人理解

    对于标称的反馈系统(如下所示),系统是稳定的. 闭环系统传递函数为,但是实际系统中,会有干扰,是的实际的闭环系统如下所示. 此时闭环系统传递函数,那么如何衡量干扰项.对系统稳定性指标造成的影响呢?我们 ...

  7. matlab算幅值裕量,matlab计算相角裕度

    问题: 如图所示的系统, 画出当K=45时 的伯德图, 并确定增益裕度和相位裕度. 计算使系统稳定的最大K值, 并用劳斯阵 列验证其结果. R + ? - K 1 (...... (0 1) 从 而可 ...

  8. 一招教你轻松看懂波特图

    点击上方"小麦大叔",选择"置顶/星标公众号" 福利干货,第一时间送达 波特图的主要功能是用来表示系统的频率特性,包括幅频特性和相频特性.假设有一个系统用于跟随 ...

  9. 开关电源的反馈回路有那么难吗?

    目录 基础知识 零极点 常见的几个环节 开环与闭环 开环 输出滤波器 功率级 闭环 PWM比较器 分压采样器 误差放大补偿器 反馈补偿 电压环 123型的补偿器电压环 431的电压环 电流环 峰值电流 ...

  10. 电源稳定性测试软件,电源测试:电源设计的稳定性测量

    此前,我已经发表了有关如何测试电源设计的三篇文章中的前两篇,即效率测量(第 1 篇)和噪声测量(第 2 篇).文章主要涵盖各种噪声源以及如何使用示波器正确测量噪声.此外,我还讨论了由线路及负载瞬态产生 ...

最新文章

  1. 门限的限意思是什么_门限是什么意思_门限英文翻译
  2. Python中运算符 is 和 == 的区别
  3. 工控机的io开发_Amazing!从树莓派4B主板到嵌入式无风扇工控机,只需三步!
  4. 几个 PHP 的“魔术常量”
  5. 如何优化增强第三方库?
  6. ubuntu - 安装hive
  7. php判断外链,php检查字符串中是否有外链的方法
  8. 发布dotNetCore程序到Kubernetes
  9. 思科华为基础命令对照表
  10. 扩展 TextBox 控件 - 依 FormViewMode 来自行设定状态
  11. [转]众多OCR软件
  12. 基于SpringBoot的QQ邮箱登录注册
  13. Markdown基操
  14. Elang在Windows console下显示中文
  15. 用java生成word文档(转载)
  16. 分析便宜云主机价格低的因素
  17. 一年级的小孩可以学习机器人编程
  18. Python - 计算复杂算式和分式
  19. python+百度翻译api制作中英文互转的代码应用实例
  20. 深圳云计算培训:文件属性 chattr

热门文章

  1. MOSFET管电流方向能反着流吗?体二极管能过多大电流?MOS管构造
  2. 【TCP/IP】IP地址分类和特殊IP地址
  3. 如何批量识别二维码图片信息?
  4. 【Excel 教程系列第 15 篇】Excel 中的简单排序(升序 / 降序)、多条件排序、按颜色排序、自定义排序、以及巧用“升序“制作工资条
  5. Python大数据分析(三):大数据统计分析技术
  6. 脑与认知科学基础(期末复习)
  7. html页面的bug记录:简单记录几个编辑html页面遇到的问题
  8. workFlow学习总结---------------------常用的工作流引擎
  9. roundcube邮箱手机端_用户换了手机号码后,产品该如何应对?
  10. Android studio连接网易MuMu模拟器