<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMC</journal-id>
<journal-id journal-id-type="nlm-ta">CMC</journal-id>
<journal-id journal-id-type="publisher-id">CMC</journal-id>
<journal-title-group>
<journal-title>Computers, Materials &#x0026; Continua</journal-title>
</journal-title-group>
<issn pub-type="epub">1546-2226</issn>
<issn pub-type="ppub">1546-2218</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">17225</article-id>
<article-id pub-id-type="doi">10.32604/cmc.2021.017225</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>GPS Vector Tracking Loop with Fault Detection and Exclusion</article-title>
<alt-title alt-title-type="left-running-head">GPS Vector Tracking Loop with Fault Detection and Exclusion</alt-title>
<alt-title alt-title-type="right-running-head">GPS Vector Tracking Loop with Fault Detection and Exclusion</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Jwo</surname>
<given-names>Dah-Jing</given-names>
</name>
<email>djjwo@mail.ntou.edu.tw</email></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western">
<surname>Hsieh</surname>
<given-names>Meng-Hsien</given-names>
</name></contrib>
<aff><institution>Department of Communications, Navigation and Control Engineering, National Taiwan Ocean University</institution>, <addr-line>Keelung, 202301</addr-line>, <country>Taiwan</country></aff>
</contrib-group>
<author-notes><corresp id="cor1">&#x002A;Corresponding Author: Dah-Jing Jwo. Email: <email>djjwo@mail.ntou.edu.tw</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-03-01">
<day>01</day>
<month>03</month>
<year>2021</year>
</pub-date>
<volume>68</volume>
<issue>2</issue>
<fpage>1785</fpage>
<lpage>1805</lpage>
<history>
<date date-type="received">
<day>19</day>
<month>01</month>
<year>2021</year>
</date>
<date date-type="accepted">
<day>24</day>
<month>02</month>
<year>2021</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2021 Jwo and Hsieh</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Jwo and Hsieh</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMC_17225.pdf"></self-uri>


