系统辨识试验

合集下载

系统辨识实验报告

系统辨识实验报告

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 文件。

系统辨识与自适应控制实验

系统辨识与自适应控制实验

中南大学系统辨识及自适应控制实验指导老师贺建军姓名史伟东专业班级测控1102班0909111814号实验日期2014年11月实验一 递推二乘法参数辨识设被辨识系统的数学模型由下式描述:2341231232.0 1.51()()()1 1.50.70.11 1.50.70.1z z z y k u k k z z z z z zξ---------++=+-++-++ 式中ξ(k )为方差为0.1的白噪声。

要求:(1) 当输入信号u (k )是方差为1的白噪声序列时,利用系统的输入输出值在线辨识上述模型的参数;(2) 当输入信号u (k )是幅值为1的逆M 序列时,利用系统的输入输出值在线辨识上述模型的参数;分析比较在不同输入信号作用下,对系统模型参数辨识精度的影响。

(1)clear all; close all;a=[1 -1.5 0.7 0.1]';b=[1 2 1.5]';d=3; %对象参数na=length(a)-1;nb=length(b)-1; %计算阶次L=500; %数据长度uk=zeros(d+nb,1);yk=zeros(na,1); %输入输出初值u=randn(L,1); %输入采用方差为1的白噪声序列xi=sqrt(0.1)*randn(L,1); % 方差为0.1的白噪声干扰序列theta=[a(2:na+1);b]; %对象参数真值thetae_1=zeros(na+nb+1,1); %参数初值P=10^6*eye(na+nb+1);for k=1:Lphi=[-yk;uk(d:d+nb)]; %此处phi为列向量y(k)=phi'*theta+xi(k); %采集输出数据%递推公式K=P*phi/(1+phi'*P*phi);thetae(:,k)=thetae_1+K*(y(k)-phi'*thetae_1);P=(eye(na+nb+1)-K*phi')*P;%更新数据thetae_1=thetae(:,k);for i=d+nb:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);endyk(1)=y(k);endplot([1:L],thetae); %line([1:L],[theta,theta]); xlabel('k');ylabel('参数估计a,b');legend('a_1','a_2','a_3','b_0','b_1','b_2');axis([0 L -2 2]);(2)clear all;a=[1 -1.5 0.7 0.1]';b=[1 2 1.5]';d=2; %对象参数na=length(a)-1;nb=length(b)-1; %计算阶次L=20; %数据长度uk=zeros(d+nb,1);yk=zeros(na,1); %输入初值x1=1;x2=1;x3=1;x4=0;S=1;%移位寄存器初值,方波初值xi=rand(L,1);%白噪声序列theta=[a(2:na+1);b]; %对象参数真值for k=1:Lphi(k,:)=[-yk;uk(d:d+nb)]'; % phi(k,:)为行向量,便于组成phi矩阵y(k)=phi(k,:)*theta+xi(k); %采集输出数据IM=xor(S,x4);if IM==0u(k)=-1;elseu(k)=1;endS=not(S);M=xor(x3,x4); %产生M序列%更新数据x4=x3;x3=x2;x2=x1;x1=M;for i=nb+d:-1:2uk(i)=uk(i-1);enduk(1)=u(k);for i=na:-1:2yk(i)=yk(i-1);endyk(1)=y(k);End实验二 最小方差自校正控制实验设二阶纯滞后被控对象的数学模型参数未知或慢时变,仿真实验时用下列模型:34112122.5 1.510.5()()()1 1.50.71 1.50.7z z z y k u k k z z z zξ-------++=+-+-+ 式中ξ(k )为方差为0.1的白噪声。

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

系统辨识试验内容与要求

系统辨识试验内容与要求

系统辨识实验内容与要求实验题目:三温区空间晶体生长炉温度系统建模实验对象:三温区空间晶体生长炉单晶体是现代电子设备制造技术的一个必不可少的部分,它应用广泛,如二极管、三极管等半导体器件都需要用到单晶体。

组分均匀(compositional uniformity)、结晶完整(crystallographic perfection)的高质量晶体材料是保证电子设备性能重要因素。

目前,单晶体制备主要靠晶体生长技术完成。

其主要过程是:首先在坩埚等加热器皿中对籽晶进行加热,使其由固相转变为液相或气相,再降低器皿中温度,使液相或气相的籽晶材料冷却结晶,就可得到最终的单晶体。

这个过程中,为保证晶体的组分均匀和结晶完整,必须使晶体内部各晶格的受力均匀。

