系统辨识试验_第1页
系统辨识试验_第2页
系统辨识试验_第3页
系统辨识试验_第4页
系统辨识试验_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2、用普通最小二乘法(OLS)法辨识对象数学模型

选择得仿真对象得数学模型如下

z(k)-1.5z(k-1)+0.7z(Z-2)=-1)+0.5〃伏-2)+v(k)

其中,破攵)就是服从正态分布得白噪声N(0])。输入信号采用4阶M序列,幅度为1。选择

如下形式得辨识模型

z(k)+axz(k-1)+a2z(k-2)=b、u(k-1)+b2u(k-2)4-v(k)

设输入信号得取值就是从k=1到k=16得M序列,则待箫识参数,工为

九二(H;#L尸H;A。其中,被辨识参数“s、观测矩阵ZL、M.得表达式为

«|'2(3)--2(2)T)“⑵//(I)

z(4)-z(3)-Z⑵"⑶〃⑵

,ZL=

b2.2(16)-2(15)7(14)w(15)«(14)

程序框图如下所示:

赋输入信号初值〃二>

参考程序:|

%01$定义输出观测值得长度并计算系统得输出值

u=[-i,1,-1,1,1,1,1.-1,r一一一,一上一一识得揄入信号为一个周期得M

画出输入与输出观测值得图形

序列I

z=zeros(1,16);%定义输出给样本矩阵"L与ZL赋值

根据公式计算参数瓦,

z(k)二1、5*z(k-1»-0.7*z(k-2)+u(k-11)+0,5*u(k-2);舟用理想榆出值作为观测值

从“S中分离出并显示出被辨识参数«1.G.加,b2

end<、

停机1

subplot(3,1,1)舟画三行一列图形窗一个图形

stem(u)%画出输入图2最小二乘一次完成算法程序框图

subplot(3,1,2)舟画三行一列图形窗口中得第二个图形

i=1:1:16;%横坐标范围就是1到16,步长为1

plot(i,z)%图形得横坐标就是采样时刻i,纵坐标就是榆出观测值z,图形格式为连续

曲线

subplot(3,1,3)%画三行一列图形窗口中得第三个图形

stem(z),gridon%画出输出观测值z得经线图形,并显示坐标网格

u,z%显示揄入信号与输出观测信号

虬二14%数据长度

HL=[-z(2)-z(1)u⑵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赋值

/calculatingparameters%计算参数

c1=HL'*HL;c2=inv(c1);c3=HL'*ZL;c=c2*c3%计算并显示

%DISPLAYPARAMETERS

a1=c(1),a2=c(2),b1=c(3),b2=c(4)%从中分离出并显示a1、a2、b1、b2

%End

注:由于输出观测值没有任何噪音成分,所以辨识结果也无任何误差,同学们可以在输出

观测值中添加噪音,观察ols得辨识效果“同时,可以尝试博加输入信号得数量,瞧辨识姑果有

何变化。

实验二基于RLS法得系统辨识数字仿真实验

一、实验目得

1、深入理解系统辨识中相关分析法及最小二乘法得相关内容。

2、学会用Matlab或C语言等进行系统辨识得仿真研究

二、实验设备

装有相应软件得计算机。

三、实验原理

1、考虑如下图所示得仿真对象:

图中,且

G(z-')⑴

A(z-1)=l-1.5f/|图i递推最小二乘第法辨识

B(z-1)=1.0z_,+0.5z-2

D(z-])=\

选择上图所示得辨识模型。仿真对象选择如下得模型结构:

z(k)+a]z(k-1)+a2z(k-2)=b}u(k-1)+b2u(k-2)+(2)

其中,u(A)就是服从正态分布得白噪声N(O,1)。输入信号采用4位移位寄存器产生得M

序列,幅度为0、03o按式(3)

z(k)-1.5z(k-l)+0.7z(氏-2)=u(k-1)+O.5〃(A-2)+v(k)⑶

构造力(Q;加权阵取单位阵4.=/;利用如下公式计算依4)、°伏)与,(Q,计算各次参

数辨识得相对误差,精度满足要求后停机。

递推最小二乘法得推导公式如下:

1、熟悉系统辨识中得相关内容。

2、掌握Matlab或C语言等进行系统辨识仿真研究得一般步骤。

3、实脸前基本应完成相关得编程任务,实验时调试相应程序。

4、修改相应参数与通机噪声幅度,观察并分析结果。

5、软件包人机界面得开发与设计。(选做)

六、实验步骤

1、首先要熟悉一下MATLAB得运行环境:

1)File->New->M-FiIe打开M文件编辑窗口

2)输入自己编写得程序

3)点击run按钮,如果程序出错则调试程序,如果运行正常得话则观察程序将运

行结果

2、用递推最小二乘法(RLS)法辨识对象数学模型

在这个实脸中,我们采用以下模型进行仿真:

y=1.5*y[k-l]-0.7*y[<-2]+0*u[k]+LO*u[k-1]+O.5*u[k-2]+e[k]⑸

其中u[k]就是幅值为1得pW、、工作间清零一》噪声,即(0,1)得正态分布序列,它