<abstract>
<p>In this paper, both the integrity monitoring and fault detection and exclusion (FDE) mechanisms are incorporated into the vector tracking loop (VTL) architecture of the Global Positioning System (GPS) receiver for reliability enhancement. For the VTL, the tasks of signal tracking and navigation state estimation no longer process separately and a single extended Kalman filter (EKF) is employed to simultaneously track the received signals and estimate the receiver&#x2019;s position, velocity, etc. In contrast to the scalar tracking loop (STL) which utilizes the independent parallel tracking loop approach, the VTL technique is beneficial from the correlation of each satellite signal and user dynamics. The VTL approach provides several important advantages. One of the merits is that the tracking loop can be assisted for overcoming the problem of signal blockage. Although the VTL architectures provide several important advantages, they suffer some fundamental drawbacks. For example, the errors in the navigation solutions may degrade the tracking accuracy. The most significant drawback is that failure of tracking in one channel may affect the entire tracking loop and possibly lead to loss of lock. For reliability enhancement, the EKF based integrity monitoring and FDE algorithms are developed to prevent the error from spreading into the entire tracking loop. The integrity monitoring is utilized to check the possible fault in the pseudorange and the pseudorange rate, followed by the FDE mechanism employed to exclude the abnormal satellite signals. Performance assessment and evaluation for the proposed approach will be presented.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Global Positioning System</kwd>
<kwd>vector tracking loop</kwd>
<kwd>signal  blockage</kwd>
<kwd>integrity</kwd>
<kwd>fault detection and exclusion</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>The Global Positioning System (GPS) is a satellite-based navigation system [<xref ref-type="bibr" rid="ref-1">1</xref>&#x2013;<xref ref-type="bibr" rid="ref-5">5</xref>] that provides a user with the proper equipment access to useful and accurate positioning information anywhere on the globe. Generally, the GPS receiver accomplishes the following two major functions: (1) tracking of the pseudorange and pseudorange rate, and (2) solving the navigation states. The signal tracking tries to adjust the local signal to synchronize the code phase with the received satellite signal. Traditional GPS receivers track signals from different satellites independently where each tracking channel measures the pseudorange and pseudorange rate, respectively, and then sends the measurements to the navigationF processor to solve for the user&#x2019;s position, velocity, clock bias and clock drift (PVT).</p>
<p>As the most vulnerable parts of a receiver, the carrier and code tracking loops play a key role in a GPS receiver. The scalar tracking loop (STL) processes signals from each satellite separately. Specifically, a delay lock loop (DLL) is adopted to track the code phase of the incoming pseudorandom code and a carrier tracking loop, such as a frequency lock loop (FLL) or a phase lock loop (PLL), is adopted to track the carrier frequency or phase. The tracking results from different channels are then combined to perform the navigation state estimate. The drawback of a STL is that it neglects the inherent relationship between the navigation solutions and the tracking loop status. A STL is more like an open loop system and suffered from performance degradation when scintillation, interference, or signal outages occur. The vector tracking loop (VTL) [<xref ref-type="bibr" rid="ref-6">6</xref>&#x2013;<xref ref-type="bibr" rid="ref-11">11</xref>] provides a deep level of integration between signal tracking and navigation solutions in a GPS receiver and possesses significant important improvement over the traditional STL. The notable advantages of the VTL include the increase of interference immunity, the ability to operate at low signal power and bridge short signal outages, and the robust dynamic performance. Although the current VTL architectures provide several important advantages, they suffer some fundamental drawbacks. The errors in the navigation solutions may degrade the accuracy of the tracking loop results. Furthermore, the failure of tracking in one channel may affect the entire system and lead to loss of lock on all satellites. To ensure a user position solution with predetermined uncertainty levels, reliability monitoring and assessment are important.</p>
<p>Navigation system integrity refers to the ability of the system to provide timely warming to users when the system should not be used for navigation. It is regarded as a risk factor can provide timely warning to users when the position error exceeds a specified limit. The receiver autonomous integrity monitoring (RAIM) [<xref ref-type="bibr" rid="ref-12">12</xref>&#x2013;<xref ref-type="bibr" rid="ref-17">17</xref>] was proposed in the latter half of the 1980&#x2019;s. A variety of RAIM schemes have been proposed based on some kind of self-consistency check among the available redundant measurements. The conventional RAIM is based on the snapshot approach which assumes each measurement is uncorrelated from one minute to the next. With this method, only current redundant measurements are used in the self-consistency check. The instantaneous snapshot least squares residual vector is used to compute the test static. The principle is based on the use of redundant satellite observations (redundant message) by mutual checking of data consistency (consistency check) to detect whether the satellite signals to provide the correct information. Reliability monitoring typically consists of testing the residuals of the observations statistically on an epoch-by-epoch basis with the aim of detecting and excluding measurement errors and, therefore, obtaining consistency among the observations with assigned uncertainty levels.</p>
<p>In addition to the least squares method, the sequential approach that uses the extended Kalman filter (EKF) [<xref ref-type="bibr" rid="ref-18">18</xref>,<xref ref-type="bibr" rid="ref-19">19</xref>] can be employed for processing of navigation solution and integrity monitoring. The well-known Kalman filter provides optimal (minimum mean square error) estimate of the system state vector and has been widely applied in many engineering applications. The Kalman filter is a recursive filter, for which there is no need to store past measurements for the purpose of computing present estimates. Given a signal that consists of a linear dynamical system driven by stochastic white noise processes, the Kalman filter provides a method for constructing an optimal estimate of the system state vector. While employed in the GPS receiver as the navigational state estimator, the EKF has been one of the promising approaches as an alternative method for integrity monitoring. In this paper, the EKF based integrity monitoring and FDE algorithms are incorporated to prevent the error of one channel from spreading into the entire tracking loop.</p>
<p>The remainder of this paper is organized as follows. In Section 2, preliminary background on system model for the GPS vector tracking loop is reviewed. The snapshot approach for GPS navigation solution with RAIM is introduced in Section 3. The EKF based integrity monitoring and FDE algorithms are discussed in Section 4. In Section 5, simulation experiments are carried out to evaluate the performance for various scenarios. Conclusions are given in Section 6.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>System Model for the GPS Vector Tacking Loop</title>
<p>The traditional GPS receiver involves some parallel DLLs, each of which tracks a satellite to estimate the corresponding pseudorange. The parallel pseudorange measurements are sent to the navigation filter to solve for the navigation state vector. The VTL differs from the traditional STL in that the task of navigation solutions, code tracking and carrier tracking loops for all satellites are combined into one loop. The central part of a VTL is the EKF which provides an optimal estimation of signal parameters for all satellites in view and user PVT solutions based on both current and previous measurements from all satellites.</p>
<p>In the VDLL, each channel does not form a loop independently. The vector comprised of outputs of all the code phase discriminators is the measurement of navigation filter. The navigation state vector is estimated by navigation filter, and the error signals arise from the estimated user positions and the satellite positions calculated by the ephemeris. The code loop numerically-controlled oscillator (NCO) as the signal generator in the SDLL is replaced by the estimated user positions, to control the update of the local code. When one channel experiences interference or signal outages in the VTL, the information from other satellites can be used estimate the status of this channel. The system architectures for the STL and VTL are shown as in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>. The integrity check algorithms are used to detect the possible error in each channel to prevent the spreading of the error.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>The system architectures for (a) scalar tracking loop and (b) vector tracking loop</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-1.png"/>
</fig>
<p>The code phase observation of the GPS C/A code can be represented by:</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-1.png"/><tex-math id="tex-eqn-1"><![CDATA[$$\begin{equation}
\rho =\frac{1}{\lambda _{C/A}} \left(r+\delta r+c\delta t\right)+\varepsilon \label{eqn-1}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-1" display="block"><mml:mi>&#x03C1;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mo>/</mml:mo><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>r</mml:mi><mml:mo>+</mml:mo><mml:mi>&#x03B4;</mml:mi><mml:mi>r</mml:mi><mml:mo>+</mml:mo><mml:mi>c</mml:mi><mml:mi>&#x03B4;</mml:mi><mml:mi>t</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mi>&#x03B5;</mml:mi></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <inline-formula id="ieqn-1"><!--<alternatives><inline-graphic xlink:href="ieqn-1.png"/><tex-math id="tex-ieqn-1"><![CDATA[$ \lambda _{C/A}$]]></tex-math>--><mml:math id="mml-ieqn-1"><mml:msub><mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mrow><mml:mrow><mml:mi>C</mml:mi><mml:mo>/</mml:mo><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> is the GPS C/A code wavelength; <italic>r</italic> and <inline-formula id="ieqn-2"><!--<alternatives><inline-graphic xlink:href="ieqn-2.png"/><tex-math id="tex-ieqn-2"><![CDATA[$ \delta r $]]></tex-math>--><mml:math id="mml-ieqn-2"><mml:mi>&#x03B4;</mml:mi><mml:mi>r</mml:mi></mml:math><!--</alternatives>--></inline-formula> represent the range and its change between receiver antenna and GPS satellite; <italic>c</italic> is the speed of light; <inline-formula id="ieqn-3"><!--<alternatives><inline-graphic xlink:href="ieqn-3.png"/><tex-math id="tex-ieqn-3"><![CDATA[$ \delta t $]]></tex-math>--><mml:math id="mml-ieqn-3"><mml:mi>&#x03B4;</mml:mi><mml:mi>t</mml:mi></mml:math><!--</alternatives>--></inline-formula> is the receiver clock offset; <inline-formula id="ieqn-4"><!--<alternatives><inline-graphic xlink:href="ieqn-4.png"/><tex-math id="tex-ieqn-4"><![CDATA[$ \varepsilon $]]></tex-math>--><mml:math id="mml-ieqn-4"><mml:mi>&#x03B5;</mml:mi></mml:math><!--</alternatives>--></inline-formula> is the error term which includes the ionosphere delay, troposphere delay, measurement noise errors and multi-path errors etc. In order to remove the sensitivity on the variation of the signal amplitude and the reinforce on the track loop lock, the normalized energy difference between early and late code is selected as code loop phase discriminator.</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-2.png"/><tex-math id="tex-eqn-2"><![CDATA[$$\begin{equation}
\delta \rho =\frac{ \left({I_{E}}^{2}+{Q_{E}}^{2}\right)- \left({I_{L}}^{2}+{Q_{L}}^{2}\right)}{ \left({I_{E}}^{2}+{Q_{E}}^{2}\right)+ \left({I_{L}}^{2}+{Q_{L}}^{2}\right)} \label{eqn-2}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-2" display="block"><mml:mi>&#x03B4;</mml:mi><mml:mi>&#x03C1;</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac></mml:math><!--</alternatives>--></disp-formula></p>
<p>In <xref ref-type="disp-formula" rid="eqn-2">Eq. (2)</xref>, the correlated outputs that the early and late In-phase/quadrature phase values can be calculated as follows</p>
<p><disp-formula id="eqn-3a">
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-3.png"/><tex-math id="tex-eqn-3"><![CDATA[$$\begin{align}
& I_{E}=\sqrt{2 \left(C/N_{0}\right)T}R \left(\Updelta \tau +\frac{d}{2}\right)\sin c \left(\delta fT\right)\cos \left(\delta \varphi \right)+\eta _{{I_{E}}}\nonumber \\
& Q_{E}=\sqrt{2 \left(C/N_{0}\right)T}R \left(\Updelta \tau +\frac{d}{2}\right)\sin c \left(\delta fT\right)\sin \left(\delta \varphi \right)+\eta _{{Q_{E}}}\nonumber \\
& I_{L}=\sqrt{2 \left(C/N_{0}\right)T}R \left(\Updelta \tau -\frac{d}{2}\right)\sin c \left(\delta fT\right)\cos \left(\delta \varphi \right)+\eta _{{I_{L}}}\nonumber \\
& Q_{L}=\sqrt{2 \left(C/N_{0}\right)T}R \left(\Updelta \tau -\frac{d}{2}\right)\sin c \left(\delta fT\right)\sin \left(\delta \varphi \right)+\eta _{{Q_{L}}}\nonumber
\end{align}$$]]></tex-math>-->
<mml:math id="mml-eqn-3a" display="block"><mml:mtable columnalign="left" columnspacing="1pt"><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>C</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msqrt><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:mi>&#x03C4;</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo> sin</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi>f</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>cos</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi>&#x03C6;</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B7;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>C</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msqrt><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:mi>&#x03C4;</mml:mi><mml:mo>+</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo> sin</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi>f</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>sin</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi>&#x03C6;</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B7;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>E</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>C</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msqrt><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:mi>&#x03C4;</mml:mi><mml:mo>-</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo> sin</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi>f</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>cos</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi>&#x03C6;</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B7;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>I</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>C</mml:mi><mml:mo>/</mml:mo><mml:msub><mml:mrow><mml:mi>N</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msqrt><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:mi>&#x03C4;</mml:mi><mml:mo>-</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo> sin</mml:mo><mml:mi>c</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi>f</mml:mi><mml:mi>T</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>sin</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03B4;</mml:mi><mml:mi>&#x03C6;</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B7;</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mi>L</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <italic>C</italic>/<italic>N</italic><sub>0</sub> is the carrier to noise ratio of the received signal, <italic>R</italic> denotes the code correlation functions with correlator spacing d (<inline-formula id="ieqn-5"><!--<alternatives><inline-graphic xlink:href="ieqn-5.png"/><tex-math id="tex-ieqn-5"><![CDATA[$ \leq 1 $]]></tex-math>--><mml:math id="mml-ieqn-5"><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:math><!--</alternatives>--></inline-formula>) [chip], <inline-formula id="ieqn-6"><!--<alternatives><inline-graphic xlink:href="ieqn-6.png"/><tex-math id="tex-ieqn-6"><![CDATA[$ \Updelta \tau $]]></tex-math>--><mml:math id="mml-ieqn-6"><mml:mi>&#x03B4;</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:math><!--</alternatives>--></inline-formula> is the code delay error, <inline-formula id="ieqn-7"><!--<alternatives><inline-graphic xlink:href="ieqn-7.png"/><tex-math id="tex-ieqn-7"><![CDATA[$ \delta \varphi $]]></tex-math>--><mml:math id="mml-ieqn-7"><mml:mi>&#x03B4;</mml:mi><mml:mi>&#x03C6;</mml:mi></mml:math><!--</alternatives>--></inline-formula> is the carrier phase error, <inline-formula id="ieqn-8"><!--<alternatives><inline-graphic xlink:href="ieqn-8.png"/><tex-math id="tex-ieqn-8"><![CDATA[$ \delta f $]]></tex-math>--><mml:math id="mml-ieqn-8"><mml:mi>&#x03B4;</mml:mi><mml:mi>f</mml:mi></mml:math><!--</alternatives>--></inline-formula> is the Doppler shift error, <inline-formula id="ieqn-9"><!--<alternatives><inline-graphic xlink:href="ieqn-9.png"/><tex-math id="tex-ieqn-9"><![CDATA[$ \eta $]]></tex-math>--><mml:math id="mml-ieqn-9"><mml:mi>&#x03B7;</mml:mi></mml:math><!--</alternatives>--></inline-formula> is the independent in-phase component and orthogonal component of the Gaussian Noise. The cross-correlation function between local prompt code and the received spreading code is</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-3.png"/><tex-math id="tex-eqn-3"><![CDATA[$$\begin{equation}
R \left(\tau \right)= \left\{\begin{array}{l}1- \left| \tau \right| \\ 0 \end{array}\right.\begin{array}{l@{\quad}l}& \\ & \end{array}\begin{array}{l} \left| \tau \right| \leq 1 \\ \left| \tau \right| > 1 \end{array} \label{eqn-3}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-3" display="block"><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo></mml:mo></mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"></mml:mtd></mml:mtr> </mml:mtable><mml:mtable equalrows="false" columnlines="" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x2264;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>&#x003E;</mml:mo><mml:mn>1</mml:mn></mml:mtd></mml:mtr> </mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <inline-formula id="ieqn-10"><!--<alternatives><inline-graphic xlink:href="ieqn-10.png"/><tex-math id="tex-ieqn-10"><![CDATA[$ \tau $]]></tex-math>--><mml:math id="mml-ieqn-10"><mml:mi>&#x03C4;</mml:mi></mml:math><!--</alternatives>--></inline-formula> is in unit of chip. In the ideal case with noise, when the spacing between early and late code is one chip, and the input error range is <inline-formula id="ieqn-11"><!--<alternatives><inline-graphic xlink:href="ieqn-11.png"/><tex-math id="tex-ieqn-11"><![CDATA[$ \pm 0.5 $]]></tex-math>--><mml:math id="mml-ieqn-11"><mml:mo>&#x00B1;</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>5</mml:mn></mml:math><!--</alternatives>--></inline-formula> chips, the output of phase discriminator is equal to the tracking error.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>The Snapshot Approach for GPS RAIM</title>
<p>Consider the vectors relating the Earth&#x2019;s center, satellites and user positions. The vector <inline-formula id="ieqn-12"><!--<alternatives><inline-graphic xlink:href="ieqn-12.png"/><tex-math id="tex-ieqn-12"><![CDATA[$ \mathbf{s}$]]></tex-math>--><mml:math id="mml-ieqn-12"><mml:mstyle mathvariant="bold"><mml:mi>s</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></inline-formula> represents the vector from the Earth&#x2019;s center to a satellite, <inline-formula id="ieqn-13"><!--<alternatives><inline-graphic xlink:href="ieqn-13.png"/><tex-math id="tex-ieqn-13"><![CDATA[$ \mathbf{u}$]]></tex-math>--><mml:math id="mml-ieqn-13"><mml:mstyle mathvariant="bold"><mml:mi>u</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></inline-formula> represents the vector from the Earth&#x2019;s center to the user&#x2019;s position, and <inline-formula id="ieqn-14"><!--<alternatives><inline-graphic xlink:href="ieqn-14.png"/><tex-math id="tex-ieqn-14"><![CDATA[$ \mathbf{r}$]]></tex-math>--><mml:math id="mml-ieqn-14"><mml:mstyle mathvariant="bold"><mml:mi>r</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></inline-formula> represents the vector from the user to the satellite. The vector relation can be obtained</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-4.png"/><tex-math id="tex-eqn-4"><![CDATA[$$\begin{equation}
\mathbf{r}=\mathbf{s}-\mathbf{u} \label{eqn-4}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-4" display="block"><mml:mstyle mathvariant="bold"><mml:mi>r</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>s</mml:mi></mml:mstyle><mml:mo>-</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>u</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></disp-formula></p>
<p>The distance <inline-formula id="ieqn-15"><!--<alternatives><inline-graphic xlink:href="ieqn-15.png"/><tex-math id="tex-ieqn-15"><![CDATA[$ ||\mathbf{r}|| $]]></tex-math>--><mml:math id="mml-ieqn-15"><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>r</mml:mi></mml:mstyle><mml:mo>|</mml:mo><mml:mo>|</mml:mo></mml:math><!--</alternatives>--></inline-formula> is computed by measuring the propagation time from the transmitting satellite to the user/receiver. The GPS pseudorange <inline-formula id="ieqn-16"><!--<alternatives><inline-graphic xlink:href="ieqn-16.png"/><tex-math id="tex-ieqn-16"><![CDATA[$ \rho _{i}$]]></tex-math>--><mml:math id="mml-ieqn-16"><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> is defined for the <italic>i</italic> th satellite by</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-5.png"/><tex-math id="tex-eqn-5"><![CDATA[$$\begin{equation}
\rho _{i}=||\mathbf{s}_{i}-\mathbf{u}||+ct_{b}+v_{{\rho _{i}}} \label{eqn-5}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-5" display="block"><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>s</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>u</mml:mi></mml:mstyle><mml:mo>|</mml:mo><mml:mo>|</mml:mo><mml:mo>+</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <italic>c</italic> is the speed of light and <italic>t<sub>b</sub></italic> is the receiver clock offset from system time, and <inline-formula id="ieqn-17"><!--<alternatives><inline-graphic xlink:href="ieqn-17.png"/><tex-math id="tex-ieqn-17"><![CDATA[$ v_{{\rho _{i}}}$]]></tex-math>--><mml:math id="mml-ieqn-17"><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> is the range noise. Consider the user position in three dimensions, denoted by <inline-formula id="ieqn-18"><!--<alternatives><inline-graphic xlink:href="ieqn-18.png"/><tex-math id="tex-ieqn-18"><![CDATA[$ \left(x_{u}, y_{u}, z_{u}\right) $]]></tex-math>--><mml:math id="mml-ieqn-18"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula>, the pseudorange observables made to the <italic>n</italic> satellites can be written as</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-6.png"/><tex-math id="tex-eqn-6"><![CDATA[$$\begin{equation}
\rho _{i}=\sqrt{ \left(x_{i}-x_{u}\right)^{2}+ \left(y_{i}-y_{u}\right)^{2}+ \left(z_{i}-z_{u}\right)^{2}}+ct_{b}+v_{{\rho _{i}}}, \quad i=1,\ldots ,n
 \label{eqn-6}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-6" display="block"><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msqrt><mml:mo>+</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em"/><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <inline-formula id="ieqn-19"><!--<alternatives><inline-graphic xlink:href="ieqn-19.png"/><tex-math id="tex-ieqn-19"><![CDATA[$ \left(x_{i}, y_{i}, z_{i}\right) $]]></tex-math>--><mml:math id="mml-ieqn-19"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> denotes the <italic>i</italic> -th satellite&#x2019;s position in three dimensions.</p>
<sec id="s3_1">
<label>3.1</label>
<title>Linearization of the GPS Pseudorange Equations</title>
<p>The states and the measurements are related nonlinearly; the nonlinear ranges are linearized around an operating point using Taylor&#x2019;s series. <xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref> can be linearized by expanding Taylor&#x2019;s series around the approximate (or nominal) user position <inline-formula id="ieqn-20"><!--<alternatives><inline-graphic xlink:href="ieqn-20.png"/><tex-math id="tex-ieqn-20"><![CDATA[$ \left(\hat{x}_{n}, \hat{y}_{n}, \hat{z}_{n}\right) $]]></tex-math>--><mml:math id="mml-ieqn-20"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x0177;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1E91;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> and neglecting the higher-order terms. Defining <inline-formula id="ieqn-21"><!--<alternatives><inline-graphic xlink:href="ieqn-21.png"/><tex-math id="tex-ieqn-21"><![CDATA[$ \hat{\rho }_{i}$]]></tex-math>--><mml:math id="mml-ieqn-21"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> as <inline-formula id="ieqn-22"><!--<alternatives><inline-graphic xlink:href="ieqn-22.png"/><tex-math id="tex-ieqn-22"><![CDATA[$ \rho _{i}$]]></tex-math>--><mml:math id="mml-ieqn-22"><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> at <inline-formula id="ieqn-23"><!--<alternatives><inline-graphic xlink:href="ieqn-23.png"/><tex-math id="tex-ieqn-23"><![CDATA[$ \left(\hat{x}_{n}, \hat{y}_{n}, \hat{z}_{n}\right) $]]></tex-math>--><mml:math id="mml-ieqn-23"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x0177;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>&#x1E91;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> we have</p>
<p><disp-formula id="eqn-7">
<label>(7)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-7.png"/><tex-math id="tex-eqn-7"><![CDATA[$$\begin{equation}
\Updelta \rho _{i}=\rho _{i}-\hat{\rho }_{i}=e_{i1}\Updelta x_{u}+e_{i2}\Updelta y_{u}+e_{i3}\Updelta z_{u}+ct_{b}+v_{{\rho _{i}}} \label{eqn-7}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-7" display="block"><mml:mi>&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mi>&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mi>&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mi>&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>c</mml:mi><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><!--</alternatives>--></disp-formula></p>
<p>where</p>
<p><disp-formula id="eqn-8">
<label>(8)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-8.png"/><tex-math id="tex-eqn-8"><![CDATA[$$\begin{align}
&e_{i1}=\frac{\hat{x}_{n}-x_{i}}{\hat{r}_{i}}; \; e_{i2}=\frac{\hat{y}_{n}-y_{i}}{\hat{r}_{i}}; \; e_{i3}=\frac{\hat{z}_{n}-z_{i}}{\hat{r}_{i}}
 \label{eqn-8} \\
& \hat{r}_{i}=\sqrt{ \left(\hat{x}_{n}-x_{i}\right)^{2}+ \left(\hat{y}_{n}-y_{i}\right)^{2}+ \left(\hat{z}_{n}-z_{i}\right)^{2}}\nonumber
\end{align}$$]]></tex-math>-->
<mml:math id="mml-eqn-8" display="block"><mml:mtable columnalign="left" columnspacing="1pt"><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>;</mml:mo><mml:mspace width="2.77695pt"/><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x0177;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle><mml:mo>;</mml:mo><mml:mspace width="2.77695pt"/><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1E91;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x0177;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x1E91;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow></mml:msqrt></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>The vector <inline-formula id="ieqn-24"><!--<alternatives><inline-graphic xlink:href="ieqn-24.png"/><tex-math id="tex-ieqn-24"><![CDATA[$ \left(e_{i1}, e_{i2}, e_{i3}\right)\equiv \mathbf{E}_{i}$]]></tex-math>--><mml:math id="mml-ieqn-24"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2261;</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>E</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>, <inline-formula id="ieqn-25"><!--<alternatives><inline-graphic xlink:href="ieqn-25.png"/><tex-math id="tex-ieqn-25"><![CDATA[$ i=1, \ldots , n $]]></tex-math>--><mml:math id="mml-ieqn-25"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>n</mml:mi></mml:math><!--</alternatives>--></inline-formula>, denotes the line-of-sight vector from the user to the satellites. <xref ref-type="disp-formula" rid="eqn-7">Eq. (7)</xref> can be written in a matrix formulation</p>
<p><disp-formula id="eqn-9">
<label>(9)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-9.png"/><tex-math id="tex-eqn-9"><![CDATA[$$\begin{align}
 \Updelta \mathbf{\rho }&= \left[\begin{array}{l@{\quad}l@{\quad}l@{\quad}l@{\quad}l}\Updelta \rho _{1}& \Updelta \rho _{2}& \Updelta \rho _{3}& \cdots & \Updelta \rho _{n}\end{array}\right]^{T}\nonumber \\
&= \left[\begin{array}{l@{\quad}l@{\quad}l@{\quad}l}e_{11}& e_{12}& e_{13}& 1 \\ e_{21}& e_{22}& e_{23}& 1 \\ e_{31}& e_{32}& e_{33}& 1 \\ \vdots & \vdots & \vdots & \vdots \\ e_{n1}& e_{n2}& e_{n3}& 1 \end{array}\right] \left[\begin{array}{l}\Updelta x_{u} \\ \Updelta y_{u} \\ \Updelta z_{u} \\ ct_{b}\end{array}\right]+v_{\rho } \label{eqn-9}
\end{align}$$]]></tex-math>-->
<mml:math id="mml-eqn-9" display="block"><mml:mtable columnalign="left" columnspacing="1pt"><mml:mtr><mml:mtd><mml:mi>&#x0394;</mml:mi><mml:mstyle mathvariant="bold"><mml:mi>&#x03C1;</mml:mi></mml:mstyle></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none none none none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mi>&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mo>&#x22EF;</mml:mo><mml:mspace width="0.3em"/><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>&#x0394;</mml:mi><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none none none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>11</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>12</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>13</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>21</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>22</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>23</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>31</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>32</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mn>33</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mo>&#x22EE;</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mo>&#x22EE;</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mo>&#x22EE;</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>1</mml:mn></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mi>&#x03B4;</mml:mi><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mi>&#x03B4;</mml:mi><mml:msub><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mi>&#x03B4;</mml:mi><mml:msub><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mi>c</mml:mi><mml:msub><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>v</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>which can be represented as</p>
<p><disp-formula id="eqn-10">
<label>(10)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-10.png"/><tex-math id="tex-eqn-10"><![CDATA[$$\begin{equation}
\mathbf{y}=\mathbf{Gx}+\mathbf{\varepsilon } \label{eqn-10}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-10" display="block"><mml:mstyle mathvariant="bold"><mml:mi>y</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi><mml:mi>x</mml:mi></mml:mstyle><mml:mo>+</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>&#x03B5;</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></disp-formula></p>
<p>The matrix <inline-formula id="ieqn-26"><!--<alternatives><inline-graphic xlink:href="ieqn-26.png"/><tex-math id="tex-ieqn-26"><![CDATA[$ \mathbf{G}$]]></tex-math>--><mml:math id="mml-ieqn-26"><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></inline-formula> has the dimension of <inline-formula id="ieqn-27"><!--<alternatives><inline-graphic xlink:href="ieqn-27.png"/><tex-math id="tex-ieqn-27"><![CDATA[$ n\times 4 $]]></tex-math>--><mml:math id="mml-ieqn-27"><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mn>4</mml:mn></mml:math><!--</alternatives>--></inline-formula> with <inline-formula id="ieqn-28"><!--<alternatives><inline-graphic xlink:href="ieqn-28.png"/><tex-math id="tex-ieqn-28"><![CDATA[$ n \geq 4 $]]></tex-math>--><mml:math id="mml-ieqn-28"><mml:mi>n</mml:mi><mml:mo>&#x2265;</mml:mo><mml:mn>4</mml:mn></mml:math><!--</alternatives>--></inline-formula>, and is usually referred to as the &#x2018;geometry matrix&#x2019; or &#x2018;visibility matrix.&#x2019; The instantaneous &#x201C;snapshot&#x201D; approach assumes that each measurement is uncorrelated from one minute to the next time. The least-squares solution to <xref ref-type="disp-formula" rid="eqn-10">Eq. (10)</xref> is given by</p>
<p><disp-formula id="eqn-11">
<label>(11)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-11.png"/><tex-math id="tex-eqn-11"><![CDATA[$$\begin{equation}
\mathbf{x}_{\mathrm{LS}}= \left(\mathbf{G}^{\mathrm{T}}\mathbf{G}\right)^{-1}\mathbf{G}^{\mathrm{T}}\mathbf{y} \label{eqn-11}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-11" display="block"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>L</mml:mi><mml:mi>S</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></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:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup><mml:mstyle mathvariant="bold"><mml:mi>y</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></disp-formula></p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>RAIM Based on Snapshot Approach</title>
<p>Navigation system integrity refers to the ability of the system to provide timely warning to users when the system should not be used for navigation. The conventional RAIM is usually the &#x201C;snapshot&#x201D; type of approaches. While four satellites are sufficient for navigation, at least five satellites in view are needed for integrity monitoring. Otherwise, the geometry is unavailable for GPS RAIM. The linearized GPS pseudorange equation is an over-determined system of linear equations when the number of visible satellites is more than four. Three RAIM methods have received special attention in recent literatures on GPS integrity, including the range comparison method, least-squares residual method, and parity method. All three methods are snapshot schemes in that they assume that noisy redundant range-type measurements are available at a given sample point in time.</p>
<p>In the least-squares residuals method, the residuals are formed in much the same manner as was done in the range comparison method. Since the least-squares estimate of the solution is given by <xref ref-type="disp-formula" rid="eqn-11">Eq. (11)</xref>, the estimate of the measurement vector can be written as <inline-formula id="ieqn-29"><!--<alternatives><inline-graphic xlink:href="ieqn-29.png"/><tex-math id="tex-ieqn-29"><![CDATA[$ \hat{\mathbf{y}}=\mathbf{G}\hat{\mathbf{x}}_{\mathrm{LS}}=\mathbf{G} \left(\mathbf{G}^{\mathrm{T}}\mathbf{G}\right)^{-1}\mathbf{G}^{\mathrm{T}}\mathbf{y}$]]></tex-math>--><mml:math id="mml-ieqn-29"><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>y</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>L</mml:mi><mml:mi>S</mml:mi></mml:mstyle></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></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:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup><mml:mstyle mathvariant="bold"><mml:mi>y</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></inline-formula>. The range residual vector is defined as</p>
<p><disp-formula id="eqn-12">
<label>(12)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-12.png"/><tex-math id="tex-eqn-12"><![CDATA[$$\begin{equation}
\mathbf{w}=\mathbf{y}-\hat{\mathbf{y}}== \left[\mathbf{I}_{n}-\mathbf{G} \left(\mathbf{G}^{\mathrm{T}}\mathbf{G}\right)^{-1}\mathbf{G}^{\mathrm{T}}\right]\mathbf{\varepsilon } \label{eqn-12}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-12" display="block"><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>y</mml:mi></mml:mstyle><mml:mo>-</mml:mo><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>y</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>I</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle><mml:msup><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></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:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>G</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03B5;</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></disp-formula></p>
<p>This is the liner transformation that takes the range measurement error into resulting residual vector. The sum of the squares of the elements of <inline-formula id="ieqn-30"><!--<alternatives><inline-graphic xlink:href="ieqn-30.png"/><tex-math id="tex-ieqn-30"><![CDATA[$ \mathbf{w}$]]></tex-math>--><mml:math id="mml-ieqn-30"><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:math><!--</alternatives>--></inline-formula> is called the sum of squared errors (SSE).
<disp-formula id="eqn-12a">
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-12.png"/><tex-math id="tex-eqn-12"><![CDATA[$$\begin{eqnarray*}
\mathrm{SSE}=\mathbf{w}^{\mathrm{T}}\mathbf{w}
\end{eqnarray*}$$]]></tex-math>-->
<mml:math id="mml-eqn-12a" display="block"><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow></mml:math><!--</alternatives>--></disp-formula>
</p>
<p>The test statistic employed in the RAIM algorithm in terms of SSE is given by</p>
<p><disp-formula id="eqn-13">
<label>(13)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-13.png"/><tex-math id="tex-eqn-13"><![CDATA[$$\begin{equation}
{\rm Test \;Statistics}= \sqrt{\mathrm{SSE}/ \left(n-4\right)}
 \label{eqn-13}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-13" display="block"><mml:mi>T</mml:mi><mml:mi>e</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi><mml:mspace width="2.77695pt"/><mml:mi>S</mml:mi><mml:mi>t</mml:mi><mml:mi>a</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>s</mml:mi><mml:mi>t</mml:mi><mml:mi>i</mml:mi><mml:mi>c</mml:mi><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>E</mml:mi></mml:mstyle><mml:mo>/</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn>4</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msqrt></mml:math><!--</alternatives>--></disp-formula></p>
