<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s120708912</article-id>
<article-id pub-id-type="publisher-id">sensors-12-08912</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Maximum Likelihood-Based Iterated Divided Difference Filter for Nonlinear Systems from Discrete Noisy Measurements</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Wang</surname><given-names>Changyuan</given-names></name><xref ref-type="aff" rid="af1-sensors-12-08912"><sup>1</sup></xref><xref ref-type="aff" rid="af2-sensors-12-08912"><sup>2</sup></xref><xref ref-type="corresp" rid="c1-sensors-12-08912"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Zhang</surname><given-names>Jing</given-names></name><xref ref-type="aff" rid="af1-sensors-12-08912"><sup>1</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Mu</surname><given-names>Jing</given-names></name><xref ref-type="aff" rid="af2-sensors-12-08912"><sup>2</sup></xref></contrib></contrib-group>
<aff id="af1-sensors-12-08912">
<label>1</label> School of Computer Science and Engineering Xi'an University of Technology, No. 5 Jinhua South Road Xi'an, Shaanxi 710048, China; E-Mail: <email>zhangjing@xaut.edu.cn</email></aff>
<aff id="af2-sensors-12-08912">
<label>2</label> School of Computer Science and Engineering, Xi'an Technological University, No. 4 Jinhua North Road Xi'an, Shaanxi 710032, China; E-Mail: <email>mujing1977@163.com</email></aff>
<author-notes>
<corresp id="c1-sensors-12-08912">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>cyw901@163.com</email>; Tel./Fax: +86-029-8320-8900.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2012</year></pub-date>
<pub-date pub-type="epub">
<day>27</day>
<month>06</month>
<year>2012</year></pub-date>
<volume>12</volume>
<issue>7</issue>
<fpage>8912</fpage>
<lpage>8929</lpage>
<history>
<date date-type="received">
<day>28</day>
<month>03</month>
<year>2012</year></date>
<date date-type="rev-recd">
<day>18</day>
<month>06</month>
<year>2012</year></date>
<date date-type="accepted">
<day>21</day>
<month>06</month>
<year>2012</year></date></history>
<permissions>
<copyright-statement>© 2012 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2012</copyright-year>
<license>
<p>This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).</p></license></permissions>
<abstract>
<p>A new filter named the maximum likelihood-based iterated divided difference filter (MLIDDF) is developed to improve the low state estimation accuracy of nonlinear state estimation due to large initial estimation errors and nonlinearity of measurement equations. The MLIDDF algorithm is derivative-free and implemented only by calculating the functional evaluations. The MLIDDF algorithm involves the use of the iteration measurement update and the current measurement, and the iteration termination criterion based on maximum likelihood is introduced in the measurement update step, so the MLIDDF is guaranteed to produce a sequence estimate that moves up the maximum likelihood surface. In a simulation, its performance is compared against that of the unscented Kalman filter (UKF), divided difference filter (DDF), iterated unscented Kalman filter (IUKF) and iterated divided difference filter (IDDF) both using a traditional iteration strategy. Simulation results demonstrate that the accumulated mean-square root error for the MLIDDF algorithm in position is reduced by 63% compared to that of UKF and DDF algorithms, and by 7% compared to that of IUKF and IDDF algorithms. The new algorithm thus has better state estimation accuracy and a fast convergence rate.</p></abstract>
<kwd-group>
<kwd>nonlinear state estimation</kwd>
<kwd>divided difference filter</kwd>
<kwd>maximum likelihood surface</kwd>
<kwd>target tracking</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>The problem of estimating the state of a nonlinear stochastic system from noisy measurement data has been the subject of considerable research interest during the past few years. Up to now the extended Kalman filter (EKF) has unquestionably been the dominating state estimation technique [<xref ref-type="bibr" rid="b1-sensors-12-08912">1</xref>,<xref ref-type="bibr" rid="b2-sensors-12-08912">2</xref>]. The EKF linearizes both the nonlinear process and the measurement dynamics with a first-order Taylor series expansion about the current state estimate. However, its accuracy depends heavily on the severity of nonlinearities. The EKF may introduce large errors and even give a divergent estimate when the nonlinearities become severe [<xref ref-type="bibr" rid="b3-sensors-12-08912">3</xref>,<xref ref-type="bibr" rid="b4-sensors-12-08912">4</xref>]. To improve the estimation accuracy, the second-order EKF proposed retains the Taylor series expansion up to the second term. The second–order EKF generally improves estimation accuracy, but at the expense of an increased computational burden [<xref ref-type="bibr" rid="b5-sensors-12-08912">5</xref>]. Another attempt to improve the performance of the EKF involves the use of an iterative measurement update; the resulting algorithm is called the Iterated Extended Kalman filter (IEKF) [<xref ref-type="bibr" rid="b6-sensors-12-08912">6</xref>]. The basic idea of IEKF is to linearize the measurement model around the updated state rather than the predicted state. This is achieved iteratively, and it involves the use of the current measurement. The IEKF has been proven to be more accurate on the condition that the state estimate is close enough to the true value, however, this is rarely the case in practice [<xref ref-type="bibr" rid="b7-sensors-12-08912">7</xref>]. It was pointed out in [<xref ref-type="bibr" rid="b8-sensors-12-08912">8</xref>] that the sequence of iterations generated by the IEKF and that generated by the Gauss-Newton method were identical, thus globally convergence was guaranteed. However, the Gauss-Newton method does not ensure that it goes up the likelihood surface [<xref ref-type="bibr" rid="b9-sensors-12-08912">9</xref>,<xref ref-type="bibr" rid="b10-sensors-12-08912">10</xref>]. Furthermore, EKF and IEKF require Jacobians, and the second-order KF requires Jacobians and Hessians. Calculation of Jacobians and Hessians is often numerically unstable and computationally intensive. In some system, the Jacobians and Hessians do not exit, which limits the applications of EKF, second-order EKF and IEKF.</p>
<p>Recently, there has been development in derivative-free state estimators. The finite difference has been used in the Kalman filter framework and the resulting filter is referred to as the finite difference filter (FDF) [<xref ref-type="bibr" rid="b11-sensors-12-08912">11</xref>]. The FDF uses the first-order difference to approximate the derivative of the nonlinear function; it may introduce large state estimation errors due to a high nonlinearity, similar to the EKF. The unscented Kalman filter (UKF) proposed in [<xref ref-type="bibr" rid="b12-sensors-12-08912">12</xref>,<xref ref-type="bibr" rid="b13-sensors-12-08912">13</xref>] uses a minimal set of deterministically chosen sample points to capture the mean and covariance of a Gaussian density. When propagated through a nonlinear function, these points capture the true mean and covariance up to a second-order of the nonlinear function. However, the parameters used in the UKF are required to tune finely in order to prevent the propagation of non-positive definite covariance matrix for a state vector's dimension higher than three. Another Gaussian filter, named the divided difference filter (DDF) was introduced in [<xref ref-type="bibr" rid="b14-sensors-12-08912">14</xref>] using multidimensional Stirling's interpolation formula. It is shown in [<xref ref-type="bibr" rid="b15-sensors-12-08912">15</xref>] that the UKF and DDF algorithms are commonly referred to as sigma point filters due to the properties of deterministic sampling and weighted statistical estimation [<xref ref-type="bibr" rid="b16-sensors-12-08912">16</xref>], but the covariance obtained in the DDF is more accurate than that in the UKF. The iterated UKF with the variable step (IUKF-VS) in [<xref ref-type="bibr" rid="b10-sensors-12-08912">10</xref>] proposed improved the accuracy of state estimation but its runtime was large due to its computation of the sigma points. Lastly, a relatively new technique called the particle filter (PF) uses a set of randomly chosen samples with associated weights to approximate the posterior density [<xref ref-type="bibr" rid="b17-sensors-12-08912">17</xref>] and its variants are presented in [<xref ref-type="bibr" rid="b18-sensors-12-08912">18</xref>]. The large number of samples required often makes the use of PF computationally expensive, and the performance of PF is crucially dependent on the selection of the proposal distribution. <xref ref-type="table" rid="t1-sensors-12-08912">Table 1</xref> lists the pro and cons of the above filters.</p>
<p>The DDF also shows its weakness in the state estimation due to the large initial error and high nonlinearity in the application for state estimation of maneuvering target in the air-traffic control and ballistic re-entry target. Emboldened by the superiority of DDF, the basic idea of the IEKF and the iteration termination condition based on maximum likelihood, we propose a new filter named the maximum likelihood based iterated divided difference Kalman filter (MLIDDF). The performance of the state estimation for MLIDDF is greatly improved when involving the use of the iteration measurement update in the MLIDDF and the use of the current measurement. The remainder of this paper is organized as follows: in Section 2, we develop the maximum likelihood surface based iterated divided difference Kalman filter (MLIDDF). Section 3 presents the applications of the MLIDDF to state estimation for maneuvering targets in air-traffic control and ballistic target re-entry applications and discuss the simulation results. Finally, Section 4 concludes the paper and presents our outlook on future work.</p></sec>
<sec>
<label>2.</label>
<title>Development of Likelihood Surface Based Iterated Divided Difference Filter</title>
<sec>
<label>2.1.</label>
<title>Divided Difference Filter</title>
<p>Consider the nonlinear function:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math id="mm1" display="block">
<mml:semantics id="sm1">
<mml:mrow>
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Assuming that the random variable <bold>x</bold> ∈ ℝ<italic><sup>n<sub>x</sub></sup></italic> has Gaussian density with mean <bold>x̄</bold> and covariance <bold>P</bold><italic><sub>x</sub></italic>. The following linear transformation of <bold>x</bold> is introduced:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math id="mm2" display="block">
<mml:semantics id="sm2">
<mml:mrow>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:mtext mathvariant="bold">x</mml:mtext></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The transformation matrix <bold>S</bold><italic><sub>x</sub></italic> is selected as a square Cholesky factor of the covariance matrix <bold>P</bold><italic><sub>x</sub></italic> such that 
<inline-formula>
<mml:math id="mm3" display="inline">
<mml:semantics id="sm3">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mi>x</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>x</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>x</mml:mi>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, so the elements of <bold>z</bold> become mutually uncorrelated [<xref ref-type="bibr" rid="b14-sensors-12-08912">14</xref>]. And the function <bold>f̃</bold> is defined by:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math id="mm4" display="block">
<mml:semantics id="sm4">
<mml:mrow>
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>x</mml:mi></mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The multidimensional Stirling interpolation formula of <xref rid="FD3" ref-type="disp-formula">Equation (3)</xref> about <bold>z̄</bold> up to second-order terms is given by:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math id="mm5" display="block">
<mml:semantics id="sm5">
<mml:mrow>
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo>≈</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi>D</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>z</mml:mi></mml:mrow></mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>!</mml:mo></mml:mrow></mml:mfrac>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>D</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The divided difference operators <italic>D̃</italic><sub>Δ</sub><italic><sub>z</sub></italic><bold>f̃</bold>, 
<inline-formula>
<mml:math id="mm6" display="inline">
<mml:semantics id="sm6">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>D</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mover accent="true">
<mml:mi>f</mml:mi>
<mml:mo>∼</mml:mo></mml:mover></mml:mrow></mml:semantics></mml:math></inline-formula> are defined as:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math id="mm7" display="block">
<mml:semantics id="sm7">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>D</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>z</mml:mi></mml:mrow></mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>l</mml:mi></mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>j</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD6">
<label>(6)</label>
<mml:math id="mm8" display="block">
<mml:semantics id="sm8">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>D</mml:mi>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">(</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:msubsup>
<mml:mi>δ</mml:mi>
<mml:mi>j</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow>
<mml:mo>+</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mi mathvariant="normal">Δ</mml:mi>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where Δ<bold>z</bold> ≜ <bold>z</bold> - <bold>Z̄</bold> and Δ<italic>z<sub>j</sub></italic> is the <italic>j</italic>-th element of Δ<bold>z</bold>. <italic>l</italic> denotes a selected interval length, the optimal setting of <italic>l</italic> is selected as 
<inline-formula>
<mml:math id="mm9" display="inline">
<mml:semantics id="sm9">
<mml:mrow>
<mml:msqrt>
<mml:mn>3</mml:mn></mml:msqrt></mml:mrow></mml:semantics></mml:math></inline-formula> under the assumption that the estimation error are Gaussian and unbiased.</p>
<p>The partial operators <italic>μ</italic> and <italic>δ</italic> are defined as:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math id="mm10" display="block">
<mml:semantics id="sm10">
<mml:mrow>
<mml:msub>
<mml:mi>μ</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mtext mathvariant="bold">e</mml:mtext>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mtext mathvariant="bold">e</mml:mtext>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD8">
<label>(8)</label>
<mml:math id="mm11" display="block">
<mml:semantics id="sm11">
<mml:mrow>
<mml:msub>
<mml:mi>δ</mml:mi>
<mml:mi>j</mml:mi></mml:msub>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mtext mathvariant="bold">e</mml:mtext>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msub>
<mml:mtext mathvariant="bold">e</mml:mtext>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where e<italic><sub>j</sub></italic> is the unit column vector.</p>
<p>We can obtain the approximate mean, covariance and cross-covariance of <bold>y</bold> using <xref rid="FD4" ref-type="disp-formula">Equation (4)</xref>:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math id="mm12" display="block">
<mml:semantics id="sm12">
<mml:mrow>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>≈</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD10">
<label>(10)</label>
<mml:math id="mm13" display="block">
<mml:semantics id="sm13">
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>=</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left"/>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>≈</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow>
<mml:mo>×</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left"/>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>4</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow>
<mml:mo>×</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD11">
<label>(11)</label>
<mml:math id="mm14" display="block">
<mml:semantics id="sm14">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>y</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>E</mml:mi>
<mml:mo stretchy="false">[</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo>−</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>≈</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <bold>s</bold><italic><sub>x,j</sub></italic> is <italic>j</italic>-th column of <bold>S</bold><italic><sub>x</sub></italic>.</p>
<p>Consider the state estimation problem of a nonlinear dynamics system with additive noise, the <italic>n<sub>x</sub></italic>-dimensional state vector <bold>x</bold><italic><sub>k</sub></italic> of the system evolves according to the nonlinear stochastic difference equation:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math id="mm15" display="block">
<mml:semantics id="sm15">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">w</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>and the measurement equation is given as:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math id="mm16" display="block">
<mml:semantics id="sm16">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">v</mml:mtext>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula><bold>w</bold><italic><sub>k</sub></italic><sub>−1</sub> and <bold>v</bold><italic><sub>k</sub></italic> are assumed i.i.d. and independent of current and past states, <bold>w</bold><italic><sub>k</sub></italic><sub>−1</sub> ∼ 
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>0, Q</bold><sub><italic>k</italic>−1)</sub>, <bold>v</bold><italic><sub>k</sub></italic> ∼ 
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>0, R</bold><italic><sub>k</sub></italic>).</p>
<p>Suppose the state distribution at <italic>k</italic>-1 time instant is <bold>x</bold><italic><sub>k</sub></italic><sub>−1</sub>∼
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>x̂</bold><sub><italic>k</italic>−1</sub>, <bold>P</bold><italic><sub>k</sub></italic><sub>−1)</sub>, and a square Cholesky factor of <bold>P</bold><italic><sub>k</sub></italic><sub>−1</sub> is <bold>Ŝ</bold><italic><sub>x,k</sub></italic><sub>−1</sub>. The divided difference filter (DDF) obtained with <xref rid="FD9" ref-type="disp-formula">Equations (9)</xref>–<xref rid="FD11" ref-type="disp-formula">(11)</xref> can be described as follows:
<list list-type="simple">
<list-item>
<p>Step 1. Time update
<list list-type="order">
<list-item>
<p>Calculate matrices containing the first- and second- divided difference on the estimated state <bold>x̂</bold><italic><sub>k</sub></italic><sub>−1</sub> at <italic>k</italic>-1 time:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math id="mm17" display="block">
<mml:semantics id="sm17">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD15">
<label>(15)</label>
<mml:math id="mm18" display="block">
<mml:semantics id="sm18">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msqrt></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p></list-item>
<list-item>
<p>Evaluate the predicted state and square root of corresponding covariance:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math id="mm19" display="block">
<mml:semantics id="sm19">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mtext mathvariant="bold">x</mml:mtext></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD17">
<label>(17)</label>
<mml:math id="mm20" display="block">
<mml:semantics id="sm20">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Tria</mml:mtext>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mo stretchy="false">[</mml:mo></mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula><bold>ŝ</bold><sub><italic>x,j</italic></sub> is <italic>j</italic>-th column of <bold>Ŝ</bold><italic><sub>x,k</sub></italic><sub>−1</sub>. <italic>Tria</italic>() is denoted as a general triagularization algorithm and <bold>S</bold><italic><sub>w,k</sub></italic><sub>−1</sub> denotes a square-root factor of <bold>Q</bold><italic><sub>k</sub></italic><sub>−1</sub> such that 
<inline-formula>
<mml:math id="mm21" display="inline">
<mml:semantics id="sm21">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>w</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></list-item></list></p></list-item>
<list-item>
<p>Step 2. Measurement update
<list list-type="order">
<list-item>
<p>Calculate matrices containing the first- and second-divided difference on the predicted state <italic>x̄<sub>k</sub></italic>:
<disp-formula id="FD18">
<label>(18)</label>
<mml:math id="mm22" display="block">
<mml:semantics id="sm22">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD19">
<label>(19)</label>
<mml:math id="mm23" display="block">
<mml:semantics id="sm23">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msqrt></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <bold>s̄</bold><italic><sub>x,j</sub></italic> is the <italic>j</italic>-th column of <bold>S̄</bold><italic><sub>x,k</sub></italic>.</p></list-item>
<list-item>
<p>Evaluate the predicted measurement, square root of innovation covariance and cross-covariance:
<disp-formula id="FD20">
<label>(20)</label>
<mml:math id="mm24" display="block">
<mml:semantics id="sm24">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>x</mml:mi></mml:msub></mml:mrow></mml:munderover>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD21">
<label>(21)</label>
<mml:math id="mm25" display="block">
<mml:semantics id="sm25">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Tria</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD22">
<label>(22)</label>
<mml:math id="mm26" display="block">
<mml:semantics id="sm26">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>here <bold>S</bold><italic><sub>v,k</sub></italic> denotes a square root of <bold>R</bold><italic><sub>k</sub></italic> such that 
<inline-formula>
<mml:math id="mm27" display="inline">
<mml:semantics id="sm27">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></list-item>
<list-item>
<p>Evaluate the gain, state estimation and square root of corresponding covariance at <italic>k</italic> time:
<disp-formula id="FD23">
<label>(23)</label>
<mml:math id="mm28" display="block">
<mml:semantics id="sm28">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>/</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>/</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD24">
<label>(24)</label>
<mml:math id="mm29" display="block">
<mml:semantics id="sm29">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD25">
<label>(25)</label>
<mml:math id="mm30" display="block">
<mml:semantics id="sm30">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Tria</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3em"/>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>here, the symbol “/” represents the matrix right divide operator.</p></list-item></list></p></list-item></list></p></sec>
<sec>
<label>2.2.</label>
<title>Refining the Measurement Update Based on Divided Difference</title>
<p>Consider <bold>x̄</bold><italic><sub>k</sub></italic> and current measurement <bold>z</bold><italic><sub>k</sub></italic> as realization of independent random vectors with multivariate normal distributions, e.g., <bold>x̄</bold><italic><sub>k</sub></italic> ∼ 
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>x</bold><sub><italic>k</italic></sub>, <bold>P̄</bold><italic><sub>k</sub></italic>) and <bold>z</bold><italic><sub>k</sub></italic> ∼ 
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>h</bold>(<bold>x</bold><italic><sub>k</sub></italic>), <bold>R</bold><italic><sub>k</sub></italic>). For convenience, the two vectors are formed to a single augmented one <bold>Z</bold> = [<bold>z</bold><italic><sub>k</sub></italic> <bold>x̄</bold><italic><sub>k</sub></italic>]<italic><sup>T</sup></italic>. According to the independent assumption, we have:
<disp-formula id="FD26">
<label>(26)</label>
<mml:math id="mm31" display="block">
<mml:semantics id="sm31">
<mml:mrow>
<mml:mtext mathvariant="bold">Z</mml:mtext>
<mml:mo>∼</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">g</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Here:
<disp-formula id="FD27">
<label>(27)</label>
<mml:math id="mm32" display="block">
<mml:semantics id="sm32">
<mml:mrow>
<mml:mtext mathvariant="bold">g</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">]</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo>,</mml:mo>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The update measurement problem becomes the one that computing the optimal state estimation and corresponding covariance given <bold>Z, g</bold> and <bold>Q̃</bold>.</p>
<p>Defining the objective function:
<disp-formula id="FD28">
<label>(28)</label>
<mml:math id="mm33" display="block">
<mml:semantics id="sm33">
<mml:mrow>
<mml:mtext mathvariant="bold">f</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">ξ</mml:mtext>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mtext mathvariant="bold">r</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext mathvariant="bold">ξ</mml:mtext>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>where <bold>r</bold>(<italic>ξ</italic>) = <bold>S</bold>(<bold>Z</bold> − <bold>g</bold>(<italic>ξ</italic>)), and <bold>r</bold>(<italic>ξ</italic>) is the second-order differentiable. Then the above update measurement becomes clearly a non-linear least squares problem.</p>
<p>Assuming the <italic>i</italic>-iterate is 
<inline-formula>
<mml:math id="mm34" display="inline">
<mml:semantics id="sm34">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mtext>x</mml:mtext>
<mml:mo>^</mml:mo></mml:mover></mml:mrow>
<mml:mtext>k</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, we can obtain the following equation [<xref ref-type="bibr" rid="b8-sensors-12-08912">8</xref>]:
<disp-formula id="FD29">
<label>(29)</label>
<mml:math id="mm35" display="block">
<mml:semantics id="sm35">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm36" display="inline">
<mml:semantics id="sm36">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo separator="false">(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p>We know the sequence of iterates generated by the IEKF and that generated by the Gauss-Newton method were identical, thus globally convergent was guaranteed. The initial state <bold>x̄</bold><italic><sub>k</sub></italic> is included in the measurement update, the value of <bold>x̄</bold><italic><sub>k</sub></italic> has a direct and large effect on the final state estimation. When the measurement model fully observes the state, the estimated state 
<inline-formula>
<mml:math id="mm37" display="inline">
<mml:semantics id="sm37">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mtext>k</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext>i</mml:mtext>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is more approximate to the true state than the predicted state <bold>x̄</bold><italic><sub>k</sub></italic> [<xref ref-type="bibr" rid="b7-sensors-12-08912">7</xref>]. Substituting <bold>x̄</bold><italic><sub>k</sub></italic> by 
<inline-formula>
<mml:math id="mm38" display="inline">
<mml:semantics id="sm38">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mtext>k</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mtext>i</mml:mtext>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> into <xref rid="FD29" ref-type="disp-formula">Equation (29)</xref>, hence, the following iterative formula is obtained:
<disp-formula id="FD30">
<label>(30)</label>
<mml:math id="mm39" display="block">
<mml:semantics id="sm39">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>Compared to <xref rid="FD29" ref-type="disp-formula">Equation (29)</xref>, the <xref rid="FD30" ref-type="disp-formula">Equation (30)</xref> is simpler, and the two equations are identical when there is a single iteration.</p>
<p>Now we consider the gain:
<disp-formula id="FD31">
<label>(31)</label>
<mml:math id="mm40" display="block">
<mml:semantics id="sm40">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula>where the terms 
<inline-formula>
<mml:math id="mm41" display="inline">
<mml:semantics id="sm41">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm42" display="inline">
<mml:semantics id="sm42">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> are approximate innovation covariance and cross-covariance obtained by linearizing the measurement equation:
<disp-formula id="FD32">
<label>(32)</label>
<mml:math id="mm43" display="block">
<mml:semantics id="sm43">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD33">
<label>(33)</label>
<mml:math id="mm44" display="block">
<mml:semantics id="sm44">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">H</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The terms of <xref rid="FD32" ref-type="disp-formula">Equations (32)</xref> and <xref rid="FD33" ref-type="disp-formula">(33)</xref> are achieved by expanding the measurement <xref rid="FD13" ref-type="disp-formula">Equation (13)</xref> up to a first-order Taylor term so that the linearized error is introduced due to the high-order truncated terms. As for the highly nonlinear measurement equation, the accuracy for state estimation is decreased if the linearized error is only propagated in the <xref rid="FD30" ref-type="disp-formula">Equation (30)</xref>. To decrease the propagated error, we can recalculate <xref rid="FD18" ref-type="disp-formula">Equations (18)</xref>–<xref rid="FD22" ref-type="disp-formula">(22)</xref> to obtain the terms 
<inline-formula>
<mml:math id="mm45" display="inline">
<mml:semantics id="sm45">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, 
<inline-formula>
<mml:math id="mm46" display="inline">
<mml:semantics id="sm46">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> in the following way:
<disp-formula id="FD34">
<label>(34)</label>
<mml:math id="mm47" display="block">
<mml:semantics id="sm47">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mi>l</mml:mi></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD35">
<label>(35)</label>
<mml:math id="mm48" display="block">
<mml:semantics id="sm48">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msqrt></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mi>l</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">[</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mi>l</mml:mi>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:mi>l</mml:mi>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD36">
<label>(36)</label>
<mml:math id="mm49" display="block">
<mml:semantics id="sm49">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Tria</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD37">
<label>(37)</label>
<mml:math id="mm50" display="block">
<mml:semantics id="sm50">
<mml:mrow>
<mml:msubsup>
<mml:mtext>P</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mrow>
<mml:mo>=</mml:mo></mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD38">
<label>(38)</label>
<mml:math id="mm51" display="block">
<mml:semantics id="sm51">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm52" display="inline">
<mml:semantics id="sm52">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is a square Cholesky factor of the covariance 
<inline-formula>
<mml:math id="mm53" display="inline">
<mml:semantics id="sm53">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p>Hence, we can obtain the following iterative formula:
<disp-formula id="FD39">
<label>(39)</label>
<mml:math id="mm54" display="block">
<mml:semantics id="sm54">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p></sec>
<sec>
<label>2.3.</label>
<title>Maximum Likelihood Based Iteration Termination Criterion</title>
<p>In the measurement update step of the IEKF algorithm, the inequality 
<inline-formula>
<mml:math id="mm55" display="inline">
<mml:semantics id="sm55">
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mo>≤</mml:mo>
<mml:mi>ε</mml:mi></mml:mrow></mml:semantics></mml:math></inline-formula> is used as the criterion to terminate the iteration procedure, where <italic>ε</italic> is the predetermined threshold. The threshold <italic>ε</italic> is crucial to successfully using the IEKF algorithm, but selecting a proper value of <italic>ε</italic> is difficult [<xref ref-type="bibr" rid="b10-sensors-12-08912">10</xref>]. The sequence of iterations generated according to the above termination condition has the property of global convergence; however, it is not guaranteed to move up the likelihood surface, so an iteration termination criterion based on maximum likelihood surface is introduced.</p>
<p>Consider 
<inline-formula>
<mml:math id="mm56" display="inline">
<mml:semantics id="sm56">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and <bold>z</bold><italic><sub>k</sub></italic> as the realization of independent random vectors with multivariate normal distributions, <italic>i.e.</italic>, 
<inline-formula>
<mml:math id="mm57" display="inline">
<mml:semantics id="sm57">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>∼</mml:mo>
<mml:mi mathvariant="script">N</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>, <bold>z</bold><italic><sub>k</sub></italic> ∼ 
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>h</bold>(<bold>x</bold><italic><sub>k</sub></italic>),<bold>R</bold><italic><sub>k</sub></italic>). The likelihood function of the two vectors <bold>x</bold><italic><sub>k</sub></italic> and <bold>z</bold><italic><sub>k</sub></italic> is defined as:
<disp-formula id="FD40">
<label>(40)</label>
<mml:math id="mm58" display="block">
<mml:semantics id="sm58">
<mml:mrow>
<mml:mi mathvariant="normal">Λ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">y</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">const</mml:mtext>
<mml:mo>•</mml:mo>
<mml:mo>exp</mml:mo>
<mml:mo stretchy="false">{</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>0.5</mml:mn>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm59" display="inline">
<mml:semantics id="sm59">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mtext>k</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mtext>k</mml:mtext>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p>Meanwhile, the likelihood surface is defined as follows:
<disp-formula id="FD41">
<label>(41)</label>
<mml:math id="mm60" display="block">
<mml:semantics id="sm60">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>−</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>We know that the solution that maximizes the likelihood function is equivalent to minimizing the cost function <italic>J</italic>(<bold>x</bold><italic><sub>k</sub></italic>). The optimal value of <italic>J</italic>(<bold>x</bold><italic><sub>k</sub></italic>) is difficult to obtain, but the following inequality holds:
<disp-formula id="FD42">
<label>(42)</label>
<mml:math id="mm61" display="block">
<mml:semantics id="sm61">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>&lt;</mml:mo>
<mml:mi>J</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>We say that 
<inline-formula>
<mml:math id="mm62" display="inline">
<mml:semantics id="sm62">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> is close to the maximum likelihood surface than 
<inline-formula>
<mml:math id="mm63" display="inline">
<mml:semantics id="sm63">
<mml:mrow>
<mml:mi>J</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>, equivalently, 
<inline-formula>
<mml:math id="mm64" display="inline">
<mml:semantics id="sm64">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> has a more accurate approximation than 
<inline-formula>
<mml:math id="mm65" display="inline">
<mml:semantics id="sm65">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> to the minimum value of <italic>J</italic>(<bold>x</bold><italic><sub>k</sub></italic>) [<xref ref-type="bibr" rid="b10-sensors-12-08912">10</xref>]. Extending <xref rid="FD42" ref-type="disp-formula">Equation (42)</xref> and using 
<inline-formula>
<mml:math id="mm66" display="inline">
<mml:semantics id="sm66">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, we immediately obtain the following inequality:
<disp-formula id="FD43">
<label>(43)</label>
<mml:math id="mm67" display="block">
<mml:semantics id="sm67">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>&lt;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm68" display="inline">
<mml:semantics id="sm68">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm69" display="inline">
<mml:semantics id="sm69">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and are defined as:
<disp-formula id="FD44">
<label>(44)</label>
<mml:math id="mm70" display="block">
<mml:semantics id="sm70">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD45">
<label>(45)</label>
<mml:math id="mm71" display="block">
<mml:semantics id="sm71">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The sequence generated is guaranteed to go up the likelihood surface using <xref rid="FD43" ref-type="disp-formula">Equation (43)</xref> as the criterion to iteration termination.</p></sec>
<sec>
<label>2.4.</label>
<title>Maximum Likelihood Based Iterated Divided Difference Filter</title>
<p>We have now arrived at the central issue of this paper, namely, the maximum likelihood based iterated divided difference filter. Enlightened by the development of IEKF and the superiority of DDF, we can derive the maximum likelihood based iterated divided difference filter (MLIDDF) which involves the use of the iteration measurement update and the current measurement. But in view of the potential problems exhibited by the IEKF, we shall refine the covariance and cross-covariance based on divided difference and use the termination criterion which guarantees the sequence obtained moves up the maximum likelihood surface. The MLIDDF is described as follows:
<list list-type="simple">
<list-item>
<p>Step 1. Time update</p>
<p>Evaluate the predicted state <bold>x̄</bold><italic><sub>k</sub></italic> and square Cholesky factor <bold>S̄</bold><italic><sub>k</sub></italic> of the corresponding covariance <bold>P̄</bold><italic><sub>k</sub></italic> using the <xref rid="FD14" ref-type="disp-formula">Equations (14)</xref>–<xref rid="FD17" ref-type="disp-formula">(17)</xref>.</p></list-item>
<list-item>
<p>Step 2. Measurement update</p>
<p>Let 
<inline-formula>
<mml:math id="mm72" display="inline">
<mml:semantics id="sm72">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm73" display="inline">
<mml:semantics id="sm73">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></inline-formula>. Suppose that the <italic>i</italic>-th iterates are 
<inline-formula>
<mml:math id="mm74" display="inline">
<mml:semantics id="sm74">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm75" display="inline">
<mml:semantics id="sm75">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>.
<list list-type="order">
<list-item>
<p>Evaluate the first- and second-order difference matrices using <xref rid="FD34" ref-type="disp-formula">Equation (34)</xref> and <xref rid="FD35" ref-type="disp-formula">(35)</xref>.</p></list-item>
<list-item>
<p>Evaluate the square root of innovation covariance and cross-covariance:
<disp-formula id="FD46">
<label>(46)</label>
<mml:math id="mm76" display="block">
<mml:semantics id="sm76">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Tria</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>v</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD47">
<label>(47)</label>
<mml:math id="mm77" display="block">
<mml:semantics id="sm77">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula></p></list-item>
<list-item>
<p>Evaluate the gain:
<disp-formula id="FD48">
<label>(48)</label>
<mml:math id="mm78" display="block">
<mml:semantics id="sm78">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">P</mml:mtext>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mi>z</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>/</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:mo>/</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>z</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula></p></list-item>
<list-item>
<p>Evaluate the state and the square root of corresponding covariance:
<disp-formula id="FD49">
<label>(49)</label>
<mml:math id="mm79" display="block">
<mml:semantics id="sm79">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>−</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD50">
<label>(50)</label>
<mml:math id="mm80" display="block">
<mml:semantics id="sm80">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">Tria</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mo mathvariant="bold">¯</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>v</mml:mi></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">K</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mrow>
<mml:mi>z</mml:mi>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>k</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mn>2</mml:mn>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm81" display="inline">
<mml:semantics id="sm81">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">s</mml:mtext>
<mml:mo>^</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> is the <italic>j</italic>-th column of 
<inline-formula>
<mml:math id="mm82" display="inline">
<mml:semantics id="sm82">
<mml:mrow>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>.</p></list-item></list></p></list-item>
<list-item>
<p>Step 3. If the following inequality holds:
<disp-formula id="FD51">
<label>(51)</label>
<mml:math id="mm83" display="block">
<mml:semantics id="sm83">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>T</mml:mi></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>&lt;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msubsup>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msubsup>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The iteration returns to Step 2; otherwise continue to Step 4. 
<inline-formula>
<mml:math id="mm84" display="inline">
<mml:semantics id="sm84">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula>, 
<inline-formula>
<mml:math id="mm85" display="inline">
<mml:semantics id="sm85">
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mo>∼</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></inline-formula> are defined in the <xref rid="FD44" ref-type="disp-formula">Equations (44)</xref> and <xref rid="FD45" ref-type="disp-formula">(45)</xref>.</p></list-item>
<list-item>
<p>Step 4. If the inequality is not satisfied or if <italic>i</italic> is too large (<italic>i</italic> &gt; <italic>N</italic><sub>max</sub>), and the ultimate state estimation and square root of corresponding covariance at <italic>k</italic> time instant are:
<disp-formula id="FD52">
<label>(52)</label>
<mml:math id="mm86" display="block">
<mml:semantics id="sm86">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mo mathvariant="bold">^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>max</mml:mo></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD53">
<label>(53)</label>
<mml:math id="mm87" display="block">
<mml:semantics id="sm87">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mtext mathvariant="bold">S</mml:mtext>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>N</mml:mi>
<mml:mrow>
<mml:mo>max</mml:mo></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:semantics></mml:math></disp-formula></p></list-item></list></p>
<p>The MLIDDF algorithm has the virtues of free-derivative and better numerical stability. The measurement update of MLIDDF algorithm is transformed to a nonlinear least-square problem; the optimum state estimation and covariance are solved using Gauss-Newton method, so the MLIDDF algorithm has the same global convergence as the Gauss-Newton method. Moreover, the iteration termination condition that makes the sequence move up the maximum likelihood surface is used in the measurement update process.</p></sec></sec>
<sec sec-type="methods">
<label>3.</label>
<title>Simulation and Analysis</title>
<p>In this section, we reported the experimental results obtained by applying the MLIDDF to the nonlinear state estimation of a maneuvering target in an air-traffic control scenario and a ballistic target re-entry scenario. To demonstrate the performance of the MLIDDF algorithm we compared its performance against the UKF, DDF, and the iterated UKF (IUKF) and iterated DDF (IDDF), both using a traditional iteration strategy.</p>
<sec>
<label>3.1.</label>
<title>Maneuvering Target Tracking in the Air-Traffic Control Scenario</title>
<p>We consider a typical air-traffic control scenario, where an aircraft executes a maneuvering turn in a horizontal plane at a constant, but unknown turn rate Ω. The kinematics of the turning motion can be modeled by the following nonlinear process equation [<xref ref-type="bibr" rid="b2-sensors-12-08912">2</xref>,<xref ref-type="bibr" rid="b19-sensors-12-08912">19</xref>]:
<disp-formula id="FD54">
<label>(54)</label>
<mml:math id="mm88" display="block">
<mml:semantics id="sm88">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mi>T</mml:mi></mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mi>T</mml:mi></mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mi>T</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mo>sin</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mi>T</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>−</mml:mo>
<mml:mo>cos</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mi>T</mml:mi></mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mi>T</mml:mi></mml:mrow>
<mml:mi mathvariant="normal">Ω</mml:mi></mml:mfrac></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>sin</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mi>T</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>cos</mml:mo>
<mml:mi mathvariant="normal">Ω</mml:mi>
<mml:mi>T</mml:mi></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">w</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>where the state of the aircraft <bold>x</bold> = [<italic>x ẋ y ẏ</italic> Ω]; <italic>x</italic> and <italic>y</italic> denote positions, and <italic>ẋ</italic> and <italic>ẏ</italic> denote velocities in the <italic>x</italic> and <italic>y</italic> directions, respectively; <italic>T</italic> is the time-interval between two consecutive measurements;</p>
<p>The process nose <bold>w</bold><italic><sub>k</sub></italic><sub>−1</sub>∼
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>0, Q</bold>) with a nonsingular covariance:
<disp-formula id="FD55">
<label>(55)</label>
<mml:math id="mm89" display="block">
<mml:semantics id="sm89">
<mml:mrow>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mtext mathvariant="bold">π</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:mtext mathvariant="bold">π</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mi>T</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext mathvariant="bold">π</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mn>3</mml:mn></mml:msup></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>3</mml:mn></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi>T</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The parameters <italic>q</italic><sub>1</sub> and <italic>q</italic><sub>2</sub> are related to process noise intensities. A radar is fixed at the origin of the place and equipped to measure the range, <italic>r</italic> and bearing, <italic>θ</italic>. Hence, the measurement equation is written:
<disp-formula id="FD56">
<label>(56)</label>
<mml:math id="mm90" display="block">
<mml:semantics id="sm90">
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>θ</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>tan</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">v</mml:mtext>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>where the measurement noise <bold>v</bold><italic><sub>k</sub></italic> ∼ 
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>0, R</bold>) and 
<inline-formula>
<mml:math id="mm91" display="inline">
<mml:semantics id="sm91">
<mml:mrow>
<mml:mtext mathvariant="bold">R</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mtext>diag</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>r</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>θ</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula>.</p>
<p>The parameters used in this simulation were the same as those in [<xref ref-type="bibr" rid="b19-sensors-12-08912">19</xref>]. To tracking the maneuvering aircraft we use the proposed MLIDDF algorithm and compare its performance against the DDF. We use the root-mean square error (<italic>RMSE</italic>) of the position, velocity and turn rate to compare the performances of two nonlinear filters. For a fair comparison, we make 250 independent Monte Carlo runs. The RMSE in position at time <italic>k</italic> is defined as:
<disp-formula id="FD57">
<label>(57)</label>
<mml:math id="mm92" display="block">
<mml:semantics id="sm92">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">RMSE</mml:mtext>
<mml:mi>p</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:msqrt></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm93" display="inline">
<mml:semantics id="sm93">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm94" display="inline">
<mml:semantics id="sm94">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> are the true and estimated positions at the <italic>i</italic>-th Monte Carlo run. Similarly to RMSE in position, we may also write formulas of <italic>RMSE</italic> in velocity and turn rate.</p>
<p>Owing to the fact that the filters is sensitive to initial state estimation, <xref ref-type="fig" rid="f1-sensors-12-08912">Figures 1</xref>–<xref ref-type="fig" rid="f3-sensors-12-08912">3</xref> show the <italic>RMSE</italic>s in position, velocity and turn rate, respectively for DDF and MLIDDF in an interval of 50–100 s. As can be seen in <xref ref-type="fig" rid="f1-sensors-12-08912">Figures 1</xref>–<xref ref-type="fig" rid="f3-sensors-12-08912">3</xref>, the MLIDDF significantly outperforms the DDF.</p>
<p>In order to analyze the impact of iteration numbers on performance of the MLIDDF algorithm, the MLIDDFs with various iteration numbers are applied to position estimation of maneuvering target. <xref ref-type="fig" rid="f4-sensors-12-08912">Figure 4</xref> shows the <italic>RMSE</italic>s of DDF and MLIDDFs with various numbers in position. From <xref ref-type="fig" rid="f4-sensors-12-08912">Figure 4</xref>, the <italic>RMSE</italic> in position for the MLIDDF with iteration number 2 begins to decrease largely comparable to that of DDF. The <italic>RMSE</italic> in position for MLIDDF with iteration number 5 significantly reduce, and the MLIDDF algorithm has very fast convergence rate. The <italic>RMSE</italic> of the position for MLIDDF decreases slowly when the iteration number is greater than 8; the reason is that the sequence generated has basically reached the maximum likelihood surface when the iteration termination condition is met.</p></sec>
<sec>
<label>3.2.</label>
<title>State Estimation of Reentry Ballistic Target</title>
<sec>
<label>3.2.1.</label>
<title>Simulation Scene</title>
<p>The relative location of the ballistic target re-entry (BTR) and the radar are shown in <xref ref-type="fig" rid="f5-sensors-12-08912">Figure 5</xref>. The inertial coordinate system (ECI-CS) <italic>Ox<sub>I</sub>y<sub>I</sub>z<sub>I</sub></italic> shown in <xref ref-type="fig" rid="f5-sensors-12-08912">Figure 5</xref> is a right-handed system with the origin <italic>O</italic> at the Earth's center, axis <italic>Ox<sub>I</sub></italic> pointing in the vernal equinox direction, axis <italic>Oz<sub>I</sub></italic> pointing in the direction of the North Pole <italic>N</italic>. Its fundamental plane <italic>Ox<sub>I</sub>y<sub>I</sub></italic> coincides with the Earth's equatorial plane.</p>
<p>Assume that the radar is situated at the surface of the Earth and considering the orthogonal coordinate reference system named East-North-Up coordinates system (ENU-CS) <italic>O<sub>s</sub>xyz</italic> has its origin at the location of the radar. In this system, <italic>z</italic> is directed along the local vertical and <italic>x</italic> and <italic>y</italic> lie in a local horizontal plane, with <italic>x</italic> pointing east and <italic>y</italic> pointing north. Assuming that the Earth is spherical and non-rotating and the forces acting on the target are only gravity and drag [<xref ref-type="bibr" rid="b20-sensors-12-08912">20</xref>], we can derive the following state equation according to the kinematics of the ballistic re-entry object in the reentry phase in ENU-CS:
<disp-formula id="FD58">
<label>(58)</label>
<mml:math id="mm95" display="block">
<mml:semantics id="sm95">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="bold">Φ</mml:mtext>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:mtext mathvariant="bold">G</mml:mtext>
<mml:mi mathvariant="bold">ψ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">w</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>where <bold>x</bold><italic><sub>k</sub></italic> = [<italic>x<sub>k</sub> ẋ<sub>k</sub> y<sub>k</sub> ẏ<sub>k</sub> z<sub>k</sub> ż<sub>k</sub> β<sub>k</sub></italic>]<italic>T</italic> is the state of ballistic target re-entry, and:
<disp-formula id="FD59">
<label>(59)</label>
<mml:math id="mm96" display="block">
<mml:semantics id="sm96">
<mml:mrow>
<mml:mtext mathvariant="bold">Φ</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>ϕ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mi>ϕ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mi>ϕ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>ϕ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mi>T</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD60">
<label>(60)</label>
<mml:math id="mm97" display="block">
<mml:semantics id="sm97">
<mml:mrow>
<mml:mtext mathvariant="bold">G</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mi>τ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mi>τ</mml:mi></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mi>τ</mml:mi></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mi>τ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mo>/</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mi>T</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD61">
<label>(61)</label>
<mml:math id="mm98" display="block">
<mml:semantics id="sm98">
<mml:mrow>
<mml:mi mathvariant="bold">ψ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>ρ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>β</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>3</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>ρ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>β</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>3</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>ρ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>β</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:mfrac>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:msub>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>μ</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:msubsup>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>3</mml:mn></mml:msubsup></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where
<disp-formula id="FD62">
<label>(62)</label>
<mml:math id="mm99" display="block">
<mml:semantics id="sm99">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:msqrt></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>V</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>˙</mml:mo></mml:mover>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>h</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>r</mml:mi>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>e</mml:mi></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula><italic>T</italic> is the time interval between radar measurements, <italic>β</italic> is the ballistic coefficient (kg/m<sup>2</sup>), <italic>μ</italic> and <italic>R</italic><sub>e</sub> are the Earth's gravitational constant and average Earth radius, respectively. Below 90 km at height, the air density <italic>ρ(h)</italic> is approximately modeled as an exponentially decaying function of height, <italic>ρ</italic>(<italic>h</italic>) = <italic>c</italic><sub>1</sub><italic>e</italic><sup>−<italic>c</italic><sub>2</sub><italic>h</italic></sup> (<italic>c</italic><sub>1</sub>, <italic>c</italic><sub>2</sub> are constant, specifically, <italic>c</italic><sub>1</sub> = 1.227, <italic>c</italic><sub>2</sub> = 1.093 × 10<sup>−4</sup> for h &lt; 9,144 m, and <italic>c</italic><sub>1</sub> = 1.754, <italic>c</italic><sub>2</sub> = 1.49 × 10<sup>−4</sup> for <italic>h</italic> ≥ 9,144 m) [<xref ref-type="bibr" rid="b21-sensors-12-08912">21</xref>].</p>
<p>Process noise <bold>w</bold><italic><sub>k</sub></italic> is assumed to be white noise with zero mean; its covariance is approximately modeled as [<xref ref-type="bibr" rid="b2-sensors-12-08912">2</xref>]:
<disp-formula id="FD63">
<label>(63)</label>
<mml:math id="mm100" display="block">
<mml:semantics id="sm100">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">Q</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mtext mathvariant="bold">θ</mml:mtext>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mtext mathvariant="bold">θ</mml:mtext>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>1</mml:mn></mml:msub>
<mml:msub>
<mml:mtext mathvariant="bold">θ</mml:mtext>
<mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mn mathvariant="bold">0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>q</mml:mi>
<mml:mn>2</mml:mn></mml:msub>
<mml:mi>T</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mtext mathvariant="bold">θ</mml:mtext>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mspace height=".6"/>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mn>3</mml:mn></mml:msup></mml:mrow></mml:mover>
<mml:mo>/</mml:mo>
<mml:munder accentunder="true">
<mml:mspace depth="-.8"/>
<mml:mn>3</mml:mn></mml:munder></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mspace height=".6"/>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mover>
<mml:mo>/</mml:mo>
<mml:munder accentunder="true">
<mml:mspace depth="-.8"/>
<mml:mn>2</mml:mn></mml:munder></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mspace height=".6"/>
<mml:mrow>
<mml:msup>
<mml:mi>T</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mover>
<mml:mo>/</mml:mo>
<mml:munder accentunder="true">
<mml:mspace depth="-.8"/>
<mml:mn>2</mml:mn></mml:munder></mml:mrow></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mi>T</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>q</italic><sub>1</sub> (in m<sup>2</sup>/s<sup>3</sup>) and <italic>q</italic><sub>2</sub> (in kg<sup>2</sup>/m<sup>4</sup>s) are the intensity of noise.</p>
<p>According to relative geometry, the measurement equation in the ENU-CS is described as:
<disp-formula id="FD64">
<label>(64)</label>
<mml:math id="mm101" display="block">
<mml:semantics id="sm101">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">z</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="bold">h</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">x</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mtext mathvariant="bold">v</mml:mtext>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>here <bold>z</bold><italic><sub>k</sub></italic> = [<italic>R<sub>k</sub> E<sub>k</sub> A<sub>k</sub></italic>]<italic><sup>T</sup></italic>, and:
<disp-formula id="FD65">
<label>(65)</label>
<mml:math id="mm102" display="block">
<mml:semantics id="sm102">
<mml:mrow>
<mml:msub>
<mml:mi>R</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>R</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD66">
<label>(66)</label>
<mml:math id="mm103" display="block">
<mml:semantics id="sm103">
<mml:mrow>
<mml:msub>
<mml:mi>E</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>z</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="true">/</mml:mo>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:msqrt></mml:mrow></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>E</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula>
<disp-formula id="FD67">
<label>(67)</label>
<mml:math id="mm104" display="block">
<mml:semantics id="sm104">
<mml:mrow>
<mml:msub>
<mml:mi>A</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>a</mml:mi>
<mml:msup>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="true">/</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:mrow>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>v</mml:mi>
<mml:mi>A</mml:mi></mml:msub></mml:mrow></mml:semantics></mml:math></disp-formula></p>
<p>The measurement noise <bold>v</bold><italic><sub>k</sub></italic> is assumed to be white noise with zero mean and covariance:
<disp-formula id="FD68">
<label>(68)</label>
<mml:math id="mm105" display="block">
<mml:semantics id="sm105">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="bold">N</mml:mtext>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mtext mathvariant="italic">diag</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>R</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>E</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msubsup>
<mml:mi>σ</mml:mi>
<mml:mi>A</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>σ<sub>R</sub>, σ<sub>E</sub>, σ<sub>A</sub></italic>, are the error standard deviations of range, elevation and azimuth, respectively. It is independent of the process noise <bold>w</bold><italic><sub>k</sub></italic> and initial state <bold>x</bold><sub>0</sub>.</p></sec>
<sec sec-type="methods|results">
<label>3.2.2.</label>
<title>Numerical Results and Analysis</title>
<p>The parameters used in simulation were: <italic>T</italic> = 0.1 s, <italic>q</italic><sub>1</sub> = 5 m<sup>2</sup>/s<sup>3</sup>, <italic>q</italic><sub>2</sub> = 5 kg<sup>2</sup>/m<sup>4</sup>s. The initial position and magnitude of the velocity: <italic>x</italic><sub>0</sub> = 232 km, <italic>y</italic><sub>0</sub> = 232 km, <italic>z</italic><sub>0</sub> = 90 km and <italic>v</italic><sub>0</sub> = 3,000 m/s, and the initial elevation and azimuth angle: <italic>E</italic><sub>0</sub> = 7π/6 and <italic>A</italic><sub>0</sub> = π/4. The ballistic coefficient was selected as <italic>β</italic> = 4,000 kg/m<sup>2</sup>. The error standard deviations of the measurements were selected as <italic>σ<sub>R</sub></italic> = 100 m, <italic>σ<sub>E</sub></italic> = 0.017 rad, and <italic>σ<sub>A</sub></italic> = 0.017 rad. A threshold <italic>ε</italic> = 10 was set in the IUKF and IDDF, and a maximum iteration number <italic>N</italic><sub>max</sub> = 8 was predetermined.</p>
<p>From the above parameters given, we can obtain the initial true state:
<disp-formula id="FD69">
<mml:math id="mm106" display="block">
<mml:semantics id="sm106">
<mml:mrow>
<mml:msub>
<mml:mi>x</mml:mi>
<mml:mn>0</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:mn>232</mml:mn>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
<mml:mspace width="0.3em"/>
<mml:mrow>
<mml:mo>−</mml:mo></mml:mrow>
<mml:mn>1837</mml:mn>
<mml:mi>m</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>s</mml:mi>
<mml:mspace width="0.3em"/>
<mml:mn>232</mml:mn>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
<mml:mspace width="0.3em"/>
<mml:mrow>
<mml:mo>−</mml:mo></mml:mrow>
<mml:mn>1837</mml:mn>
<mml:mi>m</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>s</mml:mi>
<mml:mspace width="0.3em"/>
<mml:mn>90</mml:mn>
<mml:mi>k</mml:mi>
<mml:mi>m</mml:mi>
<mml:mspace width="0.3em"/>
<mml:mrow>
<mml:mo>−</mml:mo></mml:mrow>
<mml:mn>1500</mml:mn>
<mml:mi>m</mml:mi>
<mml:mo>/</mml:mo>
<mml:mi>s</mml:mi>
<mml:mspace width="0.3em"/>
<mml:mn>4000</mml:mn>
<mml:mi>k</mml:mi>
<mml:mi>g</mml:mi>
<mml:mo>/</mml:mo>
<mml:msup>
<mml:mi>m</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:semantics></mml:math></disp-formula>and we select the corresponding covariance as: <bold>P</bold><sub>0</sub> = <italic>diag</italic>[100<sup>2</sup> 50<sup>2</sup> 100<sup>2</sup> 50<sup>2</sup> 100<sup>2</sup> 50<sup>2</sup> 200<sup>2</sup>].</p>
<p>To compare the performance of the various filter algorithms, we also use <italic>RMSE</italic> in the position, velocity and ballistic coefficient. The position <italic>RMSE</italic> at <italic>k</italic> time of the ballistic target re-entry is defined as:
<disp-formula id="FD70">
<label>(69)</label>
<mml:math id="mm107" display="block">
<mml:semantics id="sm107">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">RMSE</mml:mtext>
<mml:mi>p</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>k</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msqrt>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:msqrt></mml:mrow></mml:semantics></mml:math></disp-formula>where 
<inline-formula>
<mml:math id="mm108" display="inline">
<mml:semantics id="sm108">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> and 
<inline-formula>
<mml:math id="mm109" display="inline">
<mml:semantics id="sm109">
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>,</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:semantics></mml:math></inline-formula> are the true and estimated position at the <italic>i</italic>-th Monte Carlo run, <italic>N</italic> is the Monte Carlo runs. Similarity to the <italic>RMSE</italic> in position we may also write formulas of the <italic>RMSE</italic> in velocity and ballistic coefficient.</p>
<p><xref ref-type="fig" rid="f6-sensors-12-08912">Figures 6</xref>–<xref ref-type="fig" rid="f8-sensors-12-08912">8</xref> shows the position, velocity and ballistic coefficient <italic>RMSE</italic>s, respectively, for the various filters in an interval of 15–58 s. The initial state estimate <bold>x̂</bold><sub>0</sub> is chosen randomly from <bold>x̂</bold><sub>0</sub> ∼ 
<inline-graphic xlink:href="sensors-12-08912i1.gif"/>(<bold>x</bold><sub>0</sub>, <bold>P</bold><sub>0</sub>) in each run. All the filters are initialized with the same condition in each run. We make 100 independent Monte Carlo runs.</p>
<p>From <xref ref-type="fig" rid="f6-sensors-12-08912">Figure 6</xref> we can see that the position <italic>RMSE</italic> of the MLIDDF is much less than the UKF and DDF because of the use of the current measurement in the step of the iteration measurement update of the MLIDDF, and is less than the IUKF and IDDF owing to involving the proposed iteration strategy, so the estimates provided by the MLIDDF are markedly better than those of the UKF and DDF algorithms, and are better than those of IUKF and IDDF algorithms. The MLIDDF also shows a significant improvement over the other filters in the estimation of the velocity, as evidenced by <xref ref-type="fig" rid="f7-sensors-12-08912">Figure 7</xref>.</p>
<p>As to the estimation of the ballistic coefficient, in the <xref ref-type="fig" rid="f8-sensors-12-08912">Figure 8</xref>, we can see that there is no improvement in the <italic>RMSE</italic> in the initial interval of the observation period (t &lt; 35 s) because there is no effective information about it, while in the remaining period (35 s &lt; t &lt; 58 s) the ballistic coefficient <italic>RMSE</italic> is decreased because the effective information about the ballistic coefficient from the latest measurement is fully used. Especially, <xref ref-type="fig" rid="f8-sensors-12-08912">Figure 8</xref> illustrates that toward the end of the trajectory the estimates provided by the MLIDDF are markedly better than those of the UKF, DDF, IUKF and IDDF algorithms.</p>
<p>Meanwhile, we observe from <xref ref-type="fig" rid="f6-sensors-12-08912">Figures 6</xref>–<xref ref-type="fig" rid="f8-sensors-12-08912">8</xref> that the UKF and DDF have almost the same performance in the problem and the performance of IUKF and IDDF algorithms are almost identical.</p>
<p>For further comparison of performance for the various filters, the average accumulated position mean-square root error (<italic>AMSRE</italic>) is defined as follows:
<disp-formula id="FD71">
<label>(70)</label>
<mml:math id="mm110" display="block">
<mml:semantics id="sm110">
<mml:mrow>
<mml:msub>
<mml:mtext mathvariant="italic">AMSRE</mml:mtext>
<mml:mi>p</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>N</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msqrt>
<mml:mrow>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mi>M</mml:mi></mml:mfrac>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>x</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>y</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>y</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>+</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mi>z</mml:mi>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo>−</mml:mo>
<mml:msubsup>
<mml:mover accent="true">
<mml:mi>z</mml:mi>
<mml:mo>^</mml:mo></mml:mover>
<mml:mi>k</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:msqrt></mml:mrow></mml:mrow></mml:semantics></mml:math></disp-formula>where <italic>M</italic> is the total number of measurement data points. The formulas of the velocity and ballistic coefficient <italic>AMSREs</italic> can be written similar to the <italic>AMSRE<sub>p</sub></italic>. The position, velocity and ballistic coefficient <italic>AMSREs</italic> for the various filters are listed in <xref ref-type="table" rid="t2-sensors-12-08912">Table 2</xref>. <xref ref-type="table" rid="t3-sensors-12-08912">Table 3</xref> lists the runtimes of the various filters.</p>
<p>From <xref ref-type="table" rid="t2-sensors-12-08912">Table 2</xref>, it is seen that the position <italic>AMSRE</italic> for the MLIDDF algorithm is reduced by 62% compared to the UKF and DDF, by 7% compared to IUKF and IDDF. The velocity <italic>AMSRE</italic> for the MLIDDF algorithm is reduced by 23% compared to the UKF and DDF algorithms. The ballistic coefficient <italic>AMSRE</italic> for the MLIDDF algorithm is reduced by 7% compared to the UKF and DDF algorithms. Although the ballistic coefficient <italic>AMSRE</italic> for the MLIDDF algorithm has no significant reduction, we can see that it is reduced significantly compared to the UKF, DDF, IUKF and IDDF algorithms, hence, the MLIDDF is preferred over the other filters in the light of position, velocity and ballistic coefficient <italic>AMSRE</italic>s.</p>
<p>From <xref ref-type="table" rid="t3-sensors-12-08912">Table 3</xref>, we can see the runtime of MLIDDF is less than that of the IUKF algorithm, and is more than those of UKF, DDF, and IDDF algorithms, so the accuracy of the MLIDDF algorithm is improved at the cost of an increased computational burden. Meanwhile, we can observe the <italic>AMSREs</italic> for the UKF and DDF in position, velocity and ballistic coefficient are almost identical, and the <italic>AMSREs</italic> of the IUKF and IDDF are almost the same. Therefore, on the basis of the simulation results presented in <xref ref-type="fig" rid="f6-sensors-12-08912">Figures 6</xref>–<xref ref-type="fig" rid="f8-sensors-12-08912">8</xref> and <xref ref-type="table" rid="t2-sensors-12-08912">Table 2</xref>, one can draw the conclusion that the MLIDDF yields a superior performance over the other filters.</p></sec></sec></sec>
<sec sec-type="conclusions">
<label>4.</label>
<title>Conclusions and Future Work</title>
<p>In this study, we provide the maximum likelihood based iterated divided difference filter which inherits the virtues of the divided difference filter and contains the iteration process in the measurement update step. The sequence obtained is guaranteed to move up the likelihood surface using the iteration termination condition based on the maximum likelihood surface. The maximum likelihood based iterated divided difference is implemented easily and is derivative-free. We apply the new filter to state estimation for a ballistic target re-entry scenario and compare its performance against the unscented Kalman filter, divided difference filter, iterated unscented Kalman filter and iterated divided difference filter with the traditional termination criteria. Simulation results demonstrate that the maximum likelihood-based iterated divided difference is much more effective than the other filters. The maximum likelihood-based iterated divided difference greatly improves the performance of state estimation and has a shorter convergence time.</p>
<p>Future work may focus on the applications of the maximum likelihood iteration divided difference filter to remove the outliers which is a serious deviation from the sample and caused by blink and subjective eye movement in video nystagmus signal samples of pilot candidates.</p></sec></body>
<back>
<ack>
<p>This work was partially supported by Grants No. 30871220 from National Natural Science Foundation of China and No. 2007AA010305 from Subprojects of National 863 Key Projects.</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-12-08912"><label>1.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Grewal</surname><given-names>M.S.</given-names></name><name><surname>Andrews</surname><given-names>A.P.</given-names></name></person-group><source>Kalman Filtering: Theory and Practice Using Matlab</source><edition>3rd ed.</edition><publisher-name>John Wiley &amp; Sons, Inc</publisher-name><publisher-loc>Hoboken, NJ, USA</publisher-loc><year>2008</year><fpage>169</fpage><lpage>201</lpage></citation></ref>
<ref id="b2-sensors-12-08912"><label>2.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Bar-Shalom</surname><given-names>Y.</given-names></name><name><surname>Li</surname><given-names>X.R.</given-names></name><name><surname>Kirubarajan</surname><given-names>T.</given-names></name></person-group><source>Estimation with Applications to Tracking and Navigation</source><publisher-name>John Wiley &amp;Son, Inc</publisher-name><publisher-loc>Hoboken, NJ, USA</publisher-loc><year>2001</year><fpage>371</fpage><lpage>420</lpage></citation></ref>
<ref id="b3-sensors-12-08912"><label>3.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Jazwinski</surname><given-names>A.H.</given-names></name></person-group><source>Stochastic Process and Filtering Theory</source><publisher-name>Academic Press</publisher-name><publisher-loc>Waltham, MA, USA</publisher-loc><year>1970</year><fpage>332</fpage><lpage>365</lpage></citation></ref>
<ref id="b4-sensors-12-08912"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Julier</surname><given-names>S.J.</given-names></name><name><surname>Uhlmann</surname><given-names>J.K.</given-names></name></person-group><article-title>Unscented filtering and nonlinear estimation</article-title><source>Proc. IEEE</source><year>2004</year><volume>92</volume><fpage>401</fpage><lpage>422</lpage><pub-id pub-id-type="doi">10.1109/JPROC.2003.823141</pub-id></citation></ref>
<ref id="b5-sensors-12-08912"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Athans</surname><given-names>M.</given-names></name><name><surname>Wishner</surname><given-names>R.P.</given-names></name><name><surname>Bertolini</surname><given-names>A.</given-names></name></person-group><article-title>Suboptimal state estimation for continuous-time nonlinear system from discrete noisy measurements</article-title><source>IEEE Trans. Autom. Control</source><year>1968</year><volume>13</volume><fpage>504</fpage><lpage>514</lpage><pub-id pub-id-type="doi">10.1109/TAC.1968.1098986</pub-id></citation></ref>
<ref id="b6-sensors-12-08912"><label>6.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Gelb</surname><given-names>A.</given-names></name></person-group><source>Applied Optimal Estimation</source><publisher-name>The MIT Press</publisher-name><publisher-loc>Cambridge, MA, USA</publisher-loc><year>1974</year><fpage>180</fpage><lpage>228</lpage></citation></ref>
<ref id="b7-sensors-12-08912"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Lefebvre</surname><given-names>T.</given-names></name><name><surname>Bruyninckx</surname><given-names>H.</given-names></name><name><surname>de Schutter</surname><given-names>J.</given-names></name></person-group><article-title>Kalman filters for non-linear systems: A comparison of performance</article-title><source>Int. J. Control</source><year>2004</year><volume>77</volume><fpage>639</fpage><lpage>653</lpage><pub-id pub-id-type="doi">10.1080/00207170410001704998</pub-id></citation></ref>
<ref id="b8-sensors-12-08912"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Bell</surname><given-names>B.M.</given-names></name><name><surname>Cathey</surname><given-names>F.W.</given-names></name></person-group><article-title>The iterated Kalman filter update as a Gauss-Newton method</article-title><source>IEEE Trans. Autom. Control</source><year>1993</year><volume>38</volume><fpage>294</fpage><lpage>297</lpage><pub-id pub-id-type="doi">10.1109/9.250476</pub-id></citation></ref>
<ref id="b9-sensors-12-08912"><label>9.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Johnston</surname><given-names>L.A.</given-names></name><name><surname>Krishnamurthy</surname><given-names>V.</given-names></name></person-group><article-title>Derivation of a sawtooth iterated extended Kalman smoother via the AECM algorithm</article-title><source>IEEE Trans. Signal Proc.</source><year>2001</year><volume>49</volume><fpage>1899</fpage><lpage>1909</lpage><pub-id pub-id-type="doi">10.1109/78.942619</pub-id></citation></ref>
<ref id="b10-sensors-12-08912"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhan</surname><given-names>R.</given-names></name><name><surname>Wan</surname><given-names>J.</given-names></name></person-group><article-title>Iterated unscented Kalman filter for passive target tracking</article-title><source>IEEE Trans. Aerosp. Electron. Syst.</source><year>2007</year><volume>43</volume><fpage>1155</fpage><lpage>1163</lpage><pub-id pub-id-type="doi">10.1109/TAES.2007.4383605</pub-id></citation></ref>
<ref id="b11-sensors-12-08912"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schei</surname><given-names>T.S.</given-names></name></person-group><article-title>A finite-difference method for linearization in nonlinear estimation algorithms</article-title><source>Modeling Identif. Control</source><year>1998</year><volume>19</volume><fpage>141</fpage><lpage>152</lpage><pub-id pub-id-type="doi">10.4173/mic.1998.3.2</pub-id></citation></ref>
<ref id="b12-sensors-12-08912"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Julier</surname><given-names>S.</given-names></name><name><surname>Uhlmann</surname><given-names>J.</given-names></name><name><surname>Durrant-Whyte</surname><given-names>H.F.</given-names></name></person-group><article-title>A new method for the nonlinear transformation of means and covariances in filters and estimations</article-title><source>IEEE Trans. Autom. Control</source><year>2000</year><volume>45</volume><fpage>477</fpage><lpage>482</lpage><pub-id pub-id-type="doi">10.1109/9.847726</pub-id></citation></ref>
<ref id="b13-sensors-12-08912"><label>13.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Julier</surname><given-names>S.J.</given-names></name><name><surname>Uhlmann</surname><given-names>J.K.</given-names></name><name><surname>Durrant-Whyte</surname><given-names>H.F.</given-names></name></person-group><article-title>A New Approach for Filtering Nonlinear Systems</article-title><conf-name>Proceedings of the American Control Conference</conf-name><conf-loc>Seattle, WA, USA</conf-loc><year>1995</year><fpage>1628</fpage><lpage>1632</lpage></citation></ref>
<ref id="b14-sensors-12-08912"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Nørgaard</surname><given-names>M.</given-names></name><name><surname>Poulsen</surname><given-names>N.K.</given-names></name><name><surname>Ravn</surname><given-names>O.</given-names></name></person-group><article-title>New developments in state estimation for nonlinear systems</article-title><source>Automatica</source><year>2000</year><volume>36</volume><fpage>1627</fpage><lpage>1638</lpage><pub-id pub-id-type="doi">10.1016/S0005-1098(00)00089-3</pub-id></citation></ref>
<ref id="b15-sensors-12-08912"><label>15.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Nørgaard</surname><given-names>M.</given-names></name><name><surname>Poulsen</surname><given-names>N.K.</given-names></name><name><surname>Ravn</surname><given-names>O.</given-names></name></person-group><source>Advances in Derivative-Free State Estimation for Nonlinear Systems</source><comment>Technical Report</comment><publisher-name>Technical University of Denmark</publisher-name><publisher-loc>Lyngby, Denmark</publisher-loc><year>2000</year></citation></ref>
<ref id="b16-sensors-12-08912"><label>16.</label><citation citation-type="web"><person-group person-group-type="author"><name><surname>van der Merwe</surname><given-names>R.</given-names></name><name><surname>Wan</surname><given-names>E.</given-names></name></person-group><article-title>Sigma-Point Kalman Filters for Probabilistic Inference in Dynamic State-Space Models</article-title><year>2004</year><comment>Available online: <ext-link xlink:href="http://en.scientificcommons.org/42640909" ext-link-type="uri">http://en.scientificcommons.org/42640909</ext-link> (accessed on 26 June 2012)</comment></citation></ref>
<ref id="b17-sensors-12-08912"><label>17.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gordon</surname><given-names>N.</given-names></name><name><surname>Salmond</surname><given-names>D.J.</given-names></name><name><surname>Smith</surname><given-names>A.F.M.</given-names></name></person-group><article-title>Novel approach to nonlinear non-Gaussian Bayesian state estimation</article-title><source>IEEE Proc.</source><year>1993</year><volume>140</volume><fpage>107</fpage><lpage>113</lpage></citation></ref>
<ref id="b18-sensors-12-08912"><label>18.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arulampalam</surname><given-names>M.S.</given-names></name><name><surname>Maskell</surname><given-names>S.</given-names></name><name><surname>Gordon</surname><given-names>N.</given-names></name><name><surname>Clapp</surname><given-names>T.</given-names></name></person-group><article-title>A tutorial on particle filters for online nonlinear/non-Gaussian Bayesian tracking</article-title><source>IEEE Trans. Signal Proc.</source><year>2002</year><volume>50</volume><fpage>174</fpage><lpage>188</lpage><pub-id pub-id-type="doi">10.1109/78.978374</pub-id></citation></ref>
<ref id="b19-sensors-12-08912"><label>19.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Arasaratnam</surname><given-names>I.</given-names></name><name><surname>Haykin</surname><given-names>S.</given-names></name></person-group><article-title>Cubature Kalman filters</article-title><source>IEEE Trans. Autom. Control</source><year>2009</year><volume>54</volume><fpage>1254</fpage><lpage>1269</lpage><pub-id pub-id-type="doi">10.1109/TAC.2009.2019800</pub-id></citation></ref>
<ref id="b20-sensors-12-08912"><label>20.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname><given-names>X.R.</given-names></name><name><surname>Jilkov</surname><given-names>V.P.</given-names></name></person-group><article-title>A survey of maneuvering target tracking-part II: Ballistic target models</article-title><source>Proc. SPIE</source><year>2001</year><volume>4473</volume><fpage>559</fpage><lpage>581</lpage></citation></ref>
<ref id="b21-sensors-12-08912"><label>21.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Farina</surname><given-names>A.</given-names></name><name><surname>Ristic</surname><given-names>B.</given-names></name><name><surname>Benvenuti</surname><given-names>D.</given-names></name></person-group><article-title>Tracking a ballistic target: Comparison of several nonlinear filters</article-title><source>IEEE Trans. Aerosp. Electron. Syst.</source><year>2002</year><volume>38</volume><fpage>854</fpage><lpage>867</lpage><pub-id pub-id-type="doi">10.1109/TAES.2002.1039404</pub-id></citation></ref></ref-list>
<sec sec-type="display-objects">
<title>Figures and Tables</title>
<fig id="f1-sensors-12-08912" position="float">
<label>Figure 1.</label>
<caption>
<p>RMSE in position for DDF and MLIDDF.</p></caption>
<graphic xlink:href="sensors-12-08912f1.gif"/></fig>
<fig id="f2-sensors-12-08912" position="float">
<label>Figure 2.</label>
<caption>
<p>RMSE in velocity for DDF and MLIDDF.</p></caption>
<graphic xlink:href="sensors-12-08912f2.gif"/></fig>
<fig id="f3-sensors-12-08912" position="float">
<label>Figure 3.</label>
<caption>
<p>RMSE in turn rate for DDF and MLIDDF.</p></caption>
<graphic xlink:href="sensors-12-08912f3.gif"/></fig>
<fig id="f4-sensors-12-08912" position="float">
<label>Figure 4.</label>
<caption>
<p>RMSE in position for MLIDDFs with various iterate numbers (MLIDDF<sub>1</sub> with iterate numbers 2, MLIDDF<sub>2</sub> with 5, MLIDDF<sub>3</sub> with 8, MLIDDF<sub>4</sub> with 10).</p></caption>
<graphic xlink:href="sensors-12-08912f4.gif"/></fig>
<fig id="f5-sensors-12-08912" position="float">
<label>Figure 5.</label>
<caption>
<p>Geometry of radar and BTR.</p></caption>
<graphic xlink:href="sensors-12-08912f5.gif"/></fig>
<fig id="f6-sensors-12-08912" position="float">
<label>Figure 6.</label>
<caption>
<p>Position <italic>RMSE</italic>s for various filters.</p></caption>
<graphic xlink:href="sensors-12-08912f6.gif"/></fig>
<fig id="f7-sensors-12-08912" position="float">
<label>Figure 7.</label>
<caption>
<p>Velocity <italic>RMSE</italic>s for various filters.</p></caption>
<graphic xlink:href="sensors-12-08912f7.gif"/></fig>
<fig id="f8-sensors-12-08912" position="float">
<label>Figure 8.</label>
<caption>
<p>Ballistic coefficient <italic>RMSE</italic>s for various filters.</p></caption>
<graphic xlink:href="sensors-12-08912f8.gif"/></fig>
<table-wrap id="t1-sensors-12-08912" position="float">
<label>Table 1.</label>
<caption>
<p>Pro and cons for various filters.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="top"><bold>Various filters</bold></th>
<th align="center" valign="top"><bold>Advantage</bold></th>
<th align="center" valign="top"><bold>Disadvantage</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">EKF</td>
<td align="center" valign="top">Less runtime</td>
<td align="center" valign="top">Calculation of Jacobian</td></tr>
<tr>
<td align="center" valign="top">Second-order EKF</td>
<td align="center" valign="top">high accuracy</td>
<td align="center" valign="top">Calculation of Jacobian and Hessian</td></tr>
<tr>
<td align="center" valign="top">IEKF</td>
<td align="center" valign="top">high accuracy</td>
<td align="center" valign="top">Calculation of Jacobian</td></tr>
<tr>
<td align="center" valign="top">UKF</td>
<td align="center" valign="top">Derivative-free</td>
<td align="center" valign="top">more runtime</td></tr>
<tr>
<td align="center" valign="top">IUKF-VS</td>
<td align="center" valign="top">Derivative-free, high accuracy</td>
<td align="center" valign="top">more runtime</td></tr>
<tr>
<td align="center" valign="top">FDF</td>
<td align="center" valign="top">Derivative-free, Less runtime</td>
<td align="center" valign="top">Lower accuracy</td></tr>
<tr>
<td align="center" valign="top">DDF</td>
<td align="center" valign="top">Derivative-free</td>
<td align="center" valign="top">Low accuracy</td></tr>
<tr>
<td align="center" valign="top">PF</td>
<td align="center" valign="top">Derivative-free</td>
<td align="center" valign="top">Heavy computational burden</td></tr></tbody></table></table-wrap>
<table-wrap id="t2-sensors-12-08912" position="float">
<label>Table 2.</label>
<caption>
<p><italic>AMSRE</italic>s for various filters.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="top"><bold>Various algorithms</bold></th>
<th align="center" valign="top"><bold><italic>AMSRE<sub>p</sub>(m)</italic></bold></th>
<th align="center" valign="top"><bold><italic>AMSRE<sub>v</sub>(m/s)</italic></bold></th>
<th align="center" valign="top"><bold><italic>AMSRE<sub>β</sub>(kg/m<sup>2</sup>)</italic></bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">UKF</td>
<td align="center" valign="top">2521.684</td>
<td align="center" valign="top">329.911</td>
<td align="center" valign="top">155.735</td></tr>
<tr>
<td align="center" valign="top">DDF</td>
<td align="center" valign="top">2521.573</td>
<td align="center" valign="top">329.903</td>
<td align="center" valign="top">155.276</td></tr>
<tr>
<td align="center" valign="top">IUKF</td>
<td align="center" valign="top">1035.340</td>
<td align="center" valign="top">259.173</td>
<td align="center" valign="top">149.603</td></tr>
<tr>
<td align="center" valign="top">IDDF</td>
<td align="center" valign="top">1035.273</td>
<td align="center" valign="top">260.771</td>
<td align="center" valign="top">149.756</td></tr>
<tr>
<td align="center" valign="top">MLIDDF</td>
<td align="center" valign="top">968.746</td>
<td align="center" valign="top">255.916</td>
<td align="center" valign="top">144.953</td></tr></tbody></table></table-wrap>
<table-wrap id="t3-sensors-12-08912" position="float">
<label>Table 3.</label>
<caption>
<p>Runtimes of various filters.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="center" valign="top"><bold>Various algorithms</bold></th>
<th align="center" valign="top"><bold>Runtime(<italic>s</italic>)</bold></th></tr></thead>
<tbody>
<tr>
<td align="center" valign="top">UKF</td>
<td align="center" valign="top">1.0840</td></tr>
<tr>
<td align="center" valign="top">DDF</td>
<td align="center" valign="top">0.2888</td></tr>
<tr>
<td align="center" valign="top">IUKF</td>
<td align="center" valign="top">1.9918</td></tr>
<tr>
<td align="center" valign="top">IDDF</td>
<td align="center" valign="top">0.5133</td></tr>
<tr>
<td align="center" valign="top">MLIDDF</td>
<td align="center" valign="top">1.3074</td></tr></tbody></table></table-wrap></sec></back></article>
