当前位置:文档之家› 系统辨识实验报告1

系统辨识实验报告1

系统辨识实验报告1
系统辨识实验报告1

系统辨识实验报告

学院:信息科学与技术学院专业:自动化

日期:2016/4/26

目录

实验1 (4)

一.实验内容及要求: (4)

二.实验原理: (4)

三.软件设计思想: (4)

四.程序结构框图: (5)

五.运行示意图: (5)

实验2 (8)

一.实验内容及要求: (8)

二.实验原理: (8)

三.软件设计思想: (9)

四.程序设计框图: (9)

五.程序运行流程图: (10)

实验3 (12)

一.实验内容及要求: (12)

二.实验原理: (12)

三.程序数据流程图: (12)

四.实验运行结果: (13)

实验4 (14)

一.实验内容及要求: (14)

二.实验原理: (14)

三.数据递推关系图: (14)

四.实验运行结果: (15)

心得体会 (16)

附录(实验代码) (17)

https://www.doczj.com/doc/7815878106.html,bWork1 (17)

https://www.doczj.com/doc/7815878106.html,bWork2 (21)

https://www.doczj.com/doc/7815878106.html,bWork3 (23)

https://www.doczj.com/doc/7815878106.html,bWork4 (26)

实验1

一.实验内容及要求:

1.编出矩阵A与B相乘得到的矩阵R的运算计算机程序

要求:

(1)A和B的维数及数值可通过键盘及数据文件输入

(2)计算结果R可由屏幕及文件输出

2.将1改写为子程序

3.查找有关的资料,读懂及调通矩阵求逆程序,并改写为子程序。

二.实验原理:

1.两个矩阵A、B相乘得到C矩阵,首先要满足的条件是A的列数与B行数相

等,否则不能相乘。当满足条件后,根据C(i,k)=A i,j?B(j,k)可以求得C矩阵。

2.当求矩阵的逆时,首先要判断其是否为方阵,若是则可以对其进行下一步的

操作。本次实验中求逆主要是通过构造一个增广矩阵(FangZ | E)矩阵的初等行变换得到(E | FZNi)的这样的一个矩阵就可以求得矩阵的逆。若矩阵FangZ不是满秩矩阵时,FangZ没有FZNi 。通过这样的求逆方式,避免了大方阵的求取行列式运算。

三.软件设计思想:

1.确定该软件的功能主要有:键盘输入两个矩阵然后相乘;文本data输入两

个矩阵将结果放在文本result中;键盘输入一个方阵求得其逆矩阵。其中前两个的矩阵相乘运算部分设置为一个函数Mul。

2.在main函数中提供两个关于矩阵的选择:multiplitation;invertion。其

相对应的子函数为MulOp(a,b,c),Inv()。

3.在MulOp(a,b,c)子函数中,有两种输入矩阵的方式:way1,way2。相对应

的功能为键盘输入,文本输入。并且两者在处理矩阵时,都调用了Mul函数。

4.在Inv()子函数中,输入和显示原矩阵,和其相应的逆矩阵。调用qiuni

(double FangZ[][M],double FZNi[][M],int n)子函数,可以都得到原矩阵的逆矩阵。但当原矩阵不可逆时,系统输出为”The array is not invertible!“。

四.程序结构框图:

五.运行示意图:

1. main 函数的主界面:

2. MulOp 子函数的界面:

3.Inv子函数的界面:

4.通过键盘操作计算两个矩阵的乘积:

5.求方阵的逆矩阵:

实验2

一.实验内容及要求:

编写并调试动态模型仿真程序:

模型:y(k)-1.5y(k-1)+0.7y(k-2)=u(k-1)+0.5u(k-2)+v(k)

已知:白噪声{v(k)}数据文件为DV,数据长度为L=500

要求:(1)产生长度为L的M序列数据文件DU

(2)产生长度为L的模型输出数据文件DY

二.实验原理:

由于在现实中,白噪声序列很难求,所以寻找到M序列在一定程度上可以代替白色噪声序列。由L=500,所以n=9。

根据M序列的特征方程:f x=c0+c1?x+c2?x2+?+c n x^n

可知9阶移位寄存器的多项式为f x=x9+x4+1,及可得c=[0,0,0,1,0,0,0,0,1] 9级线性移位寄存器:

图中Ci表示反馈的两种可能连接方式,Ci=1表示连线接通,第9-i级加入反馈中;Ci=0表示连线断开,第9-i级未参加反馈。

系统产生M序列的结构流程图:

三.软件设计思想:

1.该软件的主要功能是:产生M序列赋给u(k)保存在DU.txt文件中;由u(k)

和v(k)求得y(k)保存在DY.txt文件中。

2.在main函数中给出3个选择:求u(k);求y(k);退出程序。其相对应的函

数名称为gener,ouput,exit。

3.在gener子函数中产生M序列u(k)保存到DU.txt文本文件中。

4.在output子函数中,通过对input子函数(读入v(k),u(k)的数据)、deal

子函数(由公式y(k)-1.5y(k-1)+0.7y(k-2)=u(k-1)+0.5u(k-2)+v(k)求y(k))的调用来达到生成y(k)序列并保存到DY.txt文本文件中。

四.程序设计框图:

五.程序运行流程图:

1. main 函数:

2. gener 函数:

3. output 函数:

实验3

一.实验内容及要求:

编写并调试动态离散时间模型LS成批算法程序。

要求:(1)原始数据由DU和DY读出。

(2)调用求逆及相乘子程序。

(3)显示参数辨识结果。

二.实验原理:

1.批次处理的方法就是把所有的数据采集到一次性进行处理,但前提是白色噪声、

及M序列所共同作用而产生的输出,才能使用最小二乘法。虽然这种方法的计算量庞大,但经常用于处理时不变系统,方法简单。

2.构造模型Y=X*sita+V

3.Y=[DY(3) DY(4) DY(499) ]已知n=2,L=500,可知m=497

所以有X=

?y(2)?y(1)

?y(3)?y(2)

?y(498)?y(497)

u(2)u(1)

u(3)u(2)

u(498)u(497)

三.程序数据流程图:

四.实验运行结果:

实验4

一.实验内容及要求:

编写并调试动态离散时间模型LS递推算法程序。

要求:

(1)原始数据由DU和DY读出。

(2)显示参数辨识结果。

(3)设置选择变量决定是否输出中间结果。

二.实验原理:

1.基本思路:

新的估计值sita'(k+1)=老的估计值sita'(k)+修正项

1.基本模型:y(k)=-a1y(k-1)-a2y(k-2)+b1u(k-1)+b2u(k-2)+v(k)。

2.引入信息矩阵P(k),维数为4*4,初始化为10^5~10^12*E的一单位阵。gama(k)