<p>where SSE is the unnormalized sum of the squared measurement residuals in all-in-view least squares solution and <italic>n</italic> is the number of satellites in view. When properly normalized, SSE has a Chi-square distribution with <inline-formula id="ieqn-31"><!--<alternatives><inline-graphic xlink:href="ieqn-31.png"/><tex-math id="tex-ieqn-31"><![CDATA[$ \left(n-4\right) $]]></tex-math>--><mml:math id="mml-ieqn-31"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>-</mml:mo><mml:mn>4</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> degrees of freedom.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>The EKF Based Approach for Integrity Monitoring and FDE Algorithms</title>
<p>In addition to the sequential approach, the other method is referred to as the sequential algorithm, where the Kalman filter is commonly employed. The approach is sometimes referred to as the Autonomous Integrity Monitored Extrapolation (AIME). The Kalman filter algorithms used in the linear system can be extended to the nonlinear system via the EKF approach, which is a nonlinear version of the Kalman filter and is widely used for the position estimation in GPS receivers. The process model and measurement model for the EKF can be written as</p>
<p><disp-formula id="eqn-14a">
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-14.png"/><tex-math id="tex-eqn-14"><![CDATA[$$\begin{align}
& \mathbf{x}_{k+1}=\mathbf{f} \left(\mathbf{x}_{k}\right)+\mathbf{w}_{k}\nonumber \\
& \mathbf{z}_{k}=\mathbf{h} \left(\mathbf{x}_{k}\right)+\mathbf{v}_{k}\nonumber
\end{align}$$]]></tex-math>-->
<mml:math id="mml-eqn-14a" display="block"><mml:mtable columnalign="left" columnspacing="1pt"><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo lspace='0pt' rspace='0pt'>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>f</mml:mi></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>z</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mi>h</mml:mi></mml:mstyle><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>v</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>where the state vector <inline-formula id="ieqn-32"><!--<alternatives><inline-graphic xlink:href="ieqn-32.png"/><tex-math id="tex-ieqn-32"><![CDATA[$ \mathbf{x}_{k}\in \Re ^{n}$]]></tex-math>--><mml:math id="mml-ieqn-32"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x211C;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>, process noise vector <inline-formula id="ieqn-33"><!--<alternatives><inline-graphic xlink:href="ieqn-33.png"/><tex-math id="tex-ieqn-33"><![CDATA[$ \mathbf{w}_{k}\in \Re ^{n}$]]></tex-math>--><mml:math id="mml-ieqn-33"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x211C;</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>, measurement vector<inline-formula id="ieqn-34"><!--<alternatives><inline-graphic xlink:href="ieqn-34.png"/><tex-math id="tex-ieqn-34"><![CDATA[$ \mathbf{z}_{k}\in \Re ^{m}$]]></tex-math>--><mml:math id="mml-ieqn-34"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>z</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x211C;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>, and measurement noise vector <inline-formula id="ieqn-35"><!--<alternatives><inline-graphic xlink:href="ieqn-35.png"/><tex-math id="tex-ieqn-35"><![CDATA[$ \mathbf{v}_{k}\in \Re ^{m}$]]></tex-math>--><mml:math id="mml-ieqn-35"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>v</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x211C;</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>. Both the vectors <inline-formula id="ieqn-36"><!--<alternatives><inline-graphic xlink:href="ieqn-36.png"/><tex-math id="tex-ieqn-36"><![CDATA[$ \mathbf{w}_{k}$]]></tex-math>--><mml:math id="mml-ieqn-36"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-37"><!--<alternatives><inline-graphic xlink:href="ieqn-37.png"/><tex-math id="tex-ieqn-37"><![CDATA[$ \mathbf{v}_{k}$]]></tex-math>--><mml:math id="mml-ieqn-37"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>v</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> are zero mean Gaussian white sequences having zero crosscorrelation with each other:
<disp-formula id="eqn-15a">
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-15.png"/><tex-math id="tex-eqn-15"><![CDATA[$$\begin{align*}
&\mathbf{E} \left[\mathbf{w}_{k}\mathbf{w}_{i}^{\mathrm{T}}\right]= \left\{\begin{array}{l@{\quad}l}\mathbf{Q}_{k}, & i=k \\ 0,& i\neq k \end{array}\right.; \\ &\mathbf{E} \left[\mathbf{v}_{k}\mathbf{v}_{i}^{\mathrm{T}}\right]= \left\{\begin{array}{l@{\quad}l}\mathbf{R}_{k},& i=k \\ 0, & i\neq k \end{array}\right.; \\ &\mathbf{E} \left[\mathbf{w}_{k}\mathbf{v}_{i}^{\mathrm{T}}\right]=\mathbf{0}\quad for\;all\;i\;and\;k
\end{align*}$$]]></tex-math>-->
<mml:math id="mml-eqn-15a" display="block"><mml:mtable columnalign="left" columnspacing="1pt"><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mstyle mathvariant="bold"><mml:mi>E</mml:mi></mml:mstyle><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>k</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>i</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>k</mml:mi></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo></mml:mo></mml:mrow><mml:mo>;</mml:mo></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mstyle mathvariant="bold"><mml:mi>E</mml:mi></mml:mstyle><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>v</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>v</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>R</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mi>k</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>i</mml:mi><mml:mo>&#x2260;</mml:mo><mml:mi>k</mml:mi></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo></mml:mo></mml:mrow><mml:mo>;</mml:mo></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mstyle mathvariant="bold"><mml:mi>E</mml:mi></mml:mstyle><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>v</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mn>0</mml:mn></mml:mstyle><mml:mspace width="1em"/><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mspace width="2.77695pt"/><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>l</mml:mi><mml:mspace width="2.77695pt"/><mml:mi>i</mml:mi><mml:mspace width="2.77695pt"/><mml:mi>a</mml:mi><mml:mi>n</mml:mi><mml:mi>d</mml:mi><mml:mspace width="2.77695pt"/><mml:mi>k</mml:mi></mml:mtd><mml:mtd></mml:mtd><mml:mtd><mml:mtext></mml:mtext></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula>
 where <inline-formula id="ieqn-38"><!--<alternatives><inline-graphic xlink:href="ieqn-38.png"/><tex-math id="tex-ieqn-38"><![CDATA[$ E \left[\cdot \right] $]]></tex-math>--><mml:math id="mml-ieqn-38"><mml:mi>E</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo>&#x22C5;</mml:mo></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> represents expectation, and superscript &#x201C;T&#x201D; denotes matrix transpose, <inline-formula id="ieqn-39"><!--<alternatives><inline-graphic xlink:href="ieqn-39.png"/><tex-math id="tex-ieqn-39"><![CDATA[$ \mathbf{Q}_{k}$]]></tex-math>--><mml:math id="mml-ieqn-39"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> is the process noise covariance matrix, <inline-formula id="ieqn-40"><!--<alternatives><inline-graphic xlink:href="ieqn-40.png"/><tex-math id="tex-ieqn-40"><![CDATA[$ \mathbf{R}_{k}$]]></tex-math>--><mml:math id="mml-ieqn-40"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>R</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> is the measurement noise covariance matrix.</p>
