锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

Simulink与控制系统仿真笔记04

时间:2023-04-09 20:37:00 lqm18dh片式电感器

文章目录

  • Simulink模拟控制系统的笔记04
    • 4.1引言
    • 4.2动态过程微分方程
    • 4.3拉氏变换和控制系统模型
    • 4.4动态过程的传输函数描述
      • 4.4.1传递函数的定义和性质
      • 4.4.传递函数的零极点表示
      • 4.4.3传递函数的部分表示
    • 4.动态过程状态空间描述
    • 4.6系统模型转换与连接
      • 4.6.2模型链接
        • 4.6.2.1串联连接
        • 4.6.2.2并联连接
        • 4.6.2.3反馈连接
        • 4.6.2.4闭环连接
    • 4.7非线性数学模型的线性化
    • 4.7非线性数学模型的线性化

Simulink模拟控制系统的笔记04

4.1引言

要模拟系统,首先要知道系统的数学模型

常见的数学模型形式:

  1. 传递函数模型(系统外部模型)
  2. 状态方程模型(系统内部模型)
  3. 零极点增益模型
  4. 部分模型

上述模型之间有内在联系,可以相互转换

4.2动态过程微分方程

两个条件:

  1. 在定量变化或干扰之前,控制量的每个阶段的导数为零,即系统处于平衡状态
  2. 在建立动态微分方程的基础时,增量

动态微分方程描述了控制量与给定量或扰动量之间的函数关系。给定量和扰动量可视为系统的输入和输出

4.3拉氏变换和控制系统模型

拉松转换的作用:将时域转换为复频域,将微分方程转换为代数方程。在反拉斯变化后,获得代数方程的解。

时域变化的拉斯变化定义如下:
F ( s ) = ∫ 0 ∞ f ( t ) e ? u d t F(s) = \int\limits_0^\infty {f(t)} {e^{ - u}}dt F(s)=0f(t)e?udt
s:由于s是复数,拉斯算子单位也可以表示复频域的变量。

4.4动态过程的传输函数描述

4.4.1传递函数的定义和性质

拉普拉斯输入的变化与拉普拉斯输入的变化相比

相关函数:

G(s)=tf(num,den)

[tt,ff]=tfdata(F(s)) 获得传递函数

GG = zpk(G)传函转换为零极点模型

[z,p,k]=zpkdata(G) 提取零极点模型对象的零极点和增益项

pzmap(G) :绘制零极点图

4.4.传递函数的零极点表示

零极模型实际上是传递函数的另一种表示形式。其原理是分解原系统床底函数分子分母,以获得系统零极表示形式

绘制零极点图:

>> pzmap(G) >> num=[1 4 8]; >> den =[1 11 11 10]; >> G=tf(num,den); >> pzmap(G) 

