当前位置: 首页 > >

现代控制理论第13章线性系统的经典辨识方法 82页PPT文档_图文

发布时间:

第四篇 系 统 辨 识
概述
在实际工程问题中,为了设计和分析一个控制系统,或 者为了分析一个对象的动态性质,都必须知道系统或对象的 数学模型及其参数。在前面讨论线性系统理论、最优控制理 论和最优估计理论时,假定系统的数学模型是已知的。显然, 对于自动控制系统的设计研究工作来说,建立对象的数学模 型是必不可少的。

有的系统的数学模型可用理论分析方法(解析法)推导出 来,例如飞行器运动的数学模型,一般可根据力学原理较 准确地推导出来。但是,当考虑飞行器运动模型的参数随 飞行高度和飞行速度变化时,为了实现对飞行器运动的自 适应控制,就要不断估计飞行器在飞行过程中的模型参数。

有些控制对象,如化学生产过程,由于其复杂性,很难用理 论分析方法推导数学模型。只能知道数学模型的一般形式及 其部分参数,有时甚至连数学模型的形式也不知道。因此提 出怎样确定系统的数学模型及其参数的问题,即所谓的系统 辨识问题。既然有的系统很难用理论分析方法推导出数学模 型,只有求助于试验方法。

通过试验或系统的运行,得到有关系统模型的信息,经 过计算处理,可得系统的数学模型。粗略地讲,系统辨 识就是通过试验或运行所得数据,估计出控制对象的数 学模型及其参数。较准确地说,系统辨识是根据对已知 输入量的输出响应的观测,在指定的一类系统范围内, 确定一个与被辨识系统等价的系统。

系统辨识的大致过程是:
⑴ 选定和预测被辨识系统的数学模型的类型。
⑵ 试验设计:选择试验信号,记录输入和输出数据。如果 系统是连续运行的,不允许施加试验信号,则只好利用正常 的运行数据来辨识。
⑶ 参数估计:选择估计方法,根据测量数据估计数学模型 中的未知参数。

⑷ 模型验证:验证所确定的模型是否恰当地表示了系统。
如果所研究的系统模型合适,则系统辨识到此结束。否则, 必须改变系统的模型结构,并且执行⑵到⑷,直到获得一个 满意的模型为止。

事实上,为了得到辨识系统的数学模型,往往需要把理论分 析方法和系统辨识方法有机地结合起来。例如,通过对被辨 识系统工作原理和动态过程的初步分析,用解析大致推导或 估计出被辨识系统数学模型的结构型式,甚至包括某些参数 及其变化范围,然后用系统辨识的方法将未知部分辨识出来。 实践证明,这各互相结合的方法,在工程设计中是最行之有 效的。
被辨识系统的数学模型,可以分成参数和非参数模型两类。

参数模型 是由传递函数、微分方程或差分方程表示的数学 模型。如果这些模型的阶和系数都是已知的,则数学模型是 确定的。采用理论推导的方法得到的数学模型一定是参数模 型。建立系统模型的工作,就是在一定的模型结构条件下, 确定它的各个参数。因此,系统辨识的任务就是选定一个与 实际系统相接近的数学模型,选定模型的阶,然后根据输入 和输出数据,用最好的估计方法确定模型中的参数。

非参数模型 是脉冲响应函数、阶跃响应函数、频率特性表示 的数学模型。在这些数学模型中没有明显的参数。非参数模 型可通过实验获得,而参数模型又可从非参数模型得到。例 如,可从脉冲响应或频率特性,用最小二乘法拟合的方法, 得到传递函数。由于非和模型是通过实验获得的,因此事先 不需要对模型结构作任何假定。对任何复杂结构的系统都可 用非参数模型。

为了减小计算量,在选择数学模型时,应使模型的阶尽量低 一些,参数尽量少一些。但是,必须保证这个模型能准确地 描述系统。
对于参数模型的参数估计问题,由于参数估计方法不同,可 分为离线辨识和在线辨识两种模式。关于离线辨识,是在系 统模型结构和阶数确定的情况下,将全部输入、输出数据记 录下来,然后用一定的辨识方法,对数据进行集中处理,得 到模型参数的估计。

关于在线辨识,它的参数估计也是在系统模型结构和阶数 确定的情况下进行的。当获得一批输入、输出记录数据之 后,用一定的辨识方法进行处理,得到模型参数的估计值。 然后,随着新的输入、输出数据的到来,用递推算法不断 修正参数的估值。

假如这种递推估值过程进行得很快,那么就有可能获得一定 精度的时变系统的参数估值,这种能力称为在线实时辨识。 在实现自适应控制的过程中,所进行的参数辨识一定是在线 辨识,例如在进行导弹的转弯控制。

离线辨识和在线辨识各有其特点。离线辨识的参数估计精度 高,但要求计算机的储存量大。在线辨识的参数估计精度稍 差,计算机的储存量小。
本篇主要讨论:线性系统的经典辨识方法;最小二乘法辨识; 极大似然法辨识。

第十三章 线性系统的经典辨识方法
线性系统的经典辨识包括频率响应法、阶跃响应法和脉冲响 应法。其中用得最多的是脉冲响应法。这是因为脉冲响应容易获 得,只要在系统的输入端输入单位脉冲信号,则在输出端可得脉 冲响应的方法不影响系统的正常工作。实际上,用工程的方法产 生理想的脉冲函数是难以实现的,所以在辨识中不用脉冲函数作 为系统的输入信号,而用一种称之为M序列的伪随机信号作为试 验信号,再用相关处理测试结果,可很方便地得到系统的脉冲响 应。因此脉冲响应法得到广泛的应用。

