matlab伯德图绘制_怎么学习经典控制(结合MATLAB)

218af47c85e9b25bdfbaad9540300414.png

经典控制可以说是控制学科的入门级教程了,虽说实际工程中经典控制对应的单输入单输出系统并不多,但是对于经典控制的学习仍旧十分有必要,它可以带领我们打开控制学科的大门,掌握一些探索的方法,且对于我们以后学习更复杂的系统大有裨益。我自己本科阶段也只接触过经典控制,并没有学习过现代控制等科目,因此在进一步深入学习之前又把经典控制的教材翻出来仔细回顾了一遍,本篇文章希望讲述一些自己二次学习的心得,分享一些研究思路(^∀^●)ノシ

经典控制对应国内的本科阶段教材其实就是《自动控制基础》,《自动控制基础》所讨论的范畴都属于经典控制,它的研究主要可以看作以下几个方面。

93c281495c406d72ee78ce48be98f6fe.png

一、一些基本概念

1、首先我们需要区分经典控制与现代控制。经典控制讨论的系统都是线性时不变系统(满足齐次性与叠加性且系统输出的结果与输入的时刻无关),对应着单输入与单输出。我们通常使用传递函数来表征这一系统。那么问题也马上就来了,我们对于这个系统的认知仅仅只是通过这个单一的传递函数,但是系统内部具体各状态是怎样的我们无法得知,因而如果我们可以使用多输入多输出去研究这个系统就可以获得更全面的信息,这便是现代控制所讨论的问题了。

2、不知道大家是否有疑问为什么传递函数都是以拉普拉斯变换的形式给出,我最初学习的时候一直心存疑惑,怎么就所有的传递函数都是这种带s的形式呢?这其实都是为了分析的方便,我们研究系统的特性本质上其实都是在研究一系列的微分方程。例如我们拿到一个电路,首先根据电路知识列写出一系列电压电流平衡方程结合电容电感的特性,联立推导出输出

equation?tex=u_%7Bo%7D 与输入
equation?tex=u_%7Bi%7D 的关系,这时候得出的方程便是微分方程。往往很多时候这些微分方程非常复杂,较难进行下一步的计算分析,因此我们便进行拉普拉斯变换,将微分
equation?tex=%5Cfrac%7Bd%7D%7Bdt%7D 转换成
equation?tex=s 的形式,大大有利于后续的分析。且我们研究系统的传递函数都是要求在零初始条件下,因为一些历史状态可能会影响到当前系统的性能,而拉普拉斯变换的下限又是从0开始的,完美符合我们的需求。

3、时域分析法、根轨迹法、频率特性法本质上都是研究传递函数的一种方法,只是有各自的特点和适用场合。

4、无论是哪种方法去分析系统,我们通常都会从三个方面来评估,即稳定性、动态性能、稳态性能。我们总是希望一个系统是稳定的,这是最基本的要求,虽然很多教材都花了大量的篇幅在研究稳定性上,但实际工程中我们更多去考虑的是稳态性能,即一个已经稳定的系统到底可以有多稳定(因为不稳定的系统基本没什么用途)以及这个系统的动态性能。这时候也将会引出一个控制中非常重要的思想——权衡,即tradeoff 。动态性能和稳态性能不可能同时达到最完美的理想状态,通常情况下一方的增加就会导致另一方的减弱,因此我们需要在两者之间做出权衡,最大程度的改善系统性能。

5、我们需要熟悉一些典型环节及其传递函数。常见的环节有比例环节(

equation?tex=k )、惯性环节(
equation?tex=%5Cfrac%7B1%7D%7BTs%2B1%7D )、积分环节(
equation?tex=%5Cfrac%7B1%7D%7Bs%7D )、微分环节(
equation?tex=+s )、震荡环节(
equation?tex=%5Cfrac%7B1%7D%7BT%5E%7B2%7Ds%5E%7B2%7D%2B2%5Cxi+Ts%2B1%7D )、延迟环节(
equation?tex=%5Cfrac%7B1%7D%7Be%5E%7B%5Ctau+s%7D%7D ),这些环节我们用多了自然会熟悉,在经典控制中会非常常见。

6、求解传递函数除了通过电路分析列方程之外还有两种经典方法,结构图与信号流图求解。两种方法都是通过画图来推导,有时候系统较复杂时我们可以用这两种方法来推导传递函数(当然现在有了MATLAB就很少用这些方法了)。

