系统辨识实验1实验报告

合集下载

系统辨识实验报告

系统辨识实验报告

一、相关分析法(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.0121≈=,s T S 30≈。

根据式Mf 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}。

程序如下:过程仿真得到理论输出数据()z k计算脉冲响应估计值计算互相关函数,得到脉冲响应估计值计算脉冲响应估计误差计算脉冲响应理论值,得到脉冲响应估计误差人机对话噪声标准差:sigma ;生成数据周期数:r生成数据生成M 序列()u k ;生成白噪声序列()v k② 生成白噪声序列: 程序如下:③ 过程仿真得到输出数据:如图2所示的过程传递函数串联,可以写成形如121211()1/1/K G s TT s T s T =++,其中112KK TT =。

系统辨识实验报告

系统辨识实验报告

i=1:800; figure(1) plot(i,Theta(1,:),i,Theta(2,:),i,Theta(3,:),i,Theta(4,:),i,Theta(5,:),i,T title('待估参数过渡过程') figure(2) plot(i,Pstore(1,:),i,Pstore(2,:),i,Pstore(3,:),i,Pstore(4,:),i,Pstore(5,: title('估计方差变化过程')
最小二乘法建模:
二、三次实验 本次实验要完成的内容: 1.参照index2,设计对象,从workspace空间获取数据,取二阶,三阶 对象实现最小二乘法的一次完成算法和最小二乘法的递推算法(LS and RLS); 2.对设计好的对象,在时间为200-300之间,设计一个阶跃扰动,用最 小二乘法和带遗忘因子的最小二乘法实现,对这两种算法的特点进行说 明; 实验内容结果与程序代码: 利用LS和RLS得到的二阶,三阶参数 算法 阶次 A1 A2 A3 B0 B1 B2 B3 LS 二阶 -0.78420.1373 -0.00360.5668 0.3157 RLS 二阶 -0.78240.1373 -0.00360.5668 0.3157 LS 三阶 -0.4381-0.12280.0407 -0.00780.5652 0.5106 0.1160
测试对象流程图 实验结果为:
2、加入噪声干扰 搭建对象
实验结果:
加入噪声干扰之后水箱输出不平稳,有波动。
实验二:相关分析法 搭建对象:
处理程序: for i=1:15 m(i,:)=UY(32-i:46-i,1);
end y=UY(31:45,2); gg=ones(15)+eye(15); g=1/(25*16*2)*gg*m*y; plot(g); hold on; stem(g); 实验结果: 相关分析法

系统辨识实验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()125410865s 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()函数对系统进行辨识。

系统辨识实验

系统辨识实验

实验一:系统辨识的经典方法实验目的:掌握系统的数学模型与系统的输入、输出信号之间的关系,掌握经典辨识的实验测试方法和数据处理方法。

熟悉MATLAB/Simulink环境。

实验内容:1.用阶跃响应发测试给定系统的数学模型在系统没有噪声干扰的条件下通过测试系统的阶跃响应获得系统的一阶加纯滞后或者二阶加纯滞后模型,对模型进行验证。

2.在被辨识系统中加入噪声干扰,重复上述1的实验过程。

实验方法:在MATLAB环境下用simulink构造测试环境,被测试的模型为水槽液位控制对象。

利用非线性水槽模型(tank)可以搭建单水槽系统的模型,也可以搭建多水槽系统的模型,多水槽模型可以是高低放置,也可以并排放置。

图1.1 二阶水槽测试流程图(1)一阶环节传函利用两点法,找到 , 的点,对应得到 , ; 运用公式得到所以确定(2)二阶环节传函确定找到 , 的点,对应得到 , ;运用公式求的所以确定思考题1()=0.39y t 2()=0.63y t 122=2 1.1-2.3=-0.1t t τ=-⨯212()T t t =-1=1.1t 2=2.3t 122t t τ=-212()=2(2.3 1.1) 2.4T t t =-⨯-=()y y 27.1K ==2.71u u 10∞∆==∆∆1()=0.4y t=9.1t20.909T =1 2.121T =()y y 26.6K ==2.66u u 10∞∆==∆∆实验二相关分析法实验目的:掌握相关分析法测试系统数学模型的过程和方法。

掌握应用移位计数器设计M序列信号发生器的方法。

实验内容:1.设计并实现PRBS伪随机序列信号(M序列)发生器;2.应用相关分析法测试给定系统的数学模型。

使用伪随机序列信号测试系统在有噪声情况下的输出,用相关分析法辨识系统的数学模型。

3.模型验证。

实验方法:测试对象可以与实验一相同。

应用MATLAB/Simulink设计PRBS伪随机信号(M序列)发生器,可以用JK触发器构造的移位计数器实现,也可以用程序实现。

系统辨识实验报告

系统辨识实验报告

系统的数学建模与辨识实验报告编号:8姓名:学号: 1电加热炉动态特性辨识实验报告一.实验目的通过实验了解辨识方法在工程应用中的一些实际问题;了解数据获取和数据处理的各种方法和手段,掌握各种辨识方法的应用特点。

二.实验内容1.数据获取按照电加热计算机控制系统使用说明,加热温箱并实时监测温度。

当温度升高到一定高度基本不再发生变化时,加入辨识信号。

本设计辨识信号采用伪随机二维序列中的M序列,由于设计的M序列过长,从中截取部分作为辨识信号。

设定辨识信号的采样周期和整个辨识信号循环次数,加入辨识信号记录温度随电压变化的数据结果。

2.数据处理观察实验数据,可发现扰动较严重,需要对数据进行预处理以便进行后续辨识。

对采集数据进行滤波等处理,实验输入为M序列长度为30,由于实际采集周期为2秒,所得数据远大于需要用到的数据,同时为了提高精度,减少扰动因素影响,数据处理过程中,当输入一个M序列元素后,采集到的数据中取最后5个数据求其平均作为该输入的输出结果。

数据处理最终结果为30组输入和输出,将其生成为.mat文件以供后续离线辨识使用。

3.离线辨识利用处理过的数据选择某种辨识方法进行参数估计,并判断阶次及迟滞。

辨识完成后,进行模型验证。

三.实验操作1.设定相关实验参数,启动试验设备。

本实验设置的加热电压为60V,温度采样间隔为2s,开始实验,加热温箱系统,并通过客户端软件实时观察温箱温度,并记录,等待温箱温度升高到一定高度不再有明显上升变化。

2. 设计辨识信号考虑到实验加热电压为60V,整个系统的加热电压为之前设置的系统加热电压与辨识信号电压的和,为了在较短时间内也能产生一定的变化,辨识电压值不宜过小,选取辨识信号电压为10V 。

此时,加入辨识信号后的整个系统电压在50V 和70V 来回跳动。

辨识序列采用M 序列,并使用庞中华系统辨识程序中的M 序列生成程序,序列长度设置为31,结果如下图所示:3. 当第一步的温箱电压升高到一定高度,不再有明显升上变化时,便可认为系统已经稳定。

系统辨识实验报告30288

系统辨识实验报告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 为过程的脉冲响应理论值,ˆ()gk 为过程脉冲响应估计值,()g k 为过程脉冲响应估计误差。

过程输入()u k 采用M 序列,其输出数据加白噪声()v k 得到输出数据()z k 。

利用相关分析法估计出过程的脉冲响应值ˆ()gk ,并与过程脉冲响应理论值0()g k 比较,得到过程脉冲响应估计误差值()g k 。

M 序列阶次选择说明:首先粗略估计系统的过渡过程时间T S (通过简单阶跃响应)、截止频率f M (给系统施加不同周期的正弦信号或方波信号,观察输出)。

本次为验证试验,已知系统模型,经计算Hz T T f M 14.0121≈=,s T S 30≈。

根据式Mf 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所示的过程传递函数串联,可以写成形如121211()1/1/K Gs TT s T s T =++,其中112KK TT =。

图2 过程仿真方框图程序如下:④ 计算脉冲响应估计值:互相关函数采用公式)()(1)(10k i y i x Nr k R N r i xy +⋅⋅=∑-⋅=,互相关函数所用的数据是从第二个周期开始的,其中r 为周期数,取1-3之间。

系统辨识实验报告

系统辨识实验报告

实验一:系统辨识的经典方法一、实验目的掌握系统的数学模型与输入、输出信号之间的关系,掌握经辨辨识的实验测试方法和数据处理方法,熟悉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 onset(gca,'GridLineStyle','*');grid(gca,'minor')3.白噪声序列图像020406080100120140160180200-1-0.8-0.6-0.4-0.20.20.40.60.81四、 思考题(1) 阶跃响应法测试系统数学模型的局限性。

答:只适用于某些特殊对象或者低阶简单系统;参数估计的精度有限,估计方法缺乏一般性。

系统辨识实验报告xjtu

系统辨识实验报告xjtu

系统辨识实验报告高海南 硕037一、实验问题单输入单输出系统:111()()()()()()A z y t B z u t C z e t ---=+其中:11231123112()1 2.851 2.7170.865()()10.70.22A z z z z B z z z z C z z z -----------=-+-=++=++()~(0,1)e t N1.产生必要随机数;2.设计实验,产生输出数据;3.用最小二乘辨识系统模型;4.任用一种适合有色噪声辨识算法辨识系统模型。

二、实验原理1.递推最小二乘递推最小二乘辨识算法可减少运算量和数据在计算机中所占的存储量,同时也能实时辨识出系统的特性,将最小二乘转化为递推估计。

最小二乘递推算法RLS 的基本思想是ˆˆ1k k θθ新的估计值()=老的估计值(-)+修正项算法迭代方程为1ˆˆˆ()(1)()[()()(1)]()(1)()[()(1)()1]()(1)()()(1)T T T k k K k z k h k k K k P k h k h k P k h k P k P k K k h k P k θθθ-⎧=-+--⎪=--+⎨⎪=---⎩(1)2.增广最小二乘增广最小二乘递推算法,扩充了最小二乘法的参数向量θ和数据向量)(k h 的维数,把噪声模型的辨识同时考虑进去,因此被称为增广最小二乘法。

最小二乘法的许多结论对它都是适用的,但最小二乘法只能获得模型的参数估计。

如果噪声模型必须用)()(1k v z D -表示时,只能用RELS 算法,方可获得无偏估计,这是RLS 算法所不能代替的。

考虑SISO 的动态系统,输入)(k u 和输出)(k z 是可以观测的;)z (G 1-是系统模型,用来描述系统的输入输出特性,)(k y 是系统的实际输出。

)z (N 1-是噪声模型,)(k v 是均值为零的不相关随机噪声。

通常 )z (A )z (B )z (G 1-11--=,)z (C )z (D )z (N 111---= (2)式中⎪⎩⎪⎨⎧++++=++++=⎪⎩⎪⎨⎧+++=++++=---------------d d c c b b a a n n 22111n n 22111n n 22111-n n 22111z z z 1)z (z z z 1)z (z z z )z (z z z 1)z (d d d D c c c C b b b B a a a A (3)若SISO 系统采用平均滑动模型,即 )z (A )z (C -1-1= (4))()(D )()z (B )(z )z (A 111k v z k u k ---+=若假定模型阶次a n 、b n 、d n 已经确定,则这类问题的辨识可用增广最小二乘法,以便获得满意的结果。

系统辨识实验报告1

系统辨识实验报告1
三.数据递推关系图:
14
四.实验运行结果:
函数界面示意图: 6. 只显示结果界面: 7. 显示过程的参考界面:
15
心得体会
我很喜欢这个课程的期末考核方式,不用再拘泥于在题目当中对该课程的了 解,而是通过 4 个 C 语言设计的练习来达到学习的目的,而且对以后的学习还有 很大的帮助。
在编写 C 语言的过程中,也遇到了一些阻碍,特别是在编写第 3,4 个的时候。 比如:用的数组太多,并且未将其初始化,运行出来的结果经常是很长的一段随 机数;或者一模一样的程序有时候就可以正常运行,有时候就总是出现报错…… 这些都是让我心塞了两周的问题。在这些问题解决之后,运行出来的结果却与实 际模型参数的出入有点大,于是又重新查找第 2 个实验是否是 M 序列产生的方式 有问题。通过对初始化寄存器赋给不同的值,可以让结果与真实模型参数之间的 误差达到最小。
实验 4 ................................................ 错误!未定义书签。 一.实验内容及要求: ............................... 错误!未定义书签。 二.实验原理: ..................................... 错误!未定义书签。 三.数据递推关系图: ............................... 错误!未定义书签。
编写并调试动态离散时间模型 LS 成批算法程序。 要求:(1)原始数据由 DU 和 DY 读出。 (2)调用求逆及相乘子程序。 (3)显示参数辨识结果。
二.实验原理:
1.批次处理的方法就是把所有的数据采集到一次性进行处理,但前提是 白色噪声、及 M 序列所共同作用而产生的输出,才能使用最小二乘法。虽然 这种方法的计算量庞大,但经常用于处理时不变系统,方法简单。

系统辨识实验答案相关分析法

系统辨识实验答案相关分析法

实验一辩识离散线性系统脉冲响应特性的相关分析法实验步骤及问题1.首先采用批量算法,步骤如下:(1)首先产生M序列。

通过Matlab软件编程产生M序列,程序如下。

x1=1;x2=1;x3=1;x4=1;m=15;for i=1:my4=x4;y3=x3;y2=x2;y1=x1;x4=y3;x3=y2;x2=y1;x1=xor(y3,y4);if y4==0u(i)=-1;elseu(i)=y4;endendm=u%grapheri1=i;k=1:1:i1;subplot(3,1,1)plot(k,u,k,u,'rx')xlabel('k')ylabel('m序列')title('移位寄存器产生的m序列')产生的M序列如下图所示:(2)系统输出y (k) + a 1y (k-1) + a 2y (k-2) = b 1u (k-1-d) + b 2u (k-2-d)式中参数值为a1=-0.9,a2=0.5,b1=1.1,b2=0.5,d=0时产生的图形如下:(3)采用建议的系统参数a 和b ,观察冲激响应曲线的真值,并估计系统的整定时间Ts ;改变系统参数a 和b ,查看其对结果的影响。

利用批量算法求脉冲响应。

脉冲响应估计值为:1.1928 2.2057 2.6252 1.9906 1.2154 0.9030 0.6983 0.6772 0.8593 1.2405 1.4121 1.5508 1.5512 1.4251 1.3490 图形如下图所示:当改变a, b 参数值时,使5.0,1,5.0,12121===-=b b a a 。

此时的脉冲响应估计值为:1.2900 2.2734 2.7686 2.3477 1.6035 1.1689 0.8643 0.7402 0.8232 1.2314 1.4990 1.7188 1.7344 1.6143 1.5176 脉冲响应图形如下图所示:当改变参数值后,从图形中可以看出脉冲响应的图形形状没有大的改变,但是脉冲响应估计值发生变化。

《系统辨识》实验手册

《系统辨识》实验手册

《系统辨识》实验手册第二炮兵工程大学控制工程系2015年5月目录实验1 白噪声和M序列的产生---------------------------------------------------------- 2 实验2 相关分析法辨识脉冲响应------------------------------------------------------- 5 实验3 最小二乘法的实现--------------------------------------------------------------- 9 实验4 递推最小二乘法的实现---------------------------------------------------------- 12 附录实验报告模板---------------------------------------------------------------------- 16实验1 白噪声和M 序列的产生一、实验目的1、熟悉并掌握产生均匀分布随机序列方法以及进而产生高斯白噪声方法2、熟悉并掌握M 序列生成原理及仿真生成方法二、实验原理1、混合同余法混合同余法是加同余法和乘同余法的混合形式,其迭代式如下:111(*)mod /n n n n x a x b MR x M +++=+⎧⎨=⎩ 式中a 为乘子,0x 为种子,b 为常数,M 为模。

混合同余法是一种递归算法,即先提供一个种子0x ,逐次递归即得到一个不超过模M 的整数数列。

2、正态分布随机数产生方法由独立同分布中心极限定理有:设随机变量12,,....,,...n X X X 相互独立,服从同一分布,且具有数学期望和方差:2(),()0,(1,2,...)k k E X D X k μσ==>=则随机变量之和1nk i X =∑的标准化变量:()nnnkk kXE X Xn Y μ--==∑∑∑近似服从(0,1)N 分布。

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

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

系统辨识及自适应控制实验报告实验报告:系统辨识及自适应控制1.引言系统辨识和自适应控制是现代自动控制领域中的重要研究内容。

系统辨识是通过采集系统输入输出数据,建立数学模型描述系统的动态行为。

自适应控制则是根据系统辨识得到的模型,调整控制器参数以适应系统的变化和外部干扰。

本实验旨在通过实际操作,掌握系统辨识和自适应控制的基本原理和方法。

2.实验目的1)了解系统辨识的基本原理和方法;2)掌握常见的系统辨识方法,包括参数辨识和频域辨识;3)理解自适应控制的基本原理和方法;4)熟悉自适应控制的实现过程;5)通过实验验证系统辨识和自适应控制的有效性。

