Matlab 系统辨识 仿真 CH3,CH4,CH6程序注释与剖析(2)
k1=p0*h1*x1;%求出K的值
d1=z(k)-h1'*c0; c1=c0+k1*d1; %求被辨识参数c e1=c1-c0; %求参数当前值与上一次的值的差值 e2=e1./c0; %求参数的相对变化
e(:,k)=e2; %把当前相对变化的列向量加入误差矩阵的最后一列 c0=c1; %新获得的参数作为下一次递推的旧参数
c(:,k)=c1; %把辨识参数c 列向量加入辨识参数矩阵的最后一列 p1=p0-k1*k1'*[h1'*p0*h1+1]; %求出 p(k)的值 p0=p1; %给下次用
if e2<=E break; %如果参数收敛情况满足要求,终止计算 end %小循环结束 end %大循环结束
c,e %显示被辨识参数及其误差(收敛)情况 %分离参数
a1=c(1,:); a2=c(2,:); b1=c(3,:); b2=c(4,:); ea1=e(1,:); ea2=e(2,:);
Matlab 系统辨识 仿真 CH3,CH4,CH6程序注释与剖析
eb1=e(3,:); eb2=e(4,:); figure(2); %第二个图形 i=1:15; %横坐标从1到15
plot(i,a1,'r',i,a2,':',i,b1,'g',i,b2,':') %画出a1,a2,b1,b2的各次辨识结果
title('Parameter Identification with Recursive Least Squares Method') %图形标题
figure(3); %第三个图形 i=1:15; %横坐标从1到15
plot(i,ea1,'r',i,ea2,'g',i,eb1,'b',i,eb2,'r:') %画出a1,a2,b1,b2的各次辨识结果的收敛情况
title('Identification Precision') %图形标题
程序运行结果: >>
c =
0.0010 0 0.0010 -0.4984 -1.2328 -1.4951 -1.4962 -1.4991 -1.4998 -1.4999 0.0010 0 0.0010 0.0010 -0.2350 0.6913 0.6941 0.6990 0.6998 0.6999 0.0010 0 0.2509 1.2497 1.0665 1.0017 1.0020 1.0002 0.9999 0.9998 0.0010 0 -0.2489 0.7500 0.5668 0.5020 0.5016 0.5008 0.5002 0.5002
Matlab 系统辨识 仿真 CH3,CH4,CH6程序注释与剖析
0.03
0.02
0.01
Fig.1 Input Signal
1
Fig. 2 Parameter Identification with Recursive Least Squares Method
Identification Precision
300200
100
Fig.3 Identification Error
图3.8 最小二乘递推算法的参数辨识仿真
-1.5000 -1.5000 -1.5000 -1.4999 -1.4999 0.7000 0.7000 0.7000 0.7000 -0.7000 0.9999 0.9999 0.9999 0.9999 0.9999 0.5000 0.5000 0.5000 0.5000 0.5000 e =
0 0 0 -499.4200 1.4734 0.2128 0.0007 0.0020 0.0004 0.0000 0 0 0 0 -235.9916 -3.9416 0.0042 0.0070 0.0012 0.0001 0 0 249.8612 3.9816 -0.1466 -0.0607 0.0003 -0.0018 -0.0003 -0.0001 0 0 -249.8612 -4.0136 -0.2443 -0.1143 -0.0007 -0.0016 -0.0012 -0.0001 0.0001 0.0000 -0.0000 -0.0000 0.0000
Matlab 系统辨识 仿真 CH3,CH4,CH6程序注释与剖析
0.0001 -0.0000 0.0000 0.0000 0.0000 0.0001 0.0000 0.0000 0.0000 -0.0000 -0.0004 0.0000 -0.0000 0.0000 -0.0000
表3.2 最小二乘递推算法的辨识结果
参 数 a
1 a2 b1 b2 真 值 -1.5 0.7 1.0 0.5 估计值 -1.4999 0.7 0.9999 0.5000
仿真结果表明,大约递推到第十步时,参数辨识的结果基本达到稳定状态,即a1=-1.4999, a2= 0.7000, b1=0.9999, b2=0.5000。此时,参数的相对变化量E 0.000000005。从整个辨识过程来看,精度的要求直接影响辨识的速度。虽然最终的精度可以达到很小,但开始阶段的相对误差会很大,从图3.8(3)图形中可看出,参数的最大相对误差会达到三为数
例3.6 考虑图3.10所示的仿真对象,图中, v(k)是服从N(0,1)分
且
1
G(z 1) B(z)
A(z 1)
,N(z
1
1
) D(z)
C(z 1)
,
A(z 1) 1 1.5az 1 0.7z 2 C(z 1)
1
1 1 2 B(z) 1.0z 0.5z 1 1 2D(z) 1 z 0.2z
Matlab 系统辨识 仿真 CH3,CH4,CH6程序注释与剖析
模型结构选用如下形式:
z(k) a1z(k 1) a2(k 2) b1u(k 1) b2u(k 2) v(k) d1v(k 1) d2(v(k 2)
增广最小二乘辨识程序流程如图3.11所示。Matlab6.0程序如下。
Matlab 系统辨识 仿真 CH3,CH4,CH6程序注释与剖析
%增广最小二乘辨识程序,在光盘中的文件名:FLch3ELSeg4.m clear
L=60; %4位移位寄存器产生的M序列的周期 y1=1;y2=1;y3=1;y4=0; %4个移位寄存器的输出初始值 for i=1:L;
x1=xor(y3,y4); %第一个移位寄存器的输入信号 x2=y1; %第二个移位寄存器的输入信号
x3=y2; %第三个移位寄存器的输入信号 x4=y3; %第四个移位寄存器的输入信号
y(i)=y4; %第四个移位寄存器的输出信号,M序列, 幅值"0"和"1",
if y(i)>0.5,u(i)=-1; %M序列的值为"1"时,辨识的输入信号取“-1” else u(i)=1; %M序列的值为"0"时,辨识的输入信号取“1” end
y1=x1;y2=x2;y3=x3;y4=x4; %为下一次的输入信号准备 end
figure(1); %画第一个图形
subplot(2,1,1); %画第一个图形的第一个子图 stem(u),grid on %画出M序列输入信号
v=randn(1,60); %产生一组60个正态分布的随机噪声 subplot(2,1,2); %画第一个图形的第二个子图 plot(v),grid on; %画出随机噪声信号
Matlab 系统辨识 仿真 CH3,CH4,CH6程序注释与剖析
u ,v %显示输入信号和噪声信号
z=zeros(7,60);zs=zeros(7,60);zm=zeros(7,60);zmd=zeros(7,60); %输出采样矩阵、不考虑噪声时系统输出矩阵、不考虑噪声时模型输出矩阵、模型输出矩阵的大小
z(2)=0; z(1)=0; zs(2)=0; zs(1)=0; zm(2)=0; zm(1)=0; zmd(2)=0; zmd(1)=0; %输出采样、不考虑噪声时系统输出、不考虑噪声时模型输出、模型输出的初值
c0=[0.001 0.001 0.001 0.001 0.001 0.001 0.001]'; %直接给出被辨识参数的初始值,即一个充分小的实向量
p0=10^6*eye(7,7); %直接给出初始状态P0,即一个充分大的实数单位矩阵
E=0.00000000005; %相对误差E=0.000000005 c=[c0,zeros(7,14)]; %被辨识参数矩阵的初始值及大小 e=zeros(7,15); %相对误差的初始值及大小 for k=3:60; %开始求K
z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2)+v(k)-v(k-1)+0.2*v(k-2); %系统在M序列输入下的输出采样信号
h1=[-z(k-1),-z(k-2),u(k-1),u(k-2),v(k),v(k-1),v(k-2)]'; %为求K(k)作准备
x=h1'*p0*h1+1; x1=inv(x); k1=p0*h1*x1; %K d1=z(k)-h1'*c0; c1=c0+k1*d1; %辨识参数c
Matlab 系统辨识 仿真 CH3,CH4,CH6程序注释与剖析
zs(k)=-1.5*z(k-1)+0.7*z(k-2)+u(k-1)+0.5*u(k-2); %系统在M序列的输入下的输出响应
zm(k)=[-z(k-1),-z(k-2),u(k-1),u(k-2)]*[c1(1);c …… 此处隐藏:4202字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [教育文库]夜场KTV服务员的岗位职责及工作流程[1]
- [教育文库]企划、网络、市场绩效考核方案
- [教育文库]学党史、知党情、强党性--“党的基本理
- [教育文库]2016年高考物理大一轮总复习(江苏专版
- [教育文库]干部廉洁自律自查自纠的报告
- [教育文库]2010年北京大学心理学系拟录取硕士研究
- [教育文库]资金时间价值练习题及答案
- [教育文库]保护环境的心得体会
- [教育文库]英语角内容:英语趣味小知识
- [教育文库]档案收集与管理工作通知
- [教育文库]劳动规章制度范本范本
- [教育文库]高考物理一轮复习课后限时作业1运动的
- [教育文库]机械工艺夹具毕业设计195推动架设计说
- [教育文库]通用技术教学比赛说课稿2
- [教育文库]2018年四年级英语下册 Module 7 Unit 2
- [教育文库]第2章 宽带IP网络的体系结构
- [教育文库]九年级化学第五单元课题3《根据化学方
- [教育文库]小学英语六年级情态动词用法归纳
- [教育文库]甲级单位编制窑井盖项目可行性报告(立
- [教育文库]2016-2021年中国城市规划行业全景调研
- 高考英语听力十大场景词汇总结
- 全省领导班子思想政治建设座谈会会议精
- 人教版新课标高一英语提优竞赛试题 下
- 江西省2014年生物中考试题
- 长沙镇食品药品安全事故应急预案
- 《金刚石、石墨和C60》片段教学设计
- 福州教育学院(王旭东)
- 基于EDA音乐播放器的设计
- 9、古诗两首《夜书所见》《九月九日忆
- 小学语文课外阅读有效策略探讨
- 贵州文化产业发展成支柱产业的问卷调查
- 膀胱类癌的诊治体会(附3例报告)
- 发动机积碳产生的原因
- Configuring Code Composer Studio for
- 学生良好的心理素质如何培养点滴谈
- 46 电沉积法制备锂离子电池用硅-锂薄膜
- 美舍雅阁公司管理中各部门职责
- 去壳剥皮的小妙招
- 六自由度运动平台的仿真研究
- Pride and Prejudice(傲慢与偏见)