第一节 脉冲响应的确定方法――相关法
伪随机测试信号是六十年代发展起来的一种用于系统辨识的 测试信号,这咱信号的抗干扰性能强;为获得同样的信号量,对 系统正常运行的干扰程度比其他测试信号低。目前已有用来做这 种试验的专用设备。如果系统设备有数字计算机在线工作,伪随 机测试信号可用计算机产生。实践证明,这是一种很有效的方法, 特别对过渡过程时间长的系统,优点更为突出。
用伪随机测试信号和相关法辨识线性系统时,可获得系统的脉 冲响应。本节讨论相关的原理。

一个单输入单输出的线性定常系统的动态特性,可用它的脉
冲响应函数 g ? t ? 描述,如图13-1所示。

设系统的输入为x ? t ? ,输出为 y ? t ? ,则y ? t ? 可用下式表示:

y?t???0 ?g???x?t???d?

(13-1)

设 x ? t ? 是均值为零的平稳随机过程,则 y ? t ? 也量均值为零和平
稳随机过程。

对于 t 2 时刻,系统的输出可写为
y?t2???0 ?g???x(t2??)d?
以 x ? t1 ? 乘上式等号两边,再取数学期望,得到
? ?? 即 E ? ? x ?t 1 ?y ?t2 ?? ? ? ?0 ? g ??E ? ? x ?t 1 ?x ?t2 ? ?? ? d
? ? ?? R x y?t2? t1 ??0 ? g ??R x x?t2? t1 ??d
式中
Rxy?t2?t1??E??x?t1?y?t2??? Rxx?t2?t1????E??x?t1?x?t2?????

设t2 ?t1 ??,则
R xy?????0 ? g???R xx??? ??d ?

(13-2)

式(13-2)就是著名的维纳-霍夫方程。这个方程给出输入x ? t ? 的 自相关函数 Rxx ?? ?、输入 x ? t ? 与输出 y ? t ? 的互相关函数 Rxy ?? ? 和脉冲 响应函数 g ?? ? 之间的关系。如果已知 Rxx ?? ? 和 Rxy ?? ? ,便可确定脉 冲响应函数g ?? ?,这是一个解积分方程的问题。一般说来,这个
积分方程是很难的。

如果输入 x ? t ? 是白噪声,则可很容易求脉冲响应函数 g ?? ? 。 这时 x ? t ? 的自相关函数为
??? ????? R x x ? ? ? K ? ?, R x x ? ? ? ? K ? ? ?

根据维纳-霍夫方程可得

R x y ???? ?0 ? g ?? ?K ???? ? ?d ?? K ????


g??? ? Rxy ???
K

(13-3)

这说明,对于白噪声输入, g ?? ? 与 Rxy ?? ? 只差一个常数倍。这 样,只要记录 x ? t ? 与 y ? t ? 之值,并计算它们的互相关函数Rxy ?? ? , 可立即求得脉冲响应函数 g ?? ? 。用白噪声辨识系统的模型方块图
如图13-2所示。

当 x ? t ? 是均值为零的白噪声,y ? t ? 具有各态历经时间性,观测时 间 T m 充分大时,x ? t ? 和 y ? t ? 的互相关函数可按下式求得:

Rxy????T 1m?0?x?t?y?t???dt

(13-4)

如果对和进行等间隔采样,可得序列xi ?x?ti?



yi ?y?ti??i?1,2, ,N?1?

设采样周期为 ? ,有
xi???x?ti????? yi???y?ti?????, ???0,1,2, ?



? ? ? ? 1N?1

Rxx

? Ni?0

xixi??

(13-5)

? ? ? ? Rxy

?N1 Ni??01xiyi??

(13-6)

这里,? 表示两个数值的采样间隔内的周期个数,而前面的连 续公式中的 ? 是两个数值的采样时间间隔。

如果在系统正常运行时进行测试,设正常输入信号为x ? t ? ,由 x ? t ? 引起的输出为

y?t???0 ?g???x?t???d?

(13-7)

系统的输入由正常输入 x ? t ? 和白噪声x ? t ? 两部分组成,输出由y ? t ? 和 y ? t ? 组成。模拟方块图如图13-3所示。由于 x ? t和? x ? t不? 相关
,故 x?t ?? ?与 y ? t ? 也不相关,积分器的输出为Kg ?? ?。

相关法的优点是不要求系统严格地处于稳定状态,输入的白噪 声对系统正常工作的影响不大,对系统模型不要求验前知识。相 关法的缺点是噪声的非平稳性分影响辨识的精度,以及要求较长 的观测时间等。
实际上,白噪声只不过是一个数学上的“抽象”,在自然界中 严格的白噪声是不存在的,只能产生近似的白噪声。在数字计算 机上产生的伪随机二位式序列具有白噪声的特性,是一种近似的 白噪声。这种伪随机二位式序列称为M序列。在相关法中用M序列 和为测试信号。