3.实验原理3.1系统辨识原理系统辨识的目标是通过采集系统输入输出数据,建立数学模型来描述系统的动态特性。

常见的系统辨识方法包括参数辨识和频域辨识两种。

参数辨识是通过拟合实际测量数据,找到最佳的模型参数。

常用的参数辨识方法有最小二乘法、极大似然法和最小误差平方等。

频域辨识则是通过对输入输出信号的频谱分析,得到系统的频率响应特性。

常用的频域辨识方法有傅里叶变换法、相关分析法和谱估计法等。

3.2自适应控制原理自适应控制是根据系统辨识得到的模型,调整控制器参数以适应系统的变化和外部干扰。

自适应控制分为基于模型的自适应控制和模型无关的自适应控制。

基于模型的自适应控制利用系统辨识得到的模型参数,设计相应的控制器来实现自适应控制。

常见的基于模型的自适应控制方法有模型参考自适应控制和模型预测自适应控制等。

模型无关的自适应控制则不依赖于系统辨识的模型,而是根据实际测量数据直接调整控制器参数。

常见的模型无关的自适应控制方法有自适应滑模控制和神经网络控制等。

4.实验内容4.1系统辨识实验在实验中,我们通过采集系统输入输出数据,根据最小二乘法进行参数辨识。