得方差时可以调整得:史“此一八』之"K/AL门二拓加,“卜用实脸一得最小二乘

给M序列得长度L弓移位寄存器得输入赋初始值

法估计这个系统得参工--------------------1----------------------

'第四个移位寄存器得输出取反,并将幅值变为I、o得到辨识系统得输入信号样本值

相关程序如下:---------------*---------------

画出辨识得输入信号径线图形

cIear%清理工作间变量产生输出采样信号

L=15;%M序列得周期

给被辨识参数。与P赋初值

fori=1:L;%开始循三计算K(k)

x1=xor(y3,y4);%第二个移位积存器得输权就是第3个与薪4个移位积存器得输出得

计算。(&)

“或”

x2=y1;%第二个移位舟

计算P(k)

计算被辨识参数得相对变化量

参数收敛满足要求?

x3=y2;%第三个移位积存器得输入就是第2个移位积存器得输出

x4=y3;%第四个移位积存器得输入就是第3个移位积存器得揄出

y(i)=y4;%取出第四个移位积存器幅值为"0"与"1"得输出信号,

ify⑴>0、5,u⑴=-0、03;%如果M序列得值为”1"时,辨识得输入信号取“-0.03”

elseu⑴=0、03;%当M序列得值为"0"时,辨识得输入信号取“0.03”

end舟小循环结束

y1=x1;y2=x2;y3=x3;v4=x4;*为下一次得输入信号做准备

end%大循环结束,产生输入信号u

figure⑴;%第1个图形

stem(u),gridon%以径得形式显示出输入信号并给国形加上网格

z(2)=0;z(1)=0;%取2得前两个初始值为零

fork=3:15;%循环蛮量从3到15

z(k)=1.5*z(k-1)-0s7*z(k-2)+u(k-1)+0>5*u(k-2);%给出理想得评识输出采样信号

end

%RLS递推最小二乘辨识

c0二[0、0010、0010、0010、001]';%直接绐出被辨识参数得初始值,即一个充分小得

实向量

p0=10^6*eye(4,4);%直接给出初始状态P0,即一个充分大得实数单位矩阵

E=0、000000005;%相对误差E=0、000000005

c=[c0,zeros(4,14)];%被辨识参数矩阵得初始值及大小

e=zeros(4,15);%相对误差得初始值及大小

fork=3:15;%开始求K

h1=[-Z(k-1),-L(k-2),u(k-1),u(k-2)],;x=h1'*p0*h1+1;x1=inv(x);%开始求

K(k)

k仁p0*h1*x1;%求出K得值

d1=z(k)-hl'*c0;c1=c0+k1*d1;%求被辨识参数c

ekc1-c0;%求参数当前值与上一次得值得差值

e2=e1./c0;%求参数得相对变化

e(:,k)=e2;%把当前相对变化得列向量加入误差矩阵得最后一列

cO=c1;%新获得得参数作为下一次递推得旧参教

c(:,k)=C1;%把辨识参数C列向量加入辩识参数矩阵得最后一列

p1=pO-k1*k1'*[h1'*pO*h1+1];%求出p(k)得值

pO=p1;%给下次用

ife2<=Ebreak;*若参数收敛满足要求,终止计算

end%小循环结束

end%大循环结束

斓显示被辨识参数

e*显示辨识结果得收敛情况

%分离参数

a1=c(1,:);a2=c(2,:);b1=c(3,:);b2=c(4,:);ea1=e(1,:);ea2=e(2,:);eb1=e(3,:);

eb2=e(4.:);

figure(2);%第2个图形

i=1:15;%横坐标从1到15

plot(i,a1,'r',i,a2,i,b1,'g',i,b2,%画出a1,a2,b1,b2得各次辨识结果

titIe('ParameterIdentificationv/ithRecursiveLeastSquaresMethod')%图形标

figure(3);%第3个图形

i=1:15;%横坐标从1到15

plot(i,ea1,'r',i,ea2,'g',i,eb1,'b',i,eb2,'r:')%画出a1,a2,b1,b2得各次辨识结

果得收敛情况

ti11e('IdentificationPrecision')%图形标题

注:同样这个程序使用得输出信号也没有噪若,所以讲识得结果没有误差,话同学们在输

出信号中加入噪音,再使用RLS对其讲识,观察辨识结果,进行分析。

2、同样采用这个模型采用MATLAB或者C语言进行阶得辨识:

y=l.5*y[k-l]-0.7*y[k-2]+0*u[k]+l.0*u[k-l]+0.5*u[k-2]+e[k]

其中u[k]就是幅值为1得PRBS信号输入,e[k]就是句噪声,即。1)得正态分布序列,它

得方差时可以调整得。这个系统得采样值y(k)与u(k)作为已知数据,采用实脸一得最小二乘

法估计这个系统得参数。令模型得阶次分别为n=1,2,3,其J值如下表所示。从表中睢出,

由0=1到方=2,j发生显著得变化。而由方=2到G=3,j没有多大得变化,故可确定这系

统得阶次力=2

浒识得结果如下,具体编程由同学们来实现。

噪声损失函数J

水平n=ln=2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论