第二节 伪随机二式序列――M序列的产生及其性质
一、伪随机噪声
设 x ? t ? 是以T为周期的白噪声,即x ? t ? 在 ?0,T ? 时间内是白噪声
,在此时间外仍是以T为周期重复的白噪声。显然,它的自相关函
数为 R x x???? E ? ?x ?t?x ?t? ??? ?,其周期也为T。常称这种周期性白噪声
x ? t ? 为伪随机噪声。

用伪随机噪声输入被辨识的线性系统,自相关函数和互相关 函数如下:

Rxx????T 1?0 ?x?t?y?t???dt

(13-8)

Rxy

??

?

?

?
?0

g???Rxx

??

???d?

?

?
?0

g??????T1

T
?0

x?t

??

???dt???d?

?

1 T

T
?0

????0?g???

x?t

??

???dt???x?t?d?

式中

?0 ? g ???x ?t? ?? ??d ?? y?t? ??


Rxy????T 1?0 ?x?t?y?t???dt

(13-9)

上式表明, Rxy ?? ? 仅需计算一个周期的积分。若把式(13-2)改
写为
Rxy?????0?g???Rxx?????d? ? ? ?0Tg???Rxx(???)d??T2T g???Rxx?T?????d?? ??0Tg???K?(???)d???02T g???K??T?????d??

? ? ? ? R x y ?? ? K g ?? ? K g ? T ? ? ? K g ? 2 T ? ? ? (13-10)

由上式可知,适当选择T,使脉冲响应函数在? ? T 时衰减到零。
? ? 那么,g ?T ? ?? 0 , g ?2 T ? ?? 0 , ,于是有

Rxy ?? ? ? Kg ?? ?
g (? ) ? R xy (? ) K

(13-11)

由此可得结论:若 x ? t ? 是以T为周期的白噪声,T大于g ?? ?衰减到 的时间,则可根据式(13-9)求得 Rxy ?? ? ,再代入式(13-3)求得系 统的脉冲响应 g ?? ? 。

二、离散二位式白噪声序列

由于离散白噪声比连续的白噪声容易产生,所以在系统辨识试 验中常用离散的白噪声序列。

设随机序列x1,x2, ,如果它们的均值为零,方差相同,且互 不相关,即

E?xi ? ? 0 ?i ?1,2, ?

?? 2
E??xi xj ?? ? ??0

i? j i? j

则此随机序列称为离散白噪声序列。

如果这个序列中的每个随机变量只有1或-1两种状态,则称此
随机序列为离散二位式白噪声序列。当序列xi?i?1 ,2 , , N ?充分长
时,即N充分大时,离散二位式白噪声序列具有以下三个概率性 质:

概率性质1:在序列中1出现的次数与-1出现的次数几乎相等。

概率性质2:在序列中总的游程个数平均为1 ? N ? 1?个,1的游程

与-1的游程大约各占一半。即大约为个 1 ? N ? 1(2? N为奇数,表示序

列的个数)。

4

概率性质3:对于离散二位式无穷随机序列 x1,x2, ,它的相关

函数为

R xx????E ?xixi? ???? ? ? 1 0

???0 ? ??? 1 ,2 , ?

若干个1(或若干个-1)的连续排列称为“游程”。一个游程中 含有1或-1的个数称为游程长度。例如,一个周期长为15的二位式 序列1,1,1,1,-1,-1,-1,1,-1,-1,1,1,-1,1,1-,游程总数为8,其中的游程 长度为1的共有四个,占总游程数的1/2,游程长度为2的有两个, 占总游程数的1/4,游程长度为3和4的都只有一个,各占总游程数 的1/8,其中1与-1的个数分别为8和7,只相关1。
概率性质2也可以详细地说成,长度为1的游程个数约占总游程 数的1/2,长度为2的游程个数占总游程数的1/4,…,长度为i 的游 程个数占总游程个数的1 / 2 i ,等等。

三、M序列的产生方法
离散二位式随机序列是按照确定的方式产生的,实际上是一 种确定性序列。由于它的概率性质与离散二位白噪声序列的三条 概率性质相似,故称为伪随机序列。伪随序列有很多种,下面只 介绍M序列。
用线性反馈移位寄存器产生M序列。移位寄存器以0和1表示 两种状态。当移位脉冲输入时,每位的状态(0或1)移到下一位, 最后一位(即n位)移出的状态为输出,为了保持连续工作,将移 位寄存器的状态经过适当的逻辑运算后,反馈到第一位去作为输 入。例如前面所述的周期长度为15的伪随机序列,若将其“-1”变 为“0”可得到111100010011010,它是由图13-4所示的四级移位 寄存器网络产生的,其条件是寄存器的初始状态不全为“0”。

这个电路的四级寄存器为A1, A2, A3, A4, 其中A3和 A4 的状态作模2相 加,即10=1,01=1,11=0,00=0,然后反馈到 A 1 的输入端,如果 所有寄存器初始状态都是1,第一个移位脉冲输入,使四个寄存器 的状态变为0111,第二个移位脉冲输入,则寄存器的为0011,…, 一个周期的变化规律为 1111(初态)→0111→0011→0001→1000→0100→0010→ 1001→1100→0110→1011→0101→1010→1101→1110→1111。 一个周期中产生15种不同的状态,如果取 的A 4 状态作为输出的伪随 机信号,则这个随机序列为111100010011010。
如果一个四级移位寄存器以 A2和 A4 的状态作模2相加,反馈到A 1 的 输入端,如图 13-5所示。

