1 / 23

系统辨识

系统辨识. 王国利 信息科学与技术学院 中山大学. 201 3 -201 4学年第三学期第一讲. 课程安排. 时间和学时安排 - 课时 : 18 X 3 学时 - 讲课 : 2 X 15 周 ( 周二 4-5 节 , A 10 4) - 实践 : 2 X 7 周 ( 周四4 - 5节[双] , 实验教学中心 B201) - 课件 : http://human-robot.sysu.edu.cn/course/sysid1 4 .htm - 答疑 : isswgl@mail.sysu.edu.cn 成绩评定

mada
Download Presentation

系统辨识

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 系统辨识 王国利 信息科学与技术学院 中山大学 2013-2014学年第三学期第一讲

  2. 课程安排 时间和学时安排 - 课时: 18 X 3 学时 - 讲课: 2 X 15周(周二4-5节, A104) - 实践: 2 X 7周(周四4-5节[双], 实验教学中心B201) - 课件: http://human-robot.sysu.edu.cn/course/sysid14.htm - 答疑: isswgl@mail.sysu.edu.cn 成绩评定 - 参与教学: 10% - 课程实践: 30% - 课程考试: 60%

  3. 系统辨识是什么? 任务和目的 借助在线或离线的 测量数据 建立相关 动态系统的 数学模型

  4. 系统的知识 信号与系统 以飞机为例 强风/ 涡流 副翼/ 升降舵 姿态/位置

  5. 连续系统离散化 采样周期:h SISO(单输入单输出)系统

  6. 动态系统模型 差分方程 动态: 变量过去和当前的值影响到未来的值 y(t) – 1.5y(t–T)+ 0.7y(t–2T)= 0.9u(t–2T)+ 0.5u(t–3T) y(t) = 1.5y(t–T)- 0.7y(t–2T)+ 0.9u(t–2T)+ 0.5u(t–3T) 参数: {1.5, -0.7, 0.9, 0.5} 时滞: 输入滞后输出的时间步数 2T 阶数: 输出和输入的最大时滞步数

  7. 模型性质 脉冲响应形式 y(k) =i=0,kg(i)u(k− i)+v(k) {g(i)}: 系统的脉冲响应序列 阶跃响应 y(k) =i=0,kg(i)+v(k) 频域响应 正旋信号输出的幅值增益和相位偏移 分别对应Bode图

  8. 一般的线性模型 频域形式 Z-变换: F(z) =i=0,∞f(i)z−i Y(z) =G(z)U(z)+H(z)V(z) G: 系统传递函数 H: 干扰传递函数 状态方程 x(t+1)=Ax(t)+Bu(t)+Ke(t) y(t)=Cx(t)+Du(t)+e(t)

  9. 表示模型之间的关系

  10. 若干信号的统计量 均值和方差 {s(k)} = {s(0), s(1), ...s(N)} 均值 协方差

  11. 做一个练习 任务:在MATLAB环境下,生成两个随机序列 {S(k)} 和{R(k)} ,长度1000 >> S = 3*randn(1000,1)+10; >> R = 6*randn(1000,1)+20; >> mS = mean(S) >> mR = mean(R) >> covS = cov(S) >> covR = cov(R) >> Z = [S R]; >> covZ = cov(Z)

  12. 模型与系统 控制设计 预测 (e.g. 天气预报) 信号处理(e.g. 消除回声) 系统仿真 (e.g. 模拟核爆) 故障诊断 (e.g. 危险物质泄漏检测)

  13. 辨识的基本思想 关键环节 候选模型集 辨识准测 辨识算法

  14. 辨识的基本流程

  15. 内容安排 时域方法 传递函数 频域方法 非参数 估计 M序列 相关分析 脉冲响应函数 模型参数 辨识 递推最小二乘 辅助变量方法 最小二乘 增广最小二乘 参数估计 最大似然

  16. 实例 干扰的困扰 G(s)=1/(0.25s2+0.33s + 1) 噪声方差为 0.001

  17. MATLAB初识 DC Motor Control R = 2.0; % Ohms L = 0.5; % Henrys Km = 0.1; Kb = 0.1; % torque and back emf constants Kf = 0.2; % Nms J = 0.02; % kg.m^2/s^2 基尔霍夫定律 (Ls+R)ia+kb=va 牛顿第二定律 (Js+kf)=kmia,

  18. MATLAB初识(续) 阶跃响应 >> h1 = tf(Km,[L R]); % armature >> h2 = tf(1,[J Kf]); % eqn of motion >> dcm = ss(h2) * [h1 , 1]; % w = h2 * (h1*Va + Td) >> dcm = feedback(dcm,Kb,1,1); % close back emf loop >>stepplot(dcm(1))

  19. MATLAB初识(续) 前馈控制 >> Kff = 1/dcgain(dcm(1)) >> t= 0:0.1:15; >> Td = -0.1 * (t>5 & t<10); % load disturbance >> u = [ones(size(t)) ; Td]; % w_ref=1 and Td >> cl_ff = dcm * diag([Kff,1]); % add feedforward gain >> set(cl_ff,'InputName',{'w_ref','Td'},'OutputName','w'); >> h = lsimplot(cl_ff,u,t); >> title('Setpoint tracking and disturbance rejection') >> legend('cl_ff') % Annotate plot >> line([5,5],[.2,.3]); line([10,10],[.2,.3]); >> text(7.5,.25,{'disturbance','T_d = -0.1Nm'},... 'vertic','middle','horiz','center','color','r');

  20. MATLAB初识(续) 前馈的控制结果

  21. MATLAB初识(续) 反馈控制 >> h = rlocusplot(tf(1,[1 0]) * dcm(1)); >> setoptions(h,'FreqUnits','rad/sec'); >> set(gca,'Xlim',[-15 5],'Ylim',[-15 15]);

  22. MATLAB初识(续) >> K = 5; >> C = tf(K,[1 0]); % compensator K/s >> cl_rloc = feedback(dcm * append(C,1),1,1,1); >> h = lsimplot(cl_ff,cl_rloc,u,t); >> set(cl_rloc,'InputName',{'w_ref','Td'},'OutputName','w'); >> title('Setpoint tracking and disturbance rejection') >> legend('feedforward','feedback w/ rlocus','Location','NorthWest')

  23. MATLAB初识(续) 反馈的控制结果

More Related