<p>The discrete-time extended Kalman filter algorithm is summarized as follow:
<list list-type="bullet">
<list-item><p>Correction steps/measurement update equations:</p></list-item>
</list></p>
 
<p><disp-formula id="eqn-14">
<label>(14)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-14.png"/><tex-math id="tex-eqn-14"><![CDATA[$$\begin{equation}\mathbf{K}_{k}=\mathbf{P}_{k}^{-}\mathbf{H}_{k}^{\mathrm{T}} \left[\mathbf{H}_{k}\mathbf{P}_{k}^{-}\mathbf{H}_{k}^{\mathrm{T}}+\mathbf{R}_{k}\right]^{-1} \label{eqn-14} \end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-14" display="block"><mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>K</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>H</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msubsup><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>H</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>H</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>R</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></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:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-15">
<label>(15)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-15.png"/><tex-math id="tex-eqn-15"><![CDATA[$$\begin{equation}\hat{\mathbf{x}}_{k}=\hat{\mathbf{x}}_{k}^{-}+\mathbf{K}_{k} \left[\mathbf{z}_{k}-\mathbf{h}_{k} \left(\hat{\mathbf{x}}_{k}^{-}\right)\right] \label{eqn-15} \end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-15" display="block"><mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>K</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>z</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>h</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</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:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<disp-formula id="eqn-16">
<label>(16)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-16.png"/><tex-math id="tex-eqn-16"><![CDATA[$$\begin{equation}\mathbf{P}_{k}= \left[\mathbf{I}-\mathbf{K}_{k}\mathbf{H}_{k}\right]\mathbf{P}_{k}^{-} \label{eqn-16}\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-16" display="block"><mml:mrow></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>I</mml:mi></mml:mstyle><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>K</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>H</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula>
 
<list list-type="bullet">
<list-item><p>Prediction steps/time update equations:</p></list-item>
</list>
 
<p><disp-formula id="eqn-17">
<label>(17)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-17.png"/><tex-math id="tex-eqn-17"><![CDATA[$$\begin{equation}\hat{\mathbf{x}}_{k+1}^{-}=\mathbf{f}_{k} \left(\hat{\mathbf{x}}_{k}\right) \label{eqn-17} \end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-17" display="block"><mml:mrow></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo lspace='0pt' rspace='0pt'>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>f</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p><disp-formula id="eqn-18">
<label>(18)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-18.png"/><tex-math id="tex-eqn-18"><![CDATA[$$\begin{equation}\mathbf{P}_{k+1}^{-}=\mathbf{\Phi }_{k}\mathbf{P}_{k}\mathbf{\Phi }_{k}^{\mathrm{T}}+\mathbf{Q}_{k} \label{eqn-18}\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-18" display="block"><mml:mrow></mml:mrow><mml:mrow><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mo lspace='0pt' rspace='0pt'>+</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>&#x03A6;</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mtext>&#x03A6;</mml:mtext></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow></mml:mrow></mml:math>
<!--</alternatives>--></disp-formula></p>
<p>Implementation of the EKF algorithm starts with an initial condition value, <inline-formula id="ieqn-41"><!--<alternatives><inline-graphic xlink:href="ieqn-41.png"/><tex-math id="tex-ieqn-41"><![CDATA[$ \hat{\mathbf{x}}_{0}^{-}$]]></tex-math>--><mml:math id="mml-ieqn-41"><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-42"><!--<alternatives><inline-graphic xlink:href="ieqn-42.png"/><tex-math id="tex-ieqn-42"><![CDATA[$ \mathbf{P}_{0}^{-}$]]></tex-math>--><mml:math id="mml-ieqn-42"><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup></mml:math><!--</alternatives>--></inline-formula>. When new measurement <inline-formula id="ieqn-43"><!--<alternatives><inline-graphic xlink:href="ieqn-43.png"/><tex-math id="tex-ieqn-43"><![CDATA[$ \mathbf{z}_{k}$]]></tex-math>--><mml:math id="mml-ieqn-43"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>z</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> becomes available with the progression of time, the estimation of states and the corresponding error covariance would follow recursively ad infinity. The linear approximation equations for system and measurement matrices are obtained through the relations</p>
<p><disp-formula id="eqn-19">
<label>(19)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-19.png"/><tex-math id="tex-eqn-19"><![CDATA[$$\begin{equation}
{\Phi }_{k}\approx \left.\frac{\partial \mathbf{f}_{k}}{\partial \mathbf{x}}\right| _{\mathbf{x}=\hat{\mathbf{x}}_{k}^{-}}; \quad {H}_{k}\approx \left.\frac{\partial \mathbf{h}_{k}}{\partial \mathbf{x}}\right| _{\mathbf{x}=\hat{\mathbf{x}}_{k}^{-}}
 \label{eqn-19}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-19" display="block"><mml:msub><mml:mrow><mml:mtext>&#x03A6;</mml:mtext></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2248;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo></mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x2202;</mml:mi><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>f</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x2202;</mml:mi><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow></mml:mfrac></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub><mml:mo>;</mml:mo><mml:mspace width="1em"/><mml:msub><mml:mrow><mml:mi>H</mml:mi></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2248;</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mo></mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:mi>&#x2202;</mml:mi><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>h</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mi>&#x2202;</mml:mi><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow></mml:mfrac></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow></mml:msub></mml:math><!--</alternatives>--></disp-formula></p>