因此,为减小重力对晶体生长的影响,研究者提出在空间微重力环境下进行晶体生长的方案。

我们研究的空间晶体生长炉就是该方案中的晶体加热设备。

我们研究的空间晶体生长炉采用熔体Bridgman生长方式,其结构如图1所示。

炉身由三部分构成:外筒、炉管以及炉管外部的隔热层。

炉管由多个加热单元组成,每个加热单元组成一个温区。

加热单元由导热性能良好的陶瓷材料制成,两个加热单元之间有隔热单元隔开。

加热单元的外测均匀缠绕加热电阻丝,内侧中间部位安装有测温热电偶。

炉管外部的隔热层由防辐射绝热材料制成。

微重力环境下,晶体内部各晶格之间的热应力是影响晶体生长质量的关键因素,而热应力是由炉内温场决定的。

因此,必须对晶体炉内各温区的温度进行控制,以构造一个具有一定的梯度的、满足晶体生长需要的温场。

工作时,将装有籽晶的安瓿管按一定的速度插入晶体炉炉膛内,通过控制流过各温区加热电阻丝的电流控制炉内温场,通过热电偶在线获取各温区的实时温度值,进行闭环控制,。

其中,流过电阻丝的电流通过PWM(脉宽调制)方式进行控制。

另外,由于晶体炉工作温度的变化范围比较大,传感器热电偶难以在全量程范围内保持很高的线性度,因此,使用的热电偶的电压读数与实际温度值间需要进行查表变换。

系统辨识实验报告

系统辨识实验报告

系统的数学建模与辨识实验报告编号: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之间。

系统辨识实验报告

系统辨识实验报告

系统辨识实验报告自动化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) 阶跃响应法测试系统数学模型的局限性。

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

系统辨识试验

系统辨识试验

2、用普通最小二乘法(OLS)法辨识对象数学模型 选择得仿其对象得数学模型如下Z 伙)-1 -5z(Zr 一 1) + 0・7z 伙-2) = »伙-1) + 0・5"伙-2) + v(k} 其中.v(k)就是服从正态分布得白噪声N(0J).输入侷;号采用4阶M 序列,幅度为仁 选择 如下形式得辨识模型Z 伙)+ djZ 伙-1) + 偽Z 伙 一 2) = /?]«伙 一 1) + byU(k - 2) + W 灯设输入信号得取值就是从k =1到k =16得M 序列,则待辨识参数玄』为其中,被辨识参数社“观测矩阵ZL.乩得表达式为subplot(3J,2) %画三行一列图形窗口中得第二个图形1=1:1:16; %横坐标范囤就是1到16,步长为1plot(i,z) %图形得横坐标就是釆样时刻i,纵坐标就是输出观测值Z, a 形格式为連续 曲线 subp lot (3 J. 3) %画三行一列图形窗口中得第三个图形stem(Z), grid on%画出输出观测值z 得经线图形.并显示坐标网格u, zN 显示输入信号与输出观测信号数据长度 “1■ z ⑶• ■z(4) ' s = '= b\-Z ⑴ -Z ⑵ -2(14) n(2) nd) "⑵ "(15) M 14) 玄5= 55) -42) -程序框图如下所示;序列stem(u) %画出扌俞入 图2於小二乘一次完成算法程序框图HL= [-z(2) -z ⑴ u ⑵ u ⑴;-z ⑶-z ⑵ u ⑶ u(2);-z(4) -z ⑶ u ⑷ u(3) ;-z (5) -z ⑷ u ⑸ u ⑷;-z ⑹-z ⑸ u ⑹ u(5);-z(7) -z ⑹ u(7) u(6);・z(8) -z ⑺ u ⑻ u(7) ; -z (9) -Z⑻ U⑼ u(8);-z(10) -Z(9) u(10) uC9) :-zCll) -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 ⑶;z ⑷;z(5) ;z⑹;z ⑺;z⑻;z ⑼;z(10) ;z(11) ;z(12) ;zCl3) ;z(14) ;z(15);z(16)]%给样本矩阵zL賦值^calculating parameters%计算参数c1=HL**HL; c2=inv(c1) ; c3=HL**ZL; c=c2*c3 %计舞并显示%DI SPLAY PARAMETERSa1=c(1), a2=c(2), b1=c(3), b2=c(4) %从中分离出并显示a1、a2. b1. b2%End注:由于输出观测值没有任何噪音成分,所以辨识结果也无任何误差,同学们可以在输出观测值中添加噪音,观察ols得辨识效果•同时,可以尝试增加输入信号得数量,瞧辨识结果有何变化。

