《系统辨识》实验手册-16页文档资料

合集下载

系统辨识实验报告

系统辨识实验报告

一、相关分析法(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. 掌握随机序列的产生方法。

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 ee Y Y ΦθΦθ==--= 来确定估计值ˆθ。

系统辨识实验报告

系统辨识实验报告

系统辨识仿真实验根据系统已知的输入输出测量值(200个),进行最小二乘递推辨识(三阶)。

解:假设33221111)(----+++=z a z a z a z A221101)(---++=z b z b b z B 选择数据输入输出为:19510.26463 28.59951801 19621.976 34.33532814 19742.25396 35.76927848 20026.74433 38.3185258 19956.81167 40.23046349 19678.31876 44.21366407 19823.0536 45.32895813 19903.22043 47.08156767 20017.90925 47.08156767 20068.86682 47.71888023 20330.54353 56.00393622 20235.55444 61.73974343 20371.11527 61.42108715 20267.92301 63.49235151 20354.37094 63.65167965 20313.237 65.08563145 20378.58646 66.83823953 20430.65934 67.31622395 20354.91136 69.06883204 20596.50492 67.63488023 20584.24921 68.75017575 20539.29139 70.18412756 20413.59405 72.41472006 20461.48464 72.89270375 20588.68067 72.5740482 20429.32533 75.12329625 20491.1173 75.4419518 20616.40139 75.12329625 20486.99974 77.35388802 20451.52196 78.62851168 20510.68495 78.94716796 20489.94502 80.06246349 20516.16691 80.69977605 20605.64208 80.69977605 20567.65474 81.97440117 20544.64453 83.08969523 20488.93193 84.52364849 20543.67357 84.84230477 20534.4451 85.79827215 20476.70122 87.23222395 20545.34424 87.39155209 20550.1365 88.18819279 20522.46566 89.30348978 20525.82397 90.10013048 20783.50983 88.34752094 20516.72757 91.8527371 20502.24143 92.80870302 20582.6349 92.80870302 20503.70023 94.40198442 20551.03311 94.7206407 20518.46294 95.83593768 20532.85473 96.47325024 20514.9032 97.42921616 20480.30159 98.54451315 20508.59476 99.02249757 20663.99196 98.22585686 20533.19627 100.2971198 20464.57811 101.731073 20490.48136 102.2090574 20516.02613 102.6870419 20493.41425 103.6430078 20438.21948 104.9176329 20493.59845 105.0769611 20453.26103 106.192258 20475.81868 106.6702395 20450.21912 107.6262084 20423.90258 108.5821772 20412.80188 109.3788179 20401.10398 110.1754557 20404.74114 110.8127683 20391.96749 111.609409 20378.59636 112.406049720380.56057 113.0433622 20397.9799 113.5213437 20351.30919 114.6366407 20399.3989 114.7959688 20351.77222 115.9112658 20351.1081 116.5485725 20349.96542 117.1858851 20332.41135 117.9825316 20330.19319 118.6198442 20295.63143 119.575813 20308.15171 120.0537916 20288.4473 120.8504323 20300.01103 121.3284167 20263.41783 122.2843856 20273.9061 122.76237 20268.10307 123.3996826 20245.88924 124.1963233 20239.01074 124.8336358 20215.72202 125.6302707 20207.76807 126.2675833 20151.53768 127.3828802 20174.13489 127.7015365 20180.5603 128.1795209 20170.6944 128.8168335 20144.4177 129.6134742 20133.47634 130.2507868 20153.92262 130.569443 20110.39866 131.5254119 20129.88956 131.8440623 20117.27525 132.4813749 20072.31734 133.4373437 20074.44089 133.9153281 20028.40751 134.871297 20013.52278 135.5086095 19998.16007 136.1459221 19998.25218 136.6239065 19982.053 137.2612191 19965.37583 137.8985316 19996.01911 138.0578598 19946.87942 139.0138228 19928.88779 139.6511353 19910.41819 140.2884479 19891.4706 140.9257605 19872.04502 141.563073 19852.14146 142.2003856 19831.75991 142.8376982 19826.8332 143.3156826 19805.61518 143.9529951 19783.91918 144.5903077 19761.74519 145.2276203 19739.0938 145.864927 19731.89667 146.3429114 19708.40823 146.980224 19700.37462 147.4582084 19691.98252 147.9361928 19667.29912 148.5735054 19642.13773 149.2108179 19616.49836 149.8481305 19606.31382 150.3261149 19595.77079 150.8040993 19568.93646 151.4414119 19541.62415 152.0787244 19513.83443 152.7160312 19517.43178 153.0346874 19488.92451 153.672 19444.00644 154.4686407 19414.4237 155.1059533 19400.2958 155.5839377 19401.74221 155.902594 19387.01683 156.3805784 19340.06732 157.1772191 19340.31878 157.4958754 19308.46562 158.1331879 19276.13447 158.7705005 19259.25874 159.2484791 19242.02394 159.7264635 19224.43065 160.2044479 19222.41168 160.5231042 19188.2881 161.1604167 19169.61934 161.6384012 19166.52492 161.9570574 19131.32528 162.5943759 19111.58164 163.0723544 19107.41175 163.3910107 19071.13723 164.0283233 19066.25036 164.3469796 19045.19227 164.8249581 19007.8423 165.4622707 19001.87997 165.780927 18979.74524 166.2589172 18973.1866 166.5775618 18934.52217 167.214874418911.31199 167.6928647 18887.74331 168.1708549 18879.75071 168.4894995 18855.58456 168.9674898 18862.92671 169.1268121 18838.28258 169.6048023 18813.27995 170.0827926 18787.92 170.5607712 18762.20156 171.0387498 18736.12347 171.51674 18725.62029 171.8353963 18698.94588 172.3133749 18687.84523 172.6320312 18660.57218 173.1100214 18648.87403 173.4286777 18621.00467 173.9066563 18608.70905 174.2253126 18580.24103 174.7033028 18551.4157 175.1812814 18554.09634 175.3406154 18540.72525 175.6592717 18511.18294 176.1372502 18497.21437 176.4559065 18467.07459 176.9338851 18436.57515 177.4118754 18437.58401 177.5711977 18422.53998 177.8898539 18407.25696 178.2085102 18375.80156 178.6865005 18343.98882 179.1644791 18343.68206 179.323813 18327.32358 179.6424693 18294.79387 180.1204479 18293.77013 180.2797819 18260.76244 180.7577605 18259.26072 180.9170945保存为shuju.txt 文件。

系统辨识

系统辨识

相关分析法通常采用类似白噪声的伪随机信号作为输入测试信号,这种信号对系统的正常工作干扰不大。

通常不加专门的输入测试信号,仅利用正常工作状态下测量的输入及输出信号,就可得到良好的辨识效果。

相关分析法辨识抗干扰能力强、数据处理简单、辨识精度高,因此应用比较广泛,尤其是在需要在线辨识的场合。

相关分析法辨识具有最小二乘法辨识的统计特性,即使在有色噪声干扰下,也可以得到无偏估计,这是它和一般最小二乘法相比最大的优点。

在采用相关分析法进行系统辨识时,系统的脉冲响应函数可由系统的输入及输出数据的相关函数来描述,因此,输入信号的选择及相关函数的估计是相关分析法的关键所在。

持续激励输入信号的要求。

更进一步的要求是输入信号必须具有较好的“优良性”,即输入信号的选择应能使给定问题的辨识模型精度最高。

在具体工程应用中,选择输入信号时还应考虑以下因素:输入信号的功率或幅度不宜过大,以免使系统工作在非线性区,但也不应过小,以致信噪比太小,直接影响辨识精度。

工程上要便于实现,成本低。

相关分析法是属于统计分析的方法,它的理论基础就是著名的维纳-霍甫积分方程。

这个方程为积分方程,不易求解,但如果采用白噪声作为系统输入,则可方便的求出系统的脉冲响应。

但是运用白噪声求系统响应,理论上需要无限长时间上的观测数据,这是不希望和不允许的,因此具有人工可以复制的、有规律的、周期性的伪随机信号是更适合应用的。

这种信号具有类似白噪声的性质,目前最常用的是伪随机二位式序列,它们主要有M序列和逆重复M序列,它们可由计算机或线性反馈寄存器产生。

用M序列和逆重复M序列对系统的脉冲响应进行辨识时,都是在离散的时间上进行的。

由它们获得的响应函数是原函数的一致性估计。

为了提高辨识精度,可采用多个周期输入伪随机序列的方法。

当对系统进行在线辨识时,可以采用脉冲响应的递推计算公式。

多变量系统的脉冲响应的辨识问题,最后要归结为用单变量系统辨识方法进行,所不同的只是较复杂。

系统辨识实验报告

系统辨识实验报告

系统辨识实验报告自动化0903班09051302 李姣实验一、系统辨识的经典方法系统的模块如图:(1)、对系统的传递函数进行辨识。

对于一阶系统而言,未加入干扰信号时,其稳定值 t0=20.0,h0=42.2040, 加入干扰信号后其稳定值为 t=40,h1=60.4937。

现在分别取两个点为y1=30%对应的实际点为 h1’=42.2040+(60.4937-42.2040)*30%=47.6909; 根据实际测试值,选取h1’=47.8909,t1’=20.6,对应的 y1’=(47.89*09-42.2040)/(60.4939-42.2040)=0.3109 所以第一个点的取值为 y1’=0.3109;t1’=0.6; 同理可得第二个点的数值为 y2’=0.8033;t2’=2.7; 由公式 :可得 T=1.6750;=0; 由公式可得 k=1.82899(2)、对传递函数进行检验下面对系统的辨识结果进行验证,用一个幅值为10的阶跃信号进行验证,程序如下: num=[1.82899]; den=[1.675,1];()()()()()()2112211212t t T ln 1Y ln 1Y t ln 1Y t ln 1Y ln 1Y ln 1Y -⎧=⎪---⎪⎨---⎪τ=⎪---⎩()y y K u u∞∆==∆∆t=[0:0.1:10];[y,x,t]=step(num,den,t);plot(t,10*y)grid on;title('一阶系统模型的验证');xlabel('仿真时间');ylabel('系统的响应值');set(gca,'xtick',[0:0.5:10]);set(gca,'ytick',[0:1:20]);所得的仿真图形如下,实际系统加入测试信号后0.5s,从workspace中可发现系统的响应值为h=47.0929-42.2040=4.8889;验证是的对应仿真值为h’=4.4720;其误差大小为:(4.8889-4.4720)/4.8889*100%=8.536%;同理,当仿真时间为3.8s时,h=16.3993;h’=16.398;误差大小为:(16.3993-16.398)/16.3993*100%=0.08%;所以经过验证个,可以确定该辨识结果可以反应该系统的传递函数。

系统辨识实验报告

系统辨识实验报告

实验一:系统辨识的经典方法一、实验目的掌握系统的数学模型与输入、输出信号之间的关系,掌握经辨辨识的实验测试方法和数据处理方法,熟悉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) 阶跃响应法测试系统数学模型的局限性。

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

