本节将引入一组概念和工具来分析动态的影响。为此,将引入框图、线性微分方程和传递函数等概念。框图是一个抽象模型,它用互连的方块来描述系统,每个方块的输入/输出行为用微分方程来描述。传递函数是复变量的函数,是描述系统动态的微分方程的一种便捷表示。对于用框图表示的复杂系统,传递函数使人们能够用简单的代数运算来找出其信号间的关系。传递函数在虚轴上的值对应系统对正弦信号的稳态响应,这意味着可以用实验的方法由正弦信号的稳态响应来确定传递函数。
在许多实际应用中,系统的输入/输出行为可以用以下形式的线性微分方程来建模:
式中, u 是输入, y 是输出,系数 a k 和 b k 是实数。微分方程(2.10)由两个多项式确定:
式中, a ( s )是微分方程(2.10)的 特征多项式 (characteristic polynomial)。这里假定多项式 a ( s )和 b ( s )没有相同的根(有相同根的情况将在8.3节讨论)。
式(2.10)表示的是一个 时不变系统 (time-invariant system),因为当 u ( t )和 y ( t )满足该式时,则 u ( t + τ )和 y ( t + τ )也满足该式。该式也是 线性 的,因为当 u 1 ( t )、 y 1 ( t )和 u 2 ( t )、 y 2 ( t )满足该式时,则 αu 1 ( t )+ βu 2 ( t )、 αy 1 ( t )+ βy 2 ( t )(其中 α 和 β 是实数)也满足该式。线性时不变的系统常被称为LTI 系统 (LTI system)。可以将这种系统形象化为一张庞大的表,表中的内容对应输入/输出信号对。LTI系统的一个重要特性是,它可以用精心挑选的单个输入/输出信号对来描述,例如用系统对一个阶跃输入的响应来表示。
式(2.10)的解是两项之和:一项是 齐次方程 (homogeneous equation)的通解,它与输入无关;另一项是 特解 (particular solution),它取决于输入。式(2.10)的齐次方程为:
令 s k 为 特征方程 (characteristic equation) a ( s )=0的根,如果没有重根的话,那么式(2.12)的解具有以下的形式:
式中,系数 C k 可由 t =0时的初始条件确定。
由于系数 a k 是实数,所以特征方程的根要么是实数,要么以复共轭对的形式出现。特征多项式的实根 s k 对应指数函数 。如果 s k 为负,则此指数函数随时间减小(见图2.3b);如果 s k =0,则此指数函数为恒值(见图2.3a);如果 s k 为正数,则此指数函数随时间增大(见图2.3c)。对于实数根 s k ,参数 T =1/ s k 称为 时间常数 (time constant),因为它描述了相应函数衰减的速度。
图2.3 指数信号的例子。图a、b、c对应具有实指数的指数信号,图d、e、f对应具有复指数的指数信号。在图e、f中,虚线表示振荡信号的包络线。无论实指数或复指数,如果指数的实部为负,则信号衰减;如果实部为正,则信号增长
复根 s k = σ ±i ω 对应时间函数e σt sin( ωt )和e σt cos( ωt ),它们具有振荡的行为,如图2.3d~f所示。其中实线所示为正弦项,它们的过零点的间距为π/ ω 。虚线所示为包络线,对应指数函数±e σt 。
当特征方程有重根时,齐次方程(2.12)的解具有以下的形式:
式中, C k ( t )是一个多项式,其阶数小于根 s k 的重复次数。式(2.14)这样的解有 个自由参数。这种情况在6.2节中做了更详细的讨论。
在介绍了齐次方程的解之后,现在来介绍依赖输入的那部分解。式(2.10)在指数输入下的解是特别有意义的,下面予以说明。设 u ( t )=e st ,其中 s ≠ s k 是一个复数,下面分析是否存在 y ( t )= G ( s )e st 形式的唯一特解。假定有这样的解存在,那么有:
将这些表达式代入微分方程(2.10)可得:
( s n + a 1 s n -1 +…+ a n ) G ( s )e st =( b 0 s m + b 1 s m -1 +…+ b m )e st
因此
此函数称作系统的 传递函数 (transfer function)。它描述了在指数输入e st 下,微分方程的特解。将这一点与齐次方程的解相结合,发现微分方程式(2.10)对指数输入 u ( t )=e st 的解是:
传递函数(2.16)与微分方程(2.10)之间的关系是明确的:通过观察微分方程(2.10)可以得到传递函数(2.16);相反,如果多项式 a ( s )和 b ( s )没有公因子,则也可以由传递函数得到微分方程。因此,传递函数 G ( s )可以视作微分方程(2.10)的简写表示。虽然传递函数是作为系统对特定输入 u ( t )=e st 的响应而推导出来的,但它却是微分方程的一个完整描述。需要注意的是,必须同时提供输入和初始条件,才能获得微分方程的全解——式(2.17),全解也称作系统的 响应 (response)。
为了处理振荡信号,即图2.3d~f所示的信号,我们容许 s 为复数。这样一来,传递函数 G 就是将复数映射到复数的函数。用arg代表复数的辐角(相位角),用 表示复数的幅值(模),并注意到对于输入 u =e i ωt =cos ωt +isin( ωt ),其复响应为 G (i ω )e i ωt 。仅使用信号的虚部,可以得到输入 u =sin( ωt )=Im e i ωt 的特解是:
可见,将输入放大 倍,就是输出的幅值,输入和输出之间的相移就是 G (i ω )的辐角arg G (i ω )。函数 G (i ω )、 和arg G (i ω )分别称作 频率响应 (frequency response)、 增益 (gain)和 相位 (phase)。增益和相位也称为 幅值 (magnitude)和 相角 (angle)。
当输入和输出为常数时,即 u ( t )= u 0 和 y ( t )= y 0 时,微分方程(2.10)具有特解 y ( t )=( b m / a n ) u 0 = G (0) u 0 ,这可以通过令 s =0得到。可见,输入放大了 G (0)倍,因此 G (0)称作零 频增益 (zero frequency gain),有时也称为 静态增益 (static gain)。如果微分方程是稳定的,那么当 t 趋向于无穷大时,解将收敛到 G (0) u 0 。
指数输入的全响应,等于特解加上由初始条件确定的齐次方程的解,如式(2.17)所示。图2.4中给出了传递函数 G (s)=1/( s +1) 2 的一个解的例子。图中虚线为纯正弦波,是当式(2.17)中所有 C k 为零时得到的解;实线是选取 C k 使得 y (0)及各阶导数 y ( k ) (0)( k =1,…, n -1)均为零时的响应。由于特征多项式的所有根都具有负实部,因此当 t →∞时,齐次方程(2.14)的解将趋向于零,全响应收敛到特解。
图2.4 一个线性时不变系统对正弦输入的两种响应。虚线为纯正弦输出(通过初始条件的选择来实现纯正弦输出);实线为初始条件 y (0)=0、 y ′(0)=0时的响应。所用传递函数为 G ( s )=1/( s +1) 2
传递函数有多种可用于洞察、分析及设计的解释。特征方程 a ( s )=0的根 s k 称作传递函数的 极点 (pole):当 s = s k 时,传递函数的值为无穷大。极点 s k 出现在齐次方程通解的指数中,如式(2.13)、式(2.14)所示。拥有“轻阻尼”极点[Re( s k )为负但接近于零]的系统,当施加一个频率接近于 s k 的虚部的正弦输入时,可能会出现共振。
多项式 b ( s )的根 s j 称作传递函数的 零点 (zero)。其原因在于, b ( s j )=0, G ( s j )=0,因此对应输入 的特解也是零。对此的一个系统性的理论解释是,指数信号 的传输被零点 s = s j 所阻断,因此零点也称为 传输零点 (transmission zero)。
G (0)是恒定输入的零频增益,频率响应 G (i ω )里承载着正弦输入的稳态响应。对于稳定的系统,通过实验研究其对正弦信号的稳态响应,可以确定系统的频率响应。这是对物理建模的一个替代方案或补充。第9章将对传递函数和频率响应做更详细的研究。
在使用反馈时,始终存在着系统可能变得不稳定的危险,因此,非常需要一个稳定性的判据。如果齐次方程(2.12)的所有解在任何初始条件下都趋向于零,则微分方程(2.10)称为 稳定的 (stable)。由式(2.14)可见,这要求以下特征方程的所有根都具有负实部:
a ( s )= s n + a 1 s n -1 +…+ a n =0
解析计算高阶多项式的根通常很困难。 劳斯-赫尔维茨判据 (Routh-Hurwitz criterion)是一个稳定性判据,它利用特征多项式的系数来描述稳定的条件,不需要明确计算多项式的根。
下面用低阶微分方程来说明劳斯-赫尔维茨判据。一阶微分方程在特征多项式的系数 a 1 为正时是稳定的,因为特征多项式的根为 s = -a 1 <0。对于二阶微分方程的特征多项式,根的表达式为:
很容易验证,只有当 a 1 >0、 a 2 >0同时成立时,根的实部才都是负的。三阶微分方程更为复杂,但可以证明,其特征根具有负实部的充要条件是:
四阶微分方程的相应条件是:
劳斯-赫尔维茨判据 [97] 为任意高阶多项式给出了类似的条件。依据它,人们只需要分析特征多项式系数的各种组合的符号,即可判断线性微分方程的稳定性。
正如在第1章看到的那样,控制系统通常用框图来描述,如图1.1和图1.4所示。如果用传递函数来表示各方块的行为,则只需要进行简单的代数运算即可获得系统的传递函数。从式(2.17)可以看出,传递函数可以由输入信号e st 的特解来获得。为了获得多个方块组成的系统的传递函数,设输入信号为指数信号 u ( t )=e st ,并计算所有方块的对应特解。
以图2.5a的系统为例,它由具有传递函数 G 1 ( s )和 G 2 ( s )的两个系统串联而成。假定系统是稳定的,并令系统的输入为 u ( t )=e st ,以便只关注指数响应。第一个方块的输出是 y 1 ( t )= G 1 ( s )e st ,这也是一个指数函数;第二个方块的输出是 y ( t )= G 2 ( s ) y 1 ( s )= G 2 ( s ) G 1 ( s )e st = G 2 ( s ) G 1 ( s ) u ( t )。因此,系统的传递函数是 G yu ( s )= G 2 ( s ) G 1 ( s ),其中约定下标的右字母为输入,下标的左字母为输出,所以 y = G yu u 。
接下来考虑图2.5b。假设输入为 u ( t )=e st ,方块的指数输出分别是 y 1 ( t )= G 1 ( s )e st 和 y 2 ( t )= G 2 ( s )e st 。那么系统的输出为:
y ( t )= G 1 ( s )e st + G 2 ( s )e st =[ G 1 ( s )+ G 2 ( s )]e st
因此,传递函数分别为 G 1 ( s )和 G 2 ( s )的方块并联连接时,系统的传递函数是 G yu ( s )= G 1 ( s )+ G 2 ( s )。
最后考虑图2.5c所示的反馈连接。如果输入是指数函数 u ( t )=e st ,那么有:
y ( t )= G 1 ( s ) e ( t )= G 1 ( s )[ u ( t ) -G 2 ( s ) y ( t )]= G 1 ( s )[e st -G 2 ( s ) y ( t )]
求解 y ( t )可得:
图2.5 线性系统的互连。图a为串联,图b为并联,图c为反馈连接。令所有输入信号为指数函数,通过代数运算即可获得复合系统的传递函数
因此,当传递函数分别为 G 1 ( s )和 G 2 ( s )的方块构成反馈连接时,传递函数为:
可见,通过使用多项式和传递函数,反馈系统的信号之间的关系可以由代数运算获得。经过适当的实践训练,传递函数往往可以通过观察得到,第9章将做更详细的介绍。
用于控制系统分析和设计的许多软件包可以直接进行传递函数运算。在MATLAB中,传递函数:
可通过命令 s=tf('s') 和 G=(s+1)/(s^2+5*s+6) 创建。给定两个函数 G1 和 G2 ,可使用命令 Gs=series(G1,G2) 、 Gp=parallel(G1,G2) 和 Gf=feedback(G1,G2) 得到串联、并联和反馈连接的传递函数(默认情况下,MATLAB使用 feedback() 命令构建负反馈连接)。
这些软件包也可用于计算以传递函数表示的线性输入/输出系统对不同类型的输入的响应。用于性能描述的常用输入是:当 t ≤0时为0,当 t >0时为1。这种类型的输入称作“阶跃输入”,系统对阶跃输入的响应称作系统的 阶跃响应 (step response)。线性系统的典型阶跃响应如图2.6所示。可见,阶跃响应的标准特征包括上升时间 T r 、稳定时间 T s 、超调量 M p 和稳态值 y ss 等。传递函数 G ( s )的阶跃响应可由MATLAB命令 y=step(G) 生成。如果需要明确指定仿真的时间间隔,可以改用命令 y=step(G,T) 。对特定输入信号的响应可用命令 y=lsim(G,u,t) 来生成,其中 u 和 t 是输入向量和时间向量。因此,有了传递函数,就很容易生成时域响应。
图2.6 线性系统的典型阶跃响应。上升时间 T r 、超调量 M p 、稳定时间 T s 和稳态值 y ss 描述了该信号的重要性能特征
第9章将详细介绍传递函数,在那里将看到具有时延的系统以及由偏微分方程描述的系统也可以用传递函数来表示。