设所有寄存器的初始状态为1,则一个周期内四个寄存器的状 态变化规律为1111(初态)→0111→0011→1100→1111,共产生 六种不同状态。比较上面两种线路可知,由于反馈逻辑运算不同, 两者获得的输出序列不相同,前者的周期长度是15,后者的周期 长度是6。需要指出,各级寄存器的初始不能全为“0”。
四级移位寄存器输出序列的最大周期长度,等于所能出现的 各种组合状态(各级都是0的组合状态除外),共有组合状态2 4 -1 =15种,也即输出序列的最大周期长度等于15。

如果一个移位寄存器的输出序列的周期长度达到最大周期长度,
这个序列称为最大长度二位式序列或M序列。如果输出序列的周 期比最大周期长度小,就不是M序列。级移寄存器产生的序列的 最大周期长度为

N?2n ?1
M序列的相关函数为
?1
Rxx?????????N 1

??0 0???N?1

上式的证明见下面。当N很大时,M序列的相关函数与离散二位 式白噪声序列的相关函数相接近,故可用它作为测试信号。

四、二电平M序列
如果线性系统输入连续型白噪声,输入与输出的互相关函脉冲 响应函数只差一个常数倍。为了利用这一简单结论,需将对时间 离散的M序列改造成对时间连续的二电平M序列。仍然由线性反馈 移位寄存器产生M序列,若多位寄存器的输出状态是1、电平取 ?a ;若输出状态是0,电平取? a 。通常取电压作为电平,a 表示幅值 。设每个基本电平延迟的的阻力N,随机序列的周期T=NA。例如, 对于M序列:111100010011010,相应的二电平序列一个周期的图 形如图13-6所示。

移位脉冲间隔A是不变的,电平绝对值 a 也不变,它在每次脉

冲开始时变号或不变号。由于上述M序列中1的数目比0的数目多

一个,因此在一个序列周期中电平为?a 的脉冲数比电平为? a 的脉

冲数多1个,所以在一个周期内,电平为的脉冲数为 1 ? N ? 1 ? ,电

平为的脉冲数为 1 ? N ? 1? 。

2

2

一个周期序列的数学期望(直流电平)为

m a?N 2 ? 1N a A A ?N 2 ? 1N a A A ??N a

(13-14)

m

2 a

?

?2 N2

(13-15)

下面不加推导地给出二电平M序列的自相关函数

Rxx????????a2???1?NN?1?????
????aN2

??????
?????N?1??

Rxx ?? ? 如图13-7所示。

(13-16)

可冲知函,数Rx式和x ??(常1?是3值-周1?6期2)所两性示部变的分化组的R成x,x ??,周可? 即期以为近N似?看。成当强? 度很小12 ?时N,?1由?a2图?的1脉3-7
N

R xx????N 1?N?1?a2? ?????a N 2

(13-17)

由式(13-16),如果 a ? ? 1 , ? a ? ? 1 ,则可得如式(13-13)所示的M 序列的自相关函数。

五、二电平M序列的功率谱密度

对式(13-16)求富氏变换,可得二电平M序列的功率谱密度 Sx ???


????? ? ? ??? ? S x ??? 2 N a 2??? 2 a 2 N ?N 2? 1 ?? ? ? s i n ?? ? /2 /2 ?? ? ? 2 n ? ? ? ? ?? n 0 ?? ? 0

式中? ?? ? 为狄拉克?

函数, ? 0 ?

2? 为基频。
N?

当的图? 0 形? N如2??图时1,3-???8si所n????示?/ 2。/ 2 ?

? ? ?

2

下降3dB,即Sx

??

?

近似地下降3dB。Sx

??

?

从式(13-18)可看出,M序列的功率谱密度与a 2 成正比,与序
列长度N成反比,在序列周期 T?T?N??一定条件下,与采样周期
? 成反比。

第三节 用M序列辨识线性系统的脉冲响应

利用M序列,由维纳-霍夫程可得
Rxy?????0?g???Rxx?????d? ??0N????NN ?1???a2????????aN2g???d?

R x y???? N N ? 1 a 2 ? g ???? a N 2?0 N ?g (?)d ?

(13-19) (13-20)

上式中右边第二项不随? 而变,记为常值

? a2
A?

N?

g???d?

N0


R xy????N 1?N?1?a2? g????A

(13-21) (13-22)

因此,如果已经得到了 上平移 距A 离,即得到与

Rxy g

??成?? ??曲比线例,的如曲图线13-91所?N示?1,?a则2?g将??,?R因x向y ??

?

N、a和?为已知量,故可得g ?? ?曲线。

N

现在计算 Rxy ?? ? 。设线性系统输入 x ? t ? 为二电平M序列,输出信
号 是平稳随机过程,且具有各态历经性。则互相关函数

Rxy????T1x?t?y?t???dt

1 N?
?N??0

x?t?y?t???dt

?N1?[?0?x?t?y?t???dt??02? x?t?y?t???dt?

?N?
?

x?t?y?t???dt]

?N?1??

对 x ? t ? 、 y ? t ?采用阶梯近似,步长为 ? ,则

? Rxy????N 1N i?? 01x?i??y?i????

(13-23)

因 x ? t ? 为M序列,其值为? a ,故令 x ? t ? 为正时取? a ;x ? t ? 为负值时
取 ?a ,即

x?i? ??a sig n? ?x?i? ?? ?

(13-24)