<p>Further detailed discussion can be referred to Gelb [<xref ref-type="bibr" rid="ref-18">18</xref>] and Brown et al. [<xref ref-type="bibr" rid="ref-19">19</xref>].</p>
<sec id="s4_1">
<label>4.1</label>
<title>Autonomous Integrity Monitored Extrapolation</title>
<p>The statistic <italic>s</italic><sup>2</sup> (sum of squared residuals, or simply SSR for short) is used to detect failure, in the way that the parity vector squared magnitude <italic>p</italic><sup>2</sup> is used in RAIM. If there are <italic>n</italic> satellites in view, <italic>s</italic><sup>2</sup> is Chi-square distributed with n degrees of freedom, and <italic>p</italic><sup>2</sup> is Chi-square distributed with <italic>n</italic> &#x2212;4 degrees of freedom. This means that AIME can detect failures with as few satellites in view, while RAIM requires a minimum of five satellites with good geometry. The significant difference is that <italic>s</italic><sup>2</sup> depends on the entire past history of measurements.</p>
<p>When redundant observations have been made, Kalman filter residuals of the pseudoranges:</p>
<p><disp-formula id="eqn-20">
<label>(20)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-20.png"/><tex-math id="tex-eqn-20"><![CDATA[$$\begin{equation}
\mathbf{\upsilon }_{k}=\mathbf{z}_{k}-\mathbf{h}_{k}(\hat{\mathbf{x}}_{k}^{-}) \label{eqn-20}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-20" display="block"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03C5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>z</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>h</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>x</mml:mi></mml:mstyle></mml:mrow><mml:mo>^</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></disp-formula></p>
<p>has zero mean, <inline-formula id="ieqn-44"><!--<alternatives><inline-graphic xlink:href="ieqn-44.png"/><tex-math id="tex-ieqn-44"><![CDATA[$ E \left[\mathbf{\upsilon }_{k}\right]=\mathbf{0}$]]></tex-math>--><mml:math id="mml-ieqn-44"><mml:mi>E</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03C5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle mathvariant="bold"><mml:mn>0</mml:mn></mml:mstyle></mml:math><!--</alternatives>--></inline-formula>, and residual covariance given by:</p>
<p><disp-formula id="eqn-21">
<label>(21)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-21.png"/><tex-math id="tex-eqn-21"><![CDATA[$$\begin{equation}
E \left[\mathbf{\upsilon }_{k}\mathbf{\upsilon }_{k}^{T}\right]=\mathbf{U}_{k}=\mathbf{H}_{k}\mathbf{P}_{k}^{-}\mathbf{H}_{k}^{T}+\mathbf{R}_{\mathbf{k}} \label{eqn-21}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-21" display="block"><mml:mi>E</mml:mi><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03C5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03C5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>U</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>H</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>P</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>H</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>T</mml:mi></mml:mrow></mml:msubsup><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>R</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>k</mml:mi></mml:mstyle></mml:mrow></mml:msub></mml:math><!--</alternatives>--></disp-formula></p>
<p>Satellite failures are detected by using the magnitude of the normalized residual vector s as the test statistic:</p>
<p><disp-formula id="eqn-22">
<label>(22)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-22.png"/><tex-math id="tex-eqn-22"><![CDATA[$$\begin{equation}
s^{2}=\mathbf{s}^{\mathrm{T}}\mathbf{s}=\mathbf{\upsilon }_{k}^{\mathrm{T}}\mathbf{U}_{k}^{-1}\mathbf{\upsilon }_{k} \label{eqn-22}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-22" display="block"><mml:msup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mo>=</mml:mo><mml:msup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>s</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup><mml:mstyle mathvariant="bold"><mml:mi>s</mml:mi></mml:mstyle><mml:mo>=</mml:mo><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03C5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msubsup><mml:msubsup><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>U</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03C5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></disp-formula></p>
<p>In the process of failure detection, the threshold <italic>s<sub>D</sub></italic> for detecting failures is Chi-square distributed with n degrees of freedom. It is selected to result in the false alarm rate. The probability density function associated with a Chi-square distributed with k degrees of freedom is</p>
<p><disp-formula id="eqn-23">
<label>(23)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-23.png"/><tex-math id="tex-eqn-23"><![CDATA[$$\begin{equation}
f \left(x\right)= \left\{\begin{array}{l@{\quad}l@{\quad}l}
\displaystyle\frac{2^{-k/2}}{\Upgamma(n/2)}x^{ \left(k/2\right)-1}e^{-k/2}& if & x> 0 \\ & & \\ 0 & if & x \leq 0 \end{array}\right. \label{eqn-23}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-23" display="block"><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mtext>&#x0393;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>n</mml:mi><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>k</mml:mi><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>i</mml:mi><mml:mi>f</mml:mi><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>x</mml:mi><mml:mo>&#x003E;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>i</mml:mi><mml:mi>f</mml:mi><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mi>x</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo></mml:mo></mml:mrow></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <inline-formula id="ieqn-45"><!--<alternatives><inline-graphic xlink:href="ieqn-45.png"/><tex-math id="tex-ieqn-45"><![CDATA[$ \Upgamma \left(x\right)=\int_{0}^{\infty }t^{x-1}e^{-t}dt $]]></tex-math>--><mml:math id="mml-ieqn-45"><mml:mtext>&#x0393;</mml:mtext><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mstyle><mml:msubsup><mml:mrow><mml:mo>&#x222B; </mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>&#x221E;</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup><mml:msup><mml:mrow><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mi>t</mml:mi></mml:mrow></mml:msup><mml:mi>d</mml:mi><mml:mi>t</mml:mi></mml:math><!--</alternatives>--></inline-formula> indicates the gamma function. The fault alarm rate (denoted as <italic>P<sub>FA</sub></italic>) is defined as</p>
<p><disp-formula id="eqn-24">
<label>(24)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-24.png"/><tex-math id="tex-eqn-24"><![CDATA[$$\begin{equation}
P_{FA}=\int_{a}^{\infty }f \left(x\right)dx \label{eqn-24}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-24" display="block"><mml:msub><mml:mrow><mml:mi>P</mml:mi></mml:mrow><mml:mrow><mml:mi>F</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mstyle displaystyle='true'><mml:msubsup><mml:mrow><mml:mo>&#x222B; </mml:mo></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow><mml:mrow><mml:mi>&#x221E;</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi></mml:math><!--</alternatives>--></disp-formula></p>
<p>The parameter <italic>a</italic> is the normalized threshold for &#x7c;<italic>s</italic><sup>2</sup>&#x7c; as the test statistic. Therefore the normalized threshold for &#x7c;<italic>s</italic>&#x7c; as the test statistic is <inline-formula id="ieqn-46"><!--<alternatives><inline-graphic xlink:href="ieqn-46.png"/><tex-math id="tex-ieqn-46"><![CDATA[$ \sqrt{a}$]]></tex-math>--><mml:math id="mml-ieqn-46"><mml:msqrt><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msqrt></mml:math><!--</alternatives>--></inline-formula>. It can be found that the threshold <inline-formula id="ieqn-47"><!--<alternatives><inline-graphic xlink:href="ieqn-47.png"/><tex-math id="tex-ieqn-47"><![CDATA[$ s{}_{D}^{}{=}{}\sigma \cdot \sqrt{a}$]]></tex-math>--><mml:math id="mml-ieqn-47"><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow></mml:mrow></mml:msubsup><mml:mo>=</mml:mo><mml:mi>&#x03C3;</mml:mi><mml:mo>&#x22C5;</mml:mo><mml:msqrt><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msqrt></mml:math><!--</alternatives>--></inline-formula>, where <inline-formula id="ieqn-48"><!--<alternatives><inline-graphic xlink:href="ieqn-48.png"/><tex-math id="tex-ieqn-48"><![CDATA[$ \sigma $]]></tex-math>--><mml:math id="mml-ieqn-48"><mml:mi>&#x03C3;</mml:mi></mml:math><!--</alternatives>--></inline-formula> is the standard deviation. When <inline-formula id="ieqn-49"><!--<alternatives><inline-graphic xlink:href="ieqn-49.png"/><tex-math id="tex-ieqn-49"><![CDATA[$ s \geq s{}_{D}^{}{}{}$]]></tex-math>--><mml:math id="mml-ieqn-49"><mml:mi>s</mml:mi><mml:mo>&#x2265;</mml:mo><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow></mml:mrow></mml:msubsup></mml:math><!--</alternatives>--></inline-formula>, a &#x201C;failure alarm&#x201D; is reported; on the other hand, when <inline-formula id="ieqn-50"><!--<alternatives><inline-graphic xlink:href="ieqn-50.png"/><tex-math id="tex-ieqn-50"><![CDATA[$ s< s{}_{D}^{}{}{}$]]></tex-math>--><mml:math id="mml-ieqn-50"><mml:mi>s</mml:mi><mml:mo>&#x003C;</mml:mo><mml:msubsup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mi>D</mml:mi></mml:mrow><mml:mrow></mml:mrow></mml:msubsup></mml:math><!--</alternatives>--></inline-formula>, the GPS receiver is in normal condition, and no failure is reported.</p>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Fault Detection and Exclusion (FDE)</title>
<p>After detecting the fault, it is helpful to find out the unhealthy satellites to be eliminated. The pseudorange residuals <inline-formula id="ieqn-51"><!--<alternatives><inline-graphic xlink:href="ieqn-51.png"/><tex-math id="tex-ieqn-51"><![CDATA[$ \mathbf{\upsilon }_{k}$]]></tex-math>--><mml:math id="mml-ieqn-51"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03C5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> can be standardized as follows:</p>
<p><disp-formula id="eqn-25">
<label>(25)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-25.png"/><tex-math id="tex-eqn-25"><![CDATA[$$\begin{equation}
\mathbf{w}_{i}= \left| \frac{\mathbf{\upsilon }_{ki}}{\sqrt{\mathbf{U}_{ii}}}\right|, \quad i=1,2,3\ldots ,N \label{eqn-25}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-25" display="block"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mfrac><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>&#x03C5;</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msqrt><mml:mrow><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>U</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac></mml:mrow><mml:mo>|</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em"/><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mn>3</mml:mn><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>N</mml:mi></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <italic>N</italic> denotes the number of observations. Each standardized residual <inline-formula id="ieqn-52"><!--<alternatives><inline-graphic xlink:href="ieqn-52.png"/><tex-math id="tex-ieqn-52"><![CDATA[$ \mathbf{w}_{i}$]]></tex-math>--><mml:math id="mml-ieqn-52"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> is compared to the <inline-formula id="ieqn-53"><!--<alternatives><inline-graphic xlink:href="ieqn-53.png"/><tex-math id="tex-ieqn-53"><![CDATA[$ \alpha _{0}$]]></tex-math>--><mml:math id="mml-ieqn-53"><mml:msub><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>-quantile of the standardized normal distribution, <inline-formula id="ieqn-54"><!--<alternatives><inline-graphic xlink:href="ieqn-54.png"/><tex-math id="tex-ieqn-54"><![CDATA[$ n_{1-{\alpha _{0}}/2}$]]></tex-math>--><mml:math id="mml-ieqn-54"><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>, with the predetermined false alarm rate <inline-formula id="ieqn-55"><!--<alternatives><inline-graphic xlink:href="ieqn-55.png"/><tex-math id="tex-ieqn-55"><![CDATA[$ \alpha _{0}$]]></tex-math>--><mml:math id="mml-ieqn-55"><mml:msub><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> (<italic>P<sub>FA</sub></italic>):</p>
<p><disp-formula id="eqn-26">
<label>(26)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-26.png"/><tex-math id="tex-eqn-26"><![CDATA[$$\begin{equation}
f \left(x\right)=\frac{1}{\sqrt{2\pi }}\exp \left(-\frac{x^{2}}{2}\right) \label{eqn-26}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-26" display="block"><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:msqrt><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi></mml:mrow></mml:msqrt></mml:mrow></mml:mfrac><mml:mo>exp</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo>-</mml:mo><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></disp-formula></p>
<p>with the threshold of <inline-formula id="ieqn-56"><!--<alternatives><inline-graphic xlink:href="ieqn-56.png"/><tex-math id="tex-ieqn-56"><![CDATA[$ n_{1-{\alpha _{0}}/2}$]]></tex-math>--><mml:math id="mml-ieqn-56"><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula>.</p>
<p><disp-formula id="eqn-27">
<label>(27)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-27.png"/><tex-math id="tex-eqn-27"><![CDATA[$$\begin{equation}
\int_{0}^{a}f \left(x\right)dx=\frac{1-\alpha _{0}}{2} \label{eqn-27}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-27" display="block"><mml:mstyle displaystyle='true'><mml:msubsup><mml:mrow><mml:mo>&#x222B; </mml:mo></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mi>a</mml:mi></mml:mrow></mml:msubsup></mml:mstyle><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>d</mml:mi><mml:mi>x</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>1</mml:mn><mml:mo>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:math><!--</alternatives>--></disp-formula></p>
<p>The relative parameter <inline-formula id="ieqn-57"><!--<alternatives><inline-graphic xlink:href="ieqn-57.png"/><tex-math id="tex-ieqn-57"><![CDATA[$ n_{1-{\alpha _{0}}/2}$]]></tex-math>--><mml:math id="mml-ieqn-57"><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-58"><!--<alternatives><inline-graphic xlink:href="ieqn-58.png"/><tex-math id="tex-ieqn-58"><![CDATA[$ \mathbf{w}_{i}$]]></tex-math>--><mml:math id="mml-ieqn-58"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> for fault detection has the following relationship:</p>
<p><disp-formula id="eqn-28">
<label>(28)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-28.png"/><tex-math id="tex-eqn-28"><![CDATA[$$\begin{equation}
 \left\{\begin{array}{l@{\quad}l}
\mathbf{w}_{i}> n_{1-{\alpha _{0}}/2}&\text{ Fault detected} \\
\mathbf{w}_{i} \leq n_{1-{\alpha _{0}}/2}&\mathrm{No\ fault\ detected}\end{array}\right. \label{eqn-28}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-28" display="block"><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x003E;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mstyle><mml:mtext>&#x00A0;Fault&#x00A0;detected</mml:mtext></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>w</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2264;</mml:mo><mml:msub><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn><mml:mo lspace='0pt' rspace='0pt'>-</mml:mo><mml:msub><mml:mrow><mml:mi>&#x03B1;</mml:mi></mml:mrow><mml:mrow><mml:mn>0</mml:mn></mml:mrow></mml:msub><mml:mo>/</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mstyle mathvariant="normal"><mml:mi>N</mml:mi><mml:mi>o</mml:mi><mml:mspace width=".3em" /><mml:mi>f</mml:mi><mml:mi>a</mml:mi><mml:mi>u</mml:mi><mml:mi>l</mml:mi><mml:mi>t</mml:mi><mml:mspace width=".3em" /><mml:mi>d</mml:mi><mml:mi>e</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>c</mml:mi><mml:mi>t</mml:mi><mml:mi>e</mml:mi><mml:mi>d</mml:mi></mml:mstyle></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo></mml:mo></mml:mrow></mml:math><!--</alternatives>--></disp-formula></p>
<p><xref ref-type="fig" rid="fig-2">Fig. 2</xref> shows the algorithm for implementing the GPS vector tracking loop with integrity monitoring and FDE mechanisms involved.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>GPS vector tracking loop with integrity monitoring and FDE algorithms</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-2.png"/>
</fig>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Results and Discussion</title>
<p>Simulation experiments are carried out for confirmation of the effectiveness and performance evaluation of the proposed design. The computer codes were developed using the Matlab<inline-formula id="ieqn-59"><!--<alternatives><inline-graphic xlink:href="ieqn-59.png"/><tex-math id="tex-ieqn-59"><![CDATA[$\textregistered$]]></tex-math>--><mml:math id="mml-ieqn-59"><mml:mi>&#x00AE;</mml:mi><mml:mo>;</mml:mo></mml:math><!--</alternatives>--></inline-formula> software. The commercial software satellite navigation toolbox (SATNAV) by GPSoft LLC [<xref ref-type="bibr" rid="ref-20">20</xref>] was employed. The simulation scenario is designed as follows. The experiment assumes a simulated vehicle trajectory originating from the position of North 25.1492 degrees and East 121.7775 degrees at an altitude of 100 m., which is equivalent to <inline-formula id="ieqn-60"><!--<alternatives><inline-graphic xlink:href="ieqn-60.png"/><tex-math id="tex-ieqn-60"><![CDATA[$ \left[\begin{array}{l@{\quad}l@{\quad}l}-3042329.2 & 4911080.2 & 2694074.3 \end{array}\right]^{\mathrm{T}}$]]></tex-math>--><mml:math id="mml-ieqn-60"><mml:msup><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none none" equalcolumns="false" class="array"><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mo>-</mml:mo><mml:mn>3042329</mml:mn><mml:mo>.</mml:mo><mml:mn>2</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mn>4911080</mml:mn><mml:mo>.</mml:mo><mml:mn>2</mml:mn><mml:mspace width="1em" class="quad"/></mml:mtd><mml:mtd class="array" columnalign="left"><mml:mn>2694074</mml:mn><mml:mo>.</mml:mo><mml:mn>3</mml:mn></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mstyle mathvariant="normal"><mml:mi>T</mml:mi></mml:mstyle></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula> m in the WGS-84 ECEF coordinate system. The location of the origin is defined as the (0,0,0) m location in the local tangent East-North-Up (ENU) frame. Shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, the test trajectory can be divided mainly into several time intervals/segments according the various dynamic characteristics. The vehicle was simulated to conduct constant acceleration level flight during 0&#x2013;25 s, clockwise circular motion with radius 750 m during 41&#x2013;231 s, and counter-clockwise turn during 283&#x2013;374 s, where high dynamic maneuvering is involved. For all the other segments, the constant-velocity straight-line flight is conducted. The skyplot is shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>. At the initial time of simulation, there are 9 satellites visible, each of which is numbered with a space vehicle identifier (SV ID).</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>The test trajectory</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-3.png"/>
</fig>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>The skyplot at the initial time of simulation</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-4.png"/>
</fig>
<p>When selecting extended Kalman filter as the navigation state estimator in the GPS receiver, using <italic>b</italic> and <italic>d</italic> to represent the GPS receiver clock bias and drift, the differential equation for the clock error is written as</p>
<p><disp-formula id="eqn-29">
<label>(29)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-29.png"/><tex-math id="tex-eqn-29"><![CDATA[$$\begin{equation}
\begin{array}{l}\dot{b}=d+u_{b} \\ \dot{d}=u_{d}\end{array} \label{eqn-29}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-29" display="block"><mml:mtable equalrows="false" columnlines="" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mover accent="true"><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mo>&#x0307;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:mi>d</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mover accent="true"><mml:mrow><mml:mi>d</mml:mi></mml:mrow><mml:mo>&#x0307;</mml:mo></mml:mover><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <inline-formula id="ieqn-61"><!--<alternatives><inline-graphic xlink:href="ieqn-61.png"/><tex-math id="tex-ieqn-61"><![CDATA[$ u_{b}{\sim}N \left(0, S_{f}\right) $]]></tex-math>--><mml:math id="mml-ieqn-61"><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>b</mml:mi></mml:mrow></mml:msub><mml:mo>~</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-62"><!--<alternatives><inline-graphic xlink:href="ieqn-62.png"/><tex-math id="tex-ieqn-62"><![CDATA[$ u_{d}{\sim}N \left(0, S_{g}\right) $]]></tex-math>--><mml:math id="mml-ieqn-62"><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mi>d</mml:mi></mml:mrow></mml:msub><mml:mo>~</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math><!--</alternatives>--></inline-formula> are independent Gaussianly distributed white sequences. The dynamic process of the GPS receiver in lower dynamic environment can be represented by the PV (Position-Velocity) model. In such case, we consider the GPS navigation filter with three position states, three velocity states, and two clock states, so that the state to be estimated is a <inline-formula id="ieqn-63"><!--<alternatives><inline-graphic xlink:href="ieqn-63.png"/><tex-math id="tex-ieqn-63"><![CDATA[$ 8\times 1 $]]></tex-math>--><mml:math id="mml-ieqn-63"><mml:mn>8</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mn>1</mml:mn></mml:math><!--</alternatives>--></inline-formula> vector. The process model is given by
<disp-formula id="eqn-32">
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-32.png"/><tex-math id="tex-eqn-32"><![CDATA[$$\begin{eqnarray*}
 \left[\begin{array}{l}\dot{x}_{1} \\ \dot{x}_{2} \\ \dot{x}_{3} \\ \dot{x}_{4} \\ \dot{x}_{5} \\ \dot{x}_{6} \\ \dot{x}_{7} \\ \dot{x}_{8}\end{array}\right]= \left[\begin{array}{l@{\quad}l@{\quad}l@{\quad}l@{\quad}l@{\quad}l@{\quad}l@{\quad}l}0 & 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 & 0 & 0 & 0 & 0 \end{array}\right] \left[\begin{array}{l}x_{1} \\ x_{2} \\ x_{3} \\ x_{4} \\ x_{5} \\ x_{6} \\ x_{7} \\ x_{8}\end{array}\right]+ \left[\begin{array}{l}0 \\ u_{2} \\ 0 \\ u_{4} \\ 0 \\ u_{6} \\ u_{7} \\ u_{8}\end{array}\right]
\end{eqnarray*}$$]]></tex-math>-->
<mml:math id="mml-eqn-32" display="block"><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x0307;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x0307;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x0307;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x0307;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x0307;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x0307;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x0307;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mo lspace='0pt' rspace='0pt'>&#x0307;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mn>8</mml:mn></mml:mrow></mml:msub></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 equalrows="false" columnlines="none none none none none none none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>1</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>1</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>1</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>5</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mn>8</mml:mn></mml:mrow></mml:msub></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 equalrows="false" columnlines="" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>4</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>6</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>7</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>u</mml:mi></mml:mrow><mml:mrow><mml:mn>8</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math><!--</alternatives>--></disp-formula>
 where <italic>x</italic><sub>1</sub>, <italic>x</italic><sub>3</sub>, <italic>x</italic><sub>5</sub> represent the east, north, and vertical position; <italic>x</italic><sub>2</sub>, <italic>x</italic><sub>4</sub>, <italic>x</italic><sub>6</sub> represent the east, north, and vertical velocity; and <italic>x</italic><sub>7</sub> and <italic>x</italic><sub>8</sub> represent the receiver clock offset and drift errors, respectively. The process noise covariance matrix is as follows:</p>