系统辨识

系统辨识

题目:系统模型如下:)()()()()()(111t e zC t u zB t y zA ---+=其中:)(t e 为正态分布的独立序列,零均值,方差为1。

式中:21117.05.11)()(----+-==zzzC zA2115.00.1)(---+=zzzB要求如下:一、产生辨识数据;二、用辨识算法估计参数、构造模型(包括用最小二乘估计算法及一种适用有色噪声的辨识方法);三、对模型与误差进行分析。

解答: 一、产生辨识数据在系统辨识过程中,需要用到的数据包括系统的输入输出数据,以及针对具体模型产生的噪声序列。

本文用M 序列做输入,并根据题目要求,产生正态分布的白噪声序列和有色噪声序列,并通过题目设定的模型产生输出数据,从而得到全部的辨识数据。

1.1 M 序列的产生用移位寄存器的方法产生M 序列,用M 序列作为输入,作为辨识系统的输入数据,两次产生M 序列的方法见附录中标示,将两次辨识产生的M 序列结果分别表示在图1.1和图1.2中。

k取值图1.1 最小二乘递推辨识中的M 序列k取值图1.2 增广最小二乘递推辨识中的M 序列二者的稀疏差异是因为两种方法在辨识过程中需要的数据量有所不同,所以在实验中产生的M 序列长度有差异。

1.2 噪声序列的产生根据题目要求,分别产生正态分布的独立序列作为白噪声序列)(t e ,再根据题目中给出的公式构造有色噪声)()(1t e z C -,公式如下:2117.05.11)(---+-=zzzC通过MATLAB 中函数randn 的调用,并通过运算,将构造两种噪声序列表示在图1.3和图1.4中。

k噪声值图1.3 最小二乘递推辨识中的噪声序列k噪声值噪声序列图1.4 增广最小二乘递推辨识中的噪声序列同样,二者的稀疏差异是因为两种方法在辨识过程中需要的数据量有所不同,所以在实验中产生的噪声序列长度有差异。

1.3 输出数据的产生通过题目给出的系统表达式,将前面的M 序列做输入,加之以噪声序列,此处取前两次的数据输出为0,很容易通过程序运算得到输出数据。

系统辨识实验报告

系统辨识实验报告

序号16系统辨识理论及Matlab仿真上机实验报告姓名:班级:学号:指导老师:2016 年1 月一、上机题目设单输入—单输出系统的差分方程为z(k)+a1z(k-1)+a2z(k-2)=b1u(k-1)+b2u(k-2)+v(k)v(k)=c1v(k)+c2v(k-1)+c3v(k-2)取真值a1=1.6、a2=0.7、b1=10、b2=0.4、c1=0.9、c2=1.2和c3=0.2,输入信号采用4阶M序列,幅值为1.当v(k)的均值为0,方差分别为0.1和0.5的高斯噪声时,分别用一般最小二乘法、递推最小二乘法和增广递推最小二乘法估计参数θ。

并通过对三种方法的辨识结果的分析和比较,说明上述三种参数辨识方法的优缺点。

解:一般最小二乘法:Matlab仿真程序:clear allclose allclcrandn('seed',100);v=0.1*randn(1,60);%产生一组高斯分布的随机噪声%%%%M序列产生程序%%%%%%%L=60;y1=1;y2=1;y3=1;y4=0;%移位寄存器初值for i=1:L;x1=xor(y3,y4);x2=y1;x3=y2;x4=y3;y(i)=y4;if y(i)>0.5,u(i)=-1;else u(i)=1;endy1=x1;y2=x2;y3=x3;y4=x4;endfigure(1);stem(u),grid ontitle('输入信号M序列')%%%%最小二乘辨识程序%%%%%%%%%%z=zeros(1,16);%定义输出观测值的长度for k=3:16z(k)=-1.6*z(k-1)-0.7*z(k-2)+u(k-1)+0.4*u(k-2)+1*v(k)+1.6*v(k-1)+0.7*v(k-2);%观测值endfigure(2)plot([1:16],z)title('输出观测值')figure(3)stem(z),grid ontitle('输出观测值z的经线图形')H=[-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)];%给出样本系数矩阵Z=[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);]%给出样本观测矩阵c=inv(H'*H)*H'*Z;%计算参数al=c(1),a2=c(2),b1=c(3),b2=c(4)%分离参数程序运行结果:Z =-0.7165 -0.2873 -0.3262 -0.5818 1.7445 -1.0598 1.8351-2.6803 3.7050 -2.8528 0.8821 -1.2964 1.7166 -2.6295al =1.3684a2 =0.4863b1 =0.9853b2 =0.1820递推最小二乘法:Matlab仿真程序:%%%%递推最小二乘算法程序%%%%%%%z(2)=0;z(1)=0;%观测值由理想输出值加噪声for k=3:60;%循环变量从3到15z(k)=-1.6*z(k-1)-0.7*z(k-2)+u(k-1)+0.4*u(k-2)+1*v(k)+1.6*v(k-1)+0.7*v(k-2); end%%%%RLS递推最小二乘辨识%%%%%%%%c0=[0.001 0.001 0.001 0.001 ]';p0=10^3*eye(4,4);E=0.000000005;%相对误差c=[c0,zeros(4,59)];%被辨识参数矩阵初始值e=zeros(4,60);%相对误差的初始值lamt=1;for k=3:60;h1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]';k1=p0*h1*inv(h1'*p0*h1+1*lamt);%求出k的值new=z(k)-h1'*c0;c1=c0+k1*new;%被辨识参数cp1=1/lamt*(eye(4)-k1*h1')*p0;e1=(c1-c0)./c0;%求参数当前值与上一次的值的差值e(:,k)=e1;%把当前相对变化的列向量加入误差矩阵的最后一列c(:,k)=c1;%把辨识参数c列向量加入便是参数矩阵的最后一列c0=c1;%新的参数作为下一次递推的旧参数p0=p1;if norm(e1)<=E%若参数收敛满足要求,终值计算break;endend%分离参数a1=c(1,:);a2=c(2,:);b1=c(3,:);b2=c(4,:);ea1=e(1,:);ea2=e(2,:);eb1=e(3,:);eb2=e(4,:);figure(2);i=1:60;plot(i,a1,'k',i,a2,'b',i,b1,'r',i,b2,'g')legend('a1','a2','b1','b2');title('递推最小参数辨识')figure(3);i=1:60;plot(i,ea1,'k',i,ea2,'b',i,eb1,'r',i,eb2,'g')legend('a1','a2','b1','b2');title('辨识精度')程序运行结果:增广递推最小二乘法:Matlab仿真程序:%%%%%%增广递推最小二乘辨识%%%%%%%%%%z(2)=0;z(1)=0;theat0=[0.001 0.001 0.001 0.001 0.001 0.001 0.001]';%直接给出被辨识参数的初值p0=10^4*eye(7,7);%初始状态P0theat=[theat0,zeros(7,59)];%被辨识参数矩阵的初始值for k=3:60;z(k)=-1.6*z(k-1)-0.7*z(k-2)+u(k-1)+0.4*u(k-2)+1*v(k)+1.6*v(k-1)+0.7*v(k-2); h1=[-z(k-1),-z(k-2),u(k-1),u(k-2),v(k),v(k-1),v(k-2)]';x=h1'*p0*h1+1;x1=inv(x);k1=p0*h1*x1;d1=z(k)-h1'*theat0;theat1=theat0+k1*d1;%辨识参数ctheat0=theat1;%给下一次用theat(:,k)=theat1;%把辨识参数c列向量加入辨识参数矩阵p1=p0-k1*k1'*[h1'*p0*h1+1];p0=p1;%给下次用end%%%%分离变量%%%%%%%%%%%a1=theat(1,:);a2=theat(2,:);b1=theat(3,:);b2=theat(4,:);c1=theat(5,:);c2=theat(6,:);c3=theat (7,:);i=1:60;figure(2);plot(i,z)figure(3)plot(i,a1,'r',i,a2,'b',i,b1,'k',i,b2,'y',i,c1,'g',i,c2,'c',i,c3,'m')%画出各个被辨识参数title('增广递推最小二乘辨识算法')程序运行结果:三种最小二乘辨识方法的优缺点:一般最小二乘算法:优点:适用于理论分析,一次完成计算。

系统辨识实验报告

系统辨识实验报告

系统辨识实验报告SA08157051 杜鹏超一 选择的系统模型类选择系统模型如下:se TsK τ-=G(S)然后多系统模型离散化,即;⎩⎨⎧⎭⎬⎫=--s s e TsK s e z ττG(z)二 辨识的原理,方法和公式 y(i)=-a*y(i-1)+b*u(i-1)⎪⎪⎩⎪⎪⎨⎧-+--=+-=+-=)1()1()()2()2()3()1()1()2(n bu n ay n y bu ay y bu ay y 令 T θ=[-a b] x(k)=[y(k-1) u(k-1)]或⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--=)1()1()2()2()1()1(X n u n y u y u y⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=)()3()2(y(N) n y y y 即y=x θ+e1.批量最小二乘估计算法最小二乘估计准则:模型拟合残差为θϕε)()()(k k y k T-=则有目标函数J 为:∑==ki i k J 12)()(ε把数据代入拟合残差得:θϕε)()()(n n y n T-=下面从最小二乘准则推导正规方程。

根据术极值原理可知,最小二乘估计θ满足⎪⎪⎩⎪⎪⎨⎧∂∂∂∂=∂∂-为正定T J J LS )(0θθθθθJ 还可写成)()()(k k k J T εε=θφφθθφθφεε T T T T Ty y y y k k k J 2)()()()(-=--==)(上式中为简单起见,略去了有关各项的(n)。

⎪⎪⎩⎪⎪⎨⎧=∂∂∂∂=+-=∂∂-为正定φφθθθφφφθθθTT LS TT J y J LS 2)(022于是得:y TT ls φφφθ1)(-=的最小二乘估计为)()())()(()(1k y k x k x k x k T T -=θ2.递推最小二乘估计算法原式为)()1()1(1k e k xk y T ++=++θ得新解)1()1())1()1(()1(1++++=+-k y k x k x k x k TTθ其中:⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+=+⎥⎥⎥⎦⎤⎢⎢⎢⎣⎡+=+)1()()1()1()()1(k y k y k y k x k x k x T T 令:2)]1()1([)1(++=+k x k x k p T可求得)1()()1(1)1()()1(++++=+k X k p k X k x k p k k T T)]()1()1()[1()()1(k k x k y k K k k Tθθθ +-+++=+)]()1(1[)1(k x k K k p T θ++=+3 渐消记忆递推最小二乘估计算法修改目标两数J ,对残差平方加指数权λ∑=-=ki ik i k J 12)()(ελ其巾λ=0.9—0.999愈大遗忘愈慢。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

完整word版,《系统辨识》实验手册

完整word版,《系统辨识》实验手册

《系统辨识》实验手册哈尔滨工业大学控制与仿真中心2012年8月目录实验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 分布。

【最新推荐】系统辨识实验指导书-精选word文档 (14页)

【最新推荐】系统辨识实验指导书-精选word文档 (14页)

本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==系统辨识实验指导书篇一:系统辨识实验指导书444444444444444444444444444444444444444444444444444444444444444444444 444444444444444444444444444444444444444444444444444444444444444444444 4444444444444444444444444444444444444《系统辨识实验》实验指导书赵英凯南京工业大学自动化学院实验一实验二201X-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信号的程序,同学们可以将这个程序编写的更具通用性,使得移位寄存器的级数可以选择。

系统辨识实验报告

系统辨识实验报告

系统辨识实验报告学院:信息科学与技术学院专业:自动化日期:2016/4/26目录实验1 .................................................... 错误!未定义书签。

一.实验内容及要求: ................................... 错误!未定义书签。

二.实验原理:......................................... 错误!未定义书签。

三.软件设计思想: ..................................... 错误!未定义书签。

四.程序结构框图: ..................................... 错误!未定义书签。

五.运行示意图: ....................................... 错误!未定义书签。

实验2 .................................................... 错误!未定义书签。

一.实验内容及要求: ................................... 错误!未定义书签。

二.实验原理:......................................... 错误!未定义书签。

三.软件设计思想: ..................................... 错误!未定义书签。

四.程序设计框图: ..................................... 错误!未定义书签。

五.程序运行流程图: ................................... 错误!未定义书签。

实验3 .................................................... 错误!未定义书签。

一.实验内容及要求: ................................... 错误!未定义书签。

系统辨识实验报告

系统辨识实验报告

系统辨识实验报告——C语言版目录实验一 .......................................................错误!未定义书签。

实验分析..................................................错误!未定义书签。

实验代码..................................................错误!未定义书签。

运行结果..................................................错误!未定义书签。

实验二 .......................................................错误!未定义书签。

实验分析..................................................错误!未定义书签。

实验代码..................................................错误!未定义书签。

运行结果..................................................错误!未定义书签。

实验三 .......................................................错误!未定义书签。

实验分析..................................................错误!未定义书签。

实验代码..................................................错误!未定义书签。

运行结果..................................................错误!未定义书签。

实验四 .......................................................错误!未定义书签。

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

《系统辨识》实验手册哈尔滨工业大学控制与仿真中心2012年8月目录实验1白噪声和M序列的产生---------------------------------------------------------- 2实验2脉冲响应法的实现----------------------------------------------------------------5实验3最小二乘法的实现---------------------------------------------------------------9实验4递推最小二乘法的实现---------------------------------------------------------- 12附录实验报告模板----------------------------------------------------------------------16实验1 白噪声和M序列的产生一、实验目的1、熟悉并掌握产生均匀分布随机序列方法以及进而产生高斯白噪声方法2、熟悉并掌握M 序列生成原理及仿真生成方法 二、实验原理1、混合同余法混合同余法是加同余法和乘同余法的混合形式,其迭代式如下: 式中a 为乘子,0x 为种子,b 为常数,M 为模。

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

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

如果n X 服从[0, 1]均匀分布,则上式中0.5μ=,2112σ=。

即0.5nkXn Y -=∑近似服从(0,1)N 分布。

3、M 序列生成原理用移位寄存器产生M 序列的简化框图如下图所示。

该图表示一个由4个双稳态触发器顺序连接而成的4级移位寄存器,它带有一个反馈通道。

当移位脉冲来到时,每级触发器的状态移到下一级触发器中,而反馈通道按模2加法规则反馈到第一级的输入端。

三、实验内容1、生成均匀分布随机序列(1)利用混合同余法生成[0, 1]区间上符合均匀分布的随机序列,并计算该序列的均值和方差,与理论值进行对比分析。

要求序列长度为1200,推荐参数为a=65539,M=2147483647,0<x 0<M 。

(2)将[0, 1]区间分为不重叠的等长的10个子区间,绘制该随机序列落在每个子区间的频率曲线图,辅助验证该序列的均匀性。

(3)对上述随机序列进行独立性检验。

(该部分为选作内容) 2、生成高斯白噪声利用上一步产生的均匀分布随机序列,令n=12,生成服从N(0,1)的白噪声,序列长度为100,并绘制曲线。

3、生成M 序列M 序列的循环周期取为63126=-=P N ,时钟节拍Sec 1=∆t ,幅度1=a ,逻辑“0”为a ,逻辑“1”为-a ,特征多项式65()F s s s =⊕。

生成M 序列的结构图如下所示。

要求编写Matlab 程序生成该M 序列,绘制该信号曲线,并分析验证M 序列的性质。

四、实验步骤1.分别画出三部分实验内容的程序框图(流程图);CP2.编制MATLAB的M文件;3.运行编制的M文件;4.查看程序运行结果并进行分析;5.填写实验报告。

五、实验报告格式参见附录一。

实验2 脉冲响应法一、实验目的通过仿真实验掌握利用相关分析法辨识脉冲响应的原理和方法。

二、实验原理一个单入单出线性定常系统的动态特性可用它的脉冲响应函数g(σ)来描述。

这样,只要记录x(t)、y(t)的值,并计算它们的互相关函数,即可求得脉冲响应函数g(τ)。

而在系统有正常输入的情形下,辨识脉冲响应的原理图如下图所示。

三、实验内容下图为本实验的原理框图。

系统的传递函数为)(s G ,其中Sec 26T Sec,3812021..,===T K ;)()(k z k u 和分别为系统的输入和输出变量;)(k v 为测量白噪声,服从正态分布,均值为零,方差为2v σ,记作),(~)(20v N k v σ;)(k g 0为系统的脉冲响应理论值,)(ˆk g 为系统脉冲响应估计值,)(~k g为系统脉冲响应估计误差。

系统的输入采用M 序列(采用实验1中的M 序列即可),输出受到白噪声)(k v 的污染。

根据过程的输入和输出数据{})(),(k z k u ,利用相关分析法计算出系统的脉冲响应值)(ˆk g ,并与系统的脉冲响应理论值)(k g 0比较,0→。

1、})(),k z k (采(1)其中,T 为惯性环节的时间常数,K 为惯性环节的静态放大倍数。

若采样时间记作0T ,则惯性环节的输出可写成:(2) 传递函数)(s G 仿真(串联)令211T T KK =,则)(s G 的表达框图为: 2其中,r 为周期数,1+=P N i 表示计算互相关函数所用的数据是从第二个周期开始的,目的是等过程仿真数据进入平稳状态。

(可分别令r =1、3,对比仿真结果) 3、c 的补偿补偿量c 应取)(1-P Mz N R -,不能取)(P Mz N R -。

因为)(k R Mz 是周期函数,则有)()(0Mz P Mz R N R =,故不能取)(P Mz N R -。

4、计算脉冲响应估计值● 脉冲响应估计值 []c k R ta N N k g Mz P P+∆+=)()()(ˆ21 ● 脉冲响应估计误差 ()∑∑==⎪⎭⎫ ⎝⎛-PPN k N k g k gk g k g 1212)()(ˆ)(=δ四、实验步骤(1) 掌握相关分析辨识方法的基本原理; (2) 设计实验方案,画出程序框图; (3) 编制实验程序;(4) 调试并运行程序,记录数据; (5) 分析实验结果,完成实验报告。

五、实验报告格式参见附录一。

实验3 最小二乘法的实现一、实验目的理解并掌握系统辨识中的最小二乘法原理。

二、实验原理给定系统01()(1)()()n b u k b u k b u k n k ξ+-++-+L (1)其中12,,,n a a a L ,012,,,,n b b b b L 为待辨识的未知参数,()k ξ是不相关随机序列。

y 为系统的输出,u 为系统的输入。

分别测出n N +个输出、n N +输入值(1),(2),(3),(),(1),(2),()y y y y n N u u u n N ++L L ,则可写出N 个方程,具体写成矩阵形式,有10(1)()(1)(1)(1)(1)(2)(1)(2)(2)(2)(2)()(1)()()()()n n a y n y n y u n u n a y n y n y u n u n b y n N y n N y N u n N u N n N b ξξξ⎡⎤⎢⎥+--++⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥+-+-++⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥+-+--++⎣⎦⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦M L L L L M M M M M M MLL M(2) 设则式(2)可写为y θξ=Φ+ (3)式中:y 为N 维输出向量;ξ为N 维噪声向量;θ为21n +维参数向量;Φ为(21)N n ⨯+测量矩阵。

为了尽量减小噪声ξ对θ估值的影响,应取21N n >+,即方程数目大于未知数数目。

θ的最小二乘估计为1()T T y θ-=ΦΦΦ)(4)三、实验内容对象的数学模型如下:其中,)(k v 是服从正态分布的白噪声N )1,0(。

输入信号采用4阶M 序列,幅度为1。

选择如下形式的辨识模型:设输入信号的取值是从k =1到k =16的M 序列,则待辨识参数LSθˆ为LS θˆ=L τL 1L τL z H )H H (。

其中,被辨识参数LSθˆ、观测矩阵z L 、H L 的表达式为 要求编制仿真程序,获取系统输入输出数据,并运用最小二乘法对这一系统的参数进行辨识,并将辨识结果与实际参数进行对比。

四、实验步骤1.写出系统结构、实际参数、噪声源及输入信号等内容; 2.画出程序框图(流程图); 3.编制MATLAB 的M 文件; 4.运行编制的M 文件;5.查看程序运行结果并进行分析; 6.填写实验报告。

五、实验报告格式参见附录一。

实验4 递推最小二乘法的实现一、实验目的熟悉并掌握递推最小二乘法的算法原理。

二、实验原理 给定系统01()(1)()()n b u k b u k b u k n k ξ+-++-+L (1)其中12,,,n a a a L ,012,,,,n b b b b L 为待辨识的未知参数,()k ξ是不相关随机序列。

y 为系统的输出,u 为系统的输入。

分别测出n N +个输出、n N +输入值(1),(2),(3),(),(1),(2),()y y y y n N u u u n N ++L L ,则可写出N 个方程,具体写成矩阵形式,有10(1)()(1)(1)(1)(1)(2)(1)(2)(2)(2)(2)()(1)()()()()n n a y n y n y u n u n a y n y n y u n u n b y n N y n N y N u n N u N n N b ξξξ⎡⎤⎢⎥+--++⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥+-+-++⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥+-+--++⎣⎦⎣⎦⎣⎦⎢⎥⎢⎥⎣⎦M L L L L M M M M M M M LL M (2) 设则式(2)可写为y θξ=Φ+ (3)式中:y 为N 维输出向量;ξ为N 维噪声向量;θ为21n +维参数向量;Φ为(21)N n ⨯+测量矩阵。

为了尽量减小噪声ξ对θ估值的影响,应取21N n >+,即方程数目大于未知数数目。

θ的最小二乘估计为1()T T y θ-=ΦΦΦ)(4)为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识。

设已获得的观测数据长度为N ,将式(3)中的y 、Φ和ξ分别用,,N N N Y ξΦ来代替,即N N N Y θξ=Φ+ (5)用N θ)表示θ的最小二乘估计,则()1T TN N N N N Y θ-=ΦΦΦ)(6)令()1T N N N P -=ΦΦ,则T N N N N P Y θ=Φ)(7)如果再获得一组新的观测值(1)u n N ++和(1)y n N ++,则又增加一个方程111TN N N y ψθξ+++=+ (8)式中将式(5)和式(8)合并,并写成分块矩阵形式,可得T 111N N N N N Y y ξθξψ+++⎡⎤Φ⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥=+⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎣⎦L L L L L L (9) 于是,类似地可得到新的参数估值()T1T 11111N N N N N T N N N N N Y P y P Y y ψψ++++++⎡⎤Φ⎡⎤⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦=Φ+L L L L (10)式中()11T 11NN N P ψψ--++=+ (11)应用矩阵求逆引理,从求得1N P +与N P 的递推关系式出发,经过一系列的推导,最终可求得递推最小二乘法辨识公式:()T1111N N N N N N K y θθψθ++++=+-)))(12)()1T11111N N N N NN K P P ψψψ-++++=+ (13)()1T T111111N N N N N N N N N P P P P P ψψψψ-+++++=-+ (14)为了进行递推计算,需要给出N P 和N θ)的初值0P 和0θ)。

相关文档
最新文档