[外链图片存储失败,源站可能有防盗链机制,建议保存图片直接上传(img-ggsUhMKO-1658733066507)(https://raw.githubusercontent.co/yumo2021/PicGo1/main/20220530124850.png)]

4.4.3传递函数的部分分数表示

并联系统里面要用对系统分解,基本形式如下:

image-20220526210612292

[[r,p,k]=residue(num,den)


>> num=[2,0,9,1];
>> den=[1,1,4,4];
>> [r,p,k]=residue(num,den)

r =

   0.0000 - 0.2500i
   0.0000 + 0.2500i
  -2.0000          


p =

  -0.0000 + 2.0000i
  -0.0000 - 2.0000i
  -1.0000          


k =

     2

4.5动态过程状态空间描述

不懂

4.6系统模型转换及连接

线性时不变系统(LTI)的模型包括传递函数模型、零极点(ZPK)模型和状态空间(state space)模型

三种模型之间转换示意图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O6L8nXQF-1658733066509)(https://raw.githubusercontent.com/yumo2021/PicGo1/main/20220530124858.png)]

函数名 功能
residue 传递函数转换部分分式
ss2tf 状态空间转换传递函数
ss2zp 状态空间转换零极点
tf2zp 传递函数转换零极点
tf2ss 传递函数转换状态空间
zp2ss 零极点转换状态空间
zp2tf 零极点转换传递函数

eg:已知传函是G(s)
G ( s ) = 2 s 2 + 9 s + 1 s 3 + s 2 + 4 s + 4 {G_{(s)}} = { {2{s^2} + 9s + 1} \over { {s^3} + {s^2} + 4s + 4}} G(s)=s3+s2+4s+42s2+9s+1
求零极点模型和状态空间模型

>> num=[2,9,1];
>> den=[1,1,4,4];
>> G=tf(num,den);
>> gzpk=zpk(G);
>> [z,p,k]=zpkdata(G)

z = 

    [2x1 double]


p = 

    [3x1 double]


k =

     2

>> gs=ss(G)
 
a = 
       x1  x2  x3
   x1  -1  -2  -2
   x2   2   0   0
   x3   0   1   0
 
 
b = 
       u1
   x1   2
   x2   0
   x3   0
 
 
c = 
         x1    x2    x3
   y1     1  2.25  0.25
 
 
d = 
       u1
   y1   0
 
Continuous-time model.
>> 

eg:已知零极点模型
G ( s ) = 6 ( s + 2 ) ( s + 1 ) ( s + 3 ) ( s + 5 ) {G_{(s)}} = { {6(s + 2)} \over {(s + 1)(s + 3)(s + 5)}} G(s)=(s+1)(s+3)(s+5)6(s+2)
求传递函数和状态方程

>> z=[-2];
>> p=[-1,-3,-5];
>> k=[6];
>> G=zp2tf(z,p,k);
>> [num,den]=zp2tf(z,p,k)

Transfer function:
       6 s + 12
-----------------------
s^3 + 9 s^2 + 23 s + 15

>> [A,B,C,D]=zp2ss(z,p,k)

A =

   -1.0000         0         0
    1.0000   -8.0000   -3.8730
         0    3.8730         0


B =

     1
     1
     0


C =

         0         0    1.5492


D =

     0

4.6.2模型链接

基本的连接方式有并联,串联,反馈和闭环连接

4.6.2.1串联连接


G ( s ) = G 1 ( s ) G 2 ( s ) {G_{(s)}} = {G_{1(s)}}{G_{2(s)}} G(s)=G1(s)G2(s)
eg:

>> z1=[-2];
>> p1=[-1,-3,-5];
>> k1=6;
>> [num1,den1]=zp2tf(z1,p1,k1);
>> z2=[-2.5];
>> p2=[-1,-4];
>> k2=1;
>> [num2,den2]=zp2tf(z2,p2,k2);
>> [num,den]=series(num1,den1,num2,den2)

num =

     0     0     0     6    27    30


den =

     1    14    72   166   167    60

>> G_series=tf(num,den)
 
Transfer function:
             6 s^2 + 27 s + 30
--------------------------------------------
s^5 + 14 s^4 + 72 s^3 + 166 s^2 + 167 s + 60

4.6.2.2并联连接

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-18vq3LqM-1658733066510)(https://raw.githubusercontent.com/yumo2021/PicGo1/main/20220530124905.png)]
G ( s ) = G 1 ( s ) + G 2 ( s ) {G_{(s)}} = {G_{1(s)}} + {G_{2(s)}} G(s)=G1(s)+G2(s)
eg:

>> z1=[-2];
p1=[-1,-3,-5];
k1=6;
[num1,den1]=zp2tf(z1,p1,k1);
z2=[-2.5];
p2=[-1,-4];
k2=1;
[num2,den2]=zp2tf(z2,p2,k2);
>> [num,den]=parallel(num1,den1,num2,den2)

num =

         0    1.0000   17.5000   87.5000  156.5000   85.5000


den =

     1    14    72   166   167    60

>> G_p=tf(num,den)
 
Transfer function:
 s^4 + 17.5 s^3 + 87.5 s^2 + 156.5 s + 85.5
--------------------------------------------
s^5 + 14 s^4 + 72 s^3 + 166 s^2 + 167 s + 60

4.6.2.3反馈连接

根据反馈的正负号分为正反馈和负反馈

负反馈传递函数:
G H ( s ) = G ( s ) H ( s ) 1 + G ( s ) H ( s ) G{H_{(s)}} = { { {G_{(s)}} {H_{(s)}}} \over {1 + {G_{(s)}}{H_{(s)}}}} GH(s)=1+G(s)H(s)G(s)H(s)
正反馈传递函数:
G H ( s ) = G ( s ) H ( s ) 1 − G ( s ) H ( s ) G{H_{(s)}} = { { {G_{(s)}} {H_{(s)}}} \over {1 -{G_{(s)}}{H_{(s)}}}} GH(s)=1G(s)H(s)G(s)H(s)
eg

>> num1=[1,-1];
den1=[1,-5,-2];
num2=[1,1];
den2=[1,3,2];
[num,den]=feedback(num1,den1,num2,den2,1)

num =

     0     1     2    -1    -2


den =

     1    -2   -16   -16    -3

>> G=tf(num,den)
 
Transfer function:
      s^3 + 2 s^2 - s - 2
-------------------------------
s^4 - 2 s^3 - 16 s^2 - 16 s - 3

4.6.2.4闭环连接

也叫单位负反馈连接:

传递函数:
G H ( s ) = G ( s ) 1 + G ( s ) G{H_{(s)}} = { { {G_{(s)}}} \over {1 + {G_{(s)}}}} GH(s)=1+G(s)G(s)
eg:

>> num1=[1,-1];
den1=[1,-5,-2];
[num,den]=cloop(num1,den1) %这是负反馈cloop(num1,den1)=cloop(num1,den1,-1),正反馈是cloop(num1,den1,1)

num =

     0     1    -1


den =

     1    -4    -3

>> G=tf(num,den)
 
Transfer function:
    s - 1
-------------
s^2 - 4 s - 3

4.7非线性数学模型的线性化

暂时不研究
{H_{(s)}} = { { {G_{(s)}}} \over {1 + {G_{(s)}}}}
$$
eg:

>> num1=[1,-1];
den1=[1,-5,-2];
[num,den]=cloop(num1,den1) %这是负反馈cloop(num1,den1)=cloop(num1,den1,-1),正反馈是cloop(num1,den1,1)

num =

     0     1    -1


den =

     1    -4    -3

>> G=tf(num,den)
 
Transfer function:
    s - 1
-------------
s^2 - 4 s - 3

4.7非线性数学模型的线性化

暂时不研究

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章