# 非线性卡尔曼滤波器(SPKF)

标准卡尔曼滤波器主要面向线性系统。针对非线性系统,发展出了多种状态估计改进方法,包括扩展卡尔曼滤波器(EKF)与无迹卡尔曼滤波器(UKF)。由于许多实际系统无法用线性模型准确描述,这些非线性估计技术在众多工程应用中具有重要作用。

# EKF

尽管标准卡尔曼滤波器是强有力的估计工具,但当系统为非线性时,其算法会失效。为此,扩展卡尔曼滤波器(EKF)将标准卡尔曼滤波器推广至非线性系统,并依赖线性化进行估计。线性化的依据是:在所选工作点附近的小邻域内,非线性函数可近似为线性函数。该线性化可通过泰勒级数展开中的一阶项由非线性函数导出,如下式所示。

采用这种线性化方法后,EKF 仍遵循与标准卡尔曼滤波器相同的传播与更新流程,但对标准方程作了若干修改。在传播步骤中,状态向量并非通过线性状态转移方程更新,而是通过对最新状态估计处的非线性系统模型方程求值得到,如下式所示。同时,在状态协方差矩阵传播中,状态转移矩阵被替换为雅可比矩阵 F,其元素为非线性系统模型方程对状态的一阶偏导数。

该雅可比在最新状态估计处求值。各更新方程中的测量模型矩阵同样被替换为雅可比矩阵,其元素为非线性测量模型方程对状态的一阶偏导数:

尽管 EKF 可以有效估计非线性系统状态,但其使用仍存在局限。EKF 的设计目标是:在状态协方差位于线性化有效区域内的假设下,最优地更新状态向量与状态协方差矩阵。然而,若状态协方差中的不确定性超出该线性区域,则协方差矩阵将无法准确反映系统中的实际误差,并可能发生发散。通常,EKF 更适合测量足够充分、能够将状态不确定性保持在相对较低水平的应用。

# UKF

虽然 EKF 对大多数非线性系统适用,但在某些情况下并不理想,例如系统非线性程度很高或可观测性较差。此时,无迹卡尔曼滤波器(UKF)往往能提供更可靠的估计。

UKF 通过精心选取若干称为西格玛点(sigma points)的采样点来估计非线性系统;这些点充分刻画状态向量及其相关不确定性。随后将这些西格玛点通过非线性方程传播,以估计下一时刻的状态向量及相应不确定性。

尽管该估计过程不易发散,但 UKF 在计算西格玛点并将其传播通过非线性系统时需要较高的计算量。对于状态维数较大的系统尤其明显,因为需要计算并传播大量西格玛点。FDISYSTEMS 通过创新设计改进了 UKF,开发了可抗野值、并保证不确定性矩阵正定性的非线性自适应滤波器,以提升系统鲁棒性;旗下导航产品均采用该融合引擎。