《系统辨识与自适应控制》实验报告
题目:最小二乘法在系统辨识中的应用
班级:工控08.1
指导老师:
学生姓名:
学号:
时间:2011.5.19
成都信息工程学院控制工程系
实验目的:
1、掌握系统辨识的基本步骤。
2、熟悉matlab 下系统辨识编程(M 文件)。
3、M 序列的产生方法。
4、用最小二乘法对系统进行辨识。
实验设备:
硬件:计算机一台(参数:主频2.8G 、奔腾4核处理器、内存512M ) 软件:matlab6.5
实验原理:
1、最小二乘法系统辨识结构:
把待辨识的过程看作“黑箱”。
只考虑过程的输入输出特性。
图中,输入u(k)和输出z(k)是可测的;G (错误!未找到引用源。
)是系统模型,用来描述系统的输入输出特性;N (错误!未找到引用源。
)是噪声模型,v(k)是白噪声,e(k)是有色噪声,根据表示定理: 可以表示为
)()()()()(11k v k u q B k z q A +=-- (1) + +
e (k ) 图1 SISO 系统辨识“黑箱”
y (k ) u (k ) z (k )
v (k ) )(1-z N )(1-z G
⎩⎨⎧+++=++++=-------nb nb na
na q b q b b q B q a q a q a q A ...21)(...211)(11211 (2) 由上两式可以表示:
l
k k v i k u bi i k z ai k z nb i na i ,...,2,1)....()(*)(*)(11=+-+--=∑∑== (3) 上式可以描述成如下最小二乘法格式:
)()()(k v k h k z +=θ (4)
2、准则函数
设一个随机序列{}),,2,1(),(L k k z ∈的均值是参数θ的线性函数: {}θ)()(k h k z E T =,其中)(k h 是可测的数据向量,那么利用随机序列的一个实现,使准则函数:
21])()([)(∑=-=L k T
k h k z J θθ (5)
达到极小的参数估计值∧
θ称作θ的最小二乘估计。
最小二乘格式:
)()()(k e k h k z t +=θ,θ为模型参数向量,()k e 为零均值随机噪声。
3、最小二乘问题的解
考虑系统模型:
)()()(k e k h k z t +=θ (6)
准则函数可写成:
()()()θθθL L L T L L H z H -Λ-=z J (7) 极小化准则函数得到:
()L L T L L T L WLS z H H H ΛΛ=-1
ˆθ (8) 通过极小化式(7)计算WLS θˆ的方法称作加权最小二乘法,WLS
θˆ为加权最小二乘估计,若取I L =Λ,则退化为一般最小二乘估计值,对应方法叫最小二乘法:
LS θˆ=L τL 1L τL z H )H H -( (9) 当获得一批数据后,利用式(8)或(9)可一次求得相应参数估计值,对应的LS θˆ称为最小二乘估计值,这样处理问题的方法就称作一次完成算法。
输入信号:伪随机序列(如M 序列);
实验步骤:
1、生成M 序列的,作为输入信号。
2、输入到带辨识系统中测出观测值。
3、通过循环方式给样本矩阵HL 和zL 赋值。
4、根据式(9)计算参数LS θˆ
. 5、从LS θˆ
中分离出并显示出被辨识参数a1, a2, b1, b2 实验方案和结果:
%待辨识系统 z(k)=2*z(k-1)-0.5*z(k-2)+u(k-1)+0.5*u(k-2)+v(k)/600% clear %清理工作间变量
L=16; % M 序列的周期
x1=1;x2=1;x3=1;x4=0; %四个移位积存器的输出初始值
for k=1:L; %开始循环,长度为L
u(k)=xor(x3,x4); %第一个移位积存器的输入是第3个与第4个移位积存器的输出的“或”
x4=x3;x3=x2;x2=x1;x1=u(k);
end %大循环结束,产生输入信号u
plot(u) %绘图M 序列
z(2)=0;z(1)=0; %z 的初始化值
v=randn(16,1); %随机误差干扰
z=zeros(1,16);
for k=3:16
z(k)=2*z(k-1)-0.5*z(k-2)+u(k-1)+0.5*u(k-2)+v(k)/600; %用理想输出值作为观测值
end
H=zeros(16,4); %定义一个H “0”矩阵
for i=3:16
H(i,:)=[-z(i-1) -z(i-2) u(i-1) u(i-2)];%用循环产生H 矩阵
z1(i,:)=[z(i)]; %用循环产生z 矩阵
end
%计算参数%
c1=H'*H;c2=inv(c1);c3=H'*z1;c=c2*c3%带入公式书上3.1.23
a1=c(1),a2=c(2),b1=c(3),b2=c(4)%取出矩阵中上未知数
运行结果:
M 序列图
0246810121416
00.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
结果分析:
最小二乘法辨识是通过求取使误差最小的那一个数来逼近待辨识的参数,但在采样的次数较少,和干扰误差太大的情况下,辨识的误差也会增大。