基于最小二乘法的系统参数辨识研究生二队李英杰 082068摘要:系统辨识是自动控制学科的一个重要分支,由于其特殊作用,已经广泛应用于各种领域,尤其是复杂系统或参数不容易确定的系统的建模。
过去,系统辨识主要用于线性系统的建模,经过多年的研究,已经形成成熟的理论。
但随着社会、科学的发展,非线性系统越来越受到人们的关注,其控制与模型之间的矛盾越来越明显,因而非线性系统的辨识问题也越来越受到重视,其辨识理论不断发展和完善本。
文重点介绍了系统参数辨识中最小二乘法的基本原理,并通过热敏电阻阻值温度关系模型的辨识实例,具体说明了基于最小二乘法参数辨识在Matlab中的实现方法。
结果表明基于最小二乘法具有算法简单、精度较高等优点。
1. 引言所谓辨识就是通过测取研究对象在人为输入作用下的输出响应,或正常运行时的输入输出数据记录,加以必要的数据处理和数学计算,估计出对象的数学模型。
这是因为对象的动态特性被认为必然表现在它的变化着的输入输出数据之中,辨识只不过是利用数学的方法从数据序列中提炼出对象的数学模型而已[1]。
最小二乘法是系统参数辨识中最基本最常用的方法。
最小二乘法因其算法简单、理论成熟和通用性强而广泛应用于系统参数辨识中。
本文基于热敏电阻阻值与温度关系数据,介绍了最小二乘法的参数辨识在Matlab中的实现。
2. 系统辨识一般而言,建立系统的数学模型有两种方法:激励分析法和系统辨识法。
前者是按照系统所遵循的物化(或社会、经济等)规律分析推导出模型。
后者则是从实际系统运行和实验数据处理获得模型。
如图1 所示,系统辨识就是从系统的输入输出数据测算系统数学模型的理论和方法。
更进一步的定义是L.A.Zadeh 曾经与1962 年给出的,即“系统辨识是在输入和输出的基础上,从系统的一类系统范围内,确立一个与所实验系统等价的系统”。
另外,系统辨识还应该具有3 个基本要素,即模型类、数据和准则[5]。
被辨识系统模型根据模型形式可分为参数模型和非参数模型两大类。
所谓参数模型是指微分方程、差分方程、状态方程等形式的数学模型;而非参数模型是指频率响应、脉冲响应、传递函数等隐含参数的数学模型。
在辨识工程中,模型的确定主要根据经验对实际对象的特性进行一定程度上的假设,如对象的模型是线性的还是非线性的、是参数模型还是非参数模型等。
在模型确定之后,就可以根据对象的输入输出数据,按照一定的辨识算法确定模型的参数[4]。
图1 被研究的动态系统3. 最小二乘法(LS)参数估计方法对于参数模型辨识结构,系统辨识的任务是参数估计,即利用输入输出数据估计这些参数,建立系统的数学模型。
在参数估计中最常用的是最小二乘法(LS)、误差预测估计法、辅助变量法(IV 估计)、神经网络法等[4]。
由于最小二乘法容易理解和掌握,利用最小二乘法原理所拟定的辨识算法在实施上比较简单,并且不需要数理统计的知识,使得最小二乘法广泛应用于系统辨识领域,但它也存在着一定的局限和不足,当系统噪声为有色噪声时,最小二乘法不能给出无偏一致估计[5]。
本文应用热敏电阻阻值温度关系模型进行了参数辨识。
设一个SISO(单输入/单输出)过程的“黑箱”结构,如图2:图2 SISO 系统的“黑箱”结构系统的传递函数为:nn n n z a z a z a z b z b z b k u k y z G ------+++++++== 221122111)()()(,则∑∑==-+--=ni i ni i i k u b i k y a k y 11)()()(。
若考虑被辨识系统或观测信息中含有噪声)(k v ,最终输出)()()()(11k v i k u b i k y a k z ni i ni i +-+--=∑∑==。
其中:)(k z 为系统输出量的第k 次观测值;)(k y 为系统输出量的第k 次真值; )(k u 为系统的第k 个输入值; )(k v 是均值为0的随机噪声。
如果定义)](,),2(),1(),(,),2(),1([)(n k u k u k u n k y k y k y k h ---------= ,T n n b b b a a a ],,,,,,,[2121 =θ,)(k z 可以表示为:)()()(k v k h k z +=θ,式中θ为待估参数。
令m k ,,2,1 =,则有⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=)()2()1(m z z z Z m ,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡--------------=⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=)()1()()1()2()1()2()1()1()0()1()0()()2()1(n m u m u n m y m y n u u n y y n u u n y y m h h h H m[]T n n b b a a 11=θ,[]T m m v v v V )()2()1( =,m m m V H Z +=θ最小二乘的思想就是寻找一个θ的估计值θˆ,使得各次测量的),1(m i Z i=与由估计θˆ确定的量测估计θˆˆi i H Z =之差的平方和最小,即:m in )()()(=--=∧∧∧θθθm m Tm m H Z H Z J ,0)ˆ(2ˆ=--=∂∂=θθθθm m T m H Z H J,可得m T m mT m Z H H H =θˆ。
如果mH 的行数大于等于列数,即n m 2≥,m T m H H 满秩,即n H H m Tm 2)(rank =,则1)(-m Tm H H 存在。
则θ的最小二乘估计为m T m m T m Z H H H 1)(ˆ-=θ 最小二乘估计虽然不能满足量测方程中的每一个方程,使每个方程都有偏差,但它使所有方程偏差的平方和达到最小,兼顾了所有方程的近似程度,使整体误差达到最小,这对抑制测量误差),,1)((m i i v =是有益的。
4. 实例分析表1中是在不同温度下测量同一热敏电阻的阻值,根据测量值确定该电阻的数学模型,并求出当温度在C ︒70时的电阻值。
图3在给定的温度下热敏电阻的测量值可以假设阻值与温度的关系为bt a R +=,则参数a 、b 的最小二乘估计为:⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎨⎧⎪⎭⎫⎝⎛--=⎪⎭⎫ ⎝⎛--=∑∑∑∑∑∑∑∑∑∑∑===========2112111211211121ˆˆN i i N i i N i i N i i N i i i N i i N i i N i i N i i i N i i N i i t t N t R t R N b t t N t t R t R a在Matlab 环境下,编辑M 函数文件 clear all close all clcT=[20.5 26 32.7 40 51 61 73 80 88 95.7]; %温度 R=[765 790 826 850 873 910 942 980 1010 1032]; %阻值 [m,n]=size(T); figure plot(T,R,'b+') t=0; z=0; tz=0; tt=0;for i=1:nt=t+T(i);tt=tt+T(i)*T(i);z=z+R(i);tz=tz+T(i)*R(i);enda=(tt*z-t*tz)/(n*tt-t*t);b=(n*tz-t*z)/(n*tt-t*t);R1=a+70*b;%最小二乘拟合A=polyfit(T,R,1);z=polyval(A,T);%画图figureplot(T,z);figureplot(T,R,'b+')hold onplot(T,z,'r');hold off经过仿真运算可得:a =702.7620,b =3.4344,t.=。
702+7620.3R4344 70时,电阻阻值R1=943.1681热敏电阻阻值与温度关系曲线如图4所示,在C︒最小二乘法的系统辨识模型同实际比较结果如图5所示。
图4 阻值与温度关系曲线图5 基于最小二乘法的系统辨识模型同实际比较结果从参数辨识的结果可得出结论:辨识模型同实际结果的拟合度可以看出,最小二乘法辨识参数估计精度比较高,证明了最小二乘法的有效性。
系统辨识的方法有很多,最小二乘法是其中最基本、应用最广泛的一种系统辨识方法。
最小二乘法可用于动态系统,也可以用于静态系统;可用于线性系统,也可以用于非线性系统;可用于离线估计,也可以用于在线估计,这种方法不仅在今天,而且在未来都会有非常广泛的应用前景。
参考文献[1] 李言俊,张科. 系统辨理论及应用[M]. 北京:国防工业出版社,2006[2] 刘叔军,盖晓华,樊京,崔世林等.MATLAB7.0 控制系统应用与实例[M]. 北京:机械工业出版社,2005[3] 石贤良,吴成富. 基于MTALAB 的最小二乘法参数辨识与仿真[J]. 微机处理,2005:44-46[4] 严晓久,周爱国,林建平,吴晔. 基于辅助变量法的系统参数辨识[J]. 机床与液压,2006:180-184[5] 王秀峰,卢桂章. 系统建模与辨识[M]. 北京:电子工业出版社,2004。