首先设置系统的输入信号,如阶跃信号或正弦信号,并记录对应的输出数据。

然后根据采集到的数据,选取适当的模型结构,通过最小二乘法求解最佳的模型参数。

《系统辨识实验》实验指导书

《系统辨识实验》实验指导书

《系统辨识实验》实验指导书赵英凯南京工业大学自动化学院2006-04-17目录实验一基于OLS法的系统辨识数字仿真实验 (2)实验二基于RLS法的系统辨识数字仿真实验 (7)实验一基于OLS法的系统辨识数字仿真实验一、实验目的1、深入理解系统辨识中相关分析法及最小二乘法的相关内容。

2、学会用Matlab或C语言等进行系统辨识的仿真研究二、实验设备装有相应软件的计算机。

三、实验原理(请见教材,次处从略)四、实验内容1.伪随机二位式信号(PRBS)的生成。

2.用普通最小二乘法(OLS)法辨识对象数学模型。

五、实验要求1.熟悉系统辨识中的相关内容。

2.掌握Matlab或C语言等进行系统辨识仿真研究的一般步骤。

3.实验前基本应完成相关的编程任务,实验时调试相应程序。

4.修改相应参数与随机噪声幅度,观察并分析结果。

5.软件包人机界面的开发与设计。

(选做)六、.实验步骤实验步骤:1、运行matlab1)File->New->M-File打开M文件编辑窗口2)输入自己编写的程序3)点击run按钮,如果程序出错则调试程序,如果运行正常的话则观察程序的运行结果具体的实验步骤:1.伪随机二位式信号(PRBS )的生成:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi 初态(0101), Yi 为移位寄存器各级输出 m=60; %置M 序列总长度 for i=1:mY4=X4; Y3=X3; Y2=X2; Y1=X1; X4=Y3; X3=Y2; X2=Y1; X1=xor(Y3,Y4); %异或运算 if Y4==0 U(i)=-1; else U(i)=Y4; end end M=U %绘图 i1=i k=1:1:i1;plot(k,U,k,U,'rx') xlabel('k') ylabel('M 序列')title('移位寄存器产生的M 序列')注:这是一个采用四级移位寄存器产生prbs 信号的程序,同学们可以将这个程序编写的更具通用性,使得移位寄存器的级数可以选择。