7、我们研究系统所选择的输入信号大多时候都是单位阶跃函数,有时候也会选用单位斜坡函数和单位抛物线函数。他们的时域表达式和拉普拉斯变换分别如下所示(只讨论

equation?tex=t%5Cgeq0 ):

单位阶跃函数:

equation?tex=f%28t%29%3D1
equation?tex=L%28s%29%3D%5Cfrac%7B1%7D%7Bs%7D

单位斜坡函数:

equation?tex=f%28t%29%3Dt
equation?tex=L%28s%29%3D%5Cfrac%7B1%7D%7Bs%5E%7B2%7D%7D

单位抛物线函数:

equation?tex=f%28t%29%3D%5Cfrac%7B1%7D%7B2%7Dt%5E%7B2%7D
equation?tex=L%28s%29%3D%5Cfrac%7B1%7D%7Bs%5E%7B3%7D%7D

8、开环/闭环问题,相信这个知识点大家都很熟悉,我们所讨论的系统基本都是闭环系统,因为开环系统无法做到根据实际情况变化而自我调节。

二、时域分析

1、时域分析法是基于系统的微分方程,以拉普拉斯变换为数学工具,直接解出系统的时间响应,然后根据时间响应的表达式以及时间响应曲线来分析系统的控制性能。

2、控制系统的时间响应都有两部分组成,瞬态响应(

equation?tex=t%5Crightarrow%5Cinfty ,值为0)和稳态响应(
equation?tex=t%5Crightarrow%5Cinfty ,值不为0)。瞬态响应描述动态性能,稳态响应描述静态性能。

3、前两点让我们对于时域分析有一个初步的概念,接下来就是时域分析法研究系统动态性能最重要的两项指标了:调节时间

equation?tex=t_%7Bs%7D 和最大超调量
equation?tex=%5Csigma+%5C%25 ,这两项指标的概念大家肯定熟悉,调节时间侧重于反映系统快速性,最大超调量侧重于反映系统平稳性。

4、有了动态性能指标以后,就要分析一阶系统和二阶系统的动态性能了,根据阻尼比的大小可以分为过阻尼系统(

equation?tex=%5Cxi%3E1 )和欠阻尼系统(
equation?tex=0%3C%5Cxi%3C1 )。过阻尼系统的调节时间太长,因此一般希望系统处于欠阻尼状态。开环增益系数以及零极点的个数、分布等都会对系统产生一定的影响,至于具体会产生怎样的影响,就需要我们自己动手去计算分析了,这样进行学习的话会非常有感悟的!举个例子,通过计算分析可知对于二阶系统而言,引入零点可以使响应更加迅速,但超调量会增大。

5、分析完动态分析,接着来分析稳定性。一个系统稳定的充要条件是它的所有闭环极点都在s平面左半侧,这就需要我们求出传递函数特征方程所有的根了。但对于三阶以上的系统其实就非常难解了,因此劳斯稳定判据便出现了,时域中常用的稳定性判定方法就是劳斯稳定判据,由此我们便可以轻松的判定系统的稳定性。

6、正如之前所说,稳定只是一个要投入使用的系统的最基本的要求,我们更重要的是要去分析它的稳态性能,而稳态性能的衡量指标就是稳态误差

equation?tex=e_%7Bss%7D (稳态误差通俗讲就是时间趋于无穷大时候的偏差量大小)。系统根据积分环节的数量可以划分为0型,I型和II型系统,然后我们就需要去分析这三种系统的稳态误差了。选取之前所学的三种典型输入信号当作输入分别计算出各自的稳态误差,可以发现系统型别越高,能够准确跟踪输入信号的能力就越强(消除稳态误差的能力越强)。例如对于抛物线输入信号,只有II型系统可以正常跟踪(tracking)。那么是不是积分环节越多就越好呢?那也不是,前向通道的积分环节越多,系统的稳定性就越难保持。

7、下面讲一些MATLAB进行时域分析的简单操作吧~

(1)创建传递函数表达式:我们先来熟悉几个英文单词numerator(分子)、denominator(分母)、transfer(传递)、zero(零点)、pole(极点),程序中将用这些单词作为变量名。