式中sign表示符号函数,于是

? R xy????N aN i? ? 0 1sign? ?x?i? ?? ??y?i? ? ??

(13-25)

因此,只要有了 x ? t ? 和 y ? t ? 曲线,根据式(13-23)和式(13-25), 改变? 值,便可求出 Rxy ?? ? 曲线。

为了提高 Rxy ?? ? 的计算精度,可以多测几个M序列的周期。例如,
测试 个周r 期,则

? Rxy????r1 NN i? r? 01x?i??y?i????

(13-26)

? ? ? R xy????r1 N N i? r? 0 1sig n? ?x?i? ?? ?y?i? ? ??

(13-27)

按照上面的算法,对应于不同的 ? 值,每次只能计算出脉冲响应
g ?? ? 的一个离散值,如果需要算N个离散值,则要求计算N次才能 获得 g ?? ? 的N个离散值。

下面推导计算g ?? ? 的N个离散值的计算公式。由连续的维纳-霍夫
方程(13-2)可得离散的维纳-霍夫方程

R xy????R xy??? ?
N ? 1
?? ? g?k??R xx????k??
i?0

??0,1, ,N?1

(13-28)

式中? ? ??。为了书写方便,在式(13-28)中,?? 用 ? 表示,k ?用 k 表示,则得

? ? ? N ? 1
R x y??? ? ? g ?k ?R x x?? k ? ? ? 0 ,1 , ,N ? 1
k ? 0

(13-29)



?g?0? ?

?Rxy ?0? ?

g ???g?1?
?

? ??,Rxy

? ??Rxy ?

?1?

? ? ?

??g?N ?1???

??Rxy ?N?1???

? Rxx?0?

?

Rxx

?? ?

Rxx?1?

Rxx??1? Rxx?0?

??Rxx?N?1? Rxx?N?2?

Rxx??N?1?? Rxx??N?2???

?

Rxx?0?

? ?

则根据式(13-29)可得

Rxy ?Rxxg?

(13-30) (13-31)

因此

g

?

1 ?

R?xx1R xy

(13-32)

通常,求逆矩阵很麻烦,但是对M序列来说,计算 R

?1 xx

比较容易

。由于? 值为 0 , ? , 2 ? , , 根据式(13-16)得二电平M序列的相关函数



? a2
Rxx?k???? a2
???N

k?0 1?k?N?1

(13-33)

因此式(13-30)中的R x x 矩阵为

? ?

1

?1 N

R

xx

?

a2

? ?? ?

1 N

1

?

?

? ??

?

1 N

?1 N

? ?

1 N 1

? ? ? ?

N?

?

?

1

? ??

这个一个N阶方阵,其逆矩阵为

?2 1

1?

R?1 xx

?

a2

?

N N

?1?

??1 ?

2

1?? ?

??1 1

2??

(13-34) (13-35)

把式(13-35)代入式(13-32)得

?2 1

g

?

a2

1
?N ?1??

??1 ?

2

??1 1

1? 1???Rxy 2??

由式(13-26), Rxy ??? 可用下式表示:

(13-36)

? ? ? ?? R x y??? r 1 N N i? r? 0 1 x ?i?y ?i??? r 1 N N i? r? 0 1 x ?i??y ?i?



? y?0? ?

Rxy????r1 N??x????, x?1???, , x?rN?1????????

y?1?

?

? ?

(13-37)

??y?rN?1???

式中 ??0,1 , ,N?1。

参照上式,R x y 可写成下面形式:
1 Rxy ? rN xr

(13-38)

式中

? x?0?

x?1?

? ?

x??1?

x?0?

x??

??x??N?2? x??N?3?

??x??N?1? x??N?2?

x?rN?1? ?

x?rN?2?

? ?

?

x???r?1?N?1????

x???r?1?N??

? ?

? y?0? ?

? ?

y ?1?

? ?

r??

?

? ?

y

?rN

?

2???

?? y?rN ?1? ??

? Rxy ?0? ?

? ?

Rxy ?1?

? ?

Rxy ? ?

?

??Rxy ?N ? 2???

??Rxy ?N ?1???

于是,由式(13-36)可得

?2 1

g

?

a2r

?

1
N ?1??

??1 ?

2

??1 1

1? 1??xr
? 2??

(13-39)

用M序列做试验时,利用式(13-39)在计算机上离线计算,一次
可求系统脉冲响应的N个离散值 g ?0 ?, g ?1 ?, , g ?N - 1 ?。这种算法的
缺点是数据的存储量大。为了减小数据的存储量,可采用递推算 法。下面介绍递推算法。

设进行了m 次观测,m ? ? 。由m 次观测值得到的R xy???用 R xy??,m ?
用来表示,则

? Rxy

??,

m?

?

1 m?1

m k?0

y

?k

?x?k

?

??

?

1 m?1

? ?m?1
??k?0

y

?k

?x

?k

?

?

?

?

y

?m?

x

?m

?

?????

?

1 m?1

??mRxy

?

?,

m

?1?

?

y

?m?

x

?m

?

?

???

?

1 m?1

???m

?1?

Rxy

?

?,

m

?1?

?

Rxy

?

?,

m

?1?

?

y

?m?

x

?m

?

????

?

Rxy

?

?,

m

?1?

?

1 m?1

??

y

?m?

x

?m

?

??

?

Rxy

??,

m

?1???

