武汉大学《现代控制理论》数学知识回顾第八章线性与时间不变性
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉⼤学《现代控制理论》数学知识回顾第⼋章线性与时间不变性
现代控制理论讲义
第⼋章模拟/实现
8.1 引⾔
给定n 阶状态空间描述,其形式如下:
()((),(),) x
t f x t u t t = (状态变化⽅程)(8.1) ()((),(),)y t f x t g t t = (瞬时输出⽅程) (8.2)
(⽅程可以是CT 或DT ,依赖于我们如何解释符号x
),如何模拟这个模型,也就是说,如何在硬件或者软件上来实现它?在DT 情况下,()(1) x
t x t =+,如果我们有以下条件,实现它是⾮常简单的:(i )存储寄存器可以在每个时间步(或“时钟周期”)上更新—这些可以存储状态的变化;(ii )在线性情况下,只⽤乘法器和加法器就可以估计出在空间状态⽅程中出现的()i f 和。
这样就可以得到⼀个简单的实现⽅法,见下图所⽰。
存储寄存器⽤D 来标识(⼀步)延迟,因为模块的输出是当前存储在寄存器中的数据,⽽模块的输⼊
是下⼀个时钟脉冲准备写⼊寄存器的数据。
在CT 情况下,()i g ()()/ x
t dx t dt =,唯⼀的不同就是延迟单元⽤积分器来代替。
积分器的输出就是状态变量。
8.2 由输⼊输出I/O 表达式来实现
在本节,我们将描述⽤卷积形式表⽰的因果输⼊输出动态系统,其状态空间实现是如何得到的。
8.2.1 指数卷积
假设⼀个因果DT LTI 系统的脉冲响应h[n](当n<0时,h[n]=0):
图8.1:模拟结构图
[][][]n
y n h n k u k ?∞
=?∑
1
([][])[0][n h n k u k h u n ??∞
=?+∑] (8.3)
上⾯的第⼀项也就是:
1
[][][]n x n h n k u ??∞
=?∑k (8.4)
表⽰过去对现在的影响。
这个描述表⽰,⼀般情况下(也就是如果h[n]没有特殊形式),x[n]要在各个n 处重新计算。
当我们从n 变到n+1时,过去的每个输⼊,也就是,都不能被丢弃,因为所有过去的值在计算x[n +1]时都要被⽤到。
也就是说,系统的存储器容量要是⽆限⼤的。
[]()u k k n ≤现在看⼀个例⼦,在该例中特殊结构的h[n]使得情况好很多。
假设
当且仅当时,0n ≥[]n
h n λ=,当n<0时[]0h n = (8.5)则
1
[][]n n k x n λ∞
=∑u k ] (8.6)
和
11[1][]
[][]
[][]
(8.7)
n
n k n n k x n u k u k u n x n u n λλλλλλ+??∞
∞+=??
=+=+∑∑
(为了更形象地理解关系式(8.7),你会发现这⾥⽤图表表⽰卷积将会好很多。
)通过(8.3)、(8.6)和(8.7),我们得到了描述这个系统的⼀对空间状态⽅程:
[1][][x n x n u n λλ+=+ (8.8)
[][][]y n x n u n =+ (8.9)
为了在硬件上实现或者模拟这个模型,我们可以⽤下⾯获得的延迟-加法器-增益系统。
我们从延迟单元着⼿,当输⼊为
x[n+1]时,它的输出是x[n]。
在此,状态变化⽅程告诉我们,如何⽤延迟单元的当前输出x[n]与系统当前输⼊u[n]的组合,来得到延迟单元的当前输⼊x[n+1]。
这样可以推导出下⾯这个模块图,在此,我们⽤输出⽅程来决定如何从系统的当前状态和输⼊获得y[n]。
8.2.2 指数函数和的卷积
假设⼀个⽐先前例⼦更加复杂的因果脉冲响应,即:
01122[][]() n n n
L L h n n ρδρλρλρλ=++++ (8.10)
其中,i ρ是个常数。
下⾯的⽅框图表明,这个系统可以看成是具有内部并⾏联系的因果⼦系统的组合,这些⼦系统和先前处理的系统⼀样简单,加上⼀个0ρ(更正,此处应该为i ρ)作增益的反馈到输⼊(每⼀个模块⽤脉冲响应来标识,具有隐含的因果关系:当n<0时,
响应为0):
在上述机制和处理⽅法的启发下,针对每个L ⼦系统,我们可以定义⼀个状态变量:
1
[][],
1,2,, n n k i i x n u k i λ∞
==∑L (8.11)
利⽤此变量,我们马上就可以得到⼦系统的状态变化⽅程如下:
[1][][],
1,2,, i i i i x n x n u n i L λλ+=+= (8.12)
此外,经过简单的代数计算,我们可以直接发现
11220
[][][][]()[] L
L L i y n x n x n x n u n ρρρρ=++++∑ (8.13)
因此,我们就得到了给定系统的L 阶状态空间描述。
为了写出上述空间状态⽅程的矩阵形式,定义时间n 时的状态向量为:12[][][][] L x n x n
x n x n =??
(8.14)
此外,定义对⾓矩阵A 、列向量b 和⾏向量c 如下:
112
00000000,0000 L L A 2b λλλ
λλλ
=
=) (8.15)
(12 L c ρρ=ρ] (8.16)
这样,我们的状态空间模型就变成了期望的矩阵形式,很容易证实:
[1][][x n Ax n bu n +=+ (8.17) [][][]y n cx n du n =+ (8.18)
其中
L
i d ρ=∑ (8.19)
8.3 从LTI 微分/差分⽅程来实现
在本节⾥,我们描述怎么从微分或者差分⽅程中得到实现⽅法。
我们⽤⼀个例⼦开始讲起。
例8.1(LTI 差分⽅程的状态空间模型)
让我们看看如何⽤状态空间形式表⽰以下的输⼊输出差分⽅程:
1212[][1][2][1][2]y n a y n a y n b u n b u n +?+?=?+? (8.20)
⾸先尝试考虑以下的状态向量:
[1][2][][1][2]y n y n x n u n u n
=
] (8.21) 相应的四阶状态空间模型形式如下:
1
2
12[][1]0[1]1000[2]0[1][[]0000[1]1[1]0
10[2]0y n a a b b y n y n y n X n u u n u n u n u n
+==+
n
()12
1
2[1][2][](0)[][1][2]y n y n y n a a b b u u n u n
=+
n (8.22) 如果对状态变量的选择稍微仔细⼀点的话,就可能得到更加简化的模型。
⽐如三阶模型,
假设我们选取的状态向量为:
[][][1][1]y n X n y n u n =?
+1n 0)y
(8.23)
相应的三阶状态空间模型形式如下:
112
2[1][]x[n]=[]10
0[1]0[][]000[1]1b y n a a b y n y n y n u n u n u n +
=??
()[][]100[1](0)[][1]y n y n y n u n u n ??
=?+
(8.24)
通过更灵活的⽅式选择状态变量,可以得到⼆阶状态空间模型。
为了实现此⽬的,取
22
[]x[n]=[1][1]y n a y n b u n ??
+ (8.25)
相应的⼆阶状态空间模型具有如下的形式:
11
222222[1]1[][][][]0[1][1]b y n a y n u n a y n b u n a a y n b u n b +=++???+
22
[][](10)(0)[][1][1]y n y n u n a y n b u n ??
=++⼀般情况下,⽤低于2阶的状态空间⽅程描述这种情况是不可能的。
不⽤奇怪,从我们
着⼿的⼆阶差分⽅程来看,(从前⾯课程可知)需要两个初始状态来求解。
注意,在上述的每个例⼦中,我们把原始的差分⽅程所包含的信息综合起来了。
这个例⼦虽然针对⼆阶差分⽅程,但可以普遍推⼴到n 阶的情况,同时和CT 微分⽅程具有普遍相似性。
下⾯,我们将给出⼀个n 阶微分⽅程的两种实现⽅法。
实现⽅法是不唯⼀的,但这两种却有良好的特性,这⼀点我们将在后⾯给予详细介绍。
8.3.1 可观测标准型
假设LTI 系统的微分⽅程为:
()(1)(1)1001 n n n n y a y a y b u b u
b u +++=+++ 通过整理,可以得到:
()(1)(1)(2)(2)11220()()( n n n n n n n n n y b u a y b u a y b u a =?+?++?
积分n 次以后,就变成:
112200n
()()( n n n n y b u a y b u a y b u a y =?+?++?∫∫∫∫∫…) (8.27)
直接根据式(8.27),可以得到图8.2的模块图。
这种特殊的实现模型被称为可观测标准型实现——“canonical ”表⽰“简单
的”意思(但实际上有着严格的数学定义),“observability ”这个字眼在后续章节会经常使⽤。
图8.2:可观测标准型形式
⼀旦我们意识到状态变量是积分器的输出,我们就可以直接从图8.2中得到状态⽅程:
11122213010
n n n n n 12x
a x x
b u x
a x x
b u x a x b u =?++=?++=?+
1y x =
如果写成我们通常的矩阵形式,就会得到:
[]
11
2200100010,
100100
n n n n b a b a A b a b c
==?
= 如果四个矩阵中的任何⼀个矩阵,它们0和1的形式和上⾯的形式类似,则称矩阵A 是相
伴型的。
当我们谈论多项式的时候我们应该能看到,这样⼀个矩阵的特征多项式可以直接从系数中读出,所以这个矩阵是它的特征多项式的伴随者。
8.3.2可达标准型
前⾯章节⾥提到的LTI 微分⽅程有“双重”实现⽅式:
()(1)(1)1001 n n n n y a y a y c u c u
c u +++=+++1n (8.28)
⾸先,考虑⼀种特殊情况,也就是微分⽅程:
()(1)10 n n n w a w a w ??+++u = (8.29)
为了获得式(8.29)所⽰系统的⼀个n 阶状态空间实现,作如下定义:
1232
2111
n n n n n n w x w x w
x x d w x dt x d w dt
==????????????????
然后,很容易验证下⾯的状态空间描述就是给定模型的实现:
11223311012210
100000010000
00100000010()()()()()1 n n n n n n x x x x x x d u dt x x a t a t a t a t a t x x
=+???
[]123110000 n n x x x w x x
=
(这⾥的矩阵A 还是伴随阵的⼀种;这两种伴随形式是这种变形和前⾯章节⾥⾯那种
的变形。
)假设我们现在想实现另外⼀种特殊形式,微分⽅程为:
()(1)10 n n n r a r a r ??u
+++= (8.30) 除了RHS 是u ⽽不是u 之外,此式和式(8.29)是⼀致的。
通过线性⽅式,(8.30)的响应是
,这个响应可以从上⾯的实现模型中通过把输出变为x () r w
t =2⽽不是x 1就可以得到了,因为2 x w
r ==。
可以看到,假设前⾯模型的特殊情况,如果我们有式(8.28)所表⽰的微分⽅程,以及下式的RHS :
(1)011 n n c u c u
c u ??+++ 那么,上⾯的实现⽅式⾜够告诉我们,输出应该为:
01121 n n y c x c x c x ?=+++ (8.31)
也就是说,我们只要改变⼀下输出⽅程,就可以得到:
[]0121 n c c c c c ?= (8.32)
最终实现的模块图如图8.3所⽰。
这个被称为可达或者可控标准型。
图8.3可达标准型
最后应该指出,因为DT 差分⽅程和我们例⼦中⽤到的CT 微分⽅程类似,除了求导被差分代替以外,将会有同样的⼯作机制。
习题
习题 8.1假设我们想实现⼀个双输⼊微分系统,⽅程形式如下:
()(1)(1)100111111,11(1)
0221221,22 n n n n n n n y a y a y b u b u
b u b u b u
b u +++=+++++++
请问:应该如何改变可观测标准型来完成这个问题,要求仅⽤n 个积分器。
习题 8.2 如果我们着⼿的线性微分⽅程是时变的,⽽不是定常的,那么可达标准型实现该如何修改?
习题 8.3 仍然只⽤n 个积分器,如何改变可达标准型实现,来得到以下双输出系统的实现:
()(1)(1)1110110111,1()
(1)
(1)
2
12
0220212,1 n n n n n n n n n y a y a y c u c u c u y a y a y c u c u
c u +++=++++++=+++n
习题 8.4 对于下列⼆输⼊⼆输出系统:
11122212, y
y u u y
y u u α=++=++
(a )当α≠1时,找到系统的⼀个最⼩实现。
(b )当α=1时,找到系统的⼀个最⼩实现。