1 / 21

系统辨识

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

nigel
Télécharger la présentation

系统辨识

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. 系统辨识 2011-2012学年第二学期第一讲 王国利 信息科学与技术学院 中山大学

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

  3. 系统辨识是什么? 任务和目的 借助 实验数据 建立动态系统的 数学模型

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

  5. SISO系统 连续系统离散化 采样周期:h

  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 时滞: 输出T, 2T两项,输入2T, 3T两项 阶数: 输出和输入的时滞项数

  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. 若干信号的统计量 均值和方差 {s(k)} = {s(0), s(1), ...s(N)} 均值 协方差

  10. 做一个练习 任务:在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)

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

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

  13. 辨识的基本步骤

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

  15. 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,

  16. 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))

  17. 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');

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

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

  20. 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')

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

More Related