<p><disp-formula id="eqn-30">
<label>(30)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-30.png"/><tex-math id="tex-eqn-30"><![CDATA[$$\begin{equation}
\mathbf{Q}_{k}= \left[\begin{array}{l@{\quad}l@{\quad}l@{\quad}l}\mathbf{Q}_{e}& & & \\ & \mathbf{Q}_{n}& & \\ & & \mathbf{Q}_{u}& \\ & & & \mathbf{Q}_{t}\end{array}\right] \label{eqn-30}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-30" display="block"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none none none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:math><!--</alternatives>--></disp-formula></p>
<p>where
<disp-formula id="eqn-34">
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-34.png"/><tex-math id="tex-eqn-34"><![CDATA[$$\begin{align*}
\mathbf{Q}_{e}=\mathbf{Q}_{n}=\mathbf{Q}_{u}= \left[\begin{array}{l@{\quad}l}S_{p}\displaystyle\frac{\Updelta t^{3}}{3}& S_{p}\displaystyle\frac{\Updelta t^{2}}{2} \\ S_{p}\displaystyle\frac{\Updelta t^{2}}{2}& S_{p}\Updelta t \end{array}\right]; \\ \mathbf{Q}_{t}= \left[\begin{array}{l@{\quad}l}S_{f}\Updelta t+S_{g}\displaystyle\frac{\Updelta t^{3}}{3}& S_{g}\displaystyle\frac{\Updelta t^{2}}{2} \\ S_{g}\displaystyle\frac{\Updelta t^{2}}{2}& S_{g}\Updelta t \end{array}\right]
\end{align*}$$]]></tex-math>-->
<mml:math id="mml-eqn-34" display="block"><mml:mtable columnalign="left" columnspacing="1pt"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>e</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>u</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mi>&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow><mml:mo>;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>t</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable equalrows="false" columnlines="none" equalcolumns="false"><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mi>&#x0394;</mml:mi><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mstyle displaystyle='true'><mml:mfrac><mml:mrow><mml:mi>&#x0394;</mml:mi><mml:msup><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac></mml:mstyle><mml:mspace width="1em"/></mml:mtd><mml:mtd columnalign="left"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mi>&#x0394;</mml:mi><mml:mi>t</mml:mi></mml:mtd></mml:mtr> </mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math><!--</alternatives>--></disp-formula>
</p>
<p>If only the pseudorange observables are available, the linearized measurement equation based on <italic>n</italic> observables can be written as</p>
<p><disp-formula id="eqn-31">
<label>(31)</label>
<!--<alternatives><graphic mimetype="image" mime-subtype="png" xlink:href="eqn-31.png"/><tex-math id="tex-eqn-31"><![CDATA[$$\begin{equation}
\mathop{\mathbf{Z}_{\mathbf{k}}}{\underbrace{ \left[\begin{array}{l}\rho _{1} \\ \rho _{2} \\ \vdots \\ \rho _{n}\end{array}\right]- \left[\begin{array}{l}\hat{\rho }_{1} \\ \hat{\rho }_{2} \\ \vdots \\ \hat{\rho }_{n}\end{array}\right]}}=\mathop{\mathbf{H}_{\mathbf{k}}}{\underbrace{ \left[\begin{array}{l@{\quad}l@{\quad}l@{\quad}l@{\quad}l@{\quad}l@{\quad}l@{\quad}l}h_{x}^{ \left(1\right)}& 0 & h_{y}^{ \left(1\right)}& 0 & h_{z}^{ \left(1\right)}& 0 & 1 & 0 \\ h_{x}^{ \left(2\right)}& 0 & h_{y}^{ \left(2\right)}& 0 & h_{z}^{ \left(2\right)}& 0 & 1 & 0 \\ \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \vdots \\ h_{x}^{ \left(n\right)}& 0 & h_{y}^{ \left(n\right)}& 0 & h_{z}^{ \left(n\right)}& 0 & 1 & 0 \end{array}\right]}} \left[\begin{array}{l}x_{1} \\ x_{2} \\ x_{3} \\ x_{4} \\ x_{5} \\ x_{6} \\ x_{7} \\ x_{8}\end{array}\right]+ \left[\begin{array}{l}v_{{\rho _{1}}} \\ v_{{\rho _{2}}} \\ \vdots \\ v_{{\rho _{n}}}\end{array}\right] \label{eqn-31}
\end{equation}$$]]></tex-math>-->
<mml:math id="mml-eqn-31" display='block'><mml:mrow><mml:munder><mml:munder><mml:mrow><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> <mml:mo>]</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mrow><mml:mo>[</mml:mo> <mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mover accent='true'><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mover accent='true'><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mover accent='true'><mml:mi>&#x03C1;</mml:mi><mml:mo>&#x005E;</mml:mo></mml:mover><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow> <mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy='true'>&#xFE38;</mml:mo></mml:munder><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>Z</mml:mi></mml:mstyle><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>k</mml:mi></mml:mstyle></mml:msub></mml:mrow></mml:munder><mml:mo>=</mml:mo><mml:munder><mml:munder><mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>1</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mn>2</mml:mn><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>x</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>y</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>z</mml:mi><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>n</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow><mml:mo stretchy='true'>&#xFE38;</mml:mo></mml:munder><mml:mrow><mml:msub><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>H</mml:mi></mml:mstyle><mml:mstyle mathvariant='bold' mathsize='normal'><mml:mi>k</mml:mi></mml:mstyle></mml:msub></mml:mrow></mml:munder><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mtable columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>3</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>4</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>5</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>6</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>7</mml:mn></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>x</mml:mi><mml:mn>8</mml:mn></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 columnalign='left'><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr columnalign='left'><mml:mtd columnalign='left'><mml:mrow><mml:msub><mml:mi>v</mml:mi><mml:mrow><mml:msub><mml:mi>&#x03C1;</mml:mi><mml:mi>n</mml:mi></mml:msub></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math><!--</alternatives>--></disp-formula></p>
<p>where <inline-formula id="ieqn-64"><!--<alternatives><inline-graphic xlink:href="ieqn-64.png"/><tex-math id="tex-ieqn-64"><![CDATA[$ \mathbf{H}_{k}$]]></tex-math>--><mml:math id="mml-ieqn-64"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>H</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> is a matrix with dimension <inline-formula id="ieqn-65"><!--<alternatives><inline-graphic xlink:href="ieqn-65.png"/><tex-math id="tex-ieqn-65"><![CDATA[$ n\times 8 $]]></tex-math>--><mml:math id="mml-ieqn-65"><mml:mi>n</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mn>8</mml:mn></mml:math><!--</alternatives>--></inline-formula>. The measurement noise variances <inline-formula id="ieqn-66"><!--<alternatives><inline-graphic xlink:href="ieqn-66.png"/><tex-math id="tex-ieqn-66"><![CDATA[$ r_{{\rho _{i}}}$]]></tex-math>--><mml:math id="mml-ieqn-66"><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x03C1;</mml:mi></mml:mrow><mml:mrow><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> are assumed <italic>a priori</italic> known, which is set as 9 <italic>m</italic><sup>2</sup>. Let each of the white-noise spectral amplitudes that drive the random walk position states be <inline-formula id="ieqn-67"><!--<alternatives><inline-graphic xlink:href="ieqn-67.png"/><tex-math id="tex-ieqn-67"><![CDATA[$ S_{p}=1.0 \left(m/{\rm s}^{2}\right)/rad/{\rm s}$]]></tex-math>--><mml:math id="mml-ieqn-67"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>p</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>.</mml:mo><mml:mn>0</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>/</mml:mo><mml:msup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>/</mml:mo><mml:mi>r</mml:mi><mml:mi>a</mml:mi><mml:mi>d</mml:mi><mml:mo>/</mml:mo><mml:mi>s</mml:mi></mml:math><!--</alternatives>--></inline-formula>. In addition, let the clock model spectral amplitudes be <inline-formula id="ieqn-68"><!--<alternatives><inline-graphic xlink:href="ieqn-68.png"/><tex-math id="tex-ieqn-68"><![CDATA[$ S_{f}=0.4 \left(10^{-18}\right)\;{\rm s}$]]></tex-math>--><mml:math id="mml-ieqn-68"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>0</mml:mn><mml:mo>.</mml:mo><mml:mn>4</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:msup><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>18</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="2.77695pt" class="tmspace"/><mml:mi>s</mml:mi></mml:math><!--</alternatives>--></inline-formula> and <inline-formula id="ieqn-69"><!--<alternatives><inline-graphic xlink:href="ieqn-69.png"/><tex-math id="tex-ieqn-69"><![CDATA[$ S_{g}=1.58 \left(10^{-18}\right)\;{\rm s}^{-1}$]]></tex-math>--><mml:math id="mml-ieqn-69"><mml:msub><mml:mrow><mml:mi>S</mml:mi></mml:mrow><mml:mrow><mml:mi>g</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>.</mml:mo><mml:mn>58</mml:mn><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:msup><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>18</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mspace width="2.77695pt" class="tmspace"/><mml:msup><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mo>-</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math><!--</alternatives>--></inline-formula>. These spectral amplitudes can be used to find the <inline-formula id="ieqn-70"><!--<alternatives><inline-graphic xlink:href="ieqn-70.png"/><tex-math id="tex-ieqn-70"><![CDATA[$ \mathbf{Q}_{k}$]]></tex-math>--><mml:math id="mml-ieqn-70"><mml:msub><mml:mrow><mml:mstyle mathvariant="bold"><mml:mi>Q</mml:mi></mml:mstyle></mml:mrow><mml:mrow><mml:mi>k</mml:mi></mml:mrow></mml:msub></mml:math><!--</alternatives>--></inline-formula> parameters in <xref ref-type="disp-formula" rid="eqn-30">Eq. (30)</xref>.</p>
<p>The scenarios involved in the numerical experiments cover two aspects. The first one deals with performance comparison for VTL and STL architectures for various numbers of visible satellites. The second one deals with reliability enhancement when the RAIM and FDE mechanisms are incorporated into the VTL.</p>
<sec id="s5_1">
<label>5.1</label>
<title>Performance Comparison for VTL and STL Architectures</title>
<p>In the first part of experiment, performance comparison for VTL- and STL-based solutions is presented. Three examples, with good or bad geometry involved, are given to illustrate the effectiveness of the VTL architecture.</p>
<p><italic>(1) Example 1: nine satellites visible</italic></p>
<p>In the first example, it is assumed that all the GPS signals are in good condition. There are totally 9 GPS signals available in the open sky. <xref ref-type="fig" rid="fig-5">Fig. 5</xref> provides the comparison of code tracking errors for the 9 channels. As can be seen, the code tracking errors based on the VTL have been remarkably mitigated.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>Comparison of code tracking errors for the 9 channels (a) channels 1&#x2013;3 (b) channels 4&#x2013;6 (c) channels 7&#x2013;9</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-5.png"/>
</fig>
<p><italic>(2) Example 2: one out of five visible satellites blocked out at some time intervals</italic></p>
<p>The second and third examples present the performance comparison in the case of signal blockage. Initially there are only 5 satellites visible, where some of the GPS signals are intentionally blocked out at some time intervals. In this example, we consider one signal is blocked out at certain time interval. <xref ref-type="table" rid="table-1">Tab. 1</xref> shows the time intervals during which signal blockage occurs. The symbol &#x2018;&#x2713;&#x2019; indicates the signals that were blocked out at the time intervals as indicated. The code tracking errors for the five channels are shown in <xref ref-type="fig" rid="fig-6">Fig. 6</xref>, where the gaps represent the discontinuities of signal reception. The VTL- and STL-based position errors are given in <xref ref-type="fig" rid="fig-7">Fig. 7</xref>. It can be seen that the positioning accuracy based on the VTL has been effectively improved.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Time intervals during which signal abnormalities occur for Example 2</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Channel</th>
<th>SV ID</th>
<th colspan="4">Time interval (s)</th>
</tr>
<tr>
<th></th>
<th></th>
<th>[10&#x2013;25]</th>
<th>[100&#x2013;110]</th>
<th>[330&#x2013;340]</th>
<th>[440&#x2013;450]</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3</td>
<td/>
<td/>
<td/>
</tr>
<tr>
<td>2</td>
<td>6</td>
<td/>
<td/>
<td/>
</tr>
<tr>
<td>3</td>
<td>7</td>
<td/>
<td/>
<td/>
<td>&#x2713;</td>
</tr>
<tr>
<td>4</td>
<td>9</td>
<td/>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
<tr>
<td>5</td>
<td>21</td>
<td>&#x2713;</td>
</tr>
</tbody>
</table></table-wrap>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Code errors for the 5 channels</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-6.png"/>
</fig>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>Comparison of position errors&#x2013;VTL <italic>vs.</italic> STL</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-7.png"/>
</fig>
<p><italic>(3) Example 3: two out of five visible satellites blocked out at some time intervals</italic></p>
<p>In this example, it is assumed that the number of visible satellites has been reduced from 5 to 3 at some time intervals. Same as in Example 2, there are initially 5 satellites visible. However, 2 GPS signals are blocked out simultaneously at some time intervals. <xref ref-type="table" rid="table-2">Tab. 2</xref> shows the time intervals during which two of the signals are blocked out. In such case, <xref ref-type="fig" rid="fig-8">Fig. 8</xref> provides the code errors for the five channels. The VTL and STL based position errors are given in <xref ref-type="fig" rid="fig-9">Fig. 9</xref>. Since only three satellite signals are available at some time intervals, the performance degradation in the STL become more serious. It can be seen that the code tracking performance based on the VTL has been remarkably improved.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Time intervals during which signal abnormalities occur for Example 3</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Channel</th>
<th>SV ID</th>
<th colspan="4">Time interval (s)</th>
</tr>
<tr>
<th></th>
<th></th>
<th>[10&#x2013;25]</th>
<th>[100&#x2013;110]</th>
<th>[330&#x2013;340]</th>
<th>[440&#x2013;450]</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td/>
<td/>
</tr>
<tr>
<td>2</td>
<td>6</td>
<td/>
<td/>
<td/>
<td>&#x2713;</td>
</tr>
<tr>
<td>3</td>
<td>7</td>
<td/>
<td/>
<td>&#x2713;</td>
<td/>
</tr>
<tr>
<td>4</td>
<td>9</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td/>
<td>&#x2713;</td>
</tr>
<tr>
<td>5</td>
<td>21</td>
<td/>
<td/>
<td>&#x2713;</td>
<td/>
</tr>
</tbody>
</table></table-wrap>
<fig id="fig-8">
<label>Figure 8</label>
<caption>
<title>Code errors for the 5 channels</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-8.png"/>
</fig>
<fig id="fig-9">
<label>Figure 9</label>
<caption>
<title>Comparison of positioning errors&#x2014;VTL <italic>vs.</italic> STL</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-9.png"/>
</fig>
</sec>
<sec id="s5_2">
<label>5.2</label>
<title>Performance Comparison for VTL with FDE Mechanism</title>
<p>In the second part of experiment, reliability enhancement for VTL using the FDE mechanism is presented. Two examples are given for illustration. It is assumed that there are 9 GPS signals available, but some fault signals occur at certain time interval.</p>
<p><italic>(1) Example 1: one out of nine signals abnormal at some time interval</italic></p>
<p>The abnormal signals corrupted by bias errors are assumed to occur at the following time intervals: 10&#x2013;20 s, 220&#x2013;230 s, 300&#x2013;310 s, 370&#x2013;380 s, and 440&#x2013;450 s, as summarized in <xref ref-type="table" rid="table-3">Tab. 3</xref>. The symbol &#x2018;&#x2713;&#x2019; indicates the intervals where the signal abnormalities are involved. After excluding the faults, the performance improvement can be seen, as shown in <xref ref-type="fig" rid="fig-10">Fig. 10</xref>. For example, in the time interval 220&#x2013;230s, the signal fault in Channel 3 needs to be isolated. <xref ref-type="fig" rid="fig-11">Fig. 11</xref> shows the improvement on positioning accuracy with the assistance of FDE mechanism.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>Time intervals during which signal abnormalities occur for Example 1</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Channel</th>
<th>SV ID</th>
<th colspan="4">Time interval (s)</th>
</tr>
<tr>
<th></th>
<th></th>
<th>[10&#x2013;20]</th>
<th>[220&#x2013;230]</th>
<th>[300&#x2013;310]</th>
<th>[370&#x2013;380]</th>
<th>[440&#x2013;450]</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3</td>
<td>&#x2713;</td>
<td/>
<td/>
<td/>
</tr>
<tr>
<td>3</td>
<td>6</td>
<td/>
<td>&#x2713;</td>
<td/>
<td/>
</tr>
<tr>
<td>5</td>
<td>9</td>
<td/>
<td/>
<td>&#x2713;</td>
<td/>
</tr>
<tr>
<td>7</td>
<td>18</td>
<td/>
<td/>
<td/>
<td>&#x2713;</td>
<td/>
</tr>
<tr>
<td>9</td>
<td>21</td>
<td/>
<td/>
<td/>
<td/>
<td>&#x2713;</td>
</tr>
</tbody>
</table></table-wrap>
<fig id="fig-10">
<label>Figure 10</label>
<caption>
<title>The code errors for the 9 channels (a) channels 1&#x2013;3 (b) channels 4&#x2013;6 (c) channels 7&#x2013;9</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-10.png"/>
</fig>
<fig id="fig-11">
<label>Figure 11</label>
<caption>
<title>The positioning accuracy for the navigation algorithm with and without FDE mechanism</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-11.png"/>
</fig>
<p><italic>(2) Example 2: three out of nine signals abnormal simultaneously at some time intervals</italic></p>
<p>The second example investigates the case when 3 abnormal signals occur simultaneously. <xref ref-type="table" rid="table-4">Tab. 4</xref> shows the time intervals during which signal abnormalities occur. <xref ref-type="fig" rid="fig-12">Fig. 12</xref> presents the position accuracy for the navigation algorithms with and without FDE. Once there are abnormalities in the GPS signals, the positioning performance are seriously degraded. Incorporation of the FDE algorithm has demonstrated remarkable improvement in navigation accuracy.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>Time intervals during which signal abnormalities occur for Example 2</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Channel</th>
<th>SV ID</th>
<th colspan="5">Time interval (s)</th>
</tr>
<tr>
<th></th>
<th></th>
<th>[10&#x2013;20]</th>
<th>[220&#x2013;230]</th>
<th>[300&#x2013;310]</th>
<th>[370&#x2013;380]</th>
<th>[440&#x2013;450]</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>3</td>
<td>&#x2713;</td>
<td/>
<td/>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
<tr>
<td>3</td>
<td>6</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td/>
<td/>
<td>&#x2713;</td>
</tr>
<tr>
<td>5</td>
<td>9</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td/>
<td/>
</tr>
<tr>
<td>7</td>
<td>18</td>
<td/>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td/>
</tr>
<tr>
<td>9</td>
<td>21</td>
<td/>
<td/>
<td>&#x2713;</td>
<td>&#x2713;</td>
<td>&#x2713;</td>
</tr>
</tbody>
</table></table-wrap>
<fig id="fig-12">
<label>Figure 12</label>
<caption>
<title>Positioning accuracy for the navigation algorithm with and without FDE mechanism</title>
</caption><graphic mimetype="image" mime-subtype="png" xlink:href="fig-12.png"/>
</fig>
</sec>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusions</title>
<p>The integrity monitoring algorithms in this work is implemented dealing with the reliability enhancement of the tracking loops. Navigation system integrity refers to the ability of the system to provide timely warning to users when the system should not be used for navigation. The most significant drawback in the VTL is that the failure of tracking in one channel may affect the entire system and lead to loss of lock on all satellites. The scenarios involved in the numerical experiments cover two aspects. The first aspect deals with performance comparison for VTL- and STL-based architectures for various numbers of visible satellites. The second one deals with reliability enhancement when the RAIM and FDE mechanisms are incorporated into the VTL.</p>
<p>The RAIM and the FDE mechanisms have been incorporated into the vector tracking loop architecture where the RAIM mechanism is used to check the possible fault in the pseudorange and the pseudorange rate, and the FDE mechanism is employed for excluding the wrong satellite signal. When the FDE algorithm is incorporated, the vector tracking loop can prevent the failure of one channel from spreading into the entire tracking loop. The feasibility of the proposed approach has been demonstrated for various scenarios. Performance evaluation for the VTL with FDE has been presented. The reliability enhancement for the vector tracking loop has been demonstrated.</p></sec>
</body>
<back>
<fn-group><fn fn-type="other"><p><bold>Funding Statement:</bold> This work has been partially supported by the Ministry of Science and Technology, Taiwan [Grant numbers MOST 104-2221-E-019-026-MY3 and MOST 109-2221-E-019-010].</p></fn>
<fn fn-type="conflict"><p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p></fn></fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>E. D.</given-names> <surname>Kaplan</surname></string-name> and <string-name><given-names>C. J.</given-names> <surname>Hegarty</surname></string-name></person-group>, <source>Understanding GPS: Principles and Applications</source>. <publisher-loc>Norwood, MA, USA</publisher-loc>: <publisher-name>Artech House, Inc.</publisher-name>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>J. A.</given-names> <surname>Farrell</surname></string-name> and <string-name><given-names>M.</given-names> <surname>Barth</surname></string-name></person-group>, <source>The Global Positioning System and Inertial Navigation</source>. <publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>McGraw-Hill</publisher-name>, <year>1999</year>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>B. W.</given-names> <surname>Parkinson</surname></string-name>, <string-name><given-names>J. J.</given-names> <surname>Spilker</surname></string-name>, <string-name><given-names>P.</given-names> <surname>Axelrad</surname></string-name> and <string-name><given-names>P.</given-names> <surname>Enge</surname></string-name></person-group>, <source>Global Positioning System: Theory and Applications</source>. <publisher-loc>Washington, DC, USA</publisher-loc>: <publisher-name>American Institute of Aeronautics and Astronautics, Inc.</publisher-name>, <year>1996</year>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Qi</surname></string-name>, <string-name><given-names>Q.</given-names> <surname>Song</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Feng</surname></string-name></person-group>, &#x201C;<article-title>A novel edge computing based area navigation scheme</article-title>,&#x201D; <source>Computers Materials &#x0026; Continua</source>, vol. <volume>65</volume>, no. <issue>3</issue>, pp. <fpage>2385</fpage>&#x2013;<lpage>2396</lpage>, <year>2020</year>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Zhou</surname></string-name>, <string-name><given-names>B.</given-names> <surname>Lian</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Yang</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Zhang</surname></string-name> and <string-name><given-names>Y.</given-names> <surname>Liu</surname></string-name></person-group>, &#x201C;<article-title>Improved GNSS cooperation positioning algorithm for indoor localization</article-title>,&#x201D; <source>Computers Materials &#x0026; Continua</source>, vol. <volume>56</volume>, no. <issue>2</issue>, pp. <fpage>225</fpage>&#x2013;<lpage>245</lpage>, <year>2018</year>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>T.</given-names> <surname>Pany</surname></string-name> and <string-name><given-names>B.</given-names> <surname>Eissfeller</surname></string-name></person-group>, &#x201C;<article-title>Use of a vector delay lock loop receiver for GNSS signal power analysis in bad signal conditions</article-title>,&#x201D; in <conf-name>Proc. 2006 IEEE/ION Position, Location, and Navigation Symposium (PLANS)</conf-name>, Coronado, CA, USA, pp. <fpage>893</fpage>&#x2013;<lpage>903</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Lashley</surname></string-name>, <string-name><given-names>D. M.</given-names> <surname>Bevly</surname></string-name> and <string-name><given-names>J. Y.</given-names> <surname>Hung</surname></string-name></person-group>, &#x201C;<article-title>Performance analysis of vector tracking algorithms for weak GPS signals in high dynamics</article-title>,&#x201D; <source>IEEE Journal of Selected Topics in Signal Processing</source>, vol. <volume>3</volume>, no. <issue>4</issue>, pp. <fpage>661</fpage>&#x2013;<lpage>673</lpage>, <year>2009</year>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Lashley</surname></string-name> and <string-name><given-names>D. M.</given-names> <surname>Bevly</surname></string-name></person-group>, &#x201C;<article-title>Comparison in the performance of the vector delay/frequency lock loop and equivalent scalar tracking loops in dense foliage and urban canyon</article-title>,&#x201D; in <conf-name>Proc. 24th International Technical Meeting of the Institute of Navigation</conf-name>, Portland, OR, USA, pp. <fpage>1786</fpage>&#x2013;<lpage>1803</lpage>, <year>2011</year>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>Z.</given-names> <surname>Zhu</surname></string-name>, <string-name><given-names>Z.</given-names> <surname>Cheng</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Tang</surname></string-name>, <string-name><given-names>S.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>F.</given-names> <surname>Huang</surname></string-name></person-group>, &#x201C;<article-title>EKF based vector delay lock loop algorithm for GPS signal tracking</article-title>,&#x201D; in <conf-name>Proc. 2010 Int. Conf. on Computer Design and Applications</conf-name>, Qinhuangdao, China, <volume>4</volume>, pp. <fpage>352</fpage>&#x2013;<lpage>356</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>S.</given-names> <surname>Peng</surname></string-name>, <string-name><given-names>Y.</given-names> <surname>Morton</surname></string-name> and <string-name><given-names>R.</given-names> <surname>Di</surname></string-name></person-group>, &#x201C;<article-title>A multiple-frequency GPS software receiver design based on a vector tracking loop</article-title>,&#x201D; in <conf-name>Proc. 2012 IEEE/ION Position, Location and Navigation Symposium (PLANS)</conf-name>, Myrtle Beach, SC, USA, pp. <fpage>495</fpage>&#x2013;<lpage>505</lpage>, <year>2012</year>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Li</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Yang</surname></string-name></person-group>, &#x201C;<article-title>Analysis and simulation of vector tracking algorithms for weak GPS signal</article-title>,&#x201D; in <conf-name>Proc. 2nd Int. Asia Conf. on Informatics in Control, Automation and Robotics</conf-name>, Wuhan, China, pp. <fpage>215</fpage>&#x2013;<lpage>218</lpage>, <year>2010</year>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>R. G.</given-names> <surname>Brown</surname></string-name></person-group>, &#x201C;<article-title>A baseline GPS RAIM scheme and a note on the equivalence of three RAIM methods</article-title>,&#x201D; <source>NAVIGATION: Journal of the Institute of Navigation</source>, vol. <volume>39</volume>, no. <issue>3</issue>, pp. <fpage>301</fpage>&#x2013;<lpage>316</lpage>, <year>1992</year>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>G. Y.</given-names> <surname>Chin</surname></string-name>, <string-name><given-names>J.</given-names> <surname>Kraemer</surname></string-name> and <string-name><given-names>R. G.</given-names> <surname>Brown</surname></string-name></person-group>, &#x201C;<article-title>GPS RAIM: Screening out bad geometries under worst-case bias conditions</article-title>,&#x201D; <source>NAVIGATION: Journal of the Institute of Navigation</source>, vol. <volume>39</volume>, no. <issue>4</issue>, pp. <fpage>407</fpage>&#x2013;<lpage>428</lpage>, <year>1992&#x2013;1993</year>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>M.</given-names> <surname>Brenner</surname></string-name></person-group>, &#x201C;<article-title>Integrated GPS/inertial fault detection availability</article-title>,&#x201D; <source>NAVIGATION: Journal of the Institute of Navigation</source>, vol. <volume>43</volume>, no. <issue>2</issue>, pp. <fpage>111</fpage>&#x2013;<lpage>130</lpage>, <year>1996</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>J.</given-names> <surname>Diesel</surname></string-name> and <string-name><given-names>S.</given-names> <surname>Luu</surname></string-name></person-group>, &#x201C;<article-title>GPS/IRS AIME: Calculation of thresholds and protection radius using Chi-square methods</article-title>,&#x201D; in <conf-name>Proc. ION GPS-95</conf-name>, Palm Springs, CA, USA, pp. <fpage>1959</fpage>&#x2013;<lpage>1964</lpage>, <year>1995</year>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><given-names>H.</given-names> <surname>Lepp&#x00E4;koski</surname></string-name>, <string-name><given-names>H.</given-names> <surname>Kuusniemi</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Takala</surname></string-name></person-group>, &#x201C;<article-title>RAIM and complementary Kalman filtering for GNSS reliability enhancement</article-title>,&#x201D; in <conf-name>Proc. 2006 IEEE/ION Position, Location, and Navigation Symposium (PLANS)</conf-name>, Coronado, CA, USA, pp. <fpage>948</fpage>&#x2013;<lpage>956</lpage>, <year>2006</year>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><given-names>K.</given-names> <surname>Kuusniemi</surname></string-name>, <string-name><given-names>A.</given-names> <surname>Wieser</surname></string-name>, <string-name><given-names>G.</given-names> <surname>Lachapelle</surname></string-name> and <string-name><given-names>J.</given-names> <surname>Takala</surname></string-name></person-group>, &#x201C;<article-title>User-level reliability monitoring in urban personal satellite-navigation</article-title>,&#x201D; <source>IEEE Transactions on Aerospace and Electronic Systems</source>, vol. <volume>43</volume>, no. <issue>4</issue>, pp. <fpage>1305</fpage>&#x2013;<lpage>1318</lpage>, <year>2007</year>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>A.</given-names> <surname>Gelb</surname></string-name></person-group>, <source>Applied Optimal Estimation</source>. <publisher-loc>Cambridge, MA, USA</publisher-loc>: <publisher-name>MIT Press</publisher-name>, <year>1974</year>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><given-names>R. G.</given-names> <surname>Brown</surname></string-name> and <string-name><given-names>P. Y. C.</given-names> <surname>Hwang</surname></string-name></person-group>, <source>Introduction to Random Signals and Applied Kalman Filtering</source>. <publisher-loc>New York, NY, USA</publisher-loc>: <publisher-name>John Wiley &#x0026; Sons</publisher-name>, <year>1997</year>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><collab>GPSoft LLC.</collab></person-group>, <source>Satellite Navigation Toolbox 3.0 User&#x2019;s Guide</source>. <publisher-loc>Athens, OH, USA</publisher-loc>, <year>2003</year>.</mixed-citation></ref>
</ref-list>
</back>
</article>