《系统辨识》第3次课_第三章
- 格式:ppt
- 大小:785.50 KB
- 文档页数:44
《系统辨识》教学大纲一、概况1.开课学院、学科:信息工程学院、控制理论与控制工程2.课程代码:3.课程名称:系统辨识4.学时/学分:36学时/2学分5.预修课程:自动控制原理6.教材和参考材料:侯媛彬等编著,《系统辨识及其MATLAB仿真》,科学出版社,2004;李鹏波等,系统辨识基础,中国水利水电出版社,2006。
7.适用专业:控制理论与控制工程专业二、课程的地位、作用和任务本课程是硕士学位课,为学习《自适应控制》、《先进控制》等后续课程打下基础。
系统辨识是研究建立系统数学模型的一种理论和方法,在对系统进行分析、综合、仿真、预测时,必须首要建立系统的数学模型,而系统辨识就是通过实验或运行数据,得出一个与所测系统等价的数学模型,是一门应用范围很广泛的学科。
三、课程的教学内容和基本要求系统辨识讲述辨识的基本理论和方法,并分析各种方法的特点和内在联系,并介绍辨识技术的实际应用。
本课程的教学内容较多,由于只有36学时,所以主要介绍基本原理和方法。
通过本课程的教学,学生要掌握基本的辨识理论和辨识技术;能独立设计辨识实验,并编程计算;学习一些现代建模技术。
各章节的教学内容和学时分配如下:第一章辨识的基本概念(2学时)第一节系统和模型了解第二节辨识建模的定义掌握第三节辨识问题的表示形式及原理掌握第四节辨识的内容和步骤作掌握第二章经典的传递函数辨识方法(6学时)第一节时域法——阶跃响应法掌握一阶惯性滞后环节的辨识、二阶自衡对象的辨识、二阶欠阻尼自衡对象的辨识、n阶自衡对象的辨识、n阶等容对象的辨识、无自衡对象的辨识。
第二节面积法了解第三节频域法——频率特性拟合掌握第三章辨识的基本理论及古典辨识方法(相关分析法)(8学时)第一节随机过程的基本概念及其数学描述了解第二节白噪声的产生方法及其仿真掌握白噪声概念,白噪声的产生方法及仿真,伪随机信号的产生与性质、M序列自相关函数,逆M序列的概念与性质,M序列生成仿真。
第三节相关分析法掌握频率响应辨识、脉冲响应辨识、相关分析法应用。
《系统辨识》课程报告题目:最小二乘参数估计法班级:工控08.1姓名:学号:日期:2011.6.1成都信息工程学院控制工程学院最小二乘参数估计摘要:最小二乘法提供了一个估算方法,使之能得到一个在最小方差意义上与实验数据最好拟合的数学模型。
最小二乘的一次性完成辨识算法,他的特点是直接利用已经获得的观测数据进行运算处理。
求出一个使各次实际观测和计算值之间的差值的平方乘以度量其精度的数值以后的和为最小的数值,求出带辨识参数。
最小二乘辩识方法在系统辩识领域中先应用上已相当普及,方法上相当完善,可以有效的用于系统的状态估计,参数估计以及自适应控制及其他方面。
关键词:最小二乘法,AIC 准则,M 序列1 引言:最小二乘法是 1795 年高斯在预测星体运行轨道最先提出的 , 它奠定了最小二乘估计理论的基础 . 到 20 世纪 60 年代瑞典学者 Austron 把这个方法用于动态系统的辨识中 , 在这种辨识方法中 , 首先给出模类型 , 在该类型下确定系统模型的最优参数 .这种具有格式规范的辨识方法可以演绎成递推形式 .递推最小二乘算法计算量小 , 可以用于在线辨识 , 即使辨识对象随时间发生化 , 模型也可以对其进行跟踪断地进行更新和修正辨识参数 , 从而成为一种被广泛采用的辨识方法,最小二乘法有一次完成算法和递推算法,其中 一次完成算法存在一定的局限性,工业系统辨识常采用递推算法进行系统辨识。
2 实验原理:由于运用最小二乘一次完成算法进行系统参数辨识的时候,存在一定的限定条件,并且需要用到全部的观测数据,每采样一次就需要增添一组新的观察数据,所以引入递推最小二乘法来辨识系统参数,递推最小二乘法是用旧的估计值加上修正值得到的新的估计值,用新的测量数据对上一次的估计结果进行修正,直到估计值达到需要的精度为止。
2.1根据汉格尔矩阵估计模型的阶次设一个可观可控的SISO 过程的脉冲响应序列为{个g(1),g(2),……g(L)},可以通过汉格尔(Hankel )矩阵的秩来确定系统的阶次。
《系统辨识》第3讲要点第3章 系统(过程)的数学描述3.1 线性系统(过程)的基本概念 ● 系统的分类线性与非线性、分布参数与集总参数等; 描述方式:连续时间系统、离散时间系统;研究方法:输入输出模型(外特性)、状态空间模型(内部特性); ● 任意系统的输入输出关系可以表示为{})()(t u L t y =其中)(t u 代表输入,)(t y 代表输出,L 是一个算子。
● 如果算子L 是线性的,则称该系统为线性系统;满足下列条件的算子称为线性算子:(1)))(())((t u L t u L αα=,α是任意常数 (2)))(())(())()((2121t u L t u L t u t u L +=+● 如果输出)(t y 在t 时的值只决定于在t 时的输入)(t u 的值,则称该系统是瞬时系统;不是瞬时的系统称为动态系统。
● 一个系统在t 时的输出完全由闭区间[]t T t ,-内的输入值所决定,其中0>T ,则称该系统为记忆时间为T 的记忆系统。
● 在t 时的输出)(t y 值仅与过去(包括现在的)输入值有关,而和将来的输入值无关的系统称为可实现的系统,或称为具有因果性的系统。
● 一个动态系统如果它的输入、输出是连续时间函数,而且可以用一组常微分方程来描述,则称该系统为集中参数、连续时间动态系统。
如果输入、输出是离散时间函数,而且可以用一组差分方程来描述该系统,则称该系统为集中参数、离散时间的动态系统。
任何线性、集中参数的动态系统均可以表示成卷积形式:⎰∞∞-=τττd u t h t y )(),()(其中))((),(τδτ-=t L t h 。
对于具有因果性的动态系统,有)(0),(t t h >=ττ,因此输入输出关系可以写成为:⎰∞-=td u t h t y τττ)(),()(● 一个系统它的输入在时间轴上有一个平移,输出也有同样的平移,即:)}({)(ττ-=-t u L t y ,则称该系统为时不变系统,对于时不变系统有,)()}({ττδ-=-t h t L 。
1、系统辨识——连续系统传递函数——脉冲传递函数function h=Continuous_system_transferFcn(N,G,dt)% N——系统阶数% G——采样数据(个数大于等于2N+1)% G为一维行向量% dt——采样间隔if nargin<3errordlg('not enough input varibles','error hint');elseg_NN=zeros(N,N);for i=1:Ng_NN(i,:)=G(i+1:i+1+N-1);endg_N=-G(1:N)';a=inv(g_NN)*g_N;%% x的求解syms xfor i=1:NX(i)=x^i;endf=X*a+1;x=double(solve(f));%%极点的求解p=log(x)/dt;c_NN=zeros(N,N);for i=1:Nc_NN(i,:)=x.^(i-1);endc_N=G(1:N)';%%增益求解k=inv(c_NN)*c_N;pkz=zeros(1,N);p=p';k=k';Continuous_TransferFcn=0;for i=1:NContinuous_TransferFcn=Continuous_TransferFcn+zpk(z(i),p(i),k(i)); endContinuous_TransferFcnendend例题 3.1(P32)>>G=[0 0.1924 0.2122 0.1762];>> N=2;>> dt=1;>> Continuous_system_transferFcn(N,G,dt) p =-0.4934-0.7085k =1.6280-1.6280Continuous_TransferFcn =0.35024 s---------------------(s+0.4934) (s+0.7085)Continuous-time zero/pole/gain model.习题3.2(P34)>> G=[0 0.196 0.443 0.624 0.748 0.831]; >> N=3;>> dt=0.2;>> Continuous_system_transferFcn(N,G,dt) p =-0.0633-1.7846-11.1860k =1.1249-1.33990.2150Continuous_TransferFcn =-0.08507 s (s-253.1)-------------------------------(s+0.06329) (s+1.785) (s+11.19) Continuous-time zero/pole/gain model.2 系统辨识——离散系统传递函数——脉冲传递函数function h=Discrete_system_transferFcn(N,G,dt)% N——系统阶数% G——采样数据(个数大于等于2N+1)% G为一维行向量% dt——采样间隔if nargin<3errordlg('not enough input varibles','error hint');elseg_NN=zeros(N,N);for i=1:Ng_NN(i,:)=G(i+1:i+1+N-1);endg_N=-G(N+2:2*N+1)';a1=inv(g_NN)*g_N;a=zeros(N,1);for j=1:Na(j,1)=a1(N+1-j,1);endB=zeros(N+1,N+1);B=diag(linspace(1,1,N+1));for i=1:N+1for j=1:N+1if (i==j)&(i<N+1)&(j<N+1)B(i+1:N+1,j)=a(1:N+1-i,1);endendendg__N=G(1:N+1)';b=B*g__N;abnum=b';den=[1 a'];Discrete_TransferFcn=tf(num,den,dt);Discrete_TransferFcnendend例题 3.2(P33)>> G=[0 7.157039 9.491077 8.563839 5.930506 2.845972 0.144611]; >> N=3;>> dt=0.05;>> Discrete_system_transferFcn(N,G,dt)a =-2.23001.7606-0.4950b =7.1570-6.4691-0.0009Discrete_TransferFcn =7.157 z^2 - 6.469 z - 0.0008933--------------------------------z^3 - 2.23 z^2 + 1.761 z - 0.495Sample time: 0.05 secondsDiscrete-time transfer function.习题3.3(P34)>> G=[10 6.989 4.711 3.136 2.137 1.559 1.252 1.096 0.938 0.860]; >> N=3;>> dt=0.1;>> Discrete_system_transferFcn(N,G,dt)a =-2.19191.7166-0.4794b =10.0000-14.92956.55810.0139Discrete_TransferFcn =10 z^3 - 14.93 z^2 + 6.558 z + 0.01389--------------------------------------z^3 - 2.192 z^2 + 1.717 z - 0.4794Sample time: 0.1 secondsDiscrete-time transfer function.。