傻大方


首页 > 知识库 > >

matlab仿真第五章|matlab仿真第五章控制系统模型的建立


按关键词阅读: matlab

1、第五章 控制系统模型的建立,控制系统模型 控制系统的典型连接 系统模型的连续化与离散化,1 控制系统模型,1.1 控制系统的组成符号及术语 输入信号R:系统的外部输入量 , 即系统的给定值 。
输出信号C:系统的输出量 , 即系统被控量 。
主反馈信号B:主反馈环节的输出信号 。
偏差信号E:输入信号与主反馈信号之差e=r-b,控制信号M:控制器的输出量 。
干扰信号N:内部和外部的干扰量 。
控制器G1:系统中承担信号放大、传动和执行作用的装置 。
被控对象G2:系统中的控制对象 。
反馈环节H:用于检测输出状况的测量装置,前向通道:从系统输入端到输出端的正向传输通道 , 且每个节点只通一次 。
反馈通道:从输出端c反 。

2、馈到输入端b的传输通道 。
反馈回路:信号从前向通道与反馈通道连续传输的闭合回路 。
比较环节:在系统中进行信号叠加的作用点 , 以产生偏差信号 。
在控制系统仿真中 , 主要用四种形式的数学模型:传递函数模型、零极点模型、状态方程模型和结构图模型,1.2 传递函数模型(tf模型) 对系统的微分方程在零初始条件下做拉氏变换 , 则可得系统的传递函数(SISO) 对线性时不变(线性定常)系统(LTI)来说 , a、b均为常数 , a10 。
num=bm,bm-1,b1, b0 den=an,an-1,a1, a0 注意:构成分子、分母的向量按降幂排列的顺序 , 缺项部分用0补齐 。
很多时候 , 传递函数的分子、分母均为多项式相乘 。

