飞行器动力学参数在线辨识EKF算法
实验流程
飞行器俯仰通道动力学微分方程是连续非线性方程,要进行扩展卡尔曼滤波(EKF)的步骤是:先进行线性化
,再进行离散化
。
飞行器俯仰通道动力学方程线性化
参考文献:永磁同步电机的无速度传感器控制算法研究 冯晓彤[D]
针对一般的连续非线性系统,有
x ˙ = f ( x , t ) + B ( t ) u ( t ) (1) \dot{x}=f(x,t)+B(t)u(t)\tag{1} x˙=f(x,t)+B(t)u(t)(1) z = h ( x , t ) (2) z=h(x,t)\tag{2} z=h(x,t)(2)
在前一时刻的滤波估计值 x ^ k \hat{x}_k x^k下用泰勒展开线性化,得到
x ˙ ( t ) = f ( x , t ) ∣ x = x ^ k + ∂ f ( x , t ) ∂ x ∣ x = x ^ k Δ x ( t ) + B ( t ) u ( t ) + G ( t ) w ( t ) (3) \dot{x}(t)=f(x,t)|_{x=\hat{x}_k}+\frac{\partial{f(x,t)}}{\partial{x}}|_{x=\hat{x}_k}\Delta x(t)+B(t)u(t)+G(t)w(t)\tag{3} x˙(t)=f(x,t)∣x=x^k+∂x∂f(x,t)∣x=x^kΔx(t)+B(t)u(t)+G(t)w(t)(3) z ( t ) = h ( x , t ) ∣ x = x ^ k + ∂ h ( x , t ) ∂ x ∣ x = x ^ k Δ x ( t ) + v ( t ) (4) z(t)=h(x,t)|_{x=\hat{x}_k}+\frac{\partial{h(x,t)}}{\partial{x}}|_{x=\hat{x}_k}\Delta x(t)+v(t)\tag{4} z(t)=h(x,t)∣x=x^k+∂x∂h(x,t)∣x=x^kΔx(t)+v(t)(4) Δ x ( t ) = x ( t ) + x ^ k (5) \Delta x(t)=x(t)+\hat{x}_k\tag{5} Δx(t)=x(t)+x^k(5)
经过适当的变换,可以得到线性连续方程
Δ x ˙ ( t ) = F ( t ) Δ x + G w ( t ) (6) \Delta \dot{x}(t)=F(t)\Delta x+Gw(t)\tag{6} Δx˙(t)=F(t)Δx+Gw(t)(6) Δ z ( t ) = H ( t ) Δ x + v ( t ) (7) \Delta z(t)=H(t)\Delta x+v(t)\tag{7} Δz(t)=H(t)Δx+v(t)(7)
其中
F ( t ) = [