系统辨识实验报告 中科大

系统辨识实验报告 中科大

1.5 预处理后检验
把原始数据分成两部分,一部分用来辨识,一部分用来检验模型。 预处理后便是部分输入的图像
预处理后便是部分输出的图像
预处理后检验数据部分输入图像
预处理后检验部分输出部分
2 辨识算法
以下 n 的取值均为 2,在以下部分为给出为什么 n 取 2 最好
2.1 批量最小二乘
2.1.1 源代码 %批量最小二乘算法 dafi=ones(N,2*n); for i=0:N-1 dafi(i+1,:)=[-vo_iden(i+1:i+n)' vi_iden(i+1:i+n)']; end cta=inv(dafi'*dafi)*dafi'*vo_iden(n+1:n+N); Y1=test*cta; %plot(Y1); E1=Y1-vo_test(n+1:n+N); En1(1,n)=E1'*E1; cta 2.1.2 辨识结果
2.3.2 辨识结果
2.3.3 模型检验 (1)用测试数据输入后得到的图像
(2)和实际偏差的曲线
2.4 增广最小二乘法
2.4.1源代码 %增广最小二乘算法 p=eye(3*n)*1000; cta=ones(3*n,1); w=zeros(n,1); W=ones(N,n); for i=0:N-1 fi=[-vo_iden(i+1:i+n)' vi_iden(i+1:i+n)' w']; k=(p*fi')/(1+fi*p*fi'); cta=cta+k*(vo_iden(i+1)-fi*cta); p=p-k*fi*p; for j=1:n-1 w(j,1)=w(j+1,1); end w(n,1)=vo_iden(i+1)-fi*cta; end w=zeros(n,1); for i=0:N-1 W(i+1,:)=w; s=[-vo_test(i+1:i+n)' vi_test(i+1:i+n)' w']; for j=1:n-1 w(j,1)=w(j+1,1); end w(n,1)=vo_test(i+1)-fi*cta; end teste=[test W]; Y4=teste*cta; %plot(Y4); E4=Y4-vi_test(n+1:n+N); En4(1,n)=E4'*E4; cta 2.4.2 辨识结果

系统辩识实验报告

系统辩识实验报告

一、实验目的1. 理解系统辨识的基本概念和原理。

2. 掌握递推最小二乘算法在系统辨识中的应用。

3. 通过实验,验证算法的有效性,并分析参数估计误差。

二、实验原理系统辨识是利用系统输入输出数据,对系统模型进行估计和识别的过程。

在本实验中,我们采用递推最小二乘算法对系统进行辨识。

递推最小二乘算法是一种参数估计方法,其基本思想是利用当前观测值对系统参数进行修正,使参数估计值与实际值之间的误差最小。

递推最小二乘算法具有计算简单、收敛速度快等优点。

三、实验设备1. 电脑一台,装有MATLAB软件。

2. 系统辨识实验模块。

四、实验步骤1. 打开MATLAB软件,运行系统辨识实验模块。

2. 在模块中输入已知的系数a1、a2、b1、b2。

3. 生成输入序列u(t)和噪声序列v(t)。

4. 将输入序列u(t)和噪声序列v(t)加入系统,产生输出序列y(t)。

5. 利用递推最小二乘算法对系统参数进行辨识。

6. 将得到的参数估计值代入公式计算参数估计误差。

7. 仿真出参数估计误差随时间的变化曲线。

五、实验结果与分析1. 实验结果根据实验步骤,我们得到了参数估计值和参数估计误差随时间的变化曲线。

2. 结果分析(1)参数估计值:通过递推最小二乘算法,我们得到了系统参数的估计值。

这些估计值与实际参数存在一定的误差,这是由于噪声和系统模型的不确定性所导致的。

(2)参数估计误差:从参数估计误差随时间的变化曲线可以看出,递推最小二乘算法在短时间内就能使参数估计误差达到较低水平。

这说明递推最小二乘算法具有较好的收敛性能。

(3)参数估计误差曲线:在实验过程中,我们发现参数估计误差曲线在初期变化较快,随后逐渐趋于平稳。

这表明系统辨识过程在初期具有较高的灵敏度,但随着时间的推移,参数估计误差逐渐减小,系统辨识过程逐渐稳定。

六、实验结论1. 递推最小二乘算法在系统辨识中具有较好的收敛性能,能够快速、准确地估计系统参数。

2. 实验结果表明,递推最小二乘算法能够有效减小参数估计误差,提高系统辨识精度。

系统认知实验实验报告

系统认知实验实验报告

一、实验名称系统认知实验二、实验目的1. 了解系统的基本概念和组成。

2. 掌握系统分析的方法和步骤。

3. 提高系统设计和优化的能力。

三、实验内容1. 系统的基本概念和组成2. 系统分析的方法和步骤3. 系统设计和优化四、实验步骤1. 系统的基本概念和组成(1)系统定义:系统是由相互作用、相互依赖的多个元素组成的具有特定功能的有机整体。

(2)系统组成:系统由以下几部分组成:a. 元素:系统中的基本单元,具有独立的功能。

b. 输入:系统从外部获取的信息、能量或物质。

c. 输出:系统对输入进行处理后输出的信息、能量或物质。

d. 边界:系统与外部环境相接触的部分,用于区分系统内部和外部。

e. 环境因素:影响系统运行的外部因素。

2. 系统分析的方法和步骤(1)明确系统目标:确定系统需要实现的功能和目标。

(2)确定系统范围:界定系统所涉及的领域和范围。

(3)识别系统元素:分析系统中的各个元素及其相互关系。

(4)建立系统模型:根据系统分析结果,构建系统模型。

(5)系统优化:对系统进行优化,提高系统性能。

3. 系统设计和优化(1)系统设计:根据系统分析结果,设计系统架构、模块划分、接口定义等。

(2)系统优化:对系统进行优化,包括以下方面:a. 优化系统结构,提高系统可扩展性和可维护性。

b. 优化系统性能,提高系统响应速度和稳定性。

c. 优化系统资源利用,降低系统能耗和成本。

五、实验结果与分析1. 系统基本概念和组成通过实验,我们对系统的基本概念和组成有了更深入的了解,掌握了系统分析的方法和步骤。

2. 系统分析的方法和步骤在实验过程中,我们按照系统分析的方法和步骤进行了系统分析,建立了系统模型,并对系统进行了优化。

3. 系统设计和优化根据系统分析结果,我们设计了系统架构,实现了系统模块划分和接口定义。

通过对系统进行优化,提高了系统性能和资源利用效率。

六、实验总结1. 通过本次实验,我们掌握了系统认知的基本方法,提高了系统分析和设计的能力。

实验1 系统认识实验

实验1  系统认识实验

实验1 系统认识实验一、实验目的1.了解Cortex-M3的GPIO使用及其相关的API函数;2.掌握Cortex-M3读取GPIO引脚状态的方法。

3.掌握Cortex-M3的GPIO引脚输出控制的方法。

二、实验原理、内容及步骤实验原理1、GPIO开关量输入将GPIO连接数字开关量对应的管脚设置在输入状态;然后,写一个循环,不停地去检测输入引脚的状态。

2、GPIO输出驱动继电器(或光电隔离器)将相关的GPIO设置成输出状态,并且要注意配置输出的驱动电流大小;然后,写一个循环,依次输出变化的高低电平,从而控制继电器及光电隔离器的关断与打开。

实验内容:1.编程实现读取GPIO引脚上对应的开关量状态,改变开关量,观察能否成功读回;2.编程实现Cortex-M3的GPIO引脚驱动继电器及光电隔离器,观察继电器的动作以及发光管的亮灭变化;实验步骤:1)在PC机上打开IAR环境,并打开“源程序”文件夹GPIO_INandOUT 的工程文件GPIO_In_Out.ewp,并按图1.1至图1.8完成环境设置,并完善程序,然后编译程序,并生成可执行文件GPIO_In_Out.elf。

