当前位置:文档之家› 系统辨识之最小二乘法

系统辨识之最小二乘法

系统辨识之最小二乘法
系统辨识之最小二乘法

方法一、最小二乘一次性算法:

首先对最小二乘法的一次性辨识算法做简要介绍如下:

过程的黑箱模型如图所示:

其中u(k)和z(k)分别是过程的输入输出,)(1-z G 描述输入输出关系的模型,成为过程模型。

过程的输入输出关系可以描述成以下最小二乘格式:

)()()(k n k h k z T +=θ (1)

其中z(k)为系统输出,θ是待辨识的参数,h(k)是观测数据向量,n(k)

是均值为0的随机噪声。

利用数据序列{z (k )}和{h (k )}极小化下列准则函数:

∑=-=L

k T k h k z J 12])()([)(θθ (2)

使J 最小的θ的估计值^

θ,成为最小二乘估计值。

具体的对于时不变SISO 动态过程的数学模型为 )()()()()(11k n k u z B k z z A +=-- (3)

应该利用过程的输入、输出数据确定)(1-z A 和

)(1-Z B 的系数。 对于求解θ的估计值^θ,一般对模型的阶次

a n ,

b n 已定,且b a n n >;其次将(3)模

型写成最小二乘格式 )()()(k n k h k z T +=θ (4)

式中

?????=------=T n n T b a b a b b b a a a n k u k u n k z k z k h ],,,,,,,[)](,),1(),(,),1([)(2121 θ (5)

L k ,,2,1 =

因此结合式(4)(5)可以得到一个线性方程组

L L L n H Z +=θ (6)

其中

???==T L T

L L n n n n L z z z z )](),2(),1([)](),2(),1([ (7)

对此可以分析得出,L H 矩阵的行数为),max(b a n n L -,列数b a n n +。

在过程的输入为2n 阶次,噪声为方差为1,均值为0的随机序列,数据长度)(b a n n L +>的情况下,取加权矩阵L Λ为正定的单位矩阵I ,可以得出:

L T L L T L z H H H 1^

)(-=θ (8) 其次,利用在Matlab 中编写M 文件,实现上述算法。

此次算法的实现,采用6阶M 序作为过程黑箱的输入;噪声采用方差为1,均值为0的随机数序列;黑箱模型假设为:y(k)-1.5y(k-1)+0.7y(k-2)=2u(k-1)+0.5u(k-2),则系统输出为Z(k)-1.5Z(k-1)+0.7Z(k-2)=2U(k-1)+0.5U(k-2)+n (k );模型的阶次2,2==b a n n ;数据长度取L=200。

程序清单如下见附录:最小二乘一次性算法Matlab 程序

运行结果如下:

图1 最小二乘一次性算法参数真值与估计值

其中re 为真值,ans 为估计值^

θ

结果发现辨识出的参数与真值之间存在细微误差,这是由于系统噪声以及数据长度L 的限制引起的,最小二乘辨识法是一种无偏估计方法。

方法二、最小二乘递推算法:

最小二乘一次性算法计算量大,并且浪费存储空间,不利于在线应用,由此引出最小

二乘参数估计的递推算法,其基本思想是按观测次序一步一修正,即:

^^^

'(1)()[()()(1)]k K k z k h k k θθθ=-+--

'11()()(1)()[()(1)()]k K k P k h k h k P k h k -Λ=--+

'()[()()](1)P k I K k h k P k =--

这里选取估计参数的初值为全0矩阵,P 矩阵设置参数为100的对角阵,增益阵K 初值设置为10。程序清单如下见附录:最小二乘递推算法Matlab 程序。

程序运行结果如下:

图2 最小二乘递推算法参数真值与估计值

图3 最小二乘递推算法待估参数过渡过程

附录:

1. 最小二乘一次性算法Matlab 程序

%最小二乘一次性算法

%Z(k)=1.5*Z(k-1)-0.7*Z(k-2)+2*u(k-1)+0.5u(k-2)+v(k)

% na=2,nb=2

clear

clc

tic %计时开始

L=200; %数据长度

%生成M序列6阶

a1=1;

a2=0;

a3=1;

a4=0;

a5=1;

a6=0;

M=zeros(L,1);

for i=1:1:L

M(i)=a1;

a1=a2;

a2=a3;

a3=a4;

a4=a5;

a5=a6;

a6=xor(M(i),a1);

end

%噪声

v=randn(1,L);

% na=2, 设置测量输出z(1)到z(na)的值为0

z=[];

z(1)=0;

z(2)=0;

%产生输出序列z 从z(na+1)开始,即z(3)开始

for i=3:L

z(i)=1.5*z(i-1)-0.7*z(i-2)+2*M(i-1)+0.5*M(i-2)+v(i-2); end

%构造HL矩阵

na=2;nb=2; %模型阶次,并找出最大者赋给max if na>nb

max=na;

else

max=nb;

end

%HL矩阵的的维数

hang=L-max;

lie=na+nb;

%构建HL矩阵用z和M填充HL矩阵与na,nb的最大数max有关HL=zeros(hang,lie);

a=na;

for j=1:1:na

for i=1:1:hang

HL(i,j)=-z(i+a-1);

end

a=a-1;

end

b=nb;

for j=na+1:1:lie

for i=1:1:hang

HL(i,j)=M(i+b-1);

end

b=b-1;

end

%构建ZL矩阵

ZL=zeros(hang,1);

for i=1:1:hang;

ZL(i)=z(i+max);

end

%参数估计值

th=zeros(na+nb,1);

th=inv((HL'*HL))*HL'*ZL;

th;

%比较估计误差re为真值,th为估计值

re=[-1.5,0.7,2,0.5]

th'

toc %计时结束

2. 最小二乘递推算法Matlab程序

%最小二乘递推算法

%Z(k)=1.5*Z(k-1)-0.7*Z(k-2)+2*u(k-1)+0.5u(k-2)+v(k)

% na=2,nb=2

clear

clc

tic %计时开始

L=200; %数据长度

%生成M序列6阶

a1=1;

a2=0;

a3=1;

a4=0;

a5=1;

a6=0;

M=zeros(L,1);

for i=1:1:L

M(i)=a1;

a1=a2;

a2=a3;

a3=a4;

a4=a5;

a5=a6;

a6=xor(M(i),a1);

end

%噪声

v=randn(1,L);

% na=2, 设置测量输出z(1)到z(na)的值为0

z=[];

z(1)=0;

z(2)=0;

%产生输出序列z 从z(na+1)开始,即z(3)开始

for i=3:L

z(i)=1.5*z(i-1)-0.7*z(i-2)+2*M(i-1)+0.5*M(i-2)+v(i-2); end

na=2;nb=2; %模型阶次,并找出最大者赋给max if na>nb

max=na;

else

max=nb;

end

%HL矩阵的的维数

hang=L-max;

lie=na+nb;

%构建HL矩阵用z和M填充HL矩阵与na,nb的最大数max有关HL=zeros(hang,lie);

a=na;

for j=1:1:na

for i=1:1:hang

HL(i,j)=-z(i+a-1);

end

a=a-1;

end

b=nb;

for j=na+1:1:lie

for i=1:1:hang

HL(i,j)=M(i+b-1);

end

b=b-1;

end

%P是(na+nb)*(na+nb)维,K是(na+nb)*1维,h'是1*(na+nb)维%递推求解

P=100*eye(na+nb);

Pstore=zeros(na+nb,hang);

Pstore(:,1)=[P(1,1),P(2,2),P(3,3),P(4,4)];

th=zeros(na+nb,hang);

% 预估参数初值矩阵K初值

th(:,1)=[0.001;0.001;0.001;0.001];

K=[10;10;10;10];

for i=1:hang

h=HL(i,:)';

K=P*h*inv(h'*P*h+1);

th(:,i+1)=th(:,i)+K*(z(i+na)-h'*th(:,i));

P=(eye(na+nb)-K*h')*P;

Pstore(:,i+1)=[P(1,1),P(2,2),P(3,3),P(4,4)];

end

re=[-1.5,0.7,2,0.5]

th(:,hang+1)'

toc %计时结束

i=1:hang+1;

figure(1)

plot(i,th(1,:),i,th(2,:),i,th(3,:),i,th(4,:))

title('待估参数过渡矩阵')

figure(2)

plot(i,Pstore(1,:),i,Pstore(2,:),i,Pstore(3,:),i,Pstore(4,:)) title('估计方差变化过程')

最小二乘法在系统辨识中的应用

最小二乘法在系统辨识中的应用 王文进 控制科学与控制工程学院 控制理论与控制工程专业 2009010211 摘要:在实际的工程中,经常要对一个系统建立数学模型。很多时候,要面对一个未知的系统,对于这些未知系统,我们所知道的仅仅是它们的一些输入输出数据,我们要根据这些测量的输入输出数据,建立系统的数学模型。由此诞生了系统辨识这门科学,系统辨识就是研究怎样利用对未知系统的输入输出数据建立描述系统的数学模型的科学。系统辨识在工程中的应用非常广泛,系统辨识的方法有很多种,最小二乘法是一种应用及其广泛的系统辨识方法。本文主要讲述了最小二乘估计在系统辨识中的应用。 首先,为了便于介绍,用一个最基本的单输入单输出模型来引入系统辨识中的最小二乘估计。 例如:y = ax + (1) 其中:y、x 可测,为不可测的干扰项,a未知参数。通过N 次实验,得到测量数据y k和x k ,其中k=1、2、3、…,我们所需要做的就是通过这N次实验得到的数据,来确定未知参数a 。在忽略不可测干扰项的前提下,基本的思想就是要使观测点y k和由式(1)确定的估计点y的差的平方和达到最小。用公式表达出来就是要使J最小: 确定未知参数a的具体方法就是令: J a = 0 , 导出 a 通过上面最基本的单输入单输出模型,我们对系统辨识中的最小二乘法有了初步的了解,但在实际的工程中,系统一般为多输入系统,下面就用一个实际的例子来分析。在接下来的表述中,为了便于区分,向量均用带下划线的字母表示。 水泥在凝固过程中,由于发生了一系列的化学反应,会释放出一定的热量。若水泥成分及其组成比例不同,释放的热量也会不同。 水泥凝固放热量与水泥成分的关系模型如下: y = a0+ a1x1+…+ a n x n + 其中,y为水泥凝固时的放热量(卡/克);x1~x2为水泥的几种成分。

系统辨识最小二乘Matlab仿真

系统辨识和最小二乘参数估计Matlab仿真 一、系统辨识 在控制系统的分析中,首先要建立系统的数学模型,控制系统的数学模型是定量描述系统或过程内部物理量(或变量)之间关系的数学表达式。 一般来说,建立控制系统数学模型有两种基本方法: (1)机理建模(白箱模型):即根据系统内在运行机制、物料和能量守恒等物理学、化学规律建立系统的数学模型,一般步骤如下: Step1:根据系统工作原理及其在控制系统中的作用,确定输入和输出; Step2:根据物料和能量守恒等关系列写基本方程式; Step3:消去中间量; Step4:获得系统模型; (2)实验法建模(黑箱模型):即对于机理尚不清楚或机理过于复杂的系统,可以人为的对其施加某种测试信号,并记录其输出响应,或者记录正常运行时的输入输出数据,然后利用这些输入输出数据确定系统模型结构和参数。 多年来,系统辨识已经发展为一门独立学科分支,通过系统辨识建立一个对象的数学模型,通常包括两方面的工作:一是模型结构的确定(模型的类型、阶次),二是模型参数估计。 根据时间是否连续,参数模型又可以分为连续时间系统模型和离散时间系统参数模型,这两类模型均可采用输入输出模型和状态空间模型描述,离散系统采用差分方程描述,以单输入单输出(SISO)离散系统参数模型为例。 1.确定性模型 SISO系统确定性模型可表示为: u(k)和y(k)分别为输入和输出,d为纯延时。 2.随机性模型 如果受到随机扰动,则式子可写为: 为系统随机扰动,其结构如图:

系统辨识的一般步骤如图: 从图中可以看出,利用辨识的方法建立系统数学模型,从实验设计到模型获得,需要这些步骤。 二、最小二乘参数估计 1.批处理最小二乘 考虑以下CAR模型:

系统辨识-最小二乘法MATLAB仿真

《系统辨识》基于MATLAB的最小二乘法(一阶)的仿真 clc clear % ①白噪声的生成过程如下:e=randn(1,500); e=e/std(e); e=e-mean(e); A=0; %白噪声的均值为0 B=sqrt(0.1); %白噪声的方差为0.1 e=A+B*e; %绘制白噪声图 k=1:500; subplot(4,1,1) %画四行一列图形窗口中的第一个图形 plot(k,e,'r'); xlabel('k'), ylabel('e');title('(0,1)均匀分布的随机序列') % ②生成M序列的过程如下:X1=1;X2=0;X3=1;X4=0; %移位寄存器输入Xi初始状态(0101), Yi寄存器的各级输出 m=500; %M序列的总长度 for i=1:m Y4=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; u=U; %绘制M序列图? i1=i k=1:1:i1; subplot(4,1,2) %画四行一列图形窗口中的第二个图形 plot(k,U,k,U,'rx') stem(M) xlabel('k') ylabel('M序列') title('移位寄存器产生的M序列') % ③参数估计的过程如下: %绘制参数估计的相关图形 z=zeros(1,500); %定义输出观测值的长度 for k=2:500 z(k)=0.9*z(k-1)+u(k-1)+e(k);%用理想输出值作为观测值 end subplot(4,1,3) %画四行一列图形窗口中的第三个图形 i=1:1:500; %横坐标的范围从1到500,步长为1 plot(i,z) %图形的横坐标是采样时刻i,纵坐标是输出观测值Z, 图形格式为连续曲线

系统辨识最小二乘参数估计matlab

最小二乘参数估计 摘要: 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。这种算法在使用时,占用内存大,离线辨识,观测被辨识对象获得的新数据往往是逐次补充到观测数据集合中去的。在应用一次完成算法时,如果要求在每次新增观测数据后,接着就估计出系统模型的参数,则需要每次新增数据后要重新求解矩阵方程()Z l T l l T l ΦΦΦ-∧=1θ。 最小二乘辩识方法在系统辩识领域中先应用上已相当普及,方法上相当完善,可以有效的用于系统的状态估计,参数估计以及自适应控制及其他方面。 关键词: 最小二乘(Least-squares ),系统辨识(System Identification ) 目录: 1.目的 (1) 2.设备 (1) 3引言 (1) 3.1 课题背景 (1) 4数学模型的结构辨识 (2) 5 程序 (3) 5.1 M 序列子函数 ................................................................................. 错误!未定义书签。 5.2主程序............................................................................................... 错误!未定义书签。 6实验结果: ................................................................................................................................... 3 7参考文献: ................................................................................................. 错误!未定义书签。 1.目的 1.1掌握系统辨识的理论、方法及应用 1.2熟练Matlab 下最小二乘法编程 1.3掌握M 序列产生方法 2.设备 PC 机1台(含Matlab 软件) 3引言 3.1 课题背景 最小二乘理论是有高斯(K.F.Gauss )在1795年提出:“未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。”这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最

2003版系统辨识最小二乘法大作业

西北工业大学系统辩识大作业 题目:最小二乘法系统辨识

一、 问题重述: 用递推最小二乘法、加权最小二乘法、遗忘因子法、增广最小二乘法、广义最小二乘法、辅助变量法辨识如下模型的参数 离散化有 z^4 - 3.935 z^3 + 5.806 z^2 - 3.807 z + 0.9362 ---------------------------------------------- = z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187 噪声的成形滤波器 离散化有 4.004e-010 z^3 + 4.232e-009 z^2 + 4.066e-009 z + 3.551e-010 ----------------------------------------------------------------------------- = z^4 - 3.808 z^3 + 5.434 z^2 - 3.445 z + 0.8187 采样时间0.01s 要求:1.用Matlab 写出程序代码; 2.画出实际模型和辨识得到模型的误差曲线; 3.画出递推算法迭代时各辨识参数的变化曲线; 最小二乘法: 在系统辨识领域中 ,最小二乘法是一种得到广泛应用的估计方法 ,可用于动态 ,静态 , 线性 ,非线性系统。在使用最小二乘法进行参数估计时 ,为了实现实时控制 ,必须优化成参数递推算法 ,即最小二乘递推算法。这种辨识方法主要用于在线辨识。MATLAB 是一套高性能数字计算和可视化软件 ,它集成概念设计 ,算法开发 ,建模仿真 ,实时实现于一体 ,构成了一个使用方便、界面友好的用户环境 ,其强大的扩展功能为各领域的应用提供了基础。对 4324326.51411.5320120232320 Y s s s s G U s s s s ++++== ++++432 120120232320 E N W s s s s == ++++

系统辨识之最小二乘法

方法一、最小二乘一次性算法: 首先对最小二乘法的一次性辨识算法做简要介绍如下: 过程的黑箱模型如图所示: 其中u(k)和z(k)分别是过程的输入输出,)(1-z G 描述输入输出关系的模型,成为过程模型。 过程的输入输出关系可以描述成以下最小二乘格式: )()()(k n k h k z T +=θ (1) 其中z(k)为系统输出,θ是待辨识的参数,h(k)是观测数据向量,n(k) 是均值为0的随机噪声。 利用数据序列{z (k )}和{h (k )}极小化下列准则函数: ∑=-=L k T k h k z J 12])()([)(θθ (2) 使J 最小的θ的估计值^ θ,成为最小二乘估计值。 具体的对于时不变SISO 动态过程的数学模型为 )()()()()(11k n k u z B k z z A +=-- (3) 应该利用过程的输入、输出数据确定)(1-z A 和 )(1-Z B 的系数。 对于求解θ的估计值^θ,一般对模型的阶次 a n , b n 已定,且b a n n >;其次将(3)模 型写成最小二乘格式 )()()(k n k h k z T +=θ (4) 式中 ?????=------=T n n T b a b a b b b a a a n k u k u n k z k z k h ],,,,,,,[)](,),1(),(,),1([)(2121 θ (5)

L k ,,2,1 = 因此结合式(4)(5)可以得到一个线性方程组 L L L n H Z +=θ (6) 其中 ???==T L T L L n n n n L z z z z )](),2(),1([)](),2(),1([ (7) 对此可以分析得出,L H 矩阵的行数为),max(b a n n L -,列数b a n n +。 在过程的输入为2n 阶次,噪声为方差为1,均值为0的随机序列,数据长度)(b a n n L +>的情况下,取加权矩阵L Λ为正定的单位矩阵I ,可以得出: L T L L T L z H H H 1^ )(-=θ (8) 其次,利用在Matlab 中编写M 文件,实现上述算法。 此次算法的实现,采用6阶M 序作为过程黑箱的输入;噪声采用方差为1,均值为0的随机数序列;黑箱模型假设为:y(k)-1.5y(k-1)+0.7y(k-2)=2u(k-1)+0.5u(k-2),则系统输出为Z(k)-1.5Z(k-1)+0.7Z(k-2)=2U(k-1)+0.5U(k-2)+n (k );模型的阶次2,2==b a n n ;数据长度取L=200。 程序清单如下见附录:最小二乘一次性算法Matlab 程序 运行结果如下: 图1 最小二乘一次性算法参数真值与估计值 其中re 为真值,ans 为估计值^ θ 结果发现辨识出的参数与真值之间存在细微误差,这是由于系统噪声以及数据长度L 的限制引起的,最小二乘辨识法是一种无偏估计方法。 方法二、最小二乘递推算法: 最小二乘一次性算法计算量大,并且浪费存储空间,不利于在线应用,由此引出最小

系统辨识理论及应用(课后题答案第三章3.2、3.3)国防工业出版社

1、系统辨识——连续系统传递函数——脉冲传递函数function h=Continuous_system_transferFcn(N,G,dt) % N——系统阶数 % G——采样数据(个数大于等于2N+1) % G为一维行向量 % dt——采样间隔 if nargin<3 errordlg('not enough input varibles','error hint'); else g_NN=zeros(N,N); for i=1:N g_NN(i,:)=G(i+1:i+1+N-1); end g_N=-G(1:N)'; a=inv(g_NN)*g_N; %% x的求解 syms x for i=1:N X(i)=x^i; end f=X*a+1; x=double(solve(f)); %%极点的求解 p=log(x)/dt; c_NN=zeros(N,N); for i=1:N c_NN(i,:)=x.^(i-1); end c_N=G(1:N)'; %%增益求解 k=inv(c_NN)*c_N; p k z=zeros(1,N); p=p'; k=k'; Continuous_TransferFcn=0; for i=1:N Continuous_TransferFcn=Continuous_TransferFcn+zpk(z(i),p(i),k(i)); end Continuous_TransferFcn end end

例题 3.1(P32) >>G=[0 0.1924 0.2122 0.1762]; >> N=2; >> dt=1; >> Continuous_system_transferFcn(N,G,dt) p = -0.4934 -0.7085 k = 1.6280 -1.6280 Continuous_TransferFcn = 0.35024 s --------------------- (s+0.4934) (s+0.7085) Continuous-time zero/pole/gain model. 习题3.2(P34) >> G=[0 0.196 0.443 0.624 0.748 0.831]; >> N=3; >> dt=0.2; >> Continuous_system_transferFcn(N,G,dt) p = -0.0633 -1.7846 -11.1860 k = 1.1249 -1.3399 0.2150 Continuous_TransferFcn = -0.08507 s (s-253.1) ------------------------------- (s+0.06329) (s+1.785) (s+11.19) Continuous-time zero/pole/gain model.

系统辨识最小二乘法大作业 (2)

系统辨识大作业 最小二乘法及其相关估值方法应用 学院:自动化学院 学号: 姓名:日期:

基于最小二乘法的多种系统辨识方法研究 一、实验原理 1.最小二乘法 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。 设单输入-单输出线性定长系统的差分方程为 (5.1.1) 式中:为随机干扰;为理论上的输出值。只有通过观测才能得到,在观测过程中往往附加有随机干扰。的观测值可表示为 (5.1.2) 式中:为随机干扰。由式(5.1.2)得 (5.1.3) 将式(5.1.3)带入式(5.1.1)得 (5.1.4) 我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。 设 (5.1.5) 则式(5.1.4)可写成 (5.1.6) 在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。假定是不相关随机序列(实际上是相关随机序列)。 现分别测出个随机输入值,则可写成个方程,即 上述个方程可写成向量-矩阵形式 (5.1.7) 设 则式(5.1.7)可写为

(5.1.8) 式中:为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出 (5.1.9) 如果噪声,则 (5.1.10) 从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。可用最小二乘法来求的估值,以下讨论最小二乘法估计。 2.最小二乘法估计算法 设表示的最优估值,表示的最优估值,则有 (5.1.11) 写出式(5.1.11)的某一行,则有 (5.1.12) 设表示与之差,即 - (5.1.13)式中 成为残差。把分别代入式(5.1.13)可得残差。设 则有 (5.1.14) 最小二乘估计要求残差的平方和为最小,即按照指数函数 (5.1.15) 为最小来确定估值。求对的偏导数并令其等于0可得 (5.1.16) (5.1.17)

系统辨识—最小二乘法

最小二乘法参数辨识 1 引言 系统辨识是根据系统的输入输出时间函数来确定描述系统行为的数学模型。现代控制理论中的一个分支。通过辨识建立数学模型的目的是估计表征系统行为的重要参数,建立一个能模仿真实系统行为的模型,用当前可测量的系统的输入和输出预测系统输出的未来演变,以及设计控制器。对系统进行分析的主要问题是根据输入时间函数和系统的特性来确定输出信号。对系统进行控制的主要问题是根据系统的特性设计控制输入,使输出满足预先规定的要求。而系统辨识所研究的问题恰好是这些问题的逆问题。通常,预先给定一个模型类μ={M}(即给定一类已知结构的模型),一类输入信号u和等价准则J=L(y,yM)(一般情况下,J是误差函数,是过程输出y和模型输出yM的一个泛函);然后选择使误差函数J达到最小的模型,作为辨识所要求的结果。系统辨识包括两个方面:结构辨识和参数估计。在实际的辨识过程中,随着使用的方法不同,结构辨识和参数估计这两个方面并不是截然分开的,而是可以交织在一起进行的。 2 系统辨识的目的 在提出和解决一个辨识问题时,明确最终使用模型的目的是至关重要的。它对模型类(模型结构)、输入信号和等价准则的选择都有很大的影响。通过辨识建立数学模型通常有四个目的。 ①估计具有特定物理意义的参数有些表征系统行为的重要参数是难以直接测量的,例如在生理、生态、环境、经济等系统中就常有这种情况。这就需要通过能观测到的输入输出数据,用辨识的方法去估计那些参数。 ②仿真仿真的核心是要建立一个能模仿真实系统行为的模型。用于系统分析的仿真模型要求能真实反映系统的特性。用于系统设计的仿真,则强调设计参数能正确地符合它本身的物理意义。 ③预测这是辨识的一个重要应用方面,其目的是用迄今为止系统的可测量的输入和输出去预测系统输出的未来的演变。例如最常见的气象预报,洪水预报,其他如太阳黑子预报,市场价格的预测,河流污染物含量的预测等。预测模型辨识的等价准则主要是使预测误差平方和最小。只要预测误差小就是好的预测模型,对模型的结构及参数则很少再有其他要求。这时辨识的准则和模型应用的目的是一致的,因此可以得到较好的预测模型。 ④控制为了设计控制系统就需要知道描述系统动态特性的数学模型,建立这些模型的目的在于设计控制器。建立什么样的模型合适,取决于设计的方法和准备采用的控制策略。 3 系统辨识的方法 经典方法: 经典的系统辨识方法的发展已经比较成熟和完善,他包括阶跃响应法、脉冲

基于最小二乘法的系统参数辨识

基于最小二乘法的系统参数辨识 吴令红,熊晓燕,张涛 太原理工大学机械电子研究所,太原 (030024) E-mail lhwu0818@https://www.doczj.com/doc/4f469581.html, 摘要:系统辨识是自动控制学科的一个重要分支,由于其特殊作用,已经广泛应用于各种领域,尤其是复杂系统或参数不容易确定的系统的建模。过去,系统辨识主要用于线性系统的建模,经过多年的研究,已经形成成熟的理论。但随着社会、科学的发展,非线性系统越来越受到人们的关注,其控制与模型之间的矛盾越来越明显,因而非线性系统的辨识问题也越来越受到重视,其辨识理论不断发展和完善本。文重点介绍了系统参数辨识中最小二乘法的基本原理,并通过悬臂梁模型的辨识实例,具体说明了基于最小二乘法参数辨识在Matlab 中的实现方法。结果表明基于最小二乘法具有算法简单、精度较高等优点。 关键词:系统辨识;参数辨识;滑动平均模型(ARX);最小二乘法;Matlab 中图分类号:TH-9 1. 引言 所谓辨识就是通过测取研究对象在人为输入作用下的输出响应,或正常运行时的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据之中,辨识只不过是利用数学的方法从数据序列中提炼出对象的数学模型而已[1]。 最小二乘法是系统参数辨识中最基本最常用的方法。最小二乘法因其算法简单、理论成熟和通用性强而广泛应用于系统参数辨识中。本文基于悬臂梁的实测数据,介绍了最小二乘法的参数辨识在Matlab中的实现。 2. 系统辨识 一般而言,建立系统的数学模型有两种方法:激励分析法和系统辨识法。前者是按照系统所遵循的物化(或社会、经济等)规律分析推导出模型。后者则是从实际系统运行和实验数据处理获得模型。如图1所示,系统辨识就是从系统的输入输出数据测算系统数学模型的理论和方法。更进一步的定义是L.A.Zadeh曾经与1962年给出的,即“系统辨识是在输入和输出的基础上,从系统的一类系统范围内,确立一个与所实验系统等价的系统”。另外,系统辨识还应该具有3个基本要素,即模型类、数据和准则[5]。被辨识系统模型根据模型形式可分为参数模型和非参数模型两大类。所谓参数模型是指微分方程、差分方程、状态方程等形式的数学模型;而非参数模型是指频率响应、脉冲响应、传递函数等隐含参数的数学模型。在辨识工程中,模型的确定主要根据经验对实际对象的特性进行一定程度上的假设,如对象的模型是线性的还是非线性的、是参数模型还是非参数模型等。在模型确定之后,就可以根据对象的输入输出数据,按照一定的辨识算法确定模型的参数[4]。 y 图1 被研究的动态系统

基于最小二乘法的系统辨识的设计与开发(整理版)

---------------------------------------------------------------最新资料推荐------------------------------------------------------ 基于最小二乘法的系统辨识的设计与开发(整理版)课程(论文)题目: 基于最小二乘法的系统辨识摘要: 最小二乘法是一种经典的数据处理方法。 最小二乘的一次性完成辨识算法(也称批处理算法),他的特点是直接利用已经获得的所有(一批)观测数据进行运算处理。 在系统辨识领域中, 最小二乘法是一种得到广泛应用的估计方法, 可用于动态系统, 静态系统, 线性系统, 非线性系统。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 关键词: 最小二乘法;系统辨识;参数估计 1 引言最小二乘理论是有高斯( K.F.Gauss)在 1795 年提出: 未知量的最大可能值是这样一个数值,它使各次实际观测值和计算值之间的差值的平方乘以度量其精度的数值以后的和最小。 这就是最小二乘法的最早思想。 最小二乘辨识方法提供一个估算方法,使之能得到一个在最小方差意义上与实验数据最好拟合的数学模型。 递推最小二乘法是在最小二乘法得到的观测数据的基础上,用新引入的数据对上一次估计的结果进行修正递推出下一个参数估计值,直到估计值达到满意的精确度为止。 1 / 10

对工程实践中测得的数据进行理论分析,用恰当的函数去模拟数据原型是一类十分重要的问题,最常用的逼近原则是让实测数据和估计数据之间的距离平方和最小,这即是最小二乘法。 最小二乘法是一种经典的数据处理方法。 在随机的环境下,利用最小二乘法时,并不要求观测数据提供其概率统计方面的信息,而其估计结果,却有相当好的统计特性。 2 最小二乘法的系统辨识设单输入单输出线性定常系统的差分方程为: 1),()()() 1()(01knkubkubnkxakxakxnn ( 1)上式中: )(ku为输入信号;)(kx为理论上的输出值。 )(kx只有通过观测才能得到,在观测过程中往往附加有随机干扰。 )(kx的观测值)(ky可表示为 ( 2)将式( 2)代入式( 1)得 1()()() 1()(101kubkubnkyakyakyn (3) 我们可能不知道)(kn的统计特性,在这种情况下,往往把)(kn看做均值为 0 的白噪声。 设 ( 4)则式( 3)可以写成 (5) 在测量)(ku时也有测量误差,系统内部也可能有噪声,应当

系统辨识综述

系统辨识方法综述 摘要 在自然和社会科学的许多领域中,系统的设计、系统的定量分析、系统综合及系统控制,以及对未来行为的预测,都需要知道系统的动态特性。在研究一个控制系统过程中,建立系统的模型十分必要。因此,系统辨识在控制系统的研究中起到了至关重要的作用。本文论述了用于系统辨识的多种方法,重点论证了经典系统辨识方法中运用最广泛的的最小二乘法及其优缺点,引出了将遗传算法、模糊逻辑、多层递阶等知识应用于系统辨识得到的一些现代系统辨识方法,最后总结了系统辨识今后的发展方向。 关键字:系统辨识;最小二乘法;遗传算法;模糊逻辑;多层递阶 Abstract In many fields of natural and social science, the design of the system, the quantitative analysis of the system, the synthesis of the system and the control of the system, as well as the prediction of the future behavior, all need to know the dynamic characteristics of the system. It is very necessary to establish a system model in the process of studying a control system. Therefore, system identification plays an important role in the research of control system. This paper discusses several methods for system identification, the key argument is that the classical system identification methods using the least squares method and its advantages and disadvantages, and leads to the genetic algorithm, fuzzy logic, multi hierarchical knowledge application in system identification of some modern system identification method. Finally, the paper summarizes the system identification in the future direction of development. Keywords:System identification; least square method; genetic algorithm; fuzzy logic; multi hierarchy 第一章系统辨识概述 系统辨识是研究建立系统数学模型的理论和方法。系统辨识是建模的一种方法,不同的学科领域,对应着不同的数学模型。从某种意义上来说,不同学科的发展过程就是建立他的数学模型的过程。辨识问题可以归结为用一个模型来表示客观系统(或将要构造的系统)本质牲征的一种演算,并用这个模型把对客观系统的理解表示成有用的形式。当然也可以有另外的描述,辨识有三个要素:数据,模型类和准则。辨识就是按照一个准则在一组模型类中

系统辨识习题解答

系统辨识习题解答 1-14、若一个过程的输入、输出关系可以用MA 模型描述,请将该过程的输入输出模型写成 最小二乘格式。 提示:① MA 模型z k D z u k ()()()=-1 ② 定义ττθ)](,),1(),([)(,],,,[10n k u k u k u k d d d n --==ΛΛh 解:因为MA 模型z k D z u k ()()()=-1,其中 n n z d z d d z D ---+++=Λ1101)(,从而 所以当定义ττθ)](,),1(),([)(,],,,[10n k u k u k u k d d d n --==ΛΛh ,则有最小二乘格式: )()()()()(0k e k k e k h d k z n i i i +=+=∑=θτ , 其中e(k)是误差项。 2-3、设)}({k e 是一个平稳的有色噪声序列,为了考虑这种噪声对辨识的影响,需要用一种 模型来描述它。请解释如何用白噪声和表示定理把)(k e 表示成AR 模型、MA 模型和ARMA 模型。 解:根据表示定理,在一定条件下,有色噪声e(k)可以看成是由白噪声v(k)驱动的线性环 节的输出,该线性环节称为成形滤波器,其脉冲传递函数可写成 即 )()()()(11k v z D k e z C --= 其中 c c n n z c z c z C ---+++=Λ1111)( 根据其结构,噪声模型可区分为以下三类: 自回归模型(AR 模型): )()()(1k v k e z C =- 平均滑动模型(MA 模型): )()()(1k v z D k e -= 自回归平均滑去模型(ARMA 模型): )()()()(11k v z D k e z C --= 3-4、根据离散Wiener-Hopf 方程,证明 解:由于M 序列是循环周期为t N P ?,12-=P P N ,t ?为M 序列移位脉冲周期,自相关函数 近似于δ函数,a 为M 序列的幅度。设数据的采样时间等于t ?,则离散Wiener-Hopf 方程为: 当M 序列的循环周期t N P ?大于过程的过渡过程时间时,即P N 充分大时,离散Wiener-Hopf 方程可写成:

系统辨识最小二乘法大作业

系统辨识最小二乘法大作业 系统辨识大作业最小二乘法及其相关估值方法应用 学院:自动化学院 专业:信息工程 学号:2007302171 姓名:马志强 日期:2010.11.14 基于最小二乘法的多种系统辨识方法研究 1. 最小二乘法的引出 在系统辨识中用得最广泛的估计方法是最小二乘法(LS)。 设单输入-单输出线性定长系统的差分方程为 (5.1.1) 式中:为随机干扰;为理论上的输出值。只有通过观测才能得到,在观测过程中往往附加有随机干扰。的观测值可表示为

(5.1.2) 式中:为随机干扰。由式(5.1.2)得 (5.1.3) 将式(5.1.3)带入式(5.1.1)得 (5.1.4) 我们可能不知道的统计特性,在这种情况下,往往把看做均值为0的白噪声。 设 (5.1.5) 则式(5.1.4)可写成 (5.1.6) 在观测时也有测量误差,系统内部也可能有噪声,应当考虑它们的影响。因此假定不仅包含了的测量误差,而且包含了的测量误差和系统内部噪声。假定是不相关随机序列(实际上是相关随机序列)。 现分别测出个随机输入值,则可写成个方程,即 上述个方程可写成向量-矩阵形式 (5.1.7) 设 则式(5.1.7)可写为 (5.1.8) 式中:为维输出向量;为维噪声向量;为维参数向量;为测量矩阵。因此式(5.1.8)是一个含有个未知参数,由个方程组成的联立方程组。如果,方程数少于未知数数目,则方程组的解是不定的,不能唯一地确定参数向量。如果,方程组正好与未知数数目相等,当噪声时,就能准确地解出 (5.1.9) 如果噪声,则

(5.1.10) 从上式可以看出噪声对参数估计是有影响的,为了尽量较小噪声对估值的影响。在给定输出向量和测量矩阵的条件下求系统参数的估值,这就是系统辨识问题。可用最小二乘法来求的估值,以下讨论最小二乘法估计。 2. 最小二乘法估计算法 设表示的最优估值,表示的最优估值,则有 (5.1.11) 写出式(5.1.11)的某一行,则有 (5.1.12) 设表示与之差,即 - (5.1.13) 式中 成为残差。把分别代入式(5.1.13)可得残差。设 则有 (5.1.14) 最小二乘估计要求残差的平方和为最小,即按照指数函数 (5.1.15) 为最小来确定估值。求对的偏导数并令其等于0可得 (5.1.16) (5.1.17) 由式(5.1.17)可得的最小二乘估计 (5.1.18) 3.递推最小二乘法 为了实现实时控制,必须采用递推算法,这种辨识方法主要用于在线辨识。 设已获得的观测数据长度为,将式(5.1.8)中的和分别用来代替, 即 (5.3.1) 用的最小二乘估计,则 (5.3.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 u=[-1,1,-1,1,1,1,1,-1,-1,-1,1,-1,-1,1,1]; %系统辨识的输入信号为一个周期的M 序列 z=zeros(1,16); %定义输出观测值的长度 for k=3:16 z(k)=1.5*z(k-1)-0.7*z(k-2)+u(k-1)+0.5*u(k-2); %用理想输出值作为观测值 end subplot(3,1,1) %画三行一列图形窗口中的第一个图形 stem(u) %画出输入信号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

系统辨识-最小二乘法

5.3 Matlab源程序: %最小二乘估计 clear u=[ 1.147 0.201 -0.787 -1.589 -1.052 0.866 1.152 1.573 0.626 0.433 -0.985 0.810 -0.044 0.947 -1.474 -0.719 -0.086 -1.099 1.450 1.151 0.485 1.633 0.043 1.326 1.706 -0.340 0.890 0.144 1.177 -0.390]; n=normrnd(0, sqrt(0.1), 1, 31); %方差为0.1 z=zeros(1,30); for k=3:31 z(k)=-1.642*z(k-1)-0.715*z(k-2)+0.39*u(k-1)+0.35*u(k-2)+n(k)+1.642*n(k-1)+0.715 *n(k-2); end h0=[-z(2) -z(1) u(2) u(1)]'; HLT=[h0,zeros(4,28)]; for k=3:30 h1=[-z(k) -z(k-1) u(k) u(k-1)]'; HLT(:,k-1)=h1; end HL=HLT'; y=[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) ;z(17);z(18);z(19);z(20);z(21);z(22);z(23);z(24);z(25);z(26);z(27);z(28);z(29); z(30);z(31)];%求出FAI c1=HL'*HL; c2=inv(c1); c3=HL'*y; c=c2*c3; %display('方差=0.1时,最小二乘法估计辨识参数θ如下:'); a1=c(1) a2=c(2) b1=c(3) b2=c(4) %递推最小二乘法估计 clear u=[ 1.147 0.201 -0.787 -1.589 -1.052 0.866 1.152 1.573 0.626 0.433 -0.985 0.810 -0.044 0.947 -1.474 -0.719 -0.086 -1.099 1.450 1.151 0.485 1.633 0.043 1.326 1.706 -0.340 0.890 0.144 1.177 -0.390]; z(2)=0; z(1)=0; n=normrnd(0, sqrt(0.1), 1, 31); %方差为0.1

系统辨识课件

第一章 目的:建立数学模型 1. 被控对象的数学模型不知道,复杂,无法用已知的定理、定律来推导→辨识 我们可以得到观测资料→辨识 辨识概念:如何从受到随即干扰的局部观测资料出发,用计算机进行处理,确定系统或过程的数学模型。 §1.1 过程和模型 1. 过程:工程系统、生物学系统、社会经济学系统等,工业生产过程。 数学模型是反映系统有关变量之间关系的一组数学描述,在一般情况下,系统模型表征了该系统的输入输出之间的关系,建立数学模型就是确立这种关系。系统辨识就是建立这种关系的一种理论和方法。 黑箱意味着存在一些未知东西。客观事物是复杂的,在人们认识的一定阶段,对于任何客体,我们总是有着许多情况不了解,还不能控制。把待认识的客体称为黑箱。 基本出发点:根据黑箱所表现出来的输入输出信息,建立与黑箱等价的过程外特征模型。 2.模型 1)模型含义:(1)表征过程的因果关系 (2)描述过程的运动规律 (3)把过程本质的部分压缩成有用的描述形式 模型所反映的内容将因其使用的目的而不同 模型:按照过程的目的所作的一种近似的描述

)()(.^ k z k z s a ?→? “几行必然”处处相等 2)模型表现的形式 图表——非参数模型,脉冲响应,频率响应 数学模型:用数学结构形式反映实际过程的行为特性 (差分方程、代数方程、微分方程、状态方程) 3)数学模型分类 线性与非线性、静态与动态、确定性与随机性 线性系统与关于参数空间线性的区别 2cx bx a y ++= y 与x 非线性,系统是非线性的,但y 对于参数对a 、b 、c 是线性的(参数空间特性)。 本质线性与非本质线性 把非线性模型——→线性模型 (本质线性) 2 1a 2a 1A Y L L = 21a a A 、、是参数,21L L 、是输入 2211log a log a logA logy L L ++= (22110 u a u a a y ++=) (处理必须是单调的,不会产生新的极点) 本书模型:集中参数、离散、定常、线性动态、随机 增加数学模型类型 [1.2.1] 3. 建模方法 ①机理建模(理论模型) 利用各种定理建立模型—→理论建模—→白箱理论 简单过程建模 ②辨识建模—→实验建模—→黑箱建模 精度高 [举例]1.2.2 ③灰箱建模 ①+② 原则:目的性、实在性、可辨识性、悭吝性(节省原理) §1.2辨识的定义 就是在输入和输出的基础上,从一组给定的模型类中,确定一个与所测系统等价的模型。 数据:辨识的基础(数据的获取必须引起重视) 三大要素 模型类:辨识的范围 准则:等价原理(准则必须重视) [例 1.2.2] 辨识也可以说是在某种准则的意义下,从一定模型中选出一个与数据拟合最好的模型。

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