Download presentation
Presentation is loading. Please wait.
1
国家级精品课程 控制系统仿真与CAD 第四章 线性控制系统的数学模型
东北大学信息学院 薛定宇
2
系统的数学模型 系统数学模型的重要性 系统数学模型的获取 系统仿真分析必须已知数学模型 系统设计必须已知数学模型 本课程数学模型是基础
建模方法:从已知的物理规律出发,用数学推导的方式建立起系统的数学模型 辨识方法:由实验数据拟合系统的数学模型
3
系统数学模型的分类 非线性 系统 模型 线性 连续 单变量 定常 多变量 时变 离散 混合
4
主要内容 线性连续系统的数学模型与MATLAB表示 线性离散时间系统的数学模型 系统模型的相互转换 方框图描述系统的化简 线性系统的模型降阶
线性系统的模型辨识 本章要点简介
5
4.1 连续线性系统的数学 模型与MATLAB表示
介绍连续系统模型的输入 本节主要内容: 线性系统的传递函数模型 线性系统的状态方程模型 线性系统的零极点模型 多变量系统的传递函数矩阵模型
6
4.1.1 线性连续系统数学模型及MATLAB 表示 线性系统的常系数线性常微分方程模型 为阶次, 为常数, 物理可实现
为阶次, 为常数, 物理可实现 线性定常系统 LTI (linear time invariant)
7
传递函数的理论基础 ——Laplace变换
Pierre-Simon Laplace ( ),法国数学家 Laplace变换 域 域 定义 Laplace变换的一条重要性质: 若 则
8
传递函数表示 传递函数即放大倍数 传递函数的一般表示 阶次、正则、严格正则、相对阶次的概念 MATLAB输入语句
9
传递函数输入举例 不同输入方法举例: 例4-1 输入传递函数模型 MATLAB输入语句 在MATLAB环境中建立一个变量 G
10
另外一种传递函数输入方法 例4-2 如何处理如下的传递函数? 定义算子 ,再输入传递函数
11
应该根据给出传递函数形式选择输入方法 例4-3 输入混合运算的传递函数模型 显然用第一种方法麻烦,所以 不同方法有不同的适用范围
12
MATLAB的传递函数对象 传递函数对象属性:新版本
13
传递函数属性修改 例4-4 延迟传递函数 ,即 若假设复域变量为 ,则 直接赋值方法
14
传递函数参数提取 由于使用单元数组,直接用 不行 有两种方法可以提取参数 这样定义的优点:可以直接描述多变量系统
由于使用单元数组,直接用 不行 有两种方法可以提取参数 这样定义的优点:可以直接描述多变量系统 第 i 输入对第 j 输入的传递函数
15
线性系统的状态方程模型 状态方程模型 状态变量 , 阶次 n ,输入和输出 非线性函数: 和 一般非线性系统的状态方程描述
16
线性状态方程 时变模型 线性时不变模型 (linear time invariant, LTI)
17
线性时不变模型的MATLAB描述 MATLAB 输入方法 矩阵是 方阵, 为 矩阵 为 矩阵, 为 矩阵 可以直接处理多变量模型
矩阵是 方阵, 为 矩阵 为 矩阵, 为 矩阵 可以直接处理多变量模型 给出 矩阵即可 注意维数的兼容性
18
例4-5 MATLAB 模型输入
19
带时间延迟的状态方程 数学模型 MATLAB输入语句 其他延迟属性:ioDelay
20
4.1.3 带有内部延迟的状态方程输入 框图描述,更一般的状态方程模型
21
数学描述 其中 、 为内部信号,提取模型 内部延迟
22
线性系统的零极点模型 零极点模型是因式型传递函数模型 零点 、极点 和增益 零极点模型的 MATLAB表示
23
例4-6 零极点模型 MATLAB输入方法 另一种输入方法(不建议用)
24
多变量系统传递函数矩阵模型 传递函数矩阵 为第 i 输出对第 j 输入的传递函数 可以先定义子传递函数,再由矩阵定义
25
例4-7 多变量模型 两种输入方法
26
4.2 线性离散时间系统的数学模型 单变量系统:差分方程取代微分方程 主要内容 离散传递函数 离散状态方程 离散的零极点模型
27
离散传递函数模型 数学表示 (z 变换代替Laplace变换) MATLAB表示 (采样周期 ) 算子输入方法:
28
例4-8 离散传递函数,采样周期 MATLAB输入方法 另一种输入方法
29
离散延迟系统与输入 数学模型 延迟为采样周期的整数倍 MATLAB输入方法
30
滤波器型描述方法 滤波器型离散模型 分子、分母除以 记 ,则
31
零极点型模型可以用zpk函数输入 例4-9 零极点型传递函数 也可以定义算子 本例有复数极点,不适合用此方法
32
离散状态方程模型 数学形式 注意兼容性 MATLAB表示方法
33
离散延迟系统的状态方程 数学模型 MATLAB表示方法 离散系统也有内部延迟模型
34
4.3 系统模型的相互转换 前面介绍的各种模型之间的相互等效变换 主要内容 连续模型和离散模型的相互转换 系统传递函数的获取
4.3 系统模型的相互转换 前面介绍的各种模型之间的相互等效变换 主要内容 连续模型和离散模型的相互转换 系统传递函数的获取 控制系统的状态方程实现 状态方程的最小实现 传递函数与符号表达式的相互转换
35
连续模型和离散模型的相互转换 连续状态方程的解析阶 采样周期 选择
36
这样可以得出离散模型 记 则可以得出离散状态方程模型 MATLAB函数直接求解 还可以采用Tustin变换(双线性变换)
37
例4-10 双输入模型, 输入模型、变换
38
例4-11 时间延迟系统的离散化 MATLAB求解 零阶保持器变换 变换结果
39
Tustin变换 数学表示 其他转换方法 FOH 一阶保持器 matched 单变量系统零极点不变 imp 脉冲响应不变准则
40
离散模型连续化 对前面的变换求逆 Tustin反变换 MATLAB求解 (无需 )
41
例4-12 对前面的连续状态方程模型离散化,对结果再连续化,则
可以基本上还原连续模型
42
系统传递函数的获取 已知状态方程 两端Laplace变换 则
43
因此可以得出传递函数 难点 基于Fadeev-Fadeeva算法能得出更好结果 由零极点模型,直接展开分子分母 用MATLAB统一求解
44
例4-13 多变量模型,求传递函数矩阵
45
4.3.3 控制系统的状态方程实现 由传递函数到状态方程的转换 不同状态变量选择,结果不唯一 默认变换方式,采用MATLAB函数
控制系统的状态方程实现 由传递函数到状态方程的转换 不同状态变量选择,结果不唯一 默认变换方式,采用MATLAB函数 G可以是传递函数、状态方程和零极点模型 适用于有延迟的、离散的或多变量模型 可以将延迟传递函数模型转成内部延迟
46
例4-14 连续多变量模型 状态方程获取
47
得出的状态方程模型 内部延迟:0.42, 1.29 该模型可以转换回传递函数矩阵
48
均衡实现 (banlanced realization)
由一般状态方程输入输出关系显著程度不明显,需要进一步变换 均衡实现是一种很有用的方式 用MATLAB直接求解 得出均衡实现的模型 得出排序的 Gram 矩阵
49
例 原系统模型 引入 (内部坐标变换)
50
4.3.4 状态方程的最小实现 例4-15 观察传递函数模型 未见有何特殊 求取零极点模型
51
得出结果 相同位置的零极点,可以对消 问题:状态方程如何处理? MATLAB解决方法
52
例4-16 多变量模型 不能直接看出是否最小实现
53
MATLAB求解
54
4.3.5 传递函数与符号表达式的转换 自编符号运算函数的处理方法 传递函数到符号表达式 表达式到传递函数
传递函数与符号表达式的转换 传递函数到符号表达式 表达式到传递函数 自编符号运算函数的处理方法 置入 toolbox/symbolic/symbolic 运行rehash toolboxcache
55
4.4 方框图描述系统的化简 单环节模型前面已经介绍了 实际系统为多个环节互连 如何解决互连问题,获得等效模型? 主要内容
4.4 方框图描述系统的化简 单环节模型前面已经介绍了 实际系统为多个环节互连 如何解决互连问题,获得等效模型? 主要内容 控制系统的典型连接结构 节点移动时的等效变换 复杂系统模型的简化 基于信号流图的代数化简方法
56
控制系统的典型连接结构 系统串、并联 数学等效方法 串联传递函数 并联传递函数
57
串、并联状态方程模型 串联系统的状态方程 并联系统的状态方程
58
串、并联系统的MATLAB求解 若一个模型为传递函数、另一个为状态方程,如何处理? 基于MATLAB的计算方法 将二者变换成同样结构再计算
串联 注意次序:多变量系统 并联 优点,无须事先转换
59
系统的反馈连接 反馈连接 数学等效关系 正反馈 负反馈
60
状态方程的反馈等效方法 其中 若
61
反馈连接的MATLAB求解 LTI 模型 符号运算 (2008a置于@sym下即可) 自编符号运算函数的处理方法
置入 toolbox/symbolic/symbolic 运行 rehash toolboxcache
62
例4-17
63
例4-18 控制器为对角矩阵
64
例4-19 利用内部延迟
65
早期版本不能直接使用feedback函数,需要事先将含有延迟的受控对象模型先转换成状态方程模型
输入模型到MATLAB工作空间 得出带有内部延迟的状态方程模型
66
例4-20 典型计算机控制系统 应该先统一域,再化简 统一成离散模型 统一成连续模型
67
节点移动时的等效变换 考虑模型 难点:A点在回路间,移至输出端
68
节点移动的等效处理
69
4.4.3 复杂系统模型的简化 例4-21 原系统可以移动 新支路模型
70
从 到 的等效模型计算 结果的数学表示 结论:只要能把原系统清晰的理出典型理连接关系,则可以直接化简
71
例4-22 电机拖动模型 输入 单独激励
72
信号单独输入,需要重新绘图 得出另一个传递函数
73
最终得出传递函数矩阵
74
4.4.5 基于信号流图的代数化简方法 例4-23 例4-21中的系统可以画出信号流图
75
信号流图 节点方程
76
矩阵形式 , 称为连接矩阵 其中
77
信号流图模型的代数化简方法 陈怀琛教授提出了代数化简方法 信号流图写出矩阵方程 由矩阵方程推导出系统模型 符号运算可以直接化简
得出的是 到所有状态 的传递函数矩阵 无须预处理,移动节点,更方便可靠
78
例4-24 考虑前面介绍的电机控制系统 信号流图
79
信号流图 节点方程
80
节点方程到矩阵形式 MATLAB 求解
81
例4-25 例4-23原始问题 已知关联矩阵 MATLAB求解
82
4.4 小结 各种模块的连接方法与MATLAB处理 节点的移动,方块图的化简方法 方框图化简的代数方法 串联:*运算 并列:+运算
反馈连接:feedback()函数、重载函数 节点的移动,方块图的化简方法 方框图化简的代数方法 系统的信号流图表示 连接矩阵的手写与输入 用符号运算直接化简:
83
4.5 线性系统模型降阶 用低阶模型近似高阶模型 和最小实现不同 最早由Edward J. Davison提出(1966) 主要内容
4.5 线性系统模型降阶 用低阶模型近似高阶模型 和最小实现不同 最早由Edward J. Davison提出(1966) 主要内容 Padé与 Routh 算法 时间延迟模型的 Padé 近似 带有延迟的最优降阶算法 状态空间的降阶算法
84
Padé 降阶算法 与 Routh 降阶算法 原始模型 寻求降阶模型 为简单起见假设
85
展开原模型 其中时间矩量 可以递推求出 若已知状态方程模型
86
时间矩量的MATLAB求解 Padé 降阶思想:保留前 时间矩量
87
对比系数,则
88
这样可以得出 可以得出降阶模型的分子、分母系数
89
Padé 降阶求解函数
90
例4-26 原始模型 Padé 近似 结果:用二阶模型近似原始的四阶模型
91
例4-27 反例 零极点模型求取 稳定模型
92
Padé 近似 不稳定降阶模型 Padé 不能保证降阶模型的稳定性 不稳定降阶模型可能得出稳定降阶模型
93
Routh 降阶方法与实例 Routh算法(较烦琐,从略)
94
Routh算法的最大特色:稳定系统降阶后能保证降阶模型稳定性 例4-28 仍考虑稳定模型
MATLAB求解 结果
95
时间延迟模型的 Padé 近似 纯延迟的Padé近似方法 Padé近似函数 多变量系统的Padé
96
不同分子分母的Padé近似 算法:逼近 编写 MATLAB 函数 其中 r/k 任意选择 可以选择 0/k ,以避免非最小相位模型
97
例4-29 纯延迟模型 MATLAB求解 拟合结果
98
例4-30 已知带有延迟的线性模型 可以得出近似模型
99
带有时间延迟系统的 次最优降阶算法 降阶模型的降阶效果 误差定义 ISE准则
100
原模型 降阶模型 降阶误差定义
101
参数向量 误差 MATLAB实现 见下页 调用格式
102
主函数
103
支持函数(求目标函数)
104
例4-31 对给出的传递函数进行降阶研究 可以给出下面的语句 得出的降阶模型为
105
例4-32 已知高阶模型 可以给出如下命令 得出的降阶模型
106
例4-33 非最小相位系统 模型降阶 降阶模型
107
状态方程模型的降阶算法 均衡实现模型的降阶算法 令
108
MATLAB求解函数 例4-34
109
基于 Schur 均衡实现模型的降阶算法 MATLAB求解函数 例4-35 高阶传递函数 思路:先转换成状态方程,再降阶
110
最优 Hankel 范数的降阶模型近似 MATLAB求解函数 例4-36 采用前面模型 最优Hankel范数降阶模型
111
4.5 降阶算法综述 各种降阶方法 降阶模型的应用 Pade与Routh降阶:pademod()、routhmod()
次最优降阶方法:opt_app() 状态方程降阶方法:modred()、schmr()、ohkmr() Routh、状态空间法不能独立选择分母分子阶次 降阶模型的应用 仿真应用(用途越来越小) 控制器设计应用
112
4.6 线性系统的模型辨识 系统模型建立的方法 实测数据 本节主要内容 由数学、物理规则推导 由已知实测数据获得系统模型的方法
4.6 线性系统的模型辨识 系统模型建立的方法 由数学、物理规则推导 由已知实测数据获得系统模型的方法 实测数据 时域响应数据、频率响应数据 本节主要内容 离散系统辨识方法 辨识模型阶次的选择、辨识信号生成 连续系统辨识、多变量系统辨识 离散系统在线辨识简介
113
4.6.1 离散系统的模型辨识 离散传递函数模型 是一步延迟的算子 对应的差分方程模型 是辨识模型的残差信号
114
已知实测信号 输入 输出 由数据可以得出 线性代数方程
115
矩阵形式 定义残差最小指标 最小二乘解
116
辨识问题的MATLAB直接求解 系统辨识工具箱直接求解 T 为结构体变量,T.a, T.b, tf(T) 当然由前面的公式也能直接求解
已知时域数据 已知频域响应数据 T 为结构体变量,T.a, T.b, tf(T) 当然由前面的公式也能直接求解
117
例4-37 实测数据
118
基于MATLAB的求解(选择阶次组合4,4,1)
119
数学形式 残差级别 辨识模型的提取 还可以写成
120
还可以由下面语句求解 辨识结果 辨识的效果图示
121
直接辨识方法 辨识结果 辨识界面:ident
122
4.6.2 辨识模型的阶次选择 为什么上个例子选择4,4,1? Akaike准则(Akaike‘s information criterion) MATLAB求解函数 根据该准则的变化情况选择合适阶次 后面通过例子演示
123
例4-38 前面的例子,由已知数据辨识模型 尝试不同的延迟常数 尝试不同的阶次组合 用循环结构得出AIC表 从表中观测应该如何选择阶次
125
4.6.3 离散系统辨识信号的生成 伪随机二进制序列 问题:什么样信号激励系统,辨识效果最好? 有丰富频率信息的信号最好,如 PRBS
离散系统辨识信号的生成 问题:什么样信号激励系统,辨识效果最好? 有丰富频率信息的信号最好,如 PRBS 伪随机二进制序列 pseudo-random binary sequence 频率丰富 值为 可重复构建 MATLAB直接生成
126
例4-39 生成63个点的PRBS信号 PRBS信号的波形 不宜采用plot()函数绘制
127
4.6.4 连续系统的辨识 考察频率是否丰富对辨识效果的影响 可以采用的辨识方法 例4-40 用正弦信号激励
连续频率拟合方法,不唯一(invfreqs函数) 离散方法,再转换成连续模型 例4-40 用正弦信号激励
128
用PRBS信号激励 频域辨识 无须先辨识离散系统再转换 由频域响应数据辨识,不能用时域数据 辨识用语句
129
多变量离散系统的辨识 离散传递函数矩阵模型 其中 例4-34
130
首先生成数据 提取左上角子模型
131
得出的高阶模型 应该最小实现 辨识结果
132
离散系统的递推最小二乘辨识 在系统运行过程中实时获取系统参数,而不是象前面介绍的方法那样一次性获得模型,适合于变参数模型的实时控制 广泛应用于自适应控制 渐近地逼近参数真值 这里介绍算法,仿真研究将在后面介绍
133
递推最小二乘辨识 传递函数模型 差分方程模型 待辨识参数
134
递推初值 和加权矩阵 输入输出数据向量 递推公式
135
4.6 系统辨识小结 系统辨识的目的 通过实测的系统响应数据则可以重构出系统的数学模型,最小二乘辨识算法 一般辨识方法及存在的问题:
arx() 函数、invfreqs()函数 Akaike 准则:aic() 函数,寻找合适的阶次 PRBS 辨识信号生成:idinput() 函数,频率信息丰富 多变量系统辨识方法 系统模型的在线辨识 递推最小二乘辨识的算法,见第 6 章 Simulink 实现
136
本章要点小结 线性连续系统可以用传递函数、状态方程和零极点形式描述,多变量系统可以由状态方程和传递函数矩阵来描述。
tf( ) 、ss( ) 、zpk( ) 带有时间延迟的系统模型:ioDelay 属性。 内部延迟的状态方程模型 离散系统也可以用传递函数、传递函数矩阵和状态方程表示,也有对应的零极点模型 tf( ) 、ss( ) 、zpk( )、延迟模型
137
不同的系统数学模型可以进行相互转换 由子模块组成的方块图的化简问题 连续模型与离散模型: c2d( )、 d2c( )函数
传递函数:tf( ) 函数 转换成状态方程: ss( ) 函数 零极点模型:zpk( ) 函数。 均衡实现与最小实现:balreal()、minreal() 函数 由子模块组成的方块图的化简问题 三种基本连接结构:*、+、feedback() 函数 复杂结构的控制系统方框图化简:重载 feedback() 信号流图模型的代数化简方法:关联矩阵
138
如果系统模型的阶次过高,会使得系统分析与设计变得困难,需要引入降阶方法:
Padé 近似与Routh近似:pademod()、routhmod() 函数 延迟模型次最优降阶算法:opt_app() 函数 基于状态空间的模型降阶方法——均衡实现降阶、Schur降阶与最优Hankel范数降阶:modred()、 、schmr() 函数、ohkmr() 函数 通过实测的系统响应数据则可以重构出系统的数学模型,最小二乘辨识算法 一般辨识方法:arx() 函数,Akaike 准则:aic() 函数 PRBS 辨识信号生成:idinput() 函数 递推最小二乘辨识的算法,见第 6 章 Simulink 实现。
Similar presentations