(13-40)

上式为互相关函数的递推公式。可根据过去的数据求得 Rxy??,m?1? 及新的观测数据 y ?m ? 及 x?m???,按式(13-40)递推地算出 Rxy??,m?
。由式(13-36)得

?2 1
gm?a2?NN?1?????1 2
??1 1

1?? Rxy?0,m? ?

1????

Rxy?1,m?

? ?

??

?

2????Rxy?N?1,m???

考虑到式(13-40),得到脉冲响应的递推公式

?2 1

gm

?

a2

N
? N ? 1? ?

??1 ?

2

??1 1

1? 1 ??
? 2 ??

??

??

? ? ? ??

? ? ? ?

R

R xy ?0,m ? 1? ?

R xy ?1,m ? 1?

? ?

?

xy ? N ? 1,m ? 1???

? x ?m ? ? ? Rxy (0, m ? 1) ? ?

?

1 m?

1

y

?

m

?

? ? ? ? ?

x

x? ?m

m ?

? N

1?

? ?

?

? 1???

?

? ? ? ? ?

Rxy (1, m Rxy ( N ? 1,

? 1) m?

?

?

?

1)

? ?

? ? ? ? ??



?

?2 1

gm?gm ?1?m 1 ?1? ? ? ?a2?N N ?1??? ? ?1 2

? ?

? ?1 1

1 1 2? ? ? ? ? ?g?m ?? ? ? ? ?x x x???m m m ?? ?1 N ??1?? ? ? ? ??gm ?1? ? ? ? ? ? ?
(13-41)

按递推公式(13-41)进行计算,可从g m ? 1 及新的观测数据得到g m 。所以,利用式(13-41)可对脉冲响 g 应进行在线辨识。随着观测 数据的增加,g m 的精度不断增加。

最后,应用前面的分析结果,归纳出用M序列辨识线性系统脉 冲响应的步骤。二电平M序列是线性反馈移位寄存器的输出,可 从计算机直接获得,也可以事先将M序列存入控制计算机,试验 时逐步给出。M序列的一些参数,如和必须事先选定。这是试验 前应做的准备工作。具体步骤如下:

⑴ 估计系统过渡过程时间T s 和最高工作频率? m a(x 或截止频率? 0 ),使M序列的有效频带覆盖辨识系统的重要工作频区,应满足

23????max或??3? 2?max

(13-42)

⑵ 选择M序列的参数?、N和a。一般选取T ? N ? ? ?1 .2 ~ 1 .5 ?T s,则

N??1.2~1.5?Ts
?

(13-43)

如果选得太大,则由图13-7可见, Rxy ??的? 三角形底部太宽,M
序列与周期白噪声的自相关函数相差悬殊;如 选? 得太小,当值a
受到信噪比或线性范围的限制,T一定时,则由式(13-18)可知
,Ss ???的幅值太小。若系统频带较宽,则M序列在主要频区内有
效功率下降。在可能的情况下,适当加大a,可进一步减少? ,以 提高M序列的有效频带宽度。通常基本电平的幅值a 的大小,可以 根据被辨识系统的线性范围和允许的信噪比来确定。若取得大一 些,抗干扰性能增强一些,但a 选得过大,会造成系统的非线性
失真。

例13-1 设被辨识系统的 值。

Ts

?1200s,?0

?1,试求M序列的
6

?和N

解 由式(13-42)和式(13-43)

??32? ?0 ?32/?6?12.5664s

N ? ? 1 .2 ~ 1 .5 ?T s? ? 1 .2 ~ 1 .5 ?? 1 2 0 0 ? 1 1 4 .6 ~ 1 1 3 .2
? 1 2 .5 6 6 4

取 n ? 7 , N ? 2 n ? 1 ? 2 7 ? 1 ? 1 2 7

应当指出,对于那些T s 较小的被辨识系统(如飞行器),若按 上述方法选择? 和N值,可能N值太小。

例如,被辨识系统的

Ts

?15s,?0

?1 5

,由式(13-42)可得

2? 2??5 ??3?0? 3 ?10.472s

如果选 ??4s ,由式(13-43)

T?N ??T s, N ?T ? s?1 4 5?3 .7 5
在这种情况下,可以提高N值,若选 n ? 5 , N ? 3 1 ,M序列的一个 周期为 N??124s。

另外,考虑到数字计算机的采样速率比较高,数字计算机的 步长T 0 可能会小于M序列的步长 ? ,这时可令
? ? ?T0
式中 ??1,2,3,4,取正整数。对于动态响应比较快的被辨识系统 ,适当提高N值,取 ? ? 1,在计算互相关函数时,可以得到更多的 被辨识系统输出信号的采样值,从而更充分地反映输出响应的基 本特征,提高辨识精度。

⑶ 用电子计算机产生M序列或者把储存在控制机内存的M序 列逐步输出。
⑷ 计算互相关函数 Rxy ?? ? 。
⑸ 由 Rxy ?? ? 求系统的脉冲响应函数 g ?? ? 。
采用M序列辨识系统的优点是:第一,试验可以在正常工作状 态下完成,不需要断开系统;第二,测量时可以避免其他噪声的 影响。