3、的形式 , 不能直接写出 , 可借助多项式运算函数conv()来处理 , 以便获得分子、分母多项式向量,例:系统传递函数为: 可用下面的语句来输入: num=4*conv(1 2,conv(1 6 6,1 6 6) den=conv(1 0,conv(1 1,conv(1 1,conv(1 1,1 3 2 5,如果是MIMO系统 , 则用传递矩阵描述 。
例如: 可表示为: num=1,1;
1 1;
den=1 2 2;
1,1.3 零极点模型(zpk模型) 零极点模型是传递函数的另一种表现形式 , 其原理是分别对原系统的分子和分母进行因式分解处理 , 以获得系统的零极点表示形式,对SISO系统: 将零点、极点及K值输入即 。

4、可建立零极点模型: z=z1, z2, z3,zm p=p1, p2, p3,pm k=k,函数residue()可将分式多项式分解如下: 函数增益k即为原传递函数分子的最高项系数与分母最高项系数的比值 。
对于给出的传递函数来说 , 分子分母作因式分解可以通过求出分子、分母多项式的根roots()函数来实现,例:已知系统传递函数: 求零极点模型 。
可表示为: num=2 0 9 1 den=1 1 4 4;
z,p,k=residue(num,den,1.4 状态方程模型(ss模型) LTI系统的状态方程: 例:用ss模型描述两输入两输出系统 。
可表示为: A=1 6 9 10;
3 12 6 8;
4 。

5、 7 9 11;
5 12 13 14;
B=4 6;
2 4;
2 2;
1 0;
C=0 0 2 1;
8 0 2 2;
D=zeros(2,2,1.5 建立LTI对象 控制系统工具箱将LTI系统的各种描述封装成一个对象 , 即用一个变量来描述 。
在控制系统工具箱中 , 有以上讲述的三种对象 , 即ss对象 , tf对象和zpk对象 。
(1)tf()函数 。
tf()函数生成传递函数模型 , 或将零极点模型及状态空间模型转换成传递函数模型 。
格式为: sys=tf(num,den):生成连续时间系统传递函数模型 。
sys=tf(num,den,Ts):生成离散时间系统传递函数 。
tfsystf(sys):将任意的LTI对象转换 。

6、成传递函数模型,2)ss()函数 。
ss()函数生成状态空间模型 , 或者将传递函数及零极点模型转换成状态空间模型 。
格式为: sys=ss(a,b,c,d):生成连续系统的状态空间模型 。
sys_ss=ss(sys):将任意的LTI对象sys转换成状态空间模型 (3) zpk()函数 。
zpk()函数生成零极点函数或者将其他模型转换成零极点模型 。
格式为: sys=zpk(z,p,k):连续系统的零极点增益模型 。
sys=zpk(z,p,k,Ts):离散时间系统的零极点增益模型 。
zsys=zpk(sys):将任意LTI对象转换成零极点增益模型,1.6 系统模型的转换 MATLAB中用于控制系统模型转换 。

7、的函数包括一下几种 。
ss2tf():状态空间模型转换为传递函数模型 。
ss2zp():状态空间模型转换为零极点增益模型 。
tf2ss():传递函数模型转换为状态空间模型 。
tf2zp():传递函数模型转换为零极点增益模型 。
zp2ss():零极点增益模型转换为状态空间模型 。
zp2tf():零极点增益模型转换为传递函数模型,例:已知系统传递函数 将模型转换为状态方程模型和零极点模型 。
命令为: num=0 6 42 72;
den=1 6 11 6;
A,B,C,D=tf2ss(num,den) z,p,k=tf2zp(num,den,程序执行后得到的状态方程模型为: 零极点增益模型G(s) 。

8、为,给定系统的状态空间描述如下所示: 要求将状态空间模型转换为传递函数模型和零极点模型 。
命令 A=0 1;
1 -2;
B=0;
1;
C=1,3;
D=1;
num,den=ss2tf(A,B,C,D) z,p,k=ss2zp(A,B,C,D,已知系统的零极点模型如下所示: 求其传递函数模型和状态空间模型 。
命令和输出结果为: z=-3;
p=-1,-2,-5;
k=6;
num,den=zp2tf(z,p,k) a,b,c,d=zp2ss(z,p,k,已知系统的部分分式如下所示: 求其状态传递函数模型 命令 r=-0.25i,0.25i,-2;
p=2i,-2i,-1;
k=2;
num,den=re 。

9、sidue(r,p,k) 注意余式一定要与极点相对应,2 控制系统的典型连接,MATLAB中既可以采用运算符重载的方法 , 又提供了大量的函数来建立控制系统模型 , 并可进行并联、级(串)联、反馈和单位反馈连接等 。
2.1 系统模型的连接 可以对LTI对象进行加法、减法和串并联的运算 , 这样的运算是通过运算符重载的方法得以实现的 。
在运算中 , 如果有不同数据类型的对象 , 系统先将级别低的转化为级别最高的那一种 , 再进行运算 。
定义3种LTI对象的运算级别如下: sszpktf,在具体的使用上 , 要么在运算中先将不同对象强制转换为同一类型 , 要么在运算后将结果统一转换为所需类型 。
请看下例(sys1与sys2为不同对象类 。

10、型): sys=sys1+tf(sys2) 它等效于 sys=sys1+sys2 tf(sys) LTI对象类型的算术运算主要有加法、减法、乘法与求逆 。
其中加减法相当于系统并联 , 乘法相当于系统串连 , 求逆则是求出系统的逆系统,2.2 连接函数 除了运算符连接外 , 在MATLAB中 , 也提供了子系统的连接处理函数 , 它们与对应的运算符连接方式等效 。
series()函数:系统串连实现 。
格式为: sys=series(sys1,sys2) parallel()函数:系统并联实现 。
格式为: sys=parallel(sys1,sys2) feedback()函数:系统反馈连接 。
格式为: sys=feedba 。

11、ck(sys1,sys2,例:两个子系统如下所示 按反馈方式连接 , 求闭环系统的传递函数 。
命令和输出结果为: num1=2 5 1;
den1=1 2 3;
num2=5 10;
den2=1 10;
num,den=feedback(num1,den1,num2,den2) printsys(num,den,num1=2 5 1;
den1=1 2 3;
sys1=tf(num1,den1);
num2=5 10;
den2=1 10;
sys2=tf(num2,den2);
sys=feedback(sys1,sys2,控制系统方框图如图所示 , (1)求此系统的传递函数;
(2)求该系统的特征值 。

12、并判断其稳定性;
(3)求该系统的单位阶跃响应曲线 。
(1) G1=tf(1,0.5 1);
G2=tf(1,1 2 2);
H1=2;
H2=tf(0.5 1,0.2 1);
GH1=feedback(G2,H2);
G=GH1*G1;
GH=feedback(G,H1) (2) A,B,C,D=tf2ss(GH.num1,GH.den1);
eig(A) 如果A矩阵的所有特征值实部小于0 , 则系统稳定 。
(3) step(GH,2.3 延迟系统的模型 pade():求取时间延迟环节近似传递函数 其中n6阶的pade近似的系数pi在下表中给出,表 pade近似系数表 MATLAB中 , pade( 。

13、)函数的调用格式np,dp=pade(tau,n),其中tau为延迟时间 , n为pade近似的阶次 。
Pade近似后得到的有理传递函数模型的分子、分母系数分别在np , dp变量中返回,例: 求阶跃响应响应 。
den=1 10 35 50 24;
num=1 7 24 24;
g=tf(num,den) tau=0.5;
y1=;
t=0:0.1:10;
for i=1:5 np,dp=pade(tau,i) g1=tf(np,dp);
gg=g*g1;
ggg=feedback(gg,1) y,t,x=step(ggg,t);
y=y;
y1=y1;
y;
end plot(t,y1,den=1 10 。

14、 35 50 24;
num=1 7 24 24;
g=tf(num,den) tau=0.5;
y1=;
t=0:0.1:10;
for i=1:5 np,dp=pade(tau,i) g1=tf(np,dp);
gg=feedback(g,g1) set(gg,Td,tau) y,t,x=step(gg,t);
y=y;
y1=y1;
y;
end plot(t,y1,在初始时刻段pade近似并不精确 , 为了消除初始时间段pade的振荡 , 在实际应用中 , 一般只对分母中的延迟项进行pade近似 , 近似的系统闭环传函为,3 系统模型的连续化与离散化,控制系统工具箱中提供了连续域与离散域的相互转化的调用 。

15、函数 , 如函数c2d可将连续系统离散化 , 相反d2c将离散系统向连续域转化 。
工具箱支持常用的几种转化方法 , 包括带零阶保持器的离散化方法、带一阶保持器的离散化方法、Tustin变换和带预修正的Tustin变换以及零极匹配法,3.1 连续系统的离散化 将连续系统离散化使用c2d函数 , 其调用格式为: sysd=c2d(sysc,fp) sysc为连续系统的数学模型 , sysd为离散系统的数学模型 , 选项fp的具体内容如下: zoh:假设对输入信号加一个零阶保持器 foh:假设对输入信号加一个一阶保持器 tustin:采用双线性变换方法(Tustin算法) prewarp:采用改进的Tustin变换方法 ma 。

【matlab仿真第五章|matlab仿真第五章控制系统模型的建立】16、tched:SISO系统的零极点匹配法,3.2 离散化系统的连续化 将离散化系统连续化使用d2c函数 , 其调用格式为: sysc=c2d(sysd,fp) 用法与c2d相似 。
3.3 连续系统离散化数字仿真的特点 将连续系统离散化进行数字仿真具有以下特点: 将连续系统离散化后进行仿真 , 可以用得到的离散方程递推求解状态和输出 , 避免了数值积分方法中繁琐的龙格库塔系数(导函数)的求取过程 , 计算方便,按环节离散化仿真 , 每步都可求出各环节输入、输出 , 很容易推广用以解决非线性系统的仿真问题 。
离散化过程中对原连续系统引入虚拟采样开关和零阶(一阶)保持器 , 造成的滞后使得仿真计算误差增大 , 严重时会引起系统数值计算的不稳定 。


    来源:(未知)

    【学习资料】网址:/a/2021/0323/0021758549.html

    标题:matlab仿真第五章|matlab仿真第五章控制系统模型的建立


    上一篇:2021|2021年初一语文教学工作总结8篇

    下一篇:我是护士长的精彩演讲稿