为修正系数,为无穷小标量。x(k+1)=[-y(k) -y(k-1) u(k) u(k-1)]。sita'=[a1 a2 b1 b2]。y(k+1)=DY[k+3]。

3.sita'(k+1)=sita'(k)+gama(k+1)*P(k)*x(k+1)*[y(k+1)-x'(K=1)*sita'(k)];

4.P(k+1)=P(k)-gama(k+1)*P(k)*x(k+1)*x'(k+1)*P(k);

5.gama(k+1)=1/[1+x'(k+1)*P(k)*x(k+1)];

三.数据递推关系图:

四.实验运行结果:1.main函数界面示意图:

6.只显示结果界面:

7.显示过程的参考界面:

心得体会

我很喜欢这个课程的期末考核方式,不用再拘泥于在题目当中对该课程的了解,而是通过4个C语言设计的练习来达到学习的目的,而且对以后的学习还有很大的帮助。

在编写C语言的过程中,也遇到了一些阻碍,特别是在编写第3,4个的时候。比如:用的数组太多,并且未将其初始化,运行出来的结果经常是很长的一段随机数;或者一模一样的程序有时候就可以正常运行,有时候就总是出现报错……这些都是让我心塞了两周的问题。在这些问题解决之后,运行出来的结果却与实际模型参数的出入有点大,于是又重新查找第2个实验是否是M序列产生的方式有问题。通过对初始化寄存器赋给不同的值,可以让结果与真实模型参数之间的误差达到最小。

通过这学期对系统辨识这个课程的学习,让我了解到系统辨识在建立数学模型的方面的重要性。对于不了解系统的工作机理的人来说,也有了一个可以知道系统模型的构建方法。但是也必须要我们对所构建模型有一个较为清醒的认识,比如要知道模型的类型,如果是动态模型,则要知道模型的参数或者阶次(但是权函数模型就不需要事前知道模型的参数或者阶次,不知道这种方法有没有什么我们不知道的缺陷)。在处理数据上,又一次让我了解到世上没有两全其美的事情,计算的复杂程度和精度就好像鱼和熊掌不能兼得。也正是因为这样,才会成为促使人们在这方面的不断寻找最优化算法的动力。在对模型进行研究时,都是从最简单的模型开始研究,比如在没有噪声的情况下,所得到的模型参数就为系统模型真实参数。进一步,在白色噪声的情况下,所得到的参数就为系统模型真实参数的估计……通过这样的推理,就可以得到LS在系统辨识问题上的普适性,不管系统受怎样的干扰,只要通过一系列的变换,最后还是通过LS来解决模型参数的确定工作。

虽然我们对化学工艺不怎么了解,但通过学习系统辨识,让我们对已经投运后的工业生产设备的性能有一个跟踪性的了解,可以对系统做出一个较为完整的评估,从而来改善生产工艺或者是及时更换生产设备,从而来达到最大的经济效益。

这学期主要就是介绍LS方法,虽然LS可以处理一些特殊情况的有噪声和没有噪声的系统,但对于那些噪声模型都不可预测的系统中,LS还是显得无能为力。希望以后还有机会学习其他的系统辨识方法。

附录(实验代码)

https://www.doczj.com/doc/7815878106.html,bWork1

#define M 100

double FangZ[M][M]={0},FZNi[M][M]={0};

/* 求矩阵的乘法函数*/

void Mul(double a[][M],double b[][M],double c[][M],int n1,int n2,int n4)

{

int i,j,k;

for(i=0;i

for(k=0;k

for(j=0;j

c[i][k]+=a[i][j]*b[j][k];

}

/* 求方阵的逆*/

void qiuni(double FangZ[][M],double FZNi[][M],int n)

{

double E[M][M],value=1.0,stemp,temp=0.0,san,c[M][M];

int i,j,row,nextrow,flag=0;

int col,switchtime=0;

/* 构造原矩阵的增广矩阵*/

for(i=0;i

for(j=0;j

{

if(j==i) E[i][j]=1;

else E[i][j]=0;

}

for(i=0;i

{

for(j=0;j

c[i][j]=FangZ[i][j];

for(j=0;j

c[i][j+n]=E[i][j];

}

/* 对增广矩阵进行运算(FangZ|E)->(E|FZNi)*/ for(row=0;row

{

nextrow=row+1;

if(c[nextrow][row]==0)

{

while(c[nextrow][row]==0)

{

nextrow++;

if(nextrow==n)

{

flag=1;

break;

}

}

if(flag==1) continue;

switchtime++;

/* 交换第一个数字为0的行*/ for(col=0;col<2*n;col++)

{

stemp=c[row][col];

c[row][col]=c[nextrow][col];

c[nextrow][col]=stemp;

}

}

for(nextrow=row+1;nextrow

temp=c[nextrow][row]*1.0/c[row][row];

for(col=0;col<2*n;col++)

c[nextrow][col]+=-temp*c[row][col];

系统辨识之经典辨识法

系统辨识作业一 学院信息科学与工程学院专业控制科学与工程 班级控制二班 姓名 学号

2018 年 11 月 系统辨识 所谓辨识就是通过测取研究对象在认为输入作用的输出响应,或正常运行时 的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。 辨识的内容主要包括四个方面: ①实验设计; ②模型结构辨识; ③模型参数辨识; ④模型检验。 辨识的一般步骤:根据辨识目的,利用先验知识,初步确定模型结构;采集 数据;然后进行模型参数和结构辨识;最终验证获得的最终模型。 根据辨识方法所涉及的模型形式来说,辨识方法可以分为两类:一类是非参 数模型辨识方法,另一类是参数模型辨识方法。 其中,非参数模型辨识方法又称为经典的辨识方法,它主要获得的是模型是 非参数模型。在假定过程是线性的前提下,不必事先确定模型的具体结构,广泛 适用于一些复杂的过程。经典辨识方法有很多,其中包括阶跃响应法、脉冲响应法、相关分析法和普分析法等等,本次实验所采用的辨识方法为阶跃响应法和脉 冲响应法。 1.阶跃响应法 阶跃响应法是一种常用非参数模型辨识方法。常用的方法有近似法、半对数法、切线法、两点法和面积法等。本次作业采用面积法求传递函数。 1.1面积法 ① 当系统的传递函数无零点时,即系统传递函数如下: G(S) = + ?11?1+?+ 1+1 (1-1) 系统的传递函数与微分方程存在着一一对应的关系,因此,可以通过求取 微分方程的系数来辨识系统的传递函数。在求得系统的放大倍数K后,要得到无 因次阶跃响应y(t)(设τ=0),其中y(t)用下式描述: () ?1 () (1-2) 面积法原则上可以求出n为任意阶的个系数。以n为3为例。有: 3() 2() () {| →∞ =| →∞ =| →∞ = 0 (1-3) ()| →∞ = 1

系统辨识实验1实验报告

实验报告 --实验1.基于matlab的4阶系统辨识实验 课程:系统辨识 题目:基于matlab的4阶系统辨识实验 作者: 专业:自动化 学号:11351014 目录 实验报告 (1) 1.引言 (2) 2.实验方法和步骤 (2) 3.实验数据和结果 (2) 4.实验分析 (4)

1、 引言 系统辨识是研究如何确定系统的数学模型及其参数的理论。而模型化是进行系统分析、仿真、设计、预测、控制和决策的前提和基础。 本次实验利用matlab 工具对一个简单的4阶系统进行辨识,以此熟悉系统辨识的基本步骤,和matlab 里的一些系统辨识常用工具箱和函数。 这次实验所采取的基本方法是对系统输入两个特定的激励信号,分别反映系统的动态特性和稳态特性。通过对输入和输出两个系统信号的比较,来验证系统的正确性。 2、 实验方法和步骤 2.1 实验方法 利用matlab 对一个系统进行辨识,选取的输入信号必须能够反映系统的动态和稳态两个方面的特性,才能更好地确定系统的参数。本次实验采取了两种输入信号,为反映动态特性,第一个选的是正弦扫频信号,由下面公式产生: 选定频率范围 ,w(t)是时间t 的线性函数,具有扫频性质,可以反映系统的动态特性。 为反映稳态特性,选的输入信号是阶跃信号。以上的到两组数据,利用matlab 的merge()函数,对两组数据融合,然后用matlab 系统辨识工具箱中的基于子空间方法的状态空间模型辨识函数n4sid()来对系统进行辨识 2.2 实验步骤 (1)建立一个4阶的线性系统,作为被辨识的系统,传递函数为 3243211548765 ()125410865 s s s G s s s s s -+-+=++++ (2)产生扫频信号u1和阶跃信号u2 (3)u1、u2作为输入对系统进行激励,分别产生输出y1和y2 (4)画出稳态测试输入信号u1-t 的曲线,和y1-t 的曲线 画出动态测试输入信号u2-t 的曲线,和y2-t 的曲线 (5)使用merge()函数对u1-y1数据和u2-y2数据进行融合,并使用n4sid()函数对系统进行辨识。 (6)画出原系统和辨识出的系统的零极点图,画出原系统和辨识出的系统的阶跃响应特性曲线,通过对比,验证辨识出的系统的准确性。 3、 实验数据和结果 (1) 分别以扫频正弦函数、阶跃函数作为系统的激励,得到的输出:

系统辨识实验二

《系统辨识与自适应控制》实验报告 题目:最小二乘法在系统辨识中的应用 班级:工控08.1 指导老师: 学生姓名: 学号: 时间:2011.5.19 成都信息工程学院控制工程系

实验目的: 1、掌握系统辨识的基本步骤。 2、熟悉matlab 下系统辨识编程(M 文件)。 3、M 序列的产生方法。 4、用最小二乘法对系统进行辨识。 实验设备: 硬件:计算机一台(参数:主频2.8G 、奔腾4核处理器、内存512M ) 软件:matlab6.5 实验原理: 1、最小二乘法系统辨识结构: 把待辨识的过程看作“黑箱”。只考虑过程的输入输出特性。 图中,输入u(k)和输出z(k)是可测的;G (错误!未找到引用源。)是系统模型,用来描述系统的输入输出特性;N (错误!未找到引用源。)是噪声模型,v(k)是白噪声,e(k)是有色噪声,根据表示定理: 可以表示为 )()()()()(11k v k u q B k z q A +=-- (1) + + e (k ) 图1 SISO 系统辨识“黑箱” y (k ) u (k ) z (k ) v (k ) )(1-z N )(1-z G

???+++=++++=-------nb nb na na q b q b b q B q a q a q a q A ...21)(...211)(11211 (2) 由上两式可以表示: l k k v i k u bi i k z ai k z nb i na i ,...,2,1)....()(*)(*)(11=+-+--=∑∑== (3) 上式可以描述成如下最小二乘法格式: )()()(k v k h k z +=θ (4) 2、准则函数 设一个随机序列{}),,2,1(),(L k k z ∈的均值是参数θ的线性函数: {}θ)()(k h k z E T =,其中)(k h 是可测的数据向量,那么利用随机序列的一个实现,使准则函数: 21])()([)(∑=-=L k T k h k z J θθ (5) 达到极小的参数估计值∧ θ称作θ的最小二乘估计。 最小二乘格式: )()()(k e k h k z t +=θ,θ为模型参数向量,()k e 为零均值随机噪声。 3、最小二乘问题的解 考虑系统模型: )()()(k e k h k z t +=θ (6) 准则函数可写成: ()()()θθθL L L T L L H z H -Λ-=z J (7) 极小化准则函数得到:

系统辨识作业2

系统辨识作业 学院: 专业: 姓名: 学号: 日期:

系统辨识作业: 以下图为仿真对象 图中,v(k)为服从N(0,1)正态分布的不相关随即噪声,输入信号采用循环周期Np>500的逆M 序列,幅值为1,选择辨识模型为: )()2()1()2()1()(2121k v k u b k u b k z a k z a k z +-+-=-+-+ 加权因子1)(=Λk ,数据长度L=500,初始条件取I P 610)0(= ,????????? ???=001.0001.0001.0)0(? θ 要求:(1)采用一次完成最小二乘法对系统进行辨识,给出数据u(k)和z(k), 及L H ,L Z 和θ 和)?(θ J 的值。 (2)采用递推最小二乘法进行辨识,要给出参数收敛曲线以及新息)(~k Z ,残差)(k ε,准则函数)(k J 随着递推次数K 的变化曲线。 (3)对仿真对象和辨识出的模型进行阶跃响应对比分析以检验辨识结果的实效。 1、一次完成法对系统进行辨识: 估计L T L L T L LS Z H H H 1)(?-=θ ,其中 []2121,,,b b a a LS =θ ????? ? ??????=L L Z Z Z Z 21 ????????????------------=????????? ???=)2()1()2()1()0()1()0()1()1()0()1() 0()()2()1(L u L u L z L z u u z z u u z z L h h h H L 一次完成算法对系统辨识的Matlab 程序见附录: 部分输入、输出数据如下,全部的输入输出数据用图1.1所示 输入数据u(k)=Columns 1 through 16 0 0 1 1 1 1 0 0 0 0 1 0 0 1 1 0

系统辨识实验报告30288

一、相关分析法 (1)实验原理 图1 实验原理图 本实验的原理图如图1。过程传递函数()G s 中12120,8.3, 6.2K T Sec T Sec ===;输入变量()u k ,输出变量()z k ,噪声服从2(0,)v N σ,0()g k 为过程的脉冲响应理论 值,?()g k 为过程脉冲响应估计值,()g k 为过程脉冲响应估计误差。 过程输入()u k 采用M 序列,其输出数据加白噪声()v k 得到输出数据()z k 。利 用相关分析法估计出过程的脉冲响应值?()g k ,并与过程脉冲响应理论值0()g k 比较,得到过程脉冲响应估计误差值()g k 。 M 序列阶次选择说明:首先粗略估计系统的过渡过程时间T S (通过简单阶跃响应)、截止频率f M (给系统施加不同周期的正弦信号或方波信号,观察输出)。本次为验证试验,已知系统模型,经计算Hz T T f M 14.01 2 1≈= ,s T S 30≈。根据式M f t 3 .0≤ ?及式S T t N ≥?-)1(,则t ?取值为1,此时31≥N ,由于t ?与N 选择时要求完全覆盖,则选择六阶M 移位寄存器,即N =63。

(2)编程说明 图2 程序流程图 (3)分步说明 ① 生成M 序列: M 序列的循环周期63126=-=N ,时钟节拍1t Sec ?=,幅度1a =,移位寄存器中第5、6位的内容按“模二相加”,反馈到第一位作为输入。其中初始数据设为{1,0,1,0,0,0}。程序如下:

② 生成白噪声序列: 程序如下: ③ 过程仿真得到输出数据: 如图2所示的过程传递函数串联,可以写成形如1212 11 ()1/1/K G s TT s T s T = ++, 其中112 K K TT = 。 图2 过程仿真方框图 程序如下: ④ 计算脉冲响应估计值:

操作系统实验报告哈工大

计算机操作系统课程实验报告 专业信息管理与信息系统 班级 1203601 学号 120360117 姓名乐云 指导教师周学权

计算机操作系统课程实验报告 专业信息管理与信息系统 班级 1203601 学号 120360114 姓名郭鑫 指导教师周学权

操作系统实验 实验1 使用虚拟机安装系统 4学时 【实验目的】 1.了解虚拟机软件的使用。 2.了解使用虚拟机安装Windows及Ubuntu操作系统。 【实验内容】 1. 安装虚拟机软件VirtualBox。 2. 配置VirtualBox环境安装WindowsXP,并在虚拟机中启动windowsXP。 3. 配置VirtualBox环境安装Ubuntu 10.10,并在虚拟机中启动Ubuntu。【实验环境】 VirtualBox4.0 Windows XP Ubuntu 8.04 【实验过程】 一、创建虚拟机 首先运行VirtualBox,单击左上角的“新建”。 单击下一步。

出现如下图的界面,在名称后输入自己起的名字,如test 选择自己想要安装的系统类型和版本,本次试验是安装windows xp系统 设置完成后,单击下一步。。 接下来是设置虚拟机的内存大小,本次实验操作的计算机内存为4GB,所以我选择分配给我的虚拟机的内存为512MB,然后单击下一步。 接着创建虚拟硬盘,选择创建新的虚拟硬盘,单击下一步。

选择虚拟硬盘的类型,默认选择了VDI类型,单击下一步。 接下来选择为动态扩展类型,因为计算机的存储空间不大。单击下一步。 动态扩展:如果你为你的虚拟磁盘分配的是10G空间,虚拟磁盘占用真实磁盘空间的范围就为0~10G。 固定大小:如果你为你的虚拟磁盘分配的是10G空间,虚拟磁盘占用真实磁盘空间永远不是10G,不管虚拟磁盘空间是否被全部使用。 选择虚拟机在本地磁盘中的位置和大小,单击下一步。

系统辨识实验报告

南京理工大学 电加热炉动态特性辨识实验报告 作者: 张志鹏(94)学号:813001010014 实验时间2013年11月24日 组员: 刘心刚(63)李昊(88)倪镭(90) 任课老师:郭毓教授 2013 年 11 月

1.熟悉对实际控制系统的辨识与参数估计,并利用所得模型进行控制仿真,进而控制实际系统。 2.掌握实际工程中常用的辨识方法,如LS,RLS,RLES等。 二、实验平台: 嵌入式温度控制系统主要由嵌入式温度控制器、立式RGL-9076A 型温箱、NETGEAR 无线路由器和24V 开关电源等组成。系统电气连接如图1 所示。系 统采用CS(客户端—服务器)模式实现了一对一的服务器、客户端的数据通信。 嵌入式控制系统软软硬件运行平台. 硬件:PC 机、嵌入式温度控制器、NETGEAR 无线路由器等。 软件:Windows XP、Microsoft Visual C++ 6.0、Matlab 2007a 等。 图1 实验硬件平台

1.设置硬件。根据实验手册上的连接方式,确认硬件连接是否正确。根据使用手册进行IP设置、系统参数设置,直至软件可以实时显示温度曲线。 2.达到稳态。我们首先采用81V的加热电压加热使系统尽快到达某一较稳定温度。使用3S的采样周期进行采样温度信号。当温箱实际温度达到135度左右时,温度变化曲线几乎持平,我们认定此时温箱系统处于稳态。 3.加入辨识信号。这里选选取M序列进行辨识,在试验阶段我们组做了一组数据:选取M序列幅值为+20,-20,,辨识信号的采样周期为40s。加入辨识信号后继续进行数据采集。 4.数据处理、辨识系统模型。 5.分析辨识结果得出结论。 四、辨识算法及过程 经过分析研究,确定使用计算残差平方和的RELS方法验证模型的阶次及延时并辨识系统模型参数。 1、确定系统的延迟d

系统辨识内容与要求

系统辨识实验内容与要求 实验题目:三温区空间晶体生长炉温度系统建模 实验对象:三温区空间晶体生长炉 单晶体是现代电子设备制造技术的一个必不可少的部分,它应用广泛,如二极管、三极管等半导体器件都需要用到单晶体。组分均匀(compositional uniformity)、结晶完整(crystallographic perfection)的高质量晶体材料是保证电子设备性能重要因素。 目前,单晶体制备主要靠晶体生长技术完成。其主要过程是:首先在坩埚等加热器皿中对籽晶进行加热,使其由固相转变为液相或气相,再降低器皿中温度,使液相或气相的籽晶材料冷却结晶,就可得到最终的单晶体。这个过程中,为保证晶体的组分均匀和结晶完整,必须使晶体内部各晶格的受力均匀。因此,为减小重力对晶体生长的影响,研究者提出在空间微重力环境下进行晶体生长的方案。我们研究的空间晶体生长炉就是该方案中的晶体加热设备。 我们研究的空间晶体生长炉采用熔体Bridgman生长方式,其结构如图1所示。炉身由三部分构成:外筒、炉管以及炉管外部的隔热层。炉管由多个加热单元组成,每个加热单元组成一个温区。加热单元由导热性能良好的陶瓷材料制成,两个加热单元之间有隔热单元隔开。加热单元的外测均匀缠绕加热电阻丝,内侧中间部位安装有测温热电偶。炉管外部的隔热层由防辐射绝热材料制成。 微重力环境下,晶体内部各晶格之间的热应力是影响晶体生长质量的关键因素,而热应力是由炉内温场决定的。因此,必须对晶体炉内各温区的温度进行控制,以构造一个具有一定的梯度的、满足晶体生长需要的温场。工作时,将装有籽晶的安瓿管按一定的速度插入晶体炉炉膛内,通过控制流过各温区加热电阻丝的电流控制炉内温场,通过热电偶在线获取各温区的实时温度值,进行闭环控制,。其中,流过电阻丝的电流通过PWM(脉宽调制)方式进行控制。另外,由于晶体炉工作温度的变化范围比较大,传感器热电偶难以在全量程范围内保持很高的线性度,因此,使用的热电偶的电压读数与实际温度值间需要进行查表变换。 本实验内容是运用系统辨识的方法建立晶体炉中某个温区的动力学模型,辨识数据已给出,见SI_Data.xls文件。

系统辨识与自适应控制论文

XXXXXXXXXX 系统辨识与自适应控制课程论文 题目:自适应控制综述与应用 课程名称:系统辨识与自适应控制 院系:自动化学院 专业:自动化 班级:自动化102 姓名: XXXXXX 学号: XXXXXXXXX 课程论文成绩: 任课教师: XXXXX 2013年 11 月 15 日

自适应控制综述与应用 一.前言 对于系统辨识与自适应控制这门课,前部分主要讲了系统辨识的经典方法(阶跃响应法、频率响应法、相关分析法)与现代方法(最小二乘法、随机逼近法、极大似然法、预报误差法)。对于系统辨识,简单的说就是数学建模,建立黑箱系统的输入输出关系;而其主要分为结构辨识(n)与参数辨识(a、b)这两个任务。 由于在课上刘老师对系统辨识部分讲的比较详细,在此不再赘述,下面讨论自适应控制部分的相关内容。 对于自适应控制的概念,我觉得具备以下特点的控制系统,可以称为自适应控制系统: 1、在线进行系统结构和参数辨识或系统性能指标的度量,以便得到系统当前状态的改变情况。 2、按一定的规律确定当前的控制策略。 3、在线修改控制器的参数或可调系统的输入信号。 二.自适应控制综述 1.常规控制系统与自适应控制系统比较 (1)控制器结构不同 在传统的控制理论与控制工程中,常规控制系统的结构主要由控制器、控制对象以及反馈控制回路组成。 而自适应控制系统主要由控制器、控制对象、自适应器及反馈控制回路和自适应控制回路组成。 (2)适用的对象与条件不同 传统的控制理论与控制工程中,当对象是线性定常、并且完全已知的时候,才能进行分析和控制器设计。无论采用频域方法,还是状态空间方法,对象一定是已知的。这类方法称为基于完全模型的方法。在模型能够精确地描述实际对象时,基于完全模型的控制方法可以进行各种分析、综合,并得到可靠、精确和满意的控制效果。 然而,有一些实际被控系统的数学模型是很难事先通过机理建模或离线系统辨识来确知的,或者它们的数学模型的某些参数或结构是处于变化之中的.对于这类事先难以确定数学模型的系统,通过事先整定好控制器参数的常规控制往往难以对付。 面对上述系统特性未知或经常处于变化之中而无法完全事先确定的情况,如何设计一个满意的控制系统,使得能主动适应这些特性未知或变化的情况,这就 是自适应控制所要研究解决的问题.自适应控制的基本思想是:在控制系统的运行过程中,系统本身不断地测量被控系统的状态、性能和参数,从而“认识”或“掌握”系统当前的运行指标并与期望的指标相比较,进而作出决策,来改变控制器的结构、参数或根据自适应规律来改变控制作用,以保证系统运行在某种意义下的最优或次优状态。按这种思想建立起来的控制系统就称为自适应控制系统。

系统辨识报告

系统辨识实验报告

实验一 最小二乘法 1 最小二乘算法 1.1 基本原理 系统模型 )()()()()(11k n k u z B k z z A +=-- a a n n z a z a z a z A ----++++= 221111)( b b n n z b z b z b z B ----+++= 22111)( 最小二乘格式 )()()(k n k h k z T +=θ [][] ?????=------=T n n T b a b a b b a a n k u k u n k z k z k h 11)()1()()1()(θ 对于L k ,,2,1 =,构成线性方程组 L L L n H z +=θ 式中, []T L L z z z z )()2()1( = []T L L n n n n )()2()1( = ? ????? ???? ??--------------= ??????????????=)()1()()1()2()1()2()1()1() 0() 1()0()()2()1(b a b a b a T T T L n L u L u n L z L z n u u n z z n u u n z z L h h h H 参数估计值为 ()L T L L T L LS z H H H 1 ?-=θ 1.2 Matlab 编程 % 基本最小二乘法LS clear;clc A=ones(5,1);B=ones(4,1);%A 为首1多项式,B 中体现时滞(d=1) na=length(A)-1;nb=length(B); load dryer2

系统辨识基础实验指导书

实验一 离散模型的参数辨识 一、实验目的 1. 掌握随机序列的产生方法。 2. 掌握最小二乘估计算法的基本原理。 3. 掌握最小二乘递推算法。 二、实验内容 1. 基于Box--Jinkins 模型模拟一个动态过程,动态过程取为各种不同的情况,输入信号采用M 序列,实验者可尝试不同周期的M 序列。信噪比、观测数据长度也由实验者取为各种不同情况。 2. 模拟生成输入输出数据。 3. 根据仿真过程的噪声特性,选择一种模型参数估计算法,如RLS 、RIV 、RELS 、RGLS 、COR-LS 、STAA 、RML 或MLS 等,估计出模型的参数。 三、实验器材 计算机 1台 四、实验原理 最小二乘法是一种经典的有效的数据处理方法。它是1795年高斯(K.F.Guass )在预测行星和彗星运动的轨道时提出并实际使用的。 最小二乘法也是一种根据实验数据进行参数估计的主要方法。这种方法容易被理解,而且由于存在唯一解,所以也比较容易实现。它在统计学文献中还被称为线性回归法,在某些辨识文献中还被称为方程误差法。正如各个学科都用到系统辨识技术建立模型一样,最小二乘法也用于很多场合进行参数估计,虽然不一定是直接运用,但很多算法是以最小二乘为基础的。 在系统辨识和参数估计领域中,最小二乘法是一种最基本的估计方法。它可用于动态系统,也可用于静态系统;可用于线性系统,也可用于非线性系统;可用于离线估计,也可用于在线估计。在随机的环境下利用最小二乘法时,并不要求知道观测数据的概率统计信息,而用这种方法所获得的估计结果,却有相当好的统计性质。 在系统辨识和参数估计领域中,应用最广泛的估计方法是最小二乘法和极大似然法,而其他的大多数算法都与最小二乘法有关。最小二乘法采用的模型为 11()()()()()A z y k B z u k e k --=+ 最小二乘估计是在残差二乘方准则函数极小意义下的最优估计,即按照准则函数 ????()()min T T J e e Y Y ΦθΦθ==--= 来确定估计值?θ。求J 对?θ的偏导数并令其等于0,可得 ????()()()()0??T T T J Y Y Y Y ΦθΦθΦΦθΦΦθθ θ??=--=----=?? 即?T T Y ΦΦθΦ=。当T ΦΦ为非奇异,即Φ列满秩时,有1?()T T LS Y θΦΦΦ-=,此即参数的最小二乘估计值。 具体使用时不仅占用内存量大,而且不能用于在线辨识。一次完成算法还有如下的缺陷: (1)数据量越多,系统参数估计的精度就越高。为了获得满意的辨识结果,矩阵T ΦΦ的阶数常常取得相当大。这样,矩阵求逆的计算量很大,存储量也很大。 (2)每增加一次观测量,都必须重新计算1,()T ΦΦΦ-。 (3)如果出现Φ列相关,即不满秩的情况,T ΦΦ为病态矩阵,则不能得到最小二乘估计值。 解决这个问题的办法是把它化成递推算法。依观测次序的递推算法就是每获得一次新的观测数据就修正一次参数估计值,随着时间的推移,便能获得满意的辨识结果。递推辨识算法具有无矩阵求逆,以及跟踪时变系统等特点,这样不仅可以减少计算量和储存量,而且能实现在线辨识。

最优控制实验报告

实验报告 课程名称:现代控制工程与理论实验课题:最优控制 学号:12014001070 姓名:陈龙 授课老师:施心陵

最优控制 一、最优控制理论中心问题: 给定一个控制系统(已建立的被控对象的数学模型),选择一个容许的控制律,使被控对象按预定要求运行,并使给定的某一性能指标达到极小值(或极大值) 二、最优控制动态规划法 对离散型控制系统更为有效,而且得出的是综合控制函数。这种方法来源于多决策过程,并由贝尔曼首先提出,故称贝尔曼动态规划。 最优性原理:在一个多级决策问题中的最优决策具有这样的性质,不管初始级、初始状态和初始决策是什么,当把其中任何一级和状态做为初始级和初始状态时,余下的决策对此仍是最优决策 三、线性二次型性能指标的最优控制 用最大值原理求最优控制,求出的最优控制通常是时间的函数,这样的控制为开环控制当用开环控制时,在控制过程中不允许有任何干扰,这样才能使系统以最优状态运行。在实际问题中,干扰不可能没有,因此工程上总希望应用闭环控制,即控制函数表示成时间和状态的函数。 求解这样的问题一般来说是很困难的。但对一类线性的且指标是

二次型的动态系统,却得了完全的解决。不但理论比较完善,数学处理简单,而且在工际中又容易实现,因而在工程中有着广泛的应用。 一.实验目的 1.熟悉Matlab的仿真及运行环境; 2.掌握系统最优控制的设计方法; 3.验证最优控制的效果。 二.实验原理 对于一个给定的系统,实现系统的稳定有很多途径,所以我们需要一个评价的指标,使系统在该指标下达到最优。如果给定指标为线性二次型,那么我们就可以利用MATLAB快速的计算卡尔曼增益。 三.实验器材 PC机一台,Matlab仿真平台。 四.实验步骤 例题1 (P269)考虑液压激振系统简化后的传递函数方框图如下,其中K a为系统前馈增益,K f为系统反馈增益,w h为阻尼固有频率。(如图5-5所示) 将系统传递函数变为状态方程的形式如下: ,

系统辨识及自适应控制实验..

Harbin Institute of Technology 系统辨识与自适应控制 实验报告 题目:渐消记忆最小二乘法、MIT方案 与卫星振动抑制仿真实验 专业:控制科学与工程 姓名: 学号: 15S004001 指导老师: 日期: 2015.12.06 哈尔滨工业大学 2015年11月

本实验第一部分是辨识部分,仿真了渐消记忆递推最小二乘辨识法,研究了这种方法对减缓数据饱和作用现象的作用; 第二部分是自适应控制部分,对MIT 方案模型参考自适应系统作出了仿真,分别探究了改变系统增益、自适应参数的输出,并研究了输入信号对该系统稳定性的影响; 第三部分探究自适应控制的实际应用情况,来自我本科毕设的课题,我从自适应控制角度重新考虑了这一问题并相应节选了一段实验。针对挠性卫星姿态变化前后导致参数改变的特点,探究了用模糊自适应理论中的模糊PID 法对这种变参数系统挠性振动抑制效果,并与传统PID 法比较仿真。 一、系统辨识 1. 最小二乘法的引出 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。设单输入-单输出线性定长系统的差分方程为: ()()()()()101123n n x k a x k a k n b u k b u x k n k +-+?+-=+?+-=,,,, (1.1) 错误!未找到引用源。 式中:()u k 错误!未找到引用源。为控制量;错误!未找到引用源。为理论上的输出值。错误!未找到引用源。只有通过观测才能得到,在观测过程中往往附加有随机干扰。错误!未找到引用源。的观测值错误!未找到引用源。可表示为: 错误!未找到引用源。 (1.2) 式中:()n k 为随机干扰。由式(1.2)得 错误!未找到引用源。 ()()()x k y k n k =- (1.3) 将式(1.3)带入式(1.1)得 ()()()()()()()101111()n n n i i y k a y k a y k n b u k b u k b u k n n k a k i n =+-+?+-=+-+?+ -++-∑ (1.4) 我们可能不知道()n k 错误!未找到引用源。的统计特性,在这种情况下,往往把()n k 看做均值为0的白噪声。 设 错误!未找到引用源。 (1.5)

系统辨识

作业1 如图1.1所示一阶系统,系统传递函数为G(s)=1/(0.1s+1),如果采用M序列作为输入信号进行系统辨识,采用5级移位寄存器产生M序列作为输入信号,取M序列的时钟脉冲△=15ms,a=2辨识该系统的脉冲响应。并说明取5级移位寄存器合理与否。 图1.1 一阶RC系统 答: 1.解题步骤 1.初始化参数,设置模型参数,设置产生M序列的各个关键参数; 2.利用产生伪随机二进制序列信号的函数getPRBS产生M序列,并作为 系统输入; 3.通过系统模型,产生系统输出,并将输入输出画在同一图中; 4.计算系统输入输出相关函数R xy; 5.计算系统脉冲估计值ghat和系统真实脉冲输出g 2.程序清单 主程序 clc; close all; clear all; %% Initialization R = 100e3; % system initialization resistance=100k ohm C = 1e-6; % capacitance=1uf tc = R*C; % Time Constant % generate M-sequence n=5; a=2; % Level of the PRBS

del = 15e-3; % clock pulse period N=2^n-1; % Period of M sequence total=2*N; % Generate m-sequence using the 'getPRBS' function Out = getPRBS(n,a,del,total); % Generate response y(t) of the system s = tf('s'); G = 1/(tc*s+1); tf = total*del; tim = 0:del:tf-del; y = lsim(G, Out, tim); %plot input and output of the system figure stairs(tim,Out); axis([0 1.0 -2.5 2.5]); hold on plot(tim,y,'r'); hold off % Compute Rxy(i*del) sum = 0.0; Rxy = []; iDel_vec=[]; for i=1:N tau=i-1; iDel_vec=[iDel_vec;tau*del]; for j=1:N sum=sum+sign(Out(j))*y(j+tau); end Rxy_i = (a/N)*sum; sum=0.0; Rxy = [Rxy; tau Rxy_i]; end % Compute ghat & g ind = length(Rxy); C = -Rxy(ind, 2); S = (N+1)*a^2*del/N; Rxy_iDel = Rxy(:,2); ghat=(Rxy_iDel+ C )/S; ghat(1)=2*ghat(1); g = 10*exp(-10.*iDel_vec);

matlab实验报告

专业仿真课程设计题目: 学院: 专业班级: 学号: 学生姓名: 指导教师: 设计时间:

专业仿真课程设计题目 主要研究内容: 从所拍摄的多个目标物中检测三角形物,给出三角形物几何中心、三个边长以及边长的方向、面积。 设计要求: (1)提交能够实现题目要求、并通过演示验收的可执行文件。 (2)提交课程设计报告(包括程序清单)。 (3)通过答辩,答辩成绩满分20分,其中个人设计部分10分,非个人设计部分10分。 (4)软件设计要求:有一个人机交互界面,模块化设计,在模块之间通过BMP文件或者文本文件传送数据,可以查看中间结果。 (5)5个人一组,组长协调分工,每个组员一定要有具体任务,以便考核。预期达到的目标: 1、能够通过相关文献查阅、文献综述和总结,给出问题求解的多种可行方案。 2、能够综合运用测控技术与仪器专业理论和技术手段,设计实验方案、分析实验结果,得出有效的结论。 3、能够借助MATLAB仿真软件,进一步掌握高等数学、复变函数与积分变换等相关数学和自然科学知识以及测控技术与仪器专业的基本理论知识,能够结合本专业“自动控制原理”、“数字信号处理”、“误差理论”等相关课程,采用MATLAB软件对复杂工程问题建立模型并进行预测与模拟; 4、能够与团队中其他学科成员合作开展工作,能够与其他队员很好地沟通和交流意见,能够通过口头或书面方式表达自己的设计思路,具有一定的表达能力和人际交往能力。

目录 第一章课程设计相关知识综述 1.1 MATLAB相关知识叙述 1.1.1 MATLAB基本知识介绍 1.1.2 MATLAB的优势特点 1.1.3 MATLAB的发展历程 1.2 MATLAB工具箱与函数 1.2.1 MATLAB图像处理工具箱 1.2.2 课程设计所用图像处理函数介绍第二章课程设计内容和要求 2.1 课程设计主要研究内容 2.2 课程设计要求 2.3 课程设计预期目标 第三章设计过程 3.1 设计方案 3.2 设计步骤及流程图 3.3 程序清单及相关注释 3.4 实验结果分析 3.5 结论 第四章团队情况 第五章总结 第六章参考文献

哈工大数字电路实验报告实验一

数字逻辑电路与系统上机实验报告 实验一组合逻辑电路的设计与仿真 学校:哈尔滨工业大学 院系:电信学院通信工程系 班级:1205102 学号:11205102 姓名: 哈尔滨工业大学

实验一组合逻辑电路的设计与仿真 2.1 实验要求 本实验练习在Maxplus II环境下组合逻辑电路的设计与仿真,共包括5个子实验,要求如下:

2.2三人表决电路实验 2.2.1 实验目的 1. 熟悉MAXPLUS II原理图设计、波形仿真流程 2. 练习用门电路实现给定的组合逻辑函数 2.2.2 实验预习要求 1. 预习教材《第四章组合逻辑电路》 2. 了解本次实验的目的、电路设计要求 2.2.3 实验原理 设计三人表决电路,其原理为:三个人对某个提案进行表决,当多数人同意时,则提案通过,否则提案不通过。 输入:A、B、C,为’1’时表示同意,为’0’时表示不同意; 输出:F,为’0’时表示提案通过,为’1’时表示提案不通过; 波形仿真。 2.2.4 实验步骤 1. 打开MAXPLUS II, 新建一个原理图文件,命名为EXP2_ 2.gdf。 2. 按照实验要求设计电路,将电路原理图填入下表。

制输入信号A、B、C的波形(真值表中的每种输入情况均需出现)。 4. 运行仿真器得到输出信号F的波形,将完整的仿真波形图(包括全部输入输

2.3 译码器实验 2.3.1实验目的 熟悉用译码器设计组合逻辑电路,并练习将多个低位数译码器扩展为一个高位数译码器。 2.3.2实验预习要求 1. 预习教材《4-2-2 译码器》一节 2. 了解本次实验的目的、电路设计要求 2.3.3实验原理 译码器是数字电路中的一种多输入多输出的组合逻辑电路,负责将二进制码或BCD码变换成按十进制数排序的输出信息,以驱动对应装置产生合理的逻辑动作。商品的译码器品种较多,有2-4线、3-8线、4-10线及4-16线等。本实验练习对双2-4线译码器74LS139的扩展,并用其实现特定的组合逻辑。74LS139包含两个2-4线译码器,其输入输出如下: 74LS139中译码器1真值表如下: 74LS139中译码器2真值表如下:

系统辨识试验

2、用普通最小二乘法(OLS)法辨识对象数学模型 选择得仿真对象得数学模型如下 )()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+-- 其中,)(k v 就是服从正态分布得白噪声N )1,0(。输入信号采用4阶M 序列,幅度为1。选择如下形式得辨识模型 )()2()1()2()1()(2121k v k u b k u b k z a k z a k z +-+-=-+-+ 设输入信号得取值就是从k =1到k =16得M 序列,则待辨识参数LS θ?为LS θ?=L τL 1L τL z H )H H -(。其中,被辨识参数LS θ?、观测矩阵z L 、H L 得表达式为 ????? ???????=2121?b b a a LS θ , ????????????=)16()4()3(z z z L z , ????????????------=)14()2()1()15()3()2()14()2()1()15()3()2(u u u u u u z z z z z z L H 程序框图如下所示: 参考程序: %ols M 序列z=zeros(1,16); %for k=3:16 z(k)=1、end subplot(3,1,1) %stem(u) %subplot(3,1,2) %画三行一列图形窗口中得第二个图形 i=1:1:16; %横坐标范围就是1到16,步长为1 plot(i,z) %图形得横坐标就是采样时刻i, 纵坐标就是输出观测值z, 图形格式为连续曲线

subplot(3,1,3) %画三行一列图形窗口中得第三个图形 stem(z),grid on%画出输出观测值z得经线图形,并显示坐标网格 u,z%显示输入信号与输出观测信号 %L=14%数据长度 HL=[-z(2) -z(1) u(2) u(1);-z(3) -z(2) u(3) u(2);-z(4) -z(3) u(4) u(3);-z(5) -z(4) u(5) u(4);-z(6) -z(5) u(6) u(5);-z(7) -z(6) u(7) u(6);-z(8) -z(7) u(8) u(7);-z(9) -z(8) u(9) u(8);-z(10) -z(9) u(10) u(9);-z(11) -z(10) u(11) u(10);-z(12) -z(11) u(12) u(11);-z(13) -z(12) u(13) u(12);-z(14) -z(13) u(14) u(13);-z(15) -z(14) u(15) u(14)] %给样本矩阵HL赋值 ZL=[z(3);z(4);z(5);z(6);z(7);z(8);z(9);z(10);z(11);z(12);z(13);z(14);z(15); z(16)]% 给样本矩阵zL赋值 %calculating parameters%计算参数 c1=HL'*HL; c2=inv(c1); c3=HL'*ZL; c=c2*c3 %计算并显示 %DISPLAY PARAMETERS a1=c(1), a2=c(2), b1=c(3), b2=c(4) %从中分离出并显示a1 、a2、 b1、 b2 %End 注:由于输出观测值没有任何噪音成分,所以辨识结果也无任何误差,同学们可以在输出观测值中添加噪音,观察ols得辨识效果。同时,可以尝试增加输入信号得数量,瞧辨识结果有何变化。

系统辨识大作业加学习心得

论文 系统辨识 姿态角控制 1.系统辨识概述 辨识、状态估计和控制理论是现代控制理论三个相互渗透的领域。辨识和状态估计离不开控制理论的支持,控制理论的应用又几乎不能没有辨识和状态估计技术。随着控制过程复杂性的提高,控制理论的应用日益广泛,但其实际应用不能脱离被控对象的数学模型。然而在大多数情况下,被控对象的数学模型是不知道的,或者在正常运行期间模型的参数可能发生变化,因此利用控制理论去解决实际问题时,首先需要建立被控对象的数学模型。系统辨识正是适应这一需要而形成的,他是现代控制理论中一个很活跃的分支。社会科学和自然科学领域已经投入相当多的人力去观察、研究有关的系统辨识问题。 系统辨识是建模的一种方法,不同的学科领域,对应着不同的数学模型。从某种意义上来说,不同学科的发展过程就是建立他的数学模型的过程。辨识问题可以归结为用一个模型来表示可观系统(或将要改造的系统)本质特征的一种演算,并用这个模型吧对客观系统的理解表示成有用的形式。当然可以刻有另外的描述,辨识有三个要素:

数据,模型类和准则。辨识就是按照一个准则在一组模型类中选择一个与数据拟合得最好的模型。总而言之,辨识的实质就是从一组模型类中选择一个模型,按照某种准则,使之能最好地拟合所关心的实际过程的静态或动态特性。 通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。通常,预先给定一个模型类{}M(即给定一类已知结构的模型),一类输入信号u和等价准则(,)JLyyM(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择是误差函数J达到最小的模型,作为辨识所要求的结果。系统辨识包括两个方面:结构辨识和参数估计。在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的 一、控制对象 本文采用了控制不同电机转速组合的方法,对四轴旋翼蝶形飞行器进行姿态控制,使四旋翼蝶形飞行器在不同姿态下飞行时具有较好的性能。为了实现四轴旋翼蝶形飞行器的飞行控制,对飞行的控制系统进行了初步的设计,并给出了设计流程。同时利用matlab对四轴旋翼

系统辨识实验报告

实验一:系统辨识的经典方法 一、实验目的 掌握系统的数学模型与输入、输出信号之间的关系,掌握经辨辨识的实验测试方法和数据处理方法,熟悉MATLAB/Simulink环境。 二、实验内容 1、用阶跃响应法测试给定系统的数学模型 在系统没有噪声干扰的条件下通过测试系统的阶跃响应获得系统的一阶加纯滞后或二阶加纯滞后模型,对模型进行验证。 2、在被辨识系统中加入噪声干扰,重复上述1的实验过程。 三、实验方法 在MATLAB环境下用Simulink构造测试环境,被测试的模型为水槽液位控制对象。 利用非线性水槽模型(tank)可以搭建单水槽系统的模型,也可以搭建多水槽系统的模型,多水槽模型可以是高低放置,也可以并排放置。

1.噪声强度0.5,在t = 20的时候加入阶跃测试信号相应曲线 2.乘同余法产生白噪声 A=19;N=200;x0=37;f=2;M=512; %初始化; for k=1: N %乘同余法递推100次; x2=A*x0; %分别用x2和x0表示xi+1和xi-1; x1=mod(x2,M); %取x2存储器的数除以M的余数放x1(xi)中; v1=x1/M; %将x1存储器中的数除以256得到小于1的随v(:,k)=(v1-0.5 )*f; x0=x1; % xi-1= xi; v0=v1; end %递推100次结束; v2=v; k1=k; h=k1; %以下是绘图程序; k=1:1:k1; plot(k,v,'r'); grid on set(gca,'GridLineStyle','*'); grid(gca,'minor')

3.白噪声序列图像 020406080100120140160180200 -1 -0.8 -0.6 -0.4 -0.2 0.2 0.4 0.6 0.8 1 四、 思考题 (1) 阶跃响应法测试系统数学模型的局限性。 答:只适用于某些特殊对象或者低阶简单系统;参数估计的精度有限,估计方法缺乏一般性。 (2) 对模型测试中观察到的现象进行讨论。 答:由系统的阶跃响应曲线可以看出,加入干扰后二阶系统明显比一阶系统相应缓慢,但由于此系统是自恒模型,故最终将从一个稳态到另一个稳态。

相关主题
文本预览
相关文档 最新文档