num = [2,-4,-6];  %分子
den = [1,5,8,6];  %分母
G1 = tf(num,den)  %有理分式的传递函数
z = [-1,3];  %零点
p = [-3,-1-j,-1+j];  %极点
k = [2];  %增益
G2 = zpk(z,p,k)  %零极点形式的传递函数

G1 =
     2 s^2 - 4 s - 6
  ---------------------
  s^3 + 5 s^2 + 8 s + 6
Continuous-time transfer function.
G2 =
     2 (s+1) (s-3)
  --------------------
  (s+3) (s^2 + 2s + 2)
Continuous-time zero/pole/gain model.

(2)求系统的单位阶跃响应,用step()函数。并且鼠标指向曲线上任何一点,可以读取到该点对应的时间和幅值。

num = [5,15];  %分子
den = [1,14,8,15];  %分母
step(num,den)
grid on
xlabel('t'),ylabel('c(t)')
title('单位阶跃响应')

0f663f3b8cd8381183c02bf09e49f747.png

(3)求取特征根分析稳定性:例如求解特征方程

equation?tex=D%28s%29%3Ds%5E%7B4%7D%2Bs%5E%7B3%7D%2B3s%5E%7B2%7D%2B3s%2B2%3D0 的根。
den = [1,1,3,3,2];  %输入系数
roots(den)  %求解

ans =
   0.1304 + 1.5891i
   0.1304 - 1.5891i
  -0.6304 + 0.6240i
  -0.6304 - 0.6240i

三、根轨迹

1、上节我们知道了可以用时域分析法去研究一个系统,但是这种方法显然面对高阶系统时比较难计算,另一方面,运用劳斯稳定判据我们只能够求出使系统稳定的一个k的范围,而无法看出闭环系统的极点分布根据k的变化会是怎样的轨迹。因而根轨迹法就出现了,它是一种根据开环系统的零极点分布去描绘出闭环系统的极点分布轨迹的方法。我们通常以开环增益

equation?tex=k_%7Bg%7D 作为变量,画出当
equation?tex=k_%7Bg%7D%5Crightarrow%5Cinfty 时,闭环系统的极点分布轨迹,这也成为常规根轨迹,是我们最频繁使用的一种根轨迹。如果以其它指标作为变量例如零极点,则称为参量根轨迹。

2、目前我们绘制根轨迹基本都是通过MATLAB来完成,但是人工绘制的方法我们也需要熟悉,只有这样才能了解根轨迹的深层次原理,成为一名合格的控制工程师~这里希望大家可以记住两点重要结论:增加开环零点可以使得根轨迹往左移;增加开环极点可以使得根轨迹往右移动。这两点结论在后续的校正环节中也十分重要!

3、MATLAB绘制根轨迹:(root locus(根轨迹))

num = 1;
den = [1,5,8,6,0];
rlocus(num,den)  %绘制根轨迹
title('开环传递函数为G = k/(s^4+5s^3+8s^2+6s)')
[rk] = rlocfind(num,den)  %计算该点闭环极点值以及根轨迹增益

d23951bea85ce327ef623c7d11f3b6ca.png

('+'代表所选取的点)

四、频率特性

1、频率特性法的出现背景和根轨迹大抵是一致的,都是为了解决时域分析法分析高阶系统时的不足而提出的,且我相信大家总喜欢看图大过于看公式( ̄︶ ̄*))

2、频率分析法是线性定常系统在正弦函数作用下,稳态输出与输入之比对频率的函数关系。它的输入信号为正弦函数,至于选取正弦函数作输入来研究系统有什么好处,在之前的复变基础中已经说明过~

念久:聊聊复变那些事(下)​zhuanlan.zhihu.com
8b1650a573e83c5cecb90692b0dc3a36.png

将传递函数中的

equation?tex=s 换为
equation?tex=jw ,其实就得到了频率特性表达式,频率特性本质上描述了在不同频率下,系统传递正弦信号的能力。

3、我们研究频率特性常用的图示方法有三种:幅相频率特性曲线(奈奎斯特曲线)、对数频率特性曲线(伯德图)、对数幅相特性曲线(尼柯尔斯曲线)。其中最常用的就是伯德图,因为伯德图的横坐标采用对数分度,更方便我们观察。若要加入一些环节,则在伯德图中同频率下可以实现直接相加,而不用在表达式中去相乘,而且伯德图可以十分清晰的展示出所有频率段上幅值和相位的变化,这也正好就是正弦函数输入系统后会发生改变的部分。