系统辨识实验报告1

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

系统辨识方法

系统辨识方法

第四章 系统辨识中的实际问题§4 —1 辨识的实验设计一、系统辨识的实验信号实验数据是辨识的基础,只有高质量的数据才能得出良好的数学模型,而且实验数据如果不能满足起码的要求,辨识根本得不出解。

系统辨识学科是在数理统计的时间序列分析的基础上发展起来的,两者的区别在于系统辨识的对象存在着人为的激励(控制)作用,而时序分析则没有。

因此,前者能通过施加激励信号u(k)达到获得较好辩识结果的目的(即实验信号的设计),而后者不能。

(一)系统辨识对实验信号的最起码的要求 为了辨识动态系统,激励信号u 必须在观测的周期内对系统的动态持续地激励。

满足辨识对激励信号最起码的要求的持续激励信号应具备的条件称“持续激励条件”,分以下四种情况讨论: 1. 连续的非参数模型辨识(辩识频率特性)如果系统通频带的上下限为 ωmin ≤ ω ≤ ωmax ,要求输入信号的功率密度谱在此范围内不等于零。

)()()}({)}({)(ωωωj U j Y t u F t y F j G ==2. 连续的参数模型辨识 被辩识的连续传函为,共包含(m+n+1)个参数对于u(t)的每一个频率成分ωi 的谐波,对应的频率响应有一个实部R(ωi )和一个虚部Im(ωi ),由此对应两个关系式(方程),能解出两个未知参数。

因此,为辩识(m+n+1)个参数,持续激励信号至少应包含:j ≥( m+n+1 )/2 个不同的频率成分。

3. 离散的脉冲响应 g(τ)的辨识g(τ) ;τ = 0,1,..m ,假设过程稳定,当 τ > m 时 g(τ)= 0 。

由维纳—何甫方程有:R uy (τ )=∑ g(σ)R uu (τ - σ) 式(4-1-1)由上式得出(m+1)个方程的方程组:上式表达成矩阵形式φuy = φuu G 式(4-1-2) 可解出 G = φuu -1 φuy 式(4-1-3)G s b b s b s a s a s m mn n ()=++++++0111R R R m R R R m R R R m R m R m R g g g m uy uy uy uu uu uu uu uu uu uuuu uu ()()()()()()()()()()()()()()()010******** ⎡⎣⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥=----⎡⎣⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥⋅⎡⎣⎢⎢⎢⎢⎤⎦⎥⎥⎥⎥G = [ g(0),…,g(m) ]T 有解的条件是:如果所有的输出自相关函数式(4-1-4)都存在,且方阵φuu 非奇异, 即det φuu ≠ 0 。

《系统辨识》实验手册

《系统辨识》实验手册

《系统辨识》实验手册第二炮兵工程大学控制工程系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系统辨识实验在实验中,我们通过采集系统输入输出数据,根据最小二乘法进行参数辨识。

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

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

系统辨识实验报告

系统辨识实验报告

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

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

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

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

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

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

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

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

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

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

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

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

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

系统辩识实验报告

系统辩识实验报告

一、实验目的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. 实验结果表明,递推最小二乘算法能够有效减小参数估计误差,提高系统辨识精度。

系统辨识实验报告

系统辨识实验报告

系统辨识实验报告学院:信息科学与技术学院专业:自动化日期:2016/4/26目录实验1 (4)一.实验内容及要求: (4)二.实验原理: (4)三.软件设计思想: (4)四.程序结构框图: (5)五.运行示意图: (5)实验2 (8)一.实验内容及要求: (8)二.实验原理: (8)三.软件设计思想: (9)四.程序设计框图: (10)五.程序运行流程图: (10)实验3 (12)一.实验内容及要求: (12)二.实验原理: (12)三.程序数据流程图: (12)四.实验运行结果: (13)实验4 (14)一.实验内容及要求: (14)二.实验原理: (14)三.数据递推关系图: (14)四.实验运行结果: (15)心得体会 (16)附录(实验代码) (17)bWork1 (17)bWork2 (21)bWork3 (23)bWork4 (26)实验1一.实验内容及要求:1.编出矩阵A与B相乘得到的矩阵R的运算计算机程序要求:(1)A和B的维数及数值可通过键盘及数据文件输入(2)计算结果R可由屏幕及文件输出2.将1改写为子程序3.查找有关的资料,读懂及调通矩阵求逆程序,并改写为子程序。

二.实验原理:1.两个矩阵A、B相乘得到C矩阵,首先要满足的条件是A的列数与B行数相等,否则不能相乘。

当满足条件后,根据C(i,k)=可以求得C矩阵。

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

本次实验中求逆主要是通过构造一个增广矩阵(FangZ | E)矩阵的初等行变换得到(E | FZNi)的这样的一个矩阵就可以求得矩阵的逆。

若矩阵FangZ不是满秩矩阵时,FangZ没有FZNi 。

通过这样的求逆方式,避免了大方阵的求取行列式运算。

三.软件设计思想:1.确定该软件的功能主要有:键盘输入两个矩阵然后相乘;文本data输入两个矩阵将结果放在文本result中;键盘输入一个方阵求得其逆矩阵。

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

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 LH 程序框图如下所示:参考程序:%olsu=[-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]; %系统辨识的输入信号为一个周期的M 序列z=zeros(1,16); %定义输出观测值的长度for k=3:16z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); %用理想输出值作为观测值endsubplot(3,1,1) %画三行一列图形窗口中的第一个图形stem(u) %画出输入信号u的经线图形subplot(3,1,2) %画三行一列图形窗口中的第二个图形i=1:1:16; %横坐标范围是1到16,步长为1plot(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 PARAMETERSa1=c(1), a2=c(2), b1=c(3), b2=c(4) %从中分离出并显示a1 、a2、 b1、 b2%End注:由于输出观测值没有任何噪音成分,所以辨识结果也无任何误差,同学们可以在输出观测值中添加噪音,观察ols的辨识效果。

同时,可以尝试增加输入信号的数量,看辨识结果有何变化。

实验二 基于RLS 法的系统辨识数字仿真实验一、实验目的1、深入理解系统辨识中相关分析法及最小二乘法的相关内容。

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

三、实验原理1. 考虑如下图所示的仿真对象:图中, )(k v 是服从N )1,0(分布的不相关随机噪声。

且)(1-z G )()(11--=z A z B ,)(1-z N )()(11--=z C z D , (1)⎪⎪⎩⎪⎪⎨⎧=+==+-=--------1)(5.00.1)()(7.05.11)(121112111z D z z z B z C z z a z A 选择上图所示的辨识模型。

仿真对象选择如下的模型结构:)()2()1()2()1()(2121k v k u b k u b k z a k z a k z +-+-=-+-+ (2)其中,)(k v 是服从正态分布的白噪声N )1,0(。

输入信号采用4位移位寄存器产生的M 序列,幅度为0.03。

按式(3))()2(5.0)1()2(7.0)1(5.1)(k v k u k u k z k z k z +-+-=-+-- (3)构造h (k );加权阵取单位阵I Λ=L ;利用如下公式计算K (k )、)(ˆk θ和P (k ),计算各次参数辨识的相对误差,精度满足要求后停机。

递推最小二乘法的推导公式如下:(1)()()(1)(1)1(1)()(1)(1)()(1)(1)()(1)()(1)[][1](1)T k k k k k T k k k k k k T k k k k k k y xK P x x P x P P k k x P θθθ∧∧∧+++-++++++=++-=+=-+ (4)2.阶的辨识前面所讨论的系统辨识方法,都是假定模型的阶次是已知的,因此仅仅要求估计差分方程的系数。

但实际上,系统的阶次是很难被准确知道的。

因为对阶次的理解程度是直接与一个线性差分方程的准确结构有关的,所以有关阶次的确定也可以称为系统结构的确定。

经验指出,一个模型的阶次不准,就可能在控制系统设计时发生严重问题。

故在辨识过程中,模型的阶次是否合适是必须加以检验的。

一般阶的方法中,常用的有这么几种:零极点相消法、目标函数法和F 检验法。

下面只介绍其中的目标函数法。

当我们用不同阶的模型给系统的输入——输出观测数据进行最小二乘拟合时,会得到不同的估计误差:因此利用J 极小化确定阶是很自然的。

实验表明,假设模型具有大于1而小于maxN 的阶n ,当n 取1,2,…时, 若随着n 的增加, 在ˆn(阶的估计量)-1时,J 最后一次出现陡峭的下降,往后J 就近似地保持不变或者只有微小的下降(见下图),则取ˆn n=。

也就是说,模型阶次的确定可以直接依次计算阶次n =1,2,…时的最小二乘估计ˆn以及相应的损失函数J ,然后选择当J 下降不明显时的阶次作为合适的模型阶次n ,这种方法也叫确定阶的估计准则方法,有很广的应用。

∑===Nk T EE k e J 12)(Jn四、实验内容1. 用递推最小二乘法(RLS)法辨识对象数学模型。

2. 对象阶的辨识。

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

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

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

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

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

(选做)六、实验步骤1.首先要熟悉一下MATLAB的运行环境:1)File->New->M-File打开M文件编辑窗口2)输入自己编写的程序3)点击run按钮,如果程序出错则调试程序,如果运行正常的话则观察程序的运行结果2. 用递推最小二乘法(RLS)法辨识对象数学模型在这个实验中,我们采用以下模型进行仿真:y=1.5*y[k-1]-0.7*y[k-2]+0*u[k]+1.0*u[k-1]+0.5*u[k-2]+e[k] (5)其中u[k]是幅值为1的PRBS信号输入,e[k]是白噪声,即(0,1)的正态分布序列,它的方差时可以调整的。

