例52系统模型图55示试递推极似然法系统辨识参数集
图55 例52系统模型
u(k)
+ e(k)
y(k)+
z(k)
λv(k)
u
v(k)机信号输入信号幅值M序列机信号求画出程序流程图印出程序(程序中带注释)辨识中参数误差曲线
解 首先解释编程部分字母:MATLAB语言中法希腊字母描述法标标 o’o1’表示令产生M序列时a(i)b(i)c(i)d(i)表示四级移位寄存器第1234级寄存器输出
① 编程(光盘该程序:FLch5RMLeg2mMATLAB6I直接运行)
编程:
clear 清零
a(1)1b(1)0c(1)1d(1)0u(1)d(1)z(1)0z(2)0 初始化
for i21200 产生m序列u(i)
a(i)xor(c(i1)d(i1))
b(i)a(i1)
c(i)b(i1)
d(i)c(i1)
u(i)d(i)
end
u 取’程序运行中观测m序列
vrandn(12001) 产生正态分布机数
V0 计算噪声方差
for i11200
VV+v(i)*v(i)
end
V1V1200
for k31200 根vu计算z
z(k)12*z(k1)06*z(k2)+u(k1)+05*u(k2)+v(k)v(k1)+02*v(k2)
end
o10001*ones(61)p0eye(66) 赋初值
zf(1)01zf(2)01vf(2)01vf(1)01uf(2)01uf(1)01
迭代计算参数值误差值
for k31200
h[z(k1)z(k2)u(k1)u(k2)v(k1)v(k2)]
hfh
Kp0*hf*inv(hf'*p0*hf+1)
p[eye(66)K*hf']*p0
v(k)z(k)h'*o1
oo1+K*v(k)
p0p
o1o
a1(k)o(1)
a2(k)o(2)
b1(k)o(3)
b2(k)o(4)
d1(k)o(5)
d2(k)o(6)
e1(k)abs(a1(k)+12)
e2(k)abs(a2(k)06)
e3(k)abs(b1(k)10)
e4(k)abs(b2(k)05)
e5(k)abs(d1(k)+10)
e6(k)abs(d2(k)02)
zf(k)z(k)d1(k)*zf(k1)d2(k)*zf(k2)
uf(k)u(k)d1(k)*uf(k1)d2(k)*uf(k2)
vf(k)v(k)d1(k)*vf(k1)d2(k)*vf(k2)
hf[zf(k1)zf(k2)uf(k1)uf(k2)vf(k1)vf(k2)]
end
o1 取’程序运行中观测参数
V1
绘图
subplot(411)
k11200
plot(ka1'k'ka2'b'kb1'r'kb2'm'kd1'g'kd2'k')
xlabel('k')
ylabel('parameter')
legend('a112''a206''b110''b205''d110''d202') 图标炷
title('The parameter idendification of the RML')
end
subplot(412)
k11200
plot(ke1'k'ke2'b'ke3'r'ke4'm'ke5'g'ke6'k')
xlabel('k')
ylabel('error')
title('误差曲线')
end
subplot(413)
k11200
plot(ku)
xlabel('k')
ylabel('input')
title('系统输入信号')
end
subplot(414)
k11200
plot(kv)
xlabel('k')
ylabel('random noise')
title('系统加机噪声')
end
① 程序运行结果图57 示
图57 RML辨识参数曲线
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档