系统辨识举例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

例3.3 考虑仿真对象

)()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+-- (3.41)

其中,)(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 +-+-=-+-+ (3.42)

设输入信号的取值是从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 (3.43) 程序框图如图3.2所示。Matlab6.0仿真程序如下:

%二阶系统的最小二乘一次完成算法辨识程序,在光盘中的文件名:FLch3LSeg1.m

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)] %给样本矩阵H L赋值

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)] % 给样本矩阵z L赋值

%Calculating Parameters

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

θˆ

LS

%Display Parameters

a1=c(1), a2=c(2), b1=c(3),b2=c(4) %从

θˆ中分离出并显示a1、a2、b1、

LS

b2

%End

程序运行结果:

>>

u =[ -1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]

z =[ 0,0,0.5000,0.2500,0.5250,2.1125,4.3012,6.4731,6.1988,3.2670,-0.9386,-3.1949,-4.6352,6.2165,-5.5800,-2.5185]

HL =

0 0 1.0000 -1.0000

-0.5000 0 -1.0000 1.0000

-0.2500 -0.5000 1.0000 -1.0000

-0.5250 -0.2500 1.0000 1.0000

-2.1125 -0.5250 1.0000 1.0000

-4.3012 -2.1125 1.0000 1.0000

-6.4731 -4.3012 -1.0000 1.0000

-6.1988 -6.4731 -1.0000 -1.0000

-3.2670 -6.1988 -1.0000 -1.0000

0.9386 -3.2670 1.0000 -1.0000

3.1949 0.9386 -1.0000 1.0000

4.6352 3.1949 -1.0000 -1.0000

6.2165 4.6352 1.0000 -1.0000

5.5800

6.2165 1.0000 1.0000

ZL =[ 0.5000,0.2500,0.5250,2.1125,4.3012,6.4731,6.1988,3.2670,-0.9386,-3.1949,-4.6352,-6.2165,-5.5800,-2.5185]T

c =[ -1.5000,0.7000,1.0000,0.5000]T

相关文档
最新文档