这个系统的采样值y(k)和u(k)作为已知数据,采用实验一的最小二乘法估计这个系统的参数。

下面是递推最小二乘法的流程图:相关程序如下:%RLSclear%清理工作间变量L=15;% M序列的周期y1=1;y2=1;y3=1;y4=0;%四个移位寄存器的输出初始值for i=1:L;%开始循环,长度为Lx1=xor(y3,y4);%第一个移位积存器的输入是第3个与第4个移位积存器的输出的“或”x2=y1;%第二个移位积存器的输入是第3个移位积存器的输出x3=y2;%第三个移位积存器的输入是第2个移位积存器的输出x4=y3;%第四个移位积存器的输入是第3个移位积存器的输出y(i)=y4;%取出第四个移位积存器幅值为"0"和"1"的输出信号,if y(i)>0.5,u(i)=-0.03;%如果M序列的值为"1"时,辨识的输入信号取“-0.03”else u(i)=0.03;%当M序列的值为"0"时,辨识的输入信号取“0.03”end%小循环结束y1=x1;y2=x2;y3=x3;y4=x4;%为下一次的输入信号做准备end%大循环结束,产生输入信号ufigure(1);%第1个图形stem(u),grid on%以径的形式显示出输入信号并给图形加上网格z(2)=0;z(1)=0;%取z的前两个初始值为零for k=3:15;%循环变量从3到15z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2);%给出理想的辨识输出采样信号end%RLS递推最小二乘辨识c0=[0.001 0.001 0.001 0.001]';%直接给出被辨识参数的初始值,即一个充分小的实向量p0=10^6*eye(4,4);%直接给出初始状态P0,即一个充分大的实数单位矩阵E=0.000000005;%相对误差E=0.000000005c=[c0,zeros(4,14)];%被辨识参数矩阵的初始值及大小e=zeros(4,15);%相对误差的初始值及大小for k=3:15; %开始求Kh1=[-z(k-1),-z(k-2),u(k-1),u(k-2)]'; x=h1'*p0*h1+1; x1=inv(x); %开始求K(k) k1=p0*h1*x1;%求出K的值d1=z(k)-h1'*c0; c1=c0+k1*d1;%求被辨识参数ce1=c1-c0;%求参数当前值与上一次的值的差值e2=e1./c0;%求参数的相对变化e(:,k)=e2; %把当前相对变化的列向量加入误差矩阵的最后一列c0=c1;%新获得的参数作为下一次递推的旧参数c(:,k)=c1;%把辨识参数c 列向量加入辨识参数矩阵的最后一列p1=p0-k1*k1'*[h1'*p0*h1+1];%求出 p(k)的值p0=p1;%给下次用if e2<=E break;%若参数收敛满足要求,终止计算end%小循环结束end%大循环结束c%显示被辨识参数e%显示辨识结果的收敛情况%分离参数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);%第2个图形i=1:15;%横坐标从1到15plot(i,a1,'r',i,a2,':',i,b1,'g',i,b2,':') %画出a1,a2,b1,b2的各次辨识结果title('Parameter Identification with Recursive Least Squares Method')%图形标题figure(3); %第3个图形i=1:15; %横坐标从1到15plot(i,ea1,'r',i,ea2,'g',i,eb1,'b',i,eb2,'r:') %画出a1,a2,b1,b2的各次辨识结果的收敛情况title('Identification Precision') %图形标题注:同样这个程序使用的输出信号也没有噪音,所以辨识的结果没有误差,请同学们在输出信号中加入噪音,再使用RLS 对其辨识,观察辨识结果,进行分析。

相关文档
最新文档