系统辨识试验
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.用普通最小二乘法(OLS )法辨识对象数学模型 选择的仿真对象的数学模型如下
)()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+--
其中,)(k v 是服从正态分布的白噪声N )1,0(。输入信号采用4阶M 序列,幅度为1。选择如下形式的辨识模型
)()2()1()2()1()(2121k v k u b k u b k z a k z a k z +-+-=-+-+
设输入信号的取值是从k =1到k =16的M 序列,则待辨识参数LS
θˆ为LS θˆ=L τL 1L τL z H )H H -(。其中,被辨识参数LS
θˆ、观测矩阵z L 、H L 的表达式为 ⎥⎥
⎥⎥
⎦⎤
⎢⎢⎢⎢⎣⎡=2121ˆ
b b a a LS
θ , ⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=)16()4()3(z z z L z , ⎥
⎥⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡------=)14()2()1()15()3()2()14()2()1()15()3()2(u u u u u u z z z z z z L
H 程序框图如下所示:
参考程序:
%ols
u=[-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]; %系统辨识的输入信号为一个周期的M 序列
z=zeros(1,16); %定义输出观测值的长度
for k=3:16
z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); %用理想输出值作为观测值
end
subplot(3,1,1) %画三行一列图形窗口中的第一个图形
stem(u) %画出输入信号u的经线图形
subplot(3,1,2) %画三行一列图形窗口中的第二个图形
i=1:1:16; %横坐标范围是1到16,步长为1
plot(i,z) %图形的横坐标是采样时刻i, 纵坐标是输出观测值z, 图形格式为连续曲线subplot(3,1,3) %画三行一列图形窗口中的第三个图形
stem(z),grid on%画出输出观测值z的经线图形,并显示坐标网格
u,z%显示输入信号和输出观测信号
%L=14%数据长度
HL=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8);-z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13) u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)] %给样本矩阵HL赋值
ZL=[z(3);z(4);z(5);z(6);z(7);z(8);z(9);z(10);z(11);z(12);z(13);z(14);z(15);
z(16)]% 给样本矩阵zL赋值
%calculating parameters%计算参数
c1=HL'*HL; c2=inv(c1); c3=HL'*ZL; c=c2*c3 %计算并显示
%DISPLAY PARAMETERS
a1=c(1), a2=c(2), b1=c(3), b2=c(4) %从中分离出并显示a1 、a2、 b1、 b2
%End
注:由于输出观测值没有任何噪音成分,所以辨识结果也无任何误差,同学们可以在输出观测值中添加噪音,观察ols的辨识效果。同时,可以尝试增加输入信号的数量,看辨识结果有何变化。
实验二 基于RLS 法的系统辨识数字仿真实验
一、实验目的
1、深入理解系统辨识中相关分析法及最小二乘法的相关内容。
2、学会用Matlab 或C 语言等进行系统辨识的仿真研究
二、实验设备 装有相应软件的计算机。 三、实验原理
1. 考虑如下图所示的仿真对象:
图中, )(k v 是服从N )1,0(分布的不相关随机噪声。且
)(1-z G )()(11--=z A z B ,)(1-z N )
()(11
--=z C z D , (1)
⎪⎪⎩
⎪⎪
⎨⎧=+==+-=--------1)(5.00.1)()
(7.05.11)(1
21112111z D z z z B z C z z a z A 选择上图所示的辨识模型。仿真对象选择如下的模型结构:
)()2()1()2()1()(2121k v k u b k u b k z a k z a k z +-+-=-+-+ (2)
其中,)(k v 是服从正态分布的白噪声N )1,0(。输入信号采用4位移位寄存器产生的M 序列,幅度为0.03。按式(3)
)()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+-- (3)
构造h (k );加权阵取单位阵I Λ=L ;利用如下公式计算K (k )、)(ˆk θ
和P (k ),计算各
次参数辨识的相对误差,精度满足要求后停机。
递推最小二乘法的推导公式如下:
(1)()()(1)(1)
1
(1)()(1)(1)()(1)(1)()(1)()
(1)[]
[1](1)T k k k k k T k k k k k k T k k k k k k y x
K P x x P x P P k k x P θθθ∧∧
∧
+++-++++++=++-=+=-+ (4)
2.阶的辨识
前面所讨论的系统辨识方法,都是假定模型的阶次是已知的,因此仅仅要求估计差分方程的系数。但实际上,系统的阶次是很难被准确知道的。因为对阶次的理解程度是直接与一个线性差分方程的准确结构有关的,所以有关阶次的确定也可以称为系统结构的确定。经验指出,一个模型的阶次不准,就可能在控制系统设计时发生严重问题。故在辨识过程中,模型的阶次是否合适是必须加以检验的。一般阶的方法中,常用的有这么几种:零极点相消法、目标函数法和F 检验法。下面只介绍其中的目标函数法。
当我们用不同阶的模型给系统的输入——输出观测数据进行最小二乘拟合时,会得到不同的估计误差:
因此利用J 极小化确定阶是很自然的。实验表明,假设模型具有大于1而小于
max N 的
阶n ,当n 取1,2,…时, 若随着n 的增加, 在ˆn
(阶的估计量)-1时,J 最后一次出现陡峭的下降,往后J 就近似地保持不变或者只有微小的下降(见下图),则取ˆn n
=。也就是说,模型阶次的确定可以直接依次计算阶次n =1,2,…时的最小二乘估计ˆn
以及相应的损失函数J ,然后选择当J 下降不明显时的阶次作为合适的模型阶次n ,这种方法也叫确定阶的估计准则方法,有很广的应用。
∑===N
k T E
E k e J 1
2)(