2)打开PC机上的Proteus环境,并打开“仿真电路”文件夹中的设计文件“实验1.DSN”。

双击MCU图标,按图1.9所示,指定程序文件GPIO_In_Out.ewp 后,开始仿真。

然后拨动开关,观察输入高低电平时继电器、光耦以及其他GPIO 的状态变化。

图1.1图1.1中,在Workspace窗口中一定要先选中工程名,然后再选择Project->Options。

图1.2因为在Proteus中,提供的Luminary Cortex-M3芯片型号有限,结合实验要实现的功能,此处选择LM3S317。

图1.3图1.4图1.5图1.6图1.7图1.8图1.9三、实验仪器设备及实验注意事项1.实验设备:计算机。

2.实验前必须做好预习,并做出必要的计算和记录用的表格;3.实验开始前先检查仪器设备是否完好;4.实验中如发现异常(如冒烟、异味、冒火等非正常现象),应立即切断电源,并报告指导教师,仔细查找原因,问题解决后,方可继续进行实验;5.实验完毕应先关掉电源,将所用仪器设备恢复原貌,并清理卫生后方可离开。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

实验报告
--实验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) 分别以扫频正弦函数、阶跃函数作为系统的激励,得到的输出:
(2) 原系统传递函数:
-11 s^3 + 54 s^2 - 87 s + 65 ----------------------------------
s^4 + 12 s^3 + 54 s^2 + 108 s + 65 系统辨识出的系统传递函数:
-10.71 s^3 + 55.03 s^2 - 86.49 s + 65.07
----------------------------------------
s^4 + 12 s^3 + 54 s^2 + 108 s + 65
(3) 原系统与辨识出的系统零极点位置对比:
通过结果(2)(3)可以看出辨识出的系统和原系统的极点是完全一致的,零点也很接近,此次辨识出的系统的准确性较高。

