递推的极大似然法辨识程序
例 5.2 系统模型如图 5.5 所示。试用递推的极大似然法对系统辨识的参数集
v(k)随机信号,输入信号为幅值为
的 M 序列或随机信号,要求画出程序流程图,打印出
程序(程序中带有注释)和辨识中的参数、误差曲线。
解: 首先解释编程所用的部分字母:由于在 MATLAB 语言中无法用希腊字母描述、无
法用上标及下标,故
用 ‘o’和‘o1’表示;令
;
;产
生 M 序列时,a(i),b(i),c(i),d(i)表示四级移位寄存器的第 1,2,3,4 级寄存器的输出;
① 编程如下(光盘上该程序:FLch5RMLeg2.m,可在 MATLAB6.I 下直接运行):
编程如下:
clear %
清零
a(1)=1;b(1)=0;c(1)=1;d(1)=0;u(1)=d(1);z(1)=0;z(2)=0; %
初始化
for i=2:1200 %
产生
m
序列
u(i)
a(i)=xor(c(i-1),d(i-1));
b(i)=a(i-1);
c(i)=b(i-1);
d(i)=c(i-1);
u(i)=d(i);
end
u; %
若取去‘;’可以在程序运行中观测到
m
序列
v=randn(1200,1); %
产生正态分布随机数
V=0; %
计算噪声方差
for i=1:1200
V=V+v(i)*v(i);
end
V1=V/1200;
for k=3:1200 %
根据
v
和
u
计算
z
z(k)=1.2*z(k-1)-0.6*z(k-2)+u(k-1)+0.5*u(k-2)+v(k)-v(k-1)+0.2*v(k-2);
end
21
21
6.02.11
5.0
��
��
��
�
zz
zz
评论0
最新资源