第四节 由脉冲响应求传递函数
一、连续系统传递函数
任何一个单输入-单输出系统都可用差分方程表示。如果系统
输入为? ? t ? 函数,则输出为脉冲响应函数 g ? t ? 。因? ? t ? 函数只作用于
t ? t0 时刻,而在其它时刻系统的输入为零。系统从 t 0 时刻起有响应 。若采样间隔为 ? ,设系统用下列n 阶差分方程来表示:
g ? t 0 ? ? a 1 g ? t 0 ? ? ? ? a 2 g ? t 0 ? 2 ? ? ? ? a n g ? t 0 ? n ? ? ? 0 (13-44)
式中a1,a2, ,an为待定的个常数。

根据式(13-44),时间依次延迟 ? ,可写出 n 个方程:
a1g?t0????a2g?t0?2??? ?ang?t0?n????g?t0? a1g?t0?2???a2g?t0?3??? ?ang??t0??n?1??????g?t0???
........................
a1g?t0?n???a1g??t0??n?1????? ?a2g?t0?2n????g??t0??n?1????
联立求解上述 n 个方程,可得差分方程的 n 个系数 a1,a2, ,an 。

任何一个线性定常系统,若其传递函数G ? s ? 的特征方程的根为
s1,s2, ,sn,则其传递函数可用下列分式表示:

G ?s??c1 ?c2 ? ?cn

s?s1 s?s2

s?sn

(13-45)

设 G ? s ? 为待求的系统传递函数,其中s1,s2, ,sn和c1,c2, ,cn为待求
的2 n 个未知数。求式(13-45)的拉氏反变换,可得脉冲响应函数:

?? g t? c 1 e s 1 t? c 2 e s 2 t? ? c n e s n t

(13-46)

就是说,线性系统的脉冲响应函数可用一组指数函数esit?i?1,2, ,n?
的线性组合来表示。

下面写出时刻 t? ? , t? 2 ? , t? n ? 的脉冲响应函数:

? ? g t?? ?c1es1?t??? ?c2es2?t??? ? ?cnesn?t??? ? ? g t?2? ?c1es1?t?2?? ?c2es2?t?2?? ? ?cnesn?t?2??
....................
? ? g t?n? ?c1es1?t?n?? ?c2es2?t?n?? ? ?cnesn?t?n??

(13-47)

将式(13-44)中的 t 0 换成 t ,并将式(13-46)和式(13-47)代入其 中,得

? ? ? ? c1es1t???1?a1es1?? an es1?n????c2es2t???1?a1es2?? an es2?n???

? ? ? ?cnesnt???1?a1esn?? an esn?n????0

(13-48)

要使上式成立,应令各方括弧内之值为零,即
?? ?? 1 ? a 1 e s i ? ? a 2 e s i ? 2 ? ? a n e s i ? n ? 0 ? i ? 1 , 2 ,, n ? (13-49)

令 esi? ? xi ,则 n 个方括号可用一个式子表示,即

设 则有

1 ? a 1 x i? a 2 x i 2 ?? a n x in? 0 e s i? ? x 1 , e s 2 ? ? x 2 , , e s n ? ? x n

s1? ln ? x 1, s2? ln ? x 2, , sn? ln ? x n

(13-50) (13-51) (13-52)

下面求 c1,c2, ,cn。根据式(13-46)、式(13-47)和式(13-51)可得

g?0? ?c1 ?c2 ? ?cn

?

g??? ?c1x1 ?c2x2 ? ?cnxn g?2?? ?c1x12 ?c2x22 ? ?cnxn2

? ?? ?

?

?

? ? g?? n?1 ??? ?c1x1n?1 ?c2x2n?1 ? ?cnxnn?1

??

解上述方程组可得 c1,c2, ,cn。
把求得的s1,s2, ,sn和 c1,c2, ,cn代入式(13-45),便得所求的系统
传递函数G ? s ? 。

例13-2 设原系统具有三阶传递函数:

G?s???s?0.50?.3?5s?0.7?

? ? 其脉冲响应为 ?? gt? 1 .7 5e ? 0 .5 t? e ? 0 .7 t 。设采样间隔 ??1s, g?t?的前4
个值如下所示:

t ? s ? 0.0 g ? s ? 0.0

1.0 0.1924

2.0

3.0

0.2122 0.1762

相应的联立方程为

解之得

0.1924a1?0.2122a2?0 0.2122a1?0.1762a2??0.1924

a 1 ? 3 .6 6 8 8 9 , a 2 ? ? 3 .3 2 6 5

按式(13-50)得
1 ? 3 .6 6 8 8 9 x ? 3 .3 2 6 5 x 2 ? 0
解之得
x 1 ? 0 .6 0 8 8 1 1 , x 2 ? 0 .4 9 4 8 8
则系统极点为
s 1 ? l n ? 0 . 6 0 8 1 1 ? ? ? 0 . 4 9 7 4 8 , s 2 ? l n ? 0 . 4 9 4 8 8 ? ? ? 0 . 7 0 3 4 0
因此脉冲响应为
?? g k ? ? c 1 e ? 0 . 4 9 7 4 8 k ? ? c 2 e ? 0 . 7 0 3 4 0 k ?

令 k ? 0 和1,得
c1?c2?0 0.60811c1?0.49488c2?0.1924
解之得
c 1 ? 1 .6 9 9 4 , c 2 ? ? 1 .6 9 9 4
因而所求的传递函数为
G ? ?s ?? s ? 1 0 .6 .4 9 9 9 7 4 4 8 ? s ? 1 0 .6 .7 9 0 9 3 4 4 0 ? ?s ? 0 .4 9 7 0 4 . 8 3 4 ?? 9 s 8 ? 7 0 .7 0 3 4 0 ?
所求得的传递函数与真实传递函数非常接近。