伯德图上我们通常会根据频率大小分为三个频段,人工绘制时我们会分别用渐近线去逼近实际曲线。低频段通常指在第一个转折频率之前的区段,低频段的斜率代表了系统型别,也即象征着系统的稳态精度;中频段是指在截止频率附近的区段,反映了系统的平稳性和快速性;高频段是由系统中时间常数很小的部件所决定的,反映了抗高频干扰能力。当然,如今用MATLAB绘制伯德图也十分方便。

4、最小相位系统指的是系统开环传递函数的全部极点位于s左半平面,没有零点在s右半平面。称这种系统为最小相位系统是因为在

equation?tex=w 从0变化到
equation?tex=%5Cinfty 时,系统的相角变化范围最小。

5、频域中我们分析系统稳定性常用的方法就是奈奎斯特稳定判据,那么为什么我们在运用奈奎斯特稳定判据的时候所参照的一个重要点是(-1,j0)而不是原点呢?那是因为我们判断系统稳定性就要探讨闭环系统的特征方程

equation?tex=1%2BG_%7Bk%7D%28s%29 的根分布情况,而讨论开环传递函数
equation?tex=G_%7Bk%7D%28s%29 总是会来的更为方便,因此数学家们就将原来的函数图像在实轴上左移一个单位,这样一来先前的参照原点自然也就变成了(-1,j0),所以这个点主要就是为了消除闭环系统特征方程中那个常数1的影响,从而将问题简单化。

奈奎斯特稳定判据要讨论开环传递函数的频率特性曲线以顺时针包围(-1,j0)的圈数就是这个道理。根据幅角原理可知圈数N=Z-P(其中的P指的是开环传递函数分布在S右半平面的极点个数),为使系统稳定,则需要满足Z=0,也即N=-P,即闭环传递函数特征方程没有在s右半平面的根。

6、我们还需要清楚两个十分重要的概念:幅值裕度和相位裕度。

(1)相角穿越频率指的是奈奎斯特图中曲线与负实轴的交点所对应的频率

equation?tex=w_%7Bg%7D ,也即伯德图中相角与-180度曲线的交点频率。而幅值裕度就是(-1,j0)点的幅值与相角穿越频率对应的幅值
equation?tex=A%28w_%7Bg%7D%29 之比,即
equation?tex=h%28g%29%3D%5Cfrac%7B1%7D%7BA%28w_%7Bg%7D%29%7D

(2)截止频率(也叫做幅值穿越频率)指的是伯德图中幅值衰减为0时的频率,而相位裕度可以表示为

equation?tex=%5Cgamma%3D180%2B%5Cvarphi%28w_%7Bc%7D%29 。设稳定系统在截止频率处若相角再滞后一个角度
equation?tex=%5Cgamma ,则系统处于临界稳定状态,若相角滞后大于
equation?tex=%5Cgamma 则不稳定。

看完上述两点阐述是不是还有点迷糊呢?不急,我们再从图形角度去直观的理解一波~

9b0ef5edf7c7b6a22d216687f025f79b.png

我们经常使用开环传递函数的频率特性表达式

equation?tex=G_%7Bk%7D%28jw%29 来分析系统性能,以原点为圆心,1为半径画一个单位圆,奈氏曲线与负实轴相交点的频率为相角穿越频率,与单位圆的相交点频率为幅值穿越频率。此时幅值裕度和相位裕度所代表的具体指标可以在图中直观的看出,因此当稳定系统的增益(gain)增大到幅值裕度
equation?tex=h_%7Bg%7D 以上,或者系统在截止频率处的相角滞后角度大于
equation?tex=%5Cgamma 时,都会导致一个共同现象——奈氏曲线与负实轴的交点变化到相对于(-1,j0)点的另一侧!以图示系统为例,曲线与负实轴的交点就会从(-1,j0)的右侧变换到左侧。这会导致什么严重后果呢?这将会使得奈氏曲线顺时针围绕(-1,j0)点的圈数发生改变,因而这个时候根据奈奎斯特稳定判据,N大小若发生变化,则这个原本稳定的系统N必然不再等于-P,就会导致系统不稳定。所以也把曲线经过(-1,j0)点的时候称为临界稳定状态。