(4) 原系统和辨识出的系统的阶跃响应曲线对比:
-2-1012S w e p t F r e q u e n c y
-0.50
0.5
1T ime, Seconds
S t e p R e s p o n s e
From u1
T o y 1
T ime, Seconds
S t e p R e s p o n s e
观察到两个系统的两条阶跃响应曲线重合度很高,说明了辨识出的系统能够可靠的表示出原系统。

4、 探究过程和分析
4.1探究过程
(1)改变辨识系统阶数为3,在程序中改变位置为:order=3;其他不变。

原系统和辨识系统的零极点图如下:
原系统与辨识系统的阶跃响应曲线如下:
(2)再次改变系统阶数为5,结果出现错误提示:
Model cannot be transformed to continuous-time. Poles of the model could be near 0 极点非常接近零,不能转换成连续系统。

4.2实验分析
由于此次实验是已经给定原系统,所以诸如系统阶数一类的参数是已经知道了的,实验中能够很确定地确定辨识系统的阶数,实验过程也是比较顺利。

经过实验可以看出,当辨识系统的阶数比原系统低时,辨识结果与实际情况会相差地比较大;而用高阶系统辨识低阶原系统,辨识出的系统将会出现极点趋于0的情况。

所以,在辨识过程中,对原系统的模型结构的确定是非常重要的,在这里可以看出系统的阶数影响是比较大的,阶数不合适,得到的结果跟实际系统的误差就会比较大。

进一步也就说明了模型及其参数确定出来之后,对模型的验证也是必不可少的,一般实际辨识中,是利用阶跃响应来验证结果的,得到的结果很适合观察验证,在此次实验中就是采用了阶跃响应来验证。

只有通过验证才能确定辨识系统的准确与否,若辨识
From u1
T o y 1
Time, Seconds
S t e p R e s p o n s e
出的系统不能很好地反映出实际系统的特性,就得重新进行辨识的过程,以得到恰当的模型。

相关文档
最新文档