二、离散系统的脉冲传递函数

设系统脉冲传递函数为

G(z?1)?b 10??ab 11 zz?? 11? ?

?bnz?n ?anz?n

根据脉冲传递函数的定义可得

?? G z ? 1? g ?0 ?? g ? 1 ?z ? 1 ? g ?2 ?z ? 2 ?
式中 g ?i?? g ?i ? ?, i? 0 ,1 ,2 ,, ? 为采样间隔。因而有

b 1 0 ? ? a b 1 1 z z ? ? 1 1 ? ?? ? a b n n z z ? ? n n? g ?0 ?? g ?1 ?z ? 1 ? g ?2 ?z ? 2?

(13-54)

将式(13-54)左边的分母的多项式人分别乘其等号的两边得

b0 ?b1z?1 ?

?bnz?n ? g?0????g?1??a1g?0???z?1 ?

? ????g?n?

?

n i?1

ai

g?n

?i????

z?n

? ????g?n

?1?

?

n?1 i?1

ai

g?n

?1?i????

z??n?1?

?

? ????g?2n?

?

2n i?1

ai

g?2n

?i????

z?2n

?

令上式等号两边 z ? 1 同次项的系数相等,当 z ? 1 的次数从0至 n , 可得下列矩阵方程:

?b0 ? ? 1 0 0

? ?

b1

? ?

??a1

1

0

?b2? ? ?a2 a1 1 ???

???

??bn ?? ??an an?1 an?2

当 z ? 1 的次数从n ? 1 至2 n ,可得

0 0? ?g?0??

0

0??

? ?

g?1???

0 0? ?g?2??

?? ?

?? ?

a1 1?? ??g?n???

(13-55)

?g?1? g?2? ??g?2? g?3?
?
??g?n? g?n?1?

g?n? ??an ? ??g?n?1??

g?n?1?????an?1??????g?n?2???

?? ? ?

?

g?2n?1?????a1

? ?

???g?2n?

? ?

(13-56)

上式左边由g ?1 ?, g ?2 ?, , g ?2 n ? 1 ?组成的 n?n方阵为Hankel矩阵,

其秩为 ,所n 以方程(13-56)有解。可求得脉冲传递函数中分母的

各未知数

a1,a2,。,把an 求得的

a1,a2,代,入an式(13-55),可求得脉

冲传递函数分子中的各未知系数
数 G ? ?z。?1

b1,b2,。,从bn 而得到脉冲传递函

已知离散系统的传递函数――脉冲传递函数G ? z?1 ? ,可利用采 样系统理论中有关 z 变换方法,设 z ? esT ,代入G ? z?1 ?表达式,经
过换算也可求得连续系统的传递函数G ? s ? 。

例13-3 若已知线性系统为三阶,即结构参数 n ?,3 设采样间隔
为0.05s,系统的脉冲响应的采样值 g ? i ? 为

t ? s ? 0 0.05 0.10 0.15 0.20 0.25 0.30

i 0123456

g ?i?

0

7.15 9.49 8.56 5.93 2.84 0.14 7039 1077 3889 0506 5972 4611

试求系统的传递函数 G ? z?1 ? 和 G ? s ? 。

解 设脉冲传递函数的形式为
? ? Gz?1 ?b 10? ? ab 11 zz?? 11? ?a b 22zz? ? 22? ?a b3 3zz? ? 3 3
将 g ?1 ? 至 g ? 6 ? 的数值代入式(13-56),得
?7.1570399.4910778.563889??a3? ??5.930506? ? ?9.4910778.5638895.930506? ?? ?a2? ??? ??2.845972? ? ? ?8.5638895.9305062.845972? ?? ?a1? ? ? ??0.144611? ?

解上式后得
a 1 ? ? 2 . 2 3 2 5 7 5 , a 2 ? 1 . 7 6 4 0 8 8 , a 3 ? ? 0 . 4 9 6 5 8 5
把上述的 g ? 0 ? 至 g ? 6 ? 及 a1,a2,a3代入式(13-55),解得 b0 ? 0 ,
? ? b 1 ? 7 . 1 5 7 3 0 9 , b 2 ? ? 6 . 4 8 7 5 4 7 , b 3 ? 0 。于是脉冲传递函数 G z?1 为

? ? Gz?1 ?1?2.23275.7155z7?310?91z.7?16?4068.488z7?524?70z.4?296585z?3

? ? ?

7.157309z?1?6.487547z?2

?z?0.818731? z2?1.413844z?0.606530

G ? z?1 ? 的三个特征值为
z 1 ? 0 . 8 1 8 7 3 1 , z 2 , 3 ? 0 . 7 0 6 9 2 2 ? j 0 . 3 2 6 7 8 9 5
对应于 G ? s ? 的特征值,由 z ? esT 可直接解出
s 1 ? ? 4 . 0 , s 2 , 3 ? ? 5 . 0 ? j 8 . 6 6 0 2 2 9
利用 z 变换求出
G?s???5.s26?34158?5.26?1s3?585??2s???58?.?66200252.296?23158 200?s?2?
??s?4??s2?10s?100?

谢谢!
xiexie!




友情链接: