如何将连续系统状态空间方程离散化

差分变换

连续系统转化为离散系统的方法之-- z变换。z变换主要研究如何将连续系统传递函数G(s) 转化为离散传递函数 G(z)。就是找到一个s和z的关系,直接将G(s)中的s全部替换为z便大功告成。
线性连续系统的表达方法之一便是传递函数
C ( s ) = b 0 s n − 1 + . . . + b n − 1 s n + a 0 s n − 1 + . . . + a n − 1 (1) C(s) = \frac{b_0s^{n-1}+...+b_{n-1}}{s^n+a_0s^{n-1}+...+a_{n-1}} \tag{1} C(s)=sn+a0sn1+...+an1b0sn1+...+bn1(1)

线性离散系统的表达方法之一也是传递函数,用 Z表示差分
G ( s ) = b 0 z n − 1 + . . . + b n − 1 z n + a 0 z n − 1 + . . . + a n − 1 (2) G(s) = \frac{b_0z^{n-1}+...+b_{n-1}}{z^n+a_0z^{n-1}+...+a_{n-1}} \tag{2} G(s)=zn+a0zn1+...+an1b0zn1+...+bn1(2)

注意 z y ( z ) = y ( k + 1 ) , z − 1 y ( z ) = y ( k − 1 ) zy(z) = y(k+1),z^{-1}y(z) = y(k-1) zy(z)=y(k+1),z1y(z)=y(k1)
重点,连续系统传递函数(1)中的基本单元是s,离散系统传递函数(2)中基本单元是 z。离散化便是找到一个s和z的对应关系,然后将s替换成z即可。

常用三种对应关系:
1.前项差分变换 (T为采样间隔)
z = 1 + T s ⇒ s = z − 1 T z = 1+Ts \Rightarrow s = \frac{z-1}{T} z=1+Tss=Tz1

2.后项差分变换 (T为采样间隔)
z = 1 1 − T s ⇒ s = z − 1 T z z = \frac{1}{1-Ts} \Rightarrow s = \frac{z-1}{Tz} z=1Ts1s=Tzz1

3.Tustin 变换 (双线性变换,常用方法) (T为采样间隔)

z = 1 + T s 2 1 − T s 2 ⇒ s = 2 T z − 1 z + 1 z = \frac{1+\frac{Ts}{2}}{1-\frac{Ts}{2}} \Rightarrow s = \frac{2}{T}\frac{z-1}{z+1} z=12Ts1+2Tss=T2z+1z1
离散化案例一:
G ( s ) = s s + 1 G(s)=\frac{s}{s+1} G(s)=s+1s
C F E = 1 T ( z − 1 ) 1 T ( z − 1 ) + 1 = z − 1 z − 1 + T = 1 − z − 1 1 + ( T − 1 ) z ( − 1 ) C_{FE}=\frac{\frac{1}{T}(z-1)}{\frac{1}{T}(z-1)+1}=\frac{z-1}{z-1+T}=\frac{1-z^{-1}}{1+(T-1)z^(-1)} CFE=T1(z1)+1T1(z1)=z1+Tz1=1+(T1)z(1)1z1
离散化案例二:二阶巴特沃斯滤波器

如何记住者三种变换:
首先要记住 z = e T s z=e^{Ts} z=eTs(由定义),再根据泰勒展开,由于采样时间较小,Ts近似为0,略去高次项,可得:
z = e T s ≈ 1 + T s z=e^{Ts}\approx 1+Ts z=eTs1+Ts
此为前向差分变换
再进一步变换
z = e T s = ( e − T s ) − 1 ≈ ( 1 − T s ) − 1 z=e^{Ts}=(e^{-Ts})^{-1}\approx (1-Ts)^{-1} z=eTs=(eTs)1(1Ts)1
此为后向差分变换
再进一步变化
z = e T s = e T s 2 e − T s 2 ≈ 1 + T s 2 1 − T s 2 z=e^{Ts}=\frac{e^{\frac{Ts}{2}}}{e^{-\frac{Ts}{2}}}\approx\frac{1+\frac{Ts}{2}}{1-\frac{Ts}{2}} z=eTs=e2Tse2Ts12Ts1+2Ts

欧拉法

我们还会遇到
x ˙ = A x + b u \dot{x} = Ax+bu x˙=Ax+bu
对于这种如何进行离散化呢?答案是使用欧拉法。
对上式两边进行积分得:
∫ t t + d t x ˙ d t = ∫ t t + d t ( A x + B u ) d t \int_{t}^{t+dt}\dot{x}dt=\int_{t}^{t+dt}(Ax+Bu)dt tt+dtx˙dt=tt+dt(Ax+Bu)dt
上式左边:
∫ t t + d t x ˙ d t = x ( t + d t ) − x ( t ) \int_{t}^{t+dt}\dot{x}dt=x(t+dt)-x(t) tt+dtx˙dt=x(t+dt)x(t)
右边根据积分中值定理知道:
∫ t t + d t A x d t = A x ( ξ ) d t , 其 中 t < ξ < t + d t \int_{t}^{t+dt}Axdt=Ax(\xi)dt,其中t< \xi< t+dt tt+dtAxdt=Ax(ξ)dt,t<ξ<t+dt
那么:
向前欧拉法: x ( ξ ) = x ( t ) ⇒ x ( t + d t ) = ( I + A d t ) x ( t ) x(\xi)=x(t)\Rightarrow x(t+dt)=(I+Adt)x(t) x(ξ)=x(t)x(t+dt)=(I+Adt)x(t)
向后欧拉法: x ( ξ ) = x ( t + d t ) ⇒ x ( t + d t ) = ( I − A d t ) − 1 x ( t ) x(\xi)=x(t+dt)\Rightarrow x(t+dt)=(I-Adt)^{-1}x(t) x(ξ)=x(t+dt)x(t+dt)=(IAdt)1x(t)
中点欧拉法: x ( ξ ) = x ( t + d t ) + x ( t ) 2 ⇒ x ( t + d t ) = ( I − A d t 2 ) − 1 ( I + A d t 2 ) x ( t ) x(\xi)=\frac{x(t+dt)+x(t)}{2} \Rightarrow x(t+dt)=(I-\frac{Adt}{2})^{-1}(I+\frac{Adt}{2})x(t) x(ξ)=2x(t+dt)+x(t)x(t+dt)=(I2Adt)1(I+2Adt)x(t)

声明:文章上半部分参考这里,侵删。
参考文章:
https://blog.csdn.net/weixin_39830200/article/details/111366595
https://blog.csdn.net/u013492900/article/details/114884926

你可能感兴趣的:(车辆控制,数学)