通常我们只有在研究最小相位系统时才会用到相位裕度和幅值裕度来评估系统的稳态性能指标,而最小相位系统的开环传递函数没有极点位于S右半平面,所以要使系统稳定必须满足N=0,所以奈氏曲线不应穿越负实轴上(-1,j0)点的左半部分,因而要求最小相位系统稳定的条件为

equation?tex=h_%7Bg%7D%3E1 并且
equation?tex=%5Cgamma%3E0 。当然实际工程中为了改善稳态性能,会对这两项指标提出更高的要求,这通常就需要我们通过校正来实现了,在下一节中也会讲到。

7、到了日常的MATLAB演示部分(^∀^●)ノシ

(1)奈奎斯特曲线绘制

num = [2,5,1];
den = [1,2,3];
nyquist(num,den)

b07b3e6137351789fd222849b6fdf26d.png

(2)伯德图绘制

num = 1000 * [1,5];
den = conv([1,2,0],[1,4,100]);  %conv(u,v)返回向量u和v的卷积。如果u和v是多项式系数的向量,则对它们进行卷积相当于将两个多项式相乘。
bode(num,den)  %绘制的开环传递函数为1000(s+5)/s(s+2)(s^2+4s+100)

5231499239bce7ed475bca47bd6b2d6a.png

(3)分析相对稳定性

num = 2500;
den = conv([1,0],conv([1,5],[1,50]));
[hg,r,wc,wg] = margin(num,den) %求出幅值裕度、相位裕度、截止频率、相位穿越频率

58a715940f47962d5cee7a7270389433.png

五、校正

1、校正可以分为针对根轨迹的校正以及针对频率特性的校正。每种校正方法又可以相应分为串联校正、反馈校正、复合校正。

2、串联校正的校正装置通常放在前向通道中,结构简单,易于实现,通常由低能量向高能量部位传递信号,加上校正装置本身的损耗,必须进行能量补偿;反馈校正也称为并联校正,是一种局部反馈,可以改造被反馈包围环节的特性(例如积分环节加上局部反馈可以变为惯性环节),抑制这些环节参数的波动或非线性因素对系统行造成的不良影响,通常由高能量向低能量部位传递信号;复合反馈是指在主反馈回路之外采用的校正。这里我们主要讨论串联反馈。

3、咱们平时比较常见的就是超前校正和滞后校正了,下面来分别说说他们的特点。要注意的是每种校正对应的电路都分为无源网络和有源网络,因为我本科是学习的电气工程及其自动化,所以对于电路比较敏感( ̄︶ ̄*))建议大家也可以把这些常用电路记一记,有助于理解~

(1)超前校正:观察超前校正装置的伯德图我们就很直观地可以看出它的特点,

equation?tex=L%28w%29 在低频段幅值为0,之后幅值上升,
equation?tex=%5Cvarphi%28w%29 一直大于0;说明校正过后的系统低频段幅值不变,高频段幅值被放大,相角超前于原系统。由于幅值放大使得截止频率变大,相当于一个高通滤波器。个人认为超前和滞后校正其实就是加入零极点来改善系统特性,从无源网络的表达式
equation?tex=G_%7Bc%7D%28s%29%3D%5Cfrac%7Bs%2B%5Cfrac%7B1%7D%7BT%7D%7D%7Bs%2B%5Cfrac%7B1%7D%7B%5Calpha+T%7D%7D 就可以看出其实相当于串入零极点,对于超前校正来说,由于
equation?tex=%5Calpha+%3C1 ,所以零点更靠近虚轴,零点起主导作用,而之前学到加入零点可以使得根轨迹左移,相当于微分环节,有利于改善系统动态性能。

(2)滞后校正:同理,滞后环节校正后的系统低频段幅值不变,高频段幅值衰减,相角滞后于原系统,相当于低通滤波器。加入的极点比零点更靠近虚轴,因此极点起主导作用,相当于积分环节,有利于改善系统的稳态性能。

(3)所以这两种校正环节的目的是不同的,我们可以根据实际所需来合理选择。如果对应到PID调节,又可以类似于PD调节器相当于超前校正,PI调节器相当于滞后校正。有关控制工程中十分重要的PID控制,我想等到自己再有更深入的了解后专门来写一篇探讨PID~

参考文献

1、自动控制原理,刘国海等著,机械工业出版社

  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值