线性控制系统分析与设计.ppt_第1页
线性控制系统分析与设计.ppt_第2页
线性控制系统分析与设计.ppt_第3页
线性控制系统分析与设计.ppt_第4页
线性控制系统分析与设计.ppt_第5页
已阅读5页,还剩75页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第6章线性控制系统分析与设计 MATLAB具有丰富的控制系统分析和设计函数 控制系统工具箱 ControlSystemToolbox 可供对线性系统分析 设计和建模的各种算法 6 1线性系统的描述6 2线性系统模型之间的转换6 3结构框图的模型表示6 4线性系统的时域分析6 5线性系统的频域分析6 6线性系统的根轨迹分析6 7线性系统的状态空间设计 6 1线性系统的描述 状态空间描述法传递函数描述法零极点描述法离散系统的数学描述 在分析设计系统之前 需要对系统的数学模型进行描述 单变量连续的反馈系统的描述方法 即使用状态方程模型来描述控制系统 状态方程为一阶微分方程 6 1 1状态空间描述法 例如 二阶系统 可以用状态方程描述 语法 G ss a b c d 由a b c d参数获得状态方程模型G dss a b c d e 由a b c d e参数获得状态方程模型 例6 1写出二阶系统当时的状态方程 MATLAB中状态方程模型的建立使用ss和dss命令 zeta 0 707 wn 1 A 01 wn 2 2 zeta wn B 0 wn 2 C 10 D 0 G ss A B C D 建立状态方程模型 控制系统由微分方程描述 经Laplace变换得 6 1 2传递函数描述法 语法 G tf num den 由传递函数分子分母得出说明 num为分子向量 num b1 b2 bm bm 1 den为分母向量 den 1 a1 a2 an 1 an 有理函数 MATLAB中使用tf命令来建立传递函数 num 1 den 11 4141 G tf num den 得出传递函数Transferfunction 1 s 2 1 414s 1 6 1 3零极点描述法 语法 G zpk z p k 由零点 极点和增益获得说明 z为零点列向量 p为极点列向量 k为增益 MATLAB中使用zpk命令可以来实现由零极点得到传递函数模型 零极点形式是以实数形式表示的 num 1 den 11 4141 z roots num z Emptymatrix 0 by 1 p roots den p 0 7070 0 7072i 0 7070 0 7072i zpk z p 1 Zero pole gain 1 s 2 1 414s 1 a 156 b 11 p roots a p 3 0000 2 0000 z roots b z 1 g zpk z p 2 Zero pole gain 2 s 1 s 3 s 2 控制系统的系统函数也可用部分分式法表示 使用residue命令来实现由传递函数得出部分分式的极点和系数 r p k residue num den r 0 0 7070i0 0 7070ip 0 7070 0 7072i 0 7070 0 7072ik r p k residue b a r 2 0000 1 0000p 3 0000 2 0000k 6 1 4离散系统的数学描述 1 状态空间描述法 u为输入向量 x为状态向量 y为输出向量 n为采样时刻 将离散系统的状态方程描述变换为脉冲传递函数 脉冲传递函数即对差分方程做ZT所得 表达式为 2 脉冲传递函数描述法 脉冲传递函数也可以用tf命令实现 语法 G tf num den Ts 由分子分母得出脉冲传递函数说明 Ts为采样周期 为标量 当采样周期未指明可以用 1表示 自变量用 z 表示 语法 G filt num den Ts 由分子分母得出脉冲传递函数说明 Ts为采样周期 当采样周期未指明Ts可以省略 也可以用 1表示 自变量用 z 1 表示 MATLAB中还可以用filt命令产生脉冲传递函数 a 1 5 0 5 10 b 1 0 c 00 5 d 0 G ss a b c d 0 1 采样周期为0 1s 例6 2 用状态空间法建立离散系统 例6 2 创建离散系统脉冲传递函数 num1 0 50 den 1 1 50 5 G1 tf num1 den 1 Transferfunction 0 5z z 2 1 5z 0 5Samplingtime unspecified num2 00 5 den 1 1 50 5 G2 filt num2 den Transferfunction 0 5z 1 1 1 5z 1 0 5z 2Samplingtime unspecified 离散系统的零极点增益用zpk命令实现 语法 G zpk z p k Ts 由零极点得出脉冲传递函数 使用residue命令来实现由传递函数得出部分分式的极点和系数 3 零极点增益描述法 G3 zpk 0 0 51 0 5 1 Zero pole gain 0 5z z 0 5 z 1 Samplingtime unspecified 例6 2 使用zpk命令产生零极点增益传递函数 6 2线性系统模型之间的转换 连续系统模型之间的转换连续系统与离散系统之间的转换模型对象的属性 表6 1线性系统模型转换函数表 z为零点列向量 p为极点列向量 k为增益 1 状态空间模型的获得由命令ss和dss实现将传递函数和零极点增益转换为状态空间模型 语法 G ss 传递函数 由传递函数转换获得G ss 零极点模型 由零极点模型转换获得 1 系统模型的转换 2 传递函数的获得由tf命令实现将系统的状态空间法和零极点增益模型转换为传递函数 语法 G tf 状态方程模型 由状态空间转换G tf 零极点模型 由零极点模型转换 3 零极点模型的获得由zpk命令实现将状态空间法 传递函数转换为零极点模型 语法 G zpk 状态方程模型 由状态方程模型转换G zpk 传递函数 由传递函数转换 例6 3 将单输入双输出的系统传递函数 转换为状态空间描述 num 032 123 den 3521 G11 tf num 1 den Transferfunction 3s 2 3s 3 5s 2 2s 1 G12 tf num 2 den Transferfunction s 2 2s 3 3s 3 5s 2 2s 1 G ss G11 G12 a x1x2x3x1 1 667 0 3333 0 08333x2200 x3020b u1x11x20 x30 G1 tf G Transferfunctionfrominputtooutput s 0 6667 1 s 3 1 667s 2 0 6667s 0 33330 3333s 2 0 6667s 1 2 s 3 1 667s 2 0 6667s 0 3333 G2 zpk G Zero pole gainfrominputtooutput s 0 6667 1 s 1 356 s 2 0 3103s 0 2458 0 33333 s 2 2s 3 2 s 1 356 s 2 0 3103s 0 2458 语法 a b c d ssdata G 获取状态空间参数 a b c d e dssdata G 获取状态空间参数 num den tfdata G 获取传递函数参数 z p k zpkdata G 获取零极点参数 2 模型参数的获取 3 模型类型的检验 表6 2模型类型检验函数表 6 2 2连续系统与离散系统之间的转换 随着控制系统中计算机的广泛应用 系统经常由连续系统和离散连接构成 使用A D D A转换连接连续和离散子系统 在分析系统时必须将连续系统转换为性能相当的离散系统 控制工具箱提供了c2d d2c和d2d命令实现复杂的相互转换 语法 Gd c2d G Ts method 以采样周期Ts和method方法转换为离散系统说明 G为连续系统模型 Gd为离散系统模型 Ts为采样周期 method为转换方法 可省略 包括五种 zoh 默认零阶保持器 foh 一阶保持器 tustin 双线性变换法 mached 根匹配法 prewarp 频率预修正双线性变换法 1 c2d命令 c2d命令用于将连续系统转换为离散系统 语法 G d2c Gd method 转换为连续系统说明 method为转换方法可省略 与c2d相似 少了foh 一阶保持器 方法 2 d2c命令 d2c命令是c2d的逆运算 用于将离散系统转换为连续系统 语法 Gd2 d2d Gd1 Ts2 转换离散系统的采样频率为Ts2说明 其实际的转换过程是先把Gd1按零阶保持器转换为原连续系统 然后再用Ts2和零阶保持器转换为Gd2 3 d2d命令 d2d命令是将离散系统改变采样频率 a 01 1 1 414 b 0 1 c 10 d 0 G ss a b c d Gd c2d G 0 1 例6 4 将二阶连续系统转换为离散系统 G d2c Gd Gd2 d2d Gd 0 3 6 2 3模型对象的属性 LTI系统的三种模型ss tf zpk都有自己对应的属性 1 模型对象的属性ss tf和zpk三种对象除了具有线性时不变系统共有的属性以外 还具有其各自的属性 共有属性如表6 3所示 其各自的属性如表6 4所示 表6 3对象共有属性表 表6 4三种子对象特有属性表 表6 4三种子对象特有属性表 2 set命令用于修改对象属性名语法 set G PropertyName PropertyValue 修改对象的某些属性值 3 直接获取和修改属性根据对象和属性的关系 也可以直接用 符号来获取和修改属性 2 get命令和set命令 1 get命令可以获取模型对象的所有属性语法 get G 获取对象的所有属性值get G PropertyName 获取对象的某些属性值说明 G为模型对象名 PropertyName 为属性名 num 1 den 11 4141 G tf num den get G 获取所有属性 set G den 121 Variable z 设置属性 G den 11 4141 6 3结构框图的模型表示 控制系统的模型通常由相互连接的模块构成 模块间通过串联 并联和反馈环节构成结构框图 2 并联结构SISO的并联结构是两个模块并联在一起 如图6 2所示 实现并联结构传递函数的命令 G G1 G2G parallel G1 G2 3 反馈结构反馈结构是前向通道和反馈通道模块构成正反馈和负反馈 如图6 3所示 实现反馈结构传递函数的命令 G feedback G1 G2 Sign 说明 Sign用来表示正反馈或负反馈 Sign 1或省略则表示为负反馈 例6 6 根据系统的结构框图求出整个系统的传递函数 结构框图如图6 4所示 其中 G1 tf 1 121 G2 tf 1 11 G3 tf 1 21 G4 tf 1 10 G12 G1 G2 并联结构G34 G3 G4G feedback G12 G34 1 求取复杂结构框图的数学模型的步骤 1 将各模块的通路排序编号 2 建立无连接的数学模型 使用append命令实现各模块未连接的系统矩阵 G append G1 G2 G3 3 指定连接关系 写出各通路的输入输出关系矩阵Q 第一列是模块通路编号 从第二列开始的几列分别为进入该模块的所有通路编号 INPUTS变量存储输入信号所加入的通路编号 OUTPUTS变量存储输出信号所在通路编号 4 使用connect命令构造整个系统的模型 Sys connect G Q INPUTS OUTPUTS 4 复杂的结构框图 如果各模块都使用传递函数 也可以用blkbuild命令建立无连接的数学模型 则第二步修改如下 将各通路的信息存放在变量中 通路数放在nblocks 各通路传递函数的分子和分母分别放在不同的变量中 用blkbuild命令求取系统的状态方程模型 例6 7 根据图6 5所示系统结构框图 求出系统总的传递函数 方法一 使用append命令 1 将各模块的通路排序编号 如图6 6所示 2 使用append命令实现各模块未连接的系统矩阵 3 指定连接关系 4 使用connect命令构造整个系统的模型 G1 tf 1 10 G2 tf 1 110 G3 tf 1 110 G4 tf 2 1 G5 tf 1 1 G6 tf 1 10 G7 tf 1 11 Sys append G1 G2 G3 G4 G5 G6 G7 Q 165 217 320 430 540 620 730 INPUTS 1 OUTPUTS 4 G connect Sys Q INPUTS OUTPUTS A B C D connect a b c d Q INPUTS OUTPUTS 方法二 从第二步开始使用blkbuild命令来实现 1 将各通路的信息存放在变量中 2 建立连接矩阵Q指定连接关系 Q矩阵同前面 3 使用connect命令构造整个系统的模型 Q 165 217 320 430 540 620 730 INPUTS 1 OUTPUTS 4 nblocks 7 n1 1 d1 10 n2 1 d2 110 n3 1 d3 110 n4 2 d4 1 n5 1 d5 1 n6 1 d6 10 n7 1 d7 11 blkbuild 6 4线性系统的时域分析 6 4 1零输入响应分析系统的输出响应由零输入响应和零状态响应组成 零输入响应是指系统的输入信号为零 零状态响应是指系统的初始状态为零 线性系统的时域分析是主要分析系统在给定典型输入信号作用下 在时域的暂态和稳态响应 以及系统的稳定性 语法 initial G x0 Ts 绘制系统的零输入响应曲线initial G1 G2 x0 Ts 绘制系统多个系统的零输入响应曲线 y t x initial G x0 Ts 得出零输入响应 时间和状态变量响应说明 G为系统模型 必须是状态空间模型 x0是初始条件 Ts为时间点 如果是标量则为终止时间 如果是数组 则为计算的时刻 可省略 y为输出响应 t为时间向量 可省略 x为状态变量响应 可省略 1 连续系统的零输入响应 MATLAB中使用initial命令来计算和显示连续系统的零输入响应 例 某反馈系统 前向通道的传递函数为反馈通道的传递函数为 求出初始条件为 12 时的零输入响应 G1 tf 12 14 H tf 1 13 GG feedback G1 H G ss GG initial G 12 绘制零输入响应impulse G 绘制脉冲响应曲线t 0 0 1 10 y impulse G t 根据时间t得出脉冲响应 离散系统的零输入响应使用dinitial命令实现 语法 dinitial a b c d x0 绘制离散系统零输入响应y dinitial a b c d x0 y x n dinitial a b c d x0 得出离散系统n点的零输入响应说明 a b c d为状态空间的系数矩阵 x0为初始条件 y为输出响应 t为时间向量 x为状态变量响应 n为点数 2 离散系统的脉冲响应 6 4 2脉冲响应分析 1 连续系统的脉冲响应连续系统的脉冲响应由impluse命令来得出 语法 impulse G Ts 绘制系统的脉冲响应曲线 y t x impulse G Ts 得出脉冲响应说明 G为系统模型 可以是传递函数 状态方程 零极点增益的形式 y为时间响应 t为时间向量 x为状态变量响应 t和x可省略 Ts为时间点可省略 2 离散系统的脉冲响应离散系统的脉冲响应使用dimpulse命令实现 语法 dimpluse a b c d iu 绘制离散系统脉冲响应曲线 y x dimpluse a b c d iu n 得出n点离散系统的脉冲响应 y x dimpluse num den iu n 由传递函数得出n点离散系统的脉冲响应说明 iu为第几个输入信号 n为要计算脉冲响应的点数 y的列数与n对应 x为状态变量 可省略 6 4 3阶跃响应分析 1 连续阶跃响应阶跃响应可以用step命令来实现 语法 step G Ts 绘制系统的阶跃响应曲线 y t x step G Ts 得出阶跃响应图6 10阶跃响应曲线说明 参数设置与impulse命令相同 2 离散系统的阶跃响应离散系统阶跃响应使用dstep命令来实现 语法规则与dimpluse相同 6 4 4任意输入的响应 1 连续系统的任意输入响应连续系统对任意输入的响应用lsim命令来实现 语法 lsim G U Ts 绘制系统的任意响应曲线lsim G1 G2 U Ts 绘制多个系统任意响应曲线 y t x lsim G U Ts 得出任意响应说明 U为输入序列 每一列对应一个输入 Ts为时间点 U的行数和Ts相对应 参数t和x可省略 2 离散系统的任意输入响应离散系统的任意输入响应用dlsim命令来实现 语法 dlsim a b c d U 绘制离散系统的任意响应曲线 y x dlsim num den U y x dlsim a b c d U 得出离散系统响应和状态变量响应说明 U为任意序列输入信号 6 4 5系统的结构参数 1 极点和零点 1 pole命令计算极点语法 p pole G 说明 当系统有重极点时 计算结果不一定准确 2 tzero命令计算零点和增益 Transmissionzeros 语法 z tzero G 得出连续和离散系统的零点 z gain tzero G 获得零点和零极点增益说明 对于单输入单输出系统 tzero命令也用来计算零极点增益 2 闭环系统的阻尼系数和固有频率damp命令用来计算闭环系统所有共轭极点的阻尼系数 和固有频率 n 语法 wn zeta damp G 3 时域响应的稳态增益稳态增益可使用dcgain命令来得出 语法 k dcgain G 获得稳态增益 6 5线性系统的频域分析 6 5 1频域特性频域特性由下式求出 Gw polyval num j w polyval den j w mag abs Gw 幅频特性pha angle Gw 相频特性说明 j为虚部变量 6 5 2连续系统频域特性 1 bode图bode图是对数幅频和对数相频特性曲线 语法 bode G w 绘制bode图 mag pha bode G w 得出w对应的幅值和相角 mag pha w bode G 得出幅值 相角和频率说明 G为系统模型 w为频率向量 mag为系统的幅值 pha为系统的相角 2 nyquist曲线nyquist曲线是幅相频率特性曲线语法 nyquist G w 绘制nyquist曲线nyquist G1 G2 w 绘制多条nyquist曲线 Re Im nyquist G w 由w得出对应的实部和虚部图6 15nyquist曲线 Re Im w nyquist G 得出实部 虚部和频率说明 G为系统模型 w为频率向量 也可以用 wmin wmax 表示频率的范围 Re为频率特性的实部 Im为频率特性的虚部 例6 16 根据传递函数 绘制各系统的nyquist曲线 num 1 den1 conv 11 12 0 G1 tf num den1 den2 conv 11 12 G2 tf num den2 den3 110 G3 tf num den3 nyquist G1 r G2 b G3 g 0 1 180 57 3 频率范围 0 1 180 57 3 w 1 2 re im nyquist G1 w re 1 0 3000re 2 0 0750im 1 0 1000im 2 0 0250 3 nichols图nichols图是对数幅相频率特性曲线 使用nichols命令绘制和计算 语法 nichols G w 绘制nichols图nichols G1 G2 w 绘制多条nichols图 Mag Pha nichols G w 由w得出对应的幅值和相角 Mag Pha w nichols G 得出幅值 相角和频率 在单位反馈系统中 闭环系统的传递函数可以写成G s 1 G s 因此nichols图的等M圆和等N圆就映射成等M线和等 线 MATLAB提供了绘制nichols框架下的等M线和等 线的命令ngrid 语法 ngrid new 清除图形窗口并绘制等M线和等 线说明 new 为创建的图形窗口 清除该图形窗口并绘制等M线和等 线 如果绘制了nichols图后可省略 new 直接添加等M线和等 线 产生 40dB 40dB的幅值和 360o 0o的范围 并保持图形 6 5 3幅值裕度和相角裕度 语法 margin G 绘制bode图并标出幅值裕度和相角裕度 Gm Pm Wcg Wcp margin G 得出幅值裕度和相角裕度说明 Gm为幅值裕度 Wcg为幅值裕度对应的频率 Pm为相角裕度 Wcp为相角裕度对应的频率 穿越频率 如果Wcg或Wcp为nan为Inf 则对应的Gm或Pm为无穷大 ngrid nichols1 绘制等M线和等 线nichols G1 绘制nichols图w 1 2 Mag Pha nichols G1 w 获得幅值和相角数值 根据传递函数 绘制等M线 等 线和nichols图 num 1 den1 conv 11 12 0 G1 tf num den1 并得出系统的幅值裕度和相角裕度 Mag 1 0 3162Mag 2 0 0791Pha 1 161 5651Pha 2 198 4349 Gm Pm Wcg Wcp margin G1 Gm 6 0000Pm 53 4109Wcg 1 4142Wcp 0 4457 6 5 4离散系统频域分析 对离散系统的频域分析 主要是绘制离散系统的bode图 nyquist曲线和nichols图 相应的命令是 dbode dnyquist dnichols 例 绘制的系统的bode图 dnum 251 dden 123 dbode dnum dden 0 1 绘制bode图 采样周期为0 1s 6 6线性系统的根轨迹分析 根轨迹是指系统闭环极点随着系统增益变化而变化的轨迹 可以分析系统的暂态和稳态性能 6 6 1绘制根轨迹MATLAB中绘制根轨迹使用rlocus命令 语法 rlocus G 绘制根轨迹rlocus G1 G2 绘制多个系统的根轨迹 r k rlocus G 得出闭环极点和对应的Kr rlocus G k 根据K得出对应的闭环极点 1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论