系统辨识实验报告
- 格式:doc
- 大小:932.00 KB
- 文档页数:13
. .. . .. .s.. .. . .. 一、相关分析法 (1)实验原理
)1)(1()s(11sTsTKG相关分析法u(k)Z(k)
)(ˆkg)(0kg
)(~kg 图1 实验原理图 本实验的原理图如图1。过程传递函数()Gs中12120,8.3,6.2KTSecTSec;
输入变量()uk,输出变量()zk,噪声服从2(0,)vN,0()gk为过程的脉冲响应理论值,ˆ()gk为过程脉冲响应估计值,()gk为过程脉冲响应估计误差。 过程输入()uk采用M序列,其输出数据加白噪声()vk得到输出数据()zk。利用相关分析法估计出过程的脉冲响应值ˆ()gk,并与过程脉冲响应理论值0()gk
比较,得到过程脉冲响应估计误差值()gk。 M序列阶次选择说明:首先粗略估计系统的过渡过程时间TS (通过简单阶跃响应)、截止频率fM (给系统施加不同周期的正弦信号或方波信号,观察输出)。
本次为验证试验,已知系统模型,经计算HzTTfM14.0121,sTS30。根据
式Mft3.0及式STtN)1(,则t取值为1,此时31N,由于t与N选择时要求完全覆盖,则选择六阶M移位寄存器,即N=63。 . .. . ..
.s.. .. . .. (2)编程说明
图2 程序流程图 (3)分步说明 ① 生成M序列: M序列的循环周期63126N,时钟节拍1tSec,幅度1a,移位寄存器中第5、6位的内容按“模二相加”,反馈到第一位作为输入。其中初始数据设为{1,0,1,0,0,0}。程序如下:
过程仿真 得到理论输出数据()zk
计算脉冲响应估计值 计算互相关函数,得到脉冲响应估计值
计算脉冲响应估计误差 计算脉冲响应理论值,得到脉冲响应估计误差
人机对话 噪声标准差:sigma;生成数据周期数:r
生成数据 生成M序列()uk;生成白噪声序列()vk . .. . ..
.s.. .. . .. ② 生成白噪声序列: 程序如下:
③ 过程仿真得到输出数据: 如图2所示的过程传递函数串联,可以写成形如121211()1/1/KGsTTsTsT,
其中112KKTT。
图2 过程仿真方框图 程序如下:
④ 计算脉冲响应估计值: 互相关函数采用公式)()(1)(10kiyixNrkRNrixy,互相关函数所用的数据是从第二个周期开始的,其中r为周期数,取1-3之间。则脉冲响应估计值为:])([1)(ˆckRkkgxy,taNNk2)1(。补偿量)1(NRcxy。
程序如下: . .. . ..
.s.. .. . .. ⑤ 计算脉冲响应估计值: 脉冲响应的理论值由式12//012()[]ktTktTKgkeeTT可计算得到。这时可得
到过程脉冲相应估计误差0ˆ()()()gkgkgk。脉冲响应估计误差为:
NkNkgkgkg120
1
2))(())(~(
程序如下:
(4)数据记录 ①当噪声标准差sigma=0.1,生成数据周期r为2时:脉冲响应估计误差为0.0121。脉冲响应估计曲线为图3所示。 ②当噪声标准差sigma=0.5,生成数据周期r为1时:脉冲响应估计误差为 0.0347。脉冲响应估计曲线为图4所示。 ③当噪声标准差sigma=0.5,生成数据周期r为3时:脉冲响应估计误差为 0.0258。脉冲响应估计曲线为图5所示。 ④当噪声标准差sigma=1,生成数据周期r为3时:脉冲响应估计误差为 0.0279。脉冲响应估计曲线为图6所示。 . .. . .. .s.. .. . .. 图3 sigma=0.1,r=2时脉冲响应估计曲线 图4 sigma=0.5,r=1时脉冲响应估计曲线 图5 sigma=0.5,r=3时脉冲响应估计曲线 图6 sigma=1,r=3时脉冲响应估计曲线 (5)结果分析 实验中可以看到脉冲响应估计的曲线与理论曲线的重合度还是比较高的,脉冲响应估计误差也比较小,实验证明相关分析法的估计效果还是不错的。 同时,经过实验可以得出结论:固定数据周期r,给定不同的噪声标准差sigma可以发现,噪声的方差越大,也就是信噪比越大,估计的效果越不好;固定噪声标准差sigma,选择不同的数据生成周期r可以发现,数据周期越大,估计的周期越多,估计的效果越好。 . .. . ..
.s.. .. . .. 二、最小二乘法 1. 基本最小二乘(离线辨识)
baUYY][
残差为: )(ˆ)()(kykyke 最小二乘目标:残差平方和最小(一阶导为0,二阶导>0)。 正定,且TTTLSY1ˆ
从上式看出,逆存在才有解,满足条件的u(k):(1) 伪随机;(2) 白噪声;(3)有色随机信号。 程序如下:
结果如下: result1 =[ -0.8287; 0.1275; -0.0024; 1.9884; -1.2723]
2. 递推最小二乘(在线辨识)
RLS )1()]()([)()()1()(1)()1()()]1(ˆ)()()[()1(ˆ)(ˆkPkkKIkPkkPk
kkPkK
kkkykKkk
TTT
修正项老估值新估值NNˆ)(ˆ)(1
为了启动RLS,需给初值:IcP20,0ˆ。
计算框图见书P66。 程序如下: . .. . .. .s.. .. . .. 结果如下: result2 =[ -0.8284; 0.1274; -0.0024; 1.9883; -1.2717]
图7 递推最小二乘法参数过渡过程 数据饱和:(1)原因:01NK,不再起修正作用,引起误差变大。 (2)为了克服数据饱和现象,可以用降低老的数据影响的方法: ①渐消记忆法(遗忘因子法) ②限定记忆法(固定窗法) 当)(k为不相关序列,最小二乘有一致性与无偏性,但)(k往往为相关序列,为克服最小二乘有偏估计的缺点,引入辅助变量法和广义最小二乘法,增广最小二乘法等。 . .. . .. .s.. .. . .. 3. 渐消记忆法(遗忘因子法)
)1()]()([)()()1()()()1()()]1(ˆ)()()[()1(ˆ)(ˆkPkkKIkP
kkPkkkPkK
kkkykKkk
TTT
一般99.0~95.0 程序如下:
结果如下: result3 =[ -0.6862; 0.1114; 0.0640; 2.0356; -0.9429]
图8 渐消记忆法参数过渡过程 4. 限定记忆法(固定窗法) 程序如下: . .. . .. .s.. .. . .. 结果如下:(较前三种方法偏差较大) result4 =[ -1.0190; 0.1725; -0.4531; 2.1092; -1.3724]
5. 辅助变量法(IV) (1).辅助变量Z
YZZZZYZZZZYZZQQZEZETTTTTTTTTTT111)(ˆ)()()(噪声不相关Z,0)(其中,辅助变量估计值由强烈相关与为非奇异阵,,与
(2).计算步骤: ①先根据实测数据最小二乘求粗略ˆ(为有偏估计) ②)(ˆ)()(ˆ)(ˆ)(ˆ11kykuzbkyza,得到辅助变量代入 ③n)()(ˆ)(),(Zkukykuky构造,用构造用 ④nTnTYZZ (3).递推:
RIV )1()]()([)()()1()()()1()()]1(ˆ)()()[()1(ˆ)(ˆkPkzkKIkPkzkPk
kzkPkK
kkkykKkk
TTT
. .. . .. .s.. .. . .. 初始条件:IcP20,0ˆ
缺点: P0的选择非常敏感,一个改进方法是,用递推最小二乘辨识算法作为启动方法,然后转换到辅助变量法。 程序如下:
结果如下: result5 =[ -0.9369; 0.1207; -0.0254; 1.9781; -1.5331]
图9 辅助变量法参数过渡过程