【控制理论】#1 控制系统与传递函数

主要参考学习资料:《控制之美》王天威 编著

概述

  • 控制系统由控制器和动态系统组成,根据有无反馈分为开环控制系统闭环控制系统
  • 线性时不变系统是符合叠加原理、输入输出关系不随时间变化的系统。
  • 线性时不变系统的输入输出关系是卷积
  • 拉普拉斯变换通过将时域映射到复数域,简化了线性时不变系统的分析过程。
  • 传递函数是零初始条件下,系统输出的拉普拉斯变换与系统输入的拉普拉斯变换的比值。
  • 传递函数的收敛域极点可用于分析系统的因果性和稳定性。

控制系统

控制理论的研究对象是动态系统,即状态随时间变化的系统,其特点为系统的状态变量是时间的函数。

上图质量为 m m m的小车是一个动态系统,该系统的输入为外力 u ( t ) u(t) u(t)输出(响应)为其状态变量位移 x ( t ) x(t) x(t)。根据牛顿第二定律,该系统的微分方程为

u ( t ) = m d 2 x ( t ) d t 2 u(t)=m\frac{\mathrm d^2x(t)}{\mathrm dt^2} u(t)=mdt2d2x(t)

若无特别说明,本系列研究的动态系统特指线性时不变系统

线性指系统的输入与输出是线性映射的,符合叠加原理

时不变性指如果系统的输入信号延迟了时间 T T T,那么系统的输出也会延迟时间 T T T

一般控制系统控制器和动态系统组成。对于开环控制系统,控制器根据参考值 r ( t ) r(t) r(t)决定控制量,即动态系统的输入 u ( t ) u(t) u(t)

更精确的控制需要闭环控制系统。闭环控制会测量系统的输出,并将其反馈到输入端与参考值比较,参考值与实际系统输出的差称为误差,控制器将根据误差调整控制量。

传递函数

卷积

线性时不变系统的输入输出关系为卷积关系,即系统任一时刻的输入将对未来一段时间之内的系统输出产生影响,而系统任一时刻的输出是所有时刻输入对该时刻输出影响的叠加。

由于系统的线性性质,系统任一时刻的输入与其引起的任一时刻的输出成比例关系,因此我们可以先确定单位输入引起的系统输出。考虑一个单位脉冲方波 δ Δ ( t ) \delta_\Delta(t) δΔ(t),它的宽度为 Δ T \Delta T ΔT,长度为 1 Δ T \displaystyle\frac1{\Delta T} ΔT1,面积为 Δ T × 1 Δ T = 1 \Delta T\times\displaystyle\frac1{\Delta T}=1 ΔT×ΔT1=1,即包含了一个单位面积的能量。当 u ( t ) = δ Δ ( t ) u(t)=\delta_\Delta(t) u(t)=δΔ(t)作用在系统上时,假设系统对其响应 x ( t ) = h Δ ( t ) x(t)=h_\Delta(t) x(t)=hΔ(t)如下图所示:

根据线性时不变系统的性质,将 A A A倍单位面积的 δ Δ ( t ) \delta_\Delta(t) δΔ(t)延迟 T T T后(即 A δ Δ ( t − T ) A\delta_\Delta(t-T) AδΔ(tT))作用于系统时,系统的输出为 A h Δ ( t − T ) Ah_\Delta(t-T) AhΔ(tT)

对于一段连续输入,我们可以应用微积分的思想将其分割为一系列脉冲方波,分别计算其系统输出再叠加,最后再取 Δ T → 0 \Delta T\rightarrow0 ΔT0的极限。以上图为例,对于输入的每个脉冲方波,我们有

