使用EKF从系统状态估计系统的输入
[交叉发布于:https://math.stackexchange.com/questions/164169/estimating-the-input-to-a-system-from-a-system-state]
我有一个系统,已经获得了非线性时变状态空间表示。对于这个系统,我能够测量其中一种状态。我想据此估算输入。
在我的参数估算笔记中,我发现有一个side草的“ [扩展卡尔曼滤波器]可用于估算系统输入(如果已知输出)”。 。到目前为止,我在笔记中找不到任何描述以这种方式使用EKF的参考或章节。任何人都可以提出建议(或提供)有关如何执行此任务的解释吗?
系统为:
$$ x(t)=
\ begin {bmatrix }
x_1(t)\\
x_2(t)
\ end {bmatrix}; \ quad \ dot {x}(t)=
\ begin {bmatrix}
x_2(t)\\
\ alpha(t)x ^ 2_2(t)+ \ beta(t )+ \ gamma(t)u_1(t)
\ end {bmatrix}; \ quad y = x_2(t)
$$
其中:$ \ alpha(t)$和$ \ gamma(t)$是常量参数; $ \ beta(t)$是随时间变化的参数; $ y = x_2(t)$是已知的(测量的)时变状态; $ u(t)$是未知的系统输入。我做了一个简化的假设,即$ \ beta(t)$最初是恒定的。在针对这个简化的系统进行证明之后,我想移至以下系统:
$$ x(t)=
x_1(t)\\
x_2 (t)
\ end {bmatrix}; \ quad u(t)=
\开始{bmatrix}
u_1(t)\\
u_2(t)
\ end {bmatrix};
\ quad y = x_2(t)\\
\ quad \ dot {x}(t)=
\ begin {bmatrix}
x_2(t)\\
\ alpha(t)x ^ 2_2(t)+ \ beta(t)+ \ gamma(t)u_1(t)
\ end {bmatrix}; \ quad \ beta(t)= f(u_2(t))
$$
其中:$ u_1(t)$是未知系统输入(第1部分中的$ u(t)$); $ u_2(t)$和$ f(u_2(t))$是已知输入和已知函数。如果有人可以为我提供第一部分的参考(常数$ \ beta(t)$)或对如何实现这一点进行简要说明,那么我希望能够为第二部分提供解决方案。
评论
是否知道$ \ beta(t)$?我最初尝试解决此问题的方法是,查看是否存在重新构造该问题的好方法,以便可以将您知道的状态$ x_2(t)$建模为系统的输入,并将未知的$ u_1(t )$是您要估算的状态。您将首先尝试根据测量值$ x_2(t)$求解$ u_1(t)$。是的(或者至少我可以假设是这样,就像我以为开始工作是恒定的一样)!该系统是车辆,因此$ x_1 $是距离,而$ x_2 $是速度(或速度)。我试图达到一个可以估计车辆输入功率的点(通过作用在其上的力$ u_1(t)$,鉴于已知的一些特征和速度,来自内存)(请注意不在我身边) $ \ alpha $是$ \ frac {\ rho C_d A} {2m} $,$ \ gamma $是$ 1 / m $,$ m \ beta $是车辆在斜坡上时的滚动阻力和重力的组合(出于理智考虑,我假设坡度为零!)。
没什么可说的,1)感谢您的回应,2)$ u_2 $是车辆上/下行驶的坡度。
我投票结束这个问题为离题,因为交叉发布的版本有一个可以接受的答案。