(window.webpackJsonp=window.webpackJsonp||[]).push([[443],{763:function(t,a,r){"use strict";r.r(a);var _=r(10),s=Object(_.a)({},(function(){var t=this,a=t._self._c;return a("ContentSlotsDistributor",{attrs:{"slot-key":t.$parent.slotKey}},[a("h1",{attrs:{id:"非线性卡尔曼滤波器-spkf"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#非线性卡尔曼滤波器-spkf"}},[t._v("#")]),t._v(" 非线性卡尔曼滤波器(SPKF)")]),t._v(" "),a("p",[t._v("标准卡尔曼滤波器主要面向线性系统。针对非线性系统,发展出了多种状态估计改进方法,包括扩展卡尔曼滤波器(EKF)与无迹卡尔曼滤波器(UKF)。由于许多实际系统无法用线性模型准确描述,这些非线性估计技术在众多工程应用中具有重要作用。")]),t._v(" "),a("h2",{attrs:{id:"ekf"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ekf"}},[t._v("#")]),t._v(" EKF")]),t._v(" "),a("p",[t._v("尽管标准卡尔曼滤波器是强有力的估计工具,但当系统为非线性时,其算法会失效。为此,扩展卡尔曼滤波器(EKF)将标准卡尔曼滤波器推广至非线性系统,并依赖线性化进行估计。线性化的依据是:在所选工作点附近的小邻域内,非线性函数可近似为线性函数。该线性化可通过泰勒级数展开中的一阶项由非线性函数导出,如下式所示。")]),t._v(" "),a("fdi-math",{attrs:{content:"g(x)\\approx g(a)+\\left.\\frac{\\partial g(x)}{\\partial x}\\right|_{\\mathrm{x=a}}(x-a)"}}),t._v(" "),a("p",[t._v("采用这种线性化方法后,EKF 仍遵循与标准卡尔曼滤波器相同的传播与更新流程,但对标准方程作了若干修改。在传播步骤中,状态向量并非通过线性状态转移方程更新,而是通过对最新状态估计处的非线性系统模型方程求值得到,如下式所示。同时,在状态协方差矩阵传播中,状态转移矩阵被替换为雅可比矩阵 "),a("strong",[t._v("F")]),t._v(",其元素为非线性系统模型方程对状态的一阶偏导数。")]),t._v(" "),a("fdi-math",{attrs:{content:"x_{\\mathrm{k+1}}=\\mathrm{f}(x_\\mathrm{k},u_\\mathrm{k})\\quad\\mathcal{F}=\\left.\\frac{\\partial f}{\\partial x}\\right|_{x^{\\hat{x}}}"}}),t._v(" "),a("p",[t._v("该雅可比在最新状态估计处求值。各更新方程中的测量模型矩阵同样被替换为雅可比矩阵,其元素为非线性测量模型方程对状态的一阶偏导数:")]),t._v(" "),a("fdi-math",{attrs:{content:"y_{\\mathrm{k}}=\\mathrm{h}(x_{\\mathrm{k}})\\quad\\mathcal{H}=\\left.\\frac{\\partial h}{\\partial x}\\right|_{x^{\\hat{x}}}"}}),t._v(" "),a("p",[t._v("尽管 EKF 可以有效估计非线性系统状态,但其使用仍存在局限。EKF 的设计目标是:在状态协方差位于线性化有效区域内的假设下,最优地更新状态向量与状态协方差矩阵。然而,若状态协方差中的不确定性超出该线性区域,则协方差矩阵将无法准确反映系统中的实际误差,并可能发生发散。通常,EKF 更适合测量足够充分、能够将状态不确定性保持在相对较低水平的应用。")]),t._v(" "),a("h2",{attrs:{id:"ukf"}},[a("a",{staticClass:"header-anchor",attrs:{href:"#ukf"}},[t._v("#")]),t._v(" UKF")]),t._v(" "),a("p",[t._v("虽然 EKF 对大多数非线性系统适用,但在某些情况下并不理想,例如系统非线性程度很高或可观测性较差。此时,无迹卡尔曼滤波器(UKF)往往能提供更可靠的估计。")]),t._v(" "),a("p",[t._v("UKF 通过精心选取若干称为西格玛点(sigma points)的采样点来估计非线性系统;这些点充分刻画状态向量及其相关不确定性。随后将这些西格玛点通过非线性方程传播,以估计下一时刻的状态向量及相应不确定性。")]),t._v(" "),a("p",[t._v("尽管该估计过程不易发散,但 UKF 在计算西格玛点并将其传播通过非线性系统时需要较高的计算量。对于状态维数较大的系统尤其明显,因为需要计算并传播大量西格玛点。FDISYSTEMS 通过创新设计改进了 UKF,开发了可抗野值、并保证不确定性矩阵正定性的非线性自适应滤波器,以提升系统鲁棒性;旗下导航产品均采用该融合引擎。")])],1)}),[],!1,null,null,null);a.default=s.exports}}]);