{ u 0 ( t ) = u ( 0 ) Δ T δ Δ ( t ) u 1 ( t ) = u ( Δ T ) Δ T δ Δ ( t − Δ T ) u 2 ( t ) = u ( 2 Δ T ) Δ T δ Δ ( t − 2 Δ T ) \left\{\begin{split} &u_0(t)=u(0)\Delta T\delta_\Delta(t)\\ &u_1(t)=u(\Delta T)\Delta T\delta_\Delta(t-\Delta T)\\ &u_2(t)=u(2\Delta T)\Delta T\delta_\Delta(t-2\Delta T) \end{split}\right. u0(t)=u(0)ΔTδΔ(t)u1(t)=u(ΔT)ΔTδΔ(tΔT)u2(t)=u(T)ΔTδΔ(tT)

则每个脉冲方波引起的输出为

{ x 0 ( t ) = u ( 0 ) Δ T h Δ ( t ) x 1 ( t ) = u ( Δ T ) Δ T h Δ ( t − Δ T ) x 2 ( t ) = u ( 2 Δ T ) Δ T h Δ ( t − 2 Δ T ) \left\{\begin{split} &x_0(t)=u(0)\Delta Th_\Delta(t)\\ &x_1(t)=u(\Delta T)\Delta Th_\Delta(t-\Delta T)\\ &x_2(t)=u(2\Delta T)\Delta Th_\Delta(t-2\Delta T) \end{split}\right. x0(t)=u(0)ΔThΔ(t)x1(t)=u(ΔT)ΔThΔ(tΔT)x2(t)=u(T)ΔThΔ(tT)

对上述输出求和得到完整的系统输出

x ( t ) = ∑ i = 0 2 x i ( t ) = ∑ i = 0 2 u ( i Δ T ) Δ T h Δ ( t − i Δ T ) x(t)=\sum^2_{i=0}x_i(t)=\sum^2_{i=0}u(i\Delta T)\Delta Th_\Delta(t-i\Delta T) x(t)=i=02xi(t)=i=02u(iΔT)ΔThΔ(tiΔT)

现将分割间隔 Δ T \Delta T ΔT减小,若分割方波数量为 n + 1 n+1 n+1,则有

x ( t ) = ∑ i = 0 n u ( i Δ T ) Δ T h Δ ( t − i Δ T ) x(t)=\sum^n_{i=0}u(i\Delta T)\Delta Th_\Delta(t-i\Delta T) x(t)=i=0nu(iΔT)ΔThΔ(tiΔT)

对上式取 Δ → 0 \Delta\rightarrow0 Δ0的极限,得到的积分形式即为卷积运算,用符号 ∗ * 表示

x ( t ) = lim ⁡ Δ T → 0 ∑ i = 0 n u ( i Δ T ) Δ T h Δ ( t − i Δ T ) = ∫ 0 t u ( τ ) h ( t − τ ) d τ = u ( t ) ∗ h ( t ) \begin{split} x(t)&=\lim_{\Delta T\rightarrow0}\sum^n_{i=0}u(i\Delta T)\Delta Th_\Delta(t-i\Delta T)\\ &=\int^t_0u(\tau)h(t-\tau)\mathrm d\tau\\ &=u(t)*h(t) \end{split} x(t)=ΔT0limi=0nu(iΔT)ΔThΔ(tiΔT)=0tu(τ)h(tτ)dτ=u(t)h(t)

其中 h ( t ) h(t) h(t)是系统对于冲激函数 δ ( t ) = lim ⁡ Δ T → 0 δ Δ ( t ) \delta(t)=\displaystyle\lim_{\Delta T\rightarrow0}\delta_{\Delta}(t) δ(t)=ΔT0limδΔ(t)冲激响应,它包含了线性时不变系统的全部特性。一个用卷积表示的系统框图如下:

拉普拉斯变换

拉普拉斯变换被用于简化线性时不变系统的分析过程,它将函数 f ( t ) f(t) f(t)从时域( t t t)转换到复数域( s s s

L [ f ( t ) ] = F ( s ) = ∫ 0 ∞ f ( t ) e − s t d t \mathcal L[f(t)]=F(s)=\int^\infty_0f(t)e^{-st}\mathrm dt L[f(t)]=F(s)=0f(t)estdt

这里不赘述拉普拉斯变换求积分的过程,重点在于利用其性质:

  • 线性叠加性质: L [ a f ( t ) + b g ( t ) ] = a F ( s ) + b G ( s ) \mathcal L[af(t)+bg(t)]=aF(s)+bG(s) L[af(t)+bg(t)]=aF(s)+bG(s)
  • 导数的拉普拉斯变换: L [ d f ( t ) d t ] = s F ( s ) − f ( 0 ) \mathcal L\left[\displaystyle\frac{\mathrm df(t)}{\mathrm dt}\right]=sF(s)-f(0) L[dtdf(t)]=sF(s)f(0)
    • f ( 0 ) f(0) f(0)是函数的初始条件
    • 扩展到高阶导数有 L [ d n f ( t ) d t n ] = s n F ( s ) − ∑ k = 1 n s n − k f ( k − 1 ) ( 0 − ) \displaystyle\mathcal{L}\left[ \frac{d^n f(t)}{dt^n} \right] = s^n F(s) - \sum_{k=1}^{n} s^{n-k} f^{(k-1)}(0^-) L[dtndnf(t)]=snF(s)k=1nsnkf(k1)(0)
    • 该性质将微分方程简化为代数运算。
  • 卷积的拉普拉斯变换: L [ f ( t ) ∗ g ( t ) ] = F ( s ) G ( s ) \mathcal L[f(t)*g(t)]=F(s)G(s) L[f(t)g(t)]=F(s)G(s)
    • 该性质将卷积运算简化化为乘法运算。

使得拉普拉斯变换中的积分收敛的 s s s的集合是拉普拉斯变换的收敛域

原函数拉普拉斯变换收敛域
δ ( t ) \delta(t) δ(t) 1 1 1 ∞ > s > − ∞ \infty>s>-\infty >s>
1 1 1 1 s \displaystyle\frac1s s1 s > 0 s>0 s>0
e − a t e^{-at} eat 1 s + a \displaystyle\frac1{s+a} s+a1 s > − a s>-a s>a
sin ⁡ ( a t ) \sin(at) sin(at) a s 2 + a 2 \displaystyle\frac a{s^2+a^2} s2+a2a s > 0 s>0 s>0
cos ⁡ ( a t ) \cos(at) cos(at) s s 2 + a 2 \displaystyle\frac s{s^2+a^2} s2+a2s s > 0 s>0 s>0
sinh ⁡ ( a t ) \sinh(at) sinh(at) a s 2 − a 2 \displaystyle\frac a{s^2-a^2} s2a2a s > ∣ a ∣ s>\mid a\mid s>∣a
cosh ⁡ ( a t ) \cosh(at) cosh(at) s s 2 − a 2 \displaystyle\frac s{s^2-a^2} s2a2s s > ∣ a ∣ s>\mid a\mid s>∣a
e a t sin ⁡ ( b t ) e^{at}\sin(bt) eatsin(bt) b ( s − a ) 2 + b 2 \displaystyle\frac b{(s-a)^2+b^2} (sa)2+b2b s > a s>a s>a
e a t cos ⁡ ( b t ) e^{at}\cos(bt) eatcos(bt) s − a ( s − a ) 2 + b 2 \displaystyle\frac {s-a}{(s-a)^2+b^2} (sa)2+b2sa s > a s>a s>a
e a t sinh ⁡ ( b t ) e^{at}\sinh(bt) eatsinh(bt) b ( s − a ) 2 − b 2 \displaystyle\frac b{(s-a)^2-b^2} (sa)2b2b s − a > ∣ b ∣ s-a>\mid b\mid sa>∣b
e a t cosh ⁡ ( b t ) e^{at}\cosh(bt) eatcosh(bt) s − a ( s − a ) 2 − b 2 \displaystyle\frac {s-a}{(s-a)^2-b^2} (sa)2b2sa s − a > ∣ b ∣ s-a>\mid b\mid sa>∣b

收敛域影响系统的因果性和稳定性。当收敛域包含右半平面( s > σ s>\sigma s>σ)时,系统是因果的,即当前输入仅取决于当前和过去的输出,可以在物理上实现。当收敛域包含虚轴( s = 0 s=0 s=0)时,系统才有可能稳定,即输出能收敛于某个值,具体判据将在后文给出。

拉普拉斯逆变换反向使用拉普拉斯变换,将 F ( s ) F(s) F(s)变回时域函数 f ( t ) f(t) f(t),即:

f ( t ) = L − 1 [ F ( s ) ] f(t)=\mathcal L^{-1}[F(s)] f(t)=L1[F(s)]

由常见的拉普拉斯公式表可知,许多拉普拉斯变换的结果是分数形式,因此拉普拉斯逆变换的常用解法是先分式分解,再通过分式查表,最后应用线性叠加原理相加。通过拉普拉斯变换和拉普拉斯逆变换,我们可以方便地求解系统的卷积关系。

传递函数

系统的传递函数的定义是在零初始条件( x ( 0 ) = 0 x(0)=0 x(0)=0)下,系统输出的拉普拉斯变换 X ( s ) X(s) X(s)与系统输入的拉普拉斯变换 U ( s ) U(s) U(s)之间的比值

G ( s ) = X ( s ) U ( s ) G(s)=\frac{X(s)}{U(s)} G(s)=U(s)X(s)
传递函数也是系统冲激响应 h ( t ) h(t) h(t)的拉普拉斯变换, X ( s ) = G ( s ) U ( s ) X(s)=G(s)U(s) X(s)=G(s)U(s)即线性时不变系统卷积关系 x ( t ) = h ( t ) ∗ u ( t ) x(t)=h(t)*u(t) x(t)=h(t)u(t)的拉普拉斯变换形式,用系统框图表示为:

利用拉普拉斯变换求解系统的传递函数,再由传递函数的拉普拉斯逆变换即可得到系统的冲激响应。

传递函数的极点

输入幅值不为零但使得系统输出的拉普拉斯变换 X ( s ) X(s) X(s)趋于无穷大(输出的分母部分为零)的点称为系统的极点。输出的分母部分的因式分别来自 U ( s ) U(s) U(s) G ( s ) G(s) G(s),因而极点也分为输入引入的极点和传递函数的极点。

极点的正负和虚实可以直接反映系统输出是否收敛、以何种形式收敛。简单来说,实数极点的系统输出的项为指数形式 x ( t ) = e a t x(t)=e^{at} x(t)=eat,而复数极点的系统输出为振荡形式 x ( t ) = e a t sin ⁡ ( ω t + φ ) x(t)=e^{at}\sin(\omega t+\varphi) x(t)=eatsin(ωt+φ)。在复平面上,仅当极点均位于左半平面(包括虚轴)时,系统输出收敛,即 a < 0 a<0 a<0。关于稳定性的详细展开将在后续章节探讨。

用拉普拉斯变换分析线性时不变系统的基本流程如下:

  1. 列出系统的微分方程并应用拉普拉斯变换,在零初始条件下求得系统的传递函数。
  2. 对系统输入应用拉普拉斯变换,并结合传递函数求得系统输出的拉普拉斯变换。
  3. 对系统输出的拉普拉斯变换应用逆拉普拉斯变换,得到系统输出。

以上图所示的电路系统为例,其电流的动态微分方程为

e ( t ) = L d i ( t ) d t + R i ( t ) e(t)=L\frac{\mathrm di(t)}{\mathrm dt}+Ri(t) e(t)=Ldtdi(t)+Ri(t)

定义该系统的输入为电压 u ( t ) = e ( t ) u(t)=e(t) u(t)=e(t),输出为电流 x ( t ) = i ( t ) x(t)=i(t) x(t)=i(t),则上式可写成

u ( t ) = L d x ( t ) d t + R x ( t ) u(t)=L\frac{\mathrm dx(t)}{\mathrm dt}+Rx(t) u(t)=Ldtdx(t)+Rx(t)

对两侧进行拉普拉斯变换有

L [ u ( t ) ] = L [ L d x ( t ) d t + R x ( t ) ] U ( s ) = L [ s X ( s ) − x ( 0 ) ] + R X ( s ) \begin{split} \mathcal L[u(t)]&=\mathcal L\left[L\frac{\mathrm dx(t)}{\mathrm dt}+Rx(t)\right]\\ U(s)&=L[sX(s)-x(0)]+RX(s) \end{split} L[u(t)]U(s)=L[Ldtdx(t)+Rx(t)]=L[sX(s)x(0)]+RX(s)

在零初始条件有

U ( s ) = ( L s + R ) X ( s ) U(s)=(Ls+R)X(s) U(s)=(Ls+R)X(s)

进而可得该系统的传递函数为

G ( s ) = X ( s ) U ( s ) = 1 L s + R \begin{split} G(s)=\frac{X(s)}{U(s)}=\frac1{Ls+R} \end{split} G(s)=U(s)X(s)=Ls+R1

当一个常数输入 u ( t ) = C u(t)=C u(t)=C作用在系统上时,其拉普拉斯变换为

U ( s ) = L ( u ( t ) ) = L ( C ) = L ( C e − 0 t ) = C 1 s U(s)=\mathcal L(u(t))=\mathcal L(C)=\mathcal L(Ce^{-0t})=C\frac1s U(s)=L(u(t))=L(C)=L(Ce0t)=Cs1

则系统输出的拉普拉斯变换为

X ( s ) = U ( s ) G ( s ) = C L 1 s ( s + R L ) = C L ( 1 s − 1 s + R L ) X(s)=U(s)G(s)=\frac CL\frac1{s\left(s+\displaystyle\frac RL\right)}=\frac CL\left(\frac1s-\frac1{s+\displaystyle\frac RL}\right) X(s)=U(s)G(s)=LCs(s+LR)1=LC s1s+LR1

令分母等于零,我们求得该系统的两个极点为 s p 1 = 0 s_{p1}=0 sp1=0 s p 2 = − R L s_{p2}=-\displaystyle\frac RL sp2=LR,其中 s p 1 s_{p1} sp1来自 U ( s ) U(s) U(s),为输入引入的极点, s p 2 s_{p2} sp2来自 G ( s ) G(s) G(s),为传递函数的极点。极点均为实数且位于左半平面,该系统是指数收敛的。

对系统的输出求拉普拉斯逆变换可得到系统输出

x ( t ) = L − 1 [ X ( s ) ] = C R ( e 0 t − e − R L t ) = C R ( 1 − e − R L t ) x(t)=\mathcal L^{-1}[X(s)]=\frac CR(e^{0t}-e^{-\frac RLt})=\frac CR(1-e^{-\frac RLt}) x(t)=L1[X(s)]=RC(e0teLRt)=RC(1eLRt)

由图可见,该系统的输出随时间指数增大收敛到一个稳定值 C R \displaystyle\frac CR RC

控制系统的传递函数

在上图的开环控制系统中,参考值 R ( s ) R(s) R(s)是控制系统的输入,又称参考输入 C ( s ) C(s) C(s)为控制器,原动态系统的传递函数 G ( s ) G(s) G(s)被称为控制系统的开环传递函数。控制量 U ( s ) U(s) U(s)是原动态系统的输入,控制系统的输出为原动态系统的输出 X ( s ) X(s) X(s)

从参考值 R ( s ) R(s) R(s)到系统输出 X ( s ) X(s) X(s)是串联结构

X ( s ) = U ( s ) G ( s ) = R ( s ) C ( s ) G ( s ) X(s)=U(s)G(s)=R(s)C(s)G(s) X(s)=U(s)G(s)=R(s)C(s)G(s)

其中控制量 U ( s ) = R ( s ) C ( s ) U(s)=R(s)C(s) U(s)=R(s)C(s)。系统输出 X ( s ) X(s) X(s)对控制量 U ( s ) U(s) U(s)没有影响是开环系统的特点。

将系统输出 X ( s ) X(s) X(s)反馈到输入端,则可以形成一个闭环控制系统。其中,参考值与输出之间的差 E ( s ) = R ( s ) − X ( s ) E(s)=R(s)-X(s) E(s)=R(s)X(s),称为误差,控制器将根据误差决定控制量 U ( s ) U(s) U(s)

X ( s ) = U ( s ) G ( s ) = E ( s ) C ( s ) G ( s ) = [ R ( s ) − X ( s ) ] C ( s ) G ( s ) ⇒ X ( s ) = C ( s ) G ( s ) 1 + C ( s ) G ( s ) R ( s ) \begin{split} X(s)&=U(s)G(s)=E(s)C(s)G(s)\\ &=[R(s)-X(s)]C(s)G(s)\\ \Rightarrow X(s)&=\frac{C(s)G(s)}{1+C(s)G(s)}R(s) \end{split} X(s)X(s)=U(s)G(s)=E(s)C(s)G(s)=[R(s)X(s)]C(s)G(s)=1+C(s)G(s)C(s)G(s)R(s)

其中 R ( s ) R(s) R(s)的系数被定义为控制系统的闭环传递函数

G c l ( s ) = C ( s ) G ( s ) 1 + C ( s ) G ( s ) G_{cl}(s)=\frac{C(s)G(s)}{1+C(s)G(s)} Gcl(s)=1+C(s)G(s)C(s)G(s)

则一个简化后的闭环控制系统框图如下图所示:

非零初始状态下的传递函数

我们通过一个一阶微分方程考虑非零初始状态的系统

d x ( t ) d t + a x ( t ) = u ( t ) \frac{\mathrm dx(t)}{\mathrm dt}+ax(t)=u(t) dtdx(t)+ax(t)=u(t)

对其两边进行拉普拉斯变换

s X ( s ) − x ( 0 ) + a X ( s ) = U ( s ) sX(s)-x(0)+aX(s)=U(s) sX(s)x(0)+aX(s)=U(s)

对于非零初始状态 x ( 0 ) ≠ 0 x(0)\neq0 x(0)=0,我们可以将上式写成

s X ( s ) + a X ( s ) = U ( s ) + x ( 0 ) sX(s)+aX(s)=U(s)+x(0) sX(s)+aX(s)=U(s)+x(0)

如果令一个等效系统输入 U 1 ( s ) = U ( s ) + x ( 0 ) U_1(s)=U(s)+x(0) U1(s)=U(s)+x(0)代入上式,则有

G ( s ) = X ( s ) U 1 ( s ) = 1 s + a G(s)=\frac{X(s)}{U_1(s)}=\frac1{s+a} G(s)=U1(s)X(s)=s+a1

因此非零初始条件系统框图可如下表示:

如果我们对 U 1 ( s ) U_1(s) U1(s)进行逆拉普拉斯变换,则有

L − 1 [ U 1 ( s ) ] = L − 1 [ U ( s ) ] + L − 1 [ x ( 0 ) ] = u ( t ) + x ( 0 ) δ ( t ) \mathcal L^{-1}[U_1(s)]=\mathcal L^{-1}[U(s)]+\mathcal L^{-1}[x(0)]=u(t)+x(0)\delta(t) L1[U1(s)]=L1[U(s)]+L1[x(0)]=u(t)+x(0)δ(t)

其中 δ ( t ) \delta(t) δ(t)为单位冲激函数。也就是说,非零初始状态相当于在 t = 0 t=0 t=0的一瞬间施加了 x ( 0 ) x(0) x(0)个单位的能量。因为该能量并不持续,所以不会影响系统的稳定性分析与特征分析。高阶系统的非零初始条件的分析则比较复杂,但其理念仍是将初始状态理解为瞬间赋予系统的能量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值