扩张状态观测器matlab函数,基于Matlab的扩张状态观测器仿真及分析

本文探讨了扩张状态观测器(ESO)在二阶系统中的应用,通过Matlab仿真,对比了ESO在不同参数设置(线性与非线性)下对系统状态的观测效果,并考虑了噪声影响。仿真结果显示,线性估计略优于非线性,但ESO的非线性估计在某些情况下表现稳定。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

状态观测器是现代控制理论的重要组成部分[1-2],它是从系统状态空间方程出发,利用原系统的输入和输出信号获得原系统状态变量估值的方法,在传感器噪声处理、系统相移抑制以及高性能控制系统的设计中应用得非常普遍[2-3]。扩张状态观测器(ExtendedStateObserv-er)是自抗扰控制器(ActiveDisturbanceRejectionCon-troller)的核心部分[4-5],它不像通常的状态观测器如隆伯格观测器(LuenbergerObserver)[2]需要预先知道系统模型,也不关心系统是线性系统还是非线性系统,因此避免了使用过程中对模型的依赖[6]。本文通过Matlab[7]对扩张状态观测器进行数值仿真,给出并比较了ESO对二阶系统在线性参数和非线性参数下的观测效果,考察了系统存在高斯加性白噪声条件下的观测效果,并对观测结果进行了分析。1扩张状态观测器的基础理论对于常见的二阶系统,设其输入信号为u,输出信号为y,系统对输入信号的作用为b,此系统表达式记为:?x(2)+f(x(1),x)=buy=x(1)引入状态变量x1=x,x2=x(1)改写为状态空间表达式,并以Ts为采样周期进行离散化可得相应的离散状态方程:???x1(k+1)=x1(k)+Tsx2(k)x2(k+1)=x2(k)+Ts(-f(x2(k),x1(k))+bu(k))y(k)=x1(k)(2)依照文献[4]可用离散系统:?????e1(k)=z1(k)-y(k)z1(k)=z1(k-1)+Ts(z1(k)-01e(k))z2(k)=z2(k-1)+Ts(z3(k)-02fal(e1(k),0.5,)+bu(k))z3(k)=-03fal(e1(k),0.25,)(3)来观测原系统的状态变量。式(3)中:z1和z2分别为x1和x2的观测值;z3为系统扩张出来的状态变量;01,02,03和则为需要设定的参数。函数fal()定义为:fal(e,,)={e-1,|e||e|sign(e),|e|>(4)式中sign()是符号函数。以上推导过程见文献[4,8]。2扩张状态观测器的计算机仿真及结果比较分析仿真采用M语言[9]进行,仿真的系统选择为常见的二阶系统,其传递函数为[3]:G(s)=2s2+2s+2(5)引入状态变量并以Ts为周期离散化后可得离散状态空间方程:???x1(k)=x1(k-1)+Tsx2(k)x2(k)=x2(k-1)+Ts(-(2x2(k)+x1(k))+2u(k))y(k)=x1(k)(6)根据式(3)对该系统建立扩张状态观测器。仿真时,采样周期Ts设定为1ms,系统的阻尼系数设定为0.5,系统谐振频率f设定为3Hz。系统的输入信号正弦信号(幅度设定为1,频率设定为1Hz)。仿真结果做如下约定:,红色曲线为真实的系统状态,黑色曲线为观测出来的系统状态。仿真时设ESO中b为已知并保持不变,始终满足b=23,查看此时01,02,03为线性参数和非线性参数时的仿真结果。2.1无噪声时线性观测和非线性观测的观测效果线性估计时,可参考文献[10]进行,01=1Ts,02=1(3T)2s,03=2(8T)3s,fal()函数中的=1Ts;非线性估计时,参数需要做出适当的调整,目前只有通过试凑法进行,可以在线性估计的基础上进行,可选01=1Ts,02=1(3T)2s20,03=2(8)2T3s202,fal()函数中的=1Ts2,结果如图1、图2所示。图1无噪声时正弦信号的线性观测效果从仿真结果可看出,线性观测的效果略好于非线性观测的效果,而采用非线性估计时,E

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值