<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD with MathML3 v1.1d2 20140930//EN" "JATS-journalpublishing1-mathml3.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="1.1d2" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="nlm-ta">CJIF</journal-id>
      <journal-id journal-id-type="publisher-id">ICCK</journal-id>
      <journal-title-group>
        <journal-title>Chinese Journal of Information Fusion</journal-title>
      </journal-title-group>
      <issn pub-type="ppub" publication-format="print">2998-3363</issn>
      <issn pub-type="epub" publication-format="electronic">2998-3371</issn>
      <publisher>
        <publisher-name>Institute of Central Computation and Knowledge Inc</publisher-name>
        <publisher-loc>522 W RIVERSIDE AVE STE N, SPOKANE, WA, 99201, UNITED STATES</publisher-loc>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.62762/CJIF.2024.361889</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>GPS Tracking Based on Stacked-Serial LSTM Network</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-2230-0077</contrib-id>
          <name>
            <surname>Jin</surname>
            <given-names>Xuebo</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Liu</surname>
            <given-names>Songzheng</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">https://orcid.org/0000-0002-0074-3467</contrib-id>
          <name>
            <surname>Kong</surname>
            <given-names>Jianlei</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Bai</surname>
            <given-names>Yuting</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <name>
            <surname>Su</surname>
            <given-names>Tingli</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <contrib-id contrib-id-type="orcid">https://orcid.org/0009-0006-5003-0437</contrib-id>
          <name>
            <surname>Ma</surname>
            <given-names>Huijun</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
      </contrib-group>
      <author-notes>
        <corresp id="cor1">Corresponding Author: Xuebo Jin. Email: <email>jinxuebo@btbu.edu.cn</email></corresp>
      </author-notes>
      <pub-date date-type="pub" pub-type="epub" publication-format="online">
        <day>08</day>
        <month>6</month>
        <year>2024</year>
      </pub-date>
      <volume>1</volume>
      <issue>1</issue>
      <fpage>50</fpage>
      <lpage>62</lpage>
      <history>
        <date date-type="received">
          <day>22</day>
          <month>3</month>
          <year>2024</year>
        </date>
        <date date-type="accepted">
          <day>01</day>
          <month>6</month>
          <year>2024</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2024 by the Authors. Published by Institute of Central Computation and Knowledge. This is an open access article under the CC BY license (https://creativecommons.org/licenses/by/4.0/).</copyright-statement>
        <copyright-year>2024</copyright-year>
        <copyright-holder>The Authors</copyright-holder>
        <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
        </license>
      </permissions>
      <self-uri xlink:href="https://www.icck.org/article/abs/cjif.2024.361889">This article is available from https://www.icck.org/article/abs/cjif.2024.361889</self-uri>
      <abstract>
        <p>Maneuvering target tracking, as a core task in multi-sensor information fusion, is widely used in unmanned vehicles, missile navigation, and underwater ship localization, where real-time and robust state estimation is critical. Due to the uncertainty of the moving characteristics of maneuvering targets and the low sensor measurement accuracy, trajectory tracking has always been an open research problem and challenging work. This paper proposes a Bayesian-inspired stacked LSTM fusion network (SLSTM) for uncertain motion characteristics. The network consists of two LSTM fusion networks with stacked serial relationships, one of which is used to predict the movement dynamics, and the other is used to update the track's state. Compared with the classical Kalman filter based on the maneuver model, the method proposed here does not need to model the motion characteristics and sensor characteristics. It can achieve high-performance tracking by learning historical data dynamics and sensor characteristics. Experimental results show that this method can effectively improve the trajectory estimation performance when the target motion is unknown and uncertain.</p>
      </abstract>
      <kwd-group kwd-group-type="author" xml:lang="en">
        <kwd>trajectory estimation</kwd>
        <kwd>recurrent neural network</kwd>
        <kwd>GPS</kwd>
        <kwd>filtering algorithm</kwd>
        <kwd>LSTM fusion networks</kwd>
        <kwd>stacked serial structure</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="S1">
      <label>1.</label>
      <title>Introduction</title>
      <p id="S1.p1">Global Positioning System (GPS) is a satellite navigation system that provides real-time position and speed information for moving targets [<xref rid="ref001" ref-type="bibr">1</xref>]. However, GPS signals are imperfected and often affected by various external factors such as atmospheric conditions, satellite configuration, and receiver quality, resulting in noise in the measurements. This noise is not entirely random and can exhibit colored characteristics, with pink noise being one of the most prevalent types of noise in GPS signals. Pink noise has a higher power density at lower frequencies and gradually decreases as frequency increases. Its presence in GPS measurements can significantly affect the accuracy and precision of GPS-based tracking systems. As a classical method for GPS tracking, the Kalman filter is a linear minimum variance estimation under the discrete state space model with the system's dynamic and measurement equation. Classical filtering methods include the Kalman filter (KF), extended Kalman filter (EKF) [<xref rid="ref002" ref-type="bibr">2</xref>], unscented Kalman filter (UKF) [<xref rid="ref003" ref-type="bibr">3</xref>, <xref rid="ref004" ref-type="bibr">4</xref>, <xref rid="ref005" ref-type="bibr">5</xref>], volumetric Kalman filter (CKF) [<xref rid="ref006" ref-type="bibr">6</xref>, <xref rid="ref007" ref-type="bibr">7</xref>], particle filter (PF) [<xref rid="ref008" ref-type="bibr">8</xref>], etc. The accurate system models are particularly critical for tracking the performance of the Kalman series filters. In order to achieve precise tracking, it is necessary to establish a motion model that matches the actual state of the target motion. Current motion models mainly to include single-model and multiple-model methods. The single models have Constant Velocity (CV) [<xref rid="ref009" ref-type="bibr">9</xref>], Constant Acceleration (CA) [<xref rid="ref010" ref-type="bibr">10</xref>], Singer model [<xref rid="ref011" ref-type="bibr">11</xref>], and Current Statistical (CS) model [<xref rid="ref012" ref-type="bibr">12</xref>]. The CV and CA models consider the acceleration and derivative of maneuvering targets as zero-mean Gaussian noise, respectively, which fails to capture the targets' maneuvering behavior accurately. Singer model can give the acceleration of the maneuvering target as exponential autocorrelation zero mean colored noise, and its assumption of zero means is unreasonable for describing the moving state of the maneuvering target of actual situations. CS model improves the adaptive non-zero mean acceleration based on the Singer model and describes the statistical distribution characteristics of maneuvering acceleration according to the change of its mean value. However, the unreasonable setting will increase target tracking error because it needs to set the maneuvering frequency and acceleration limited in advance.</p>
      <p id="S1.p2">The single model method only uses one model to represent the system's motion mode, so it only applies to the system with a single motion mode and weak mobility. With the rapid improvement of the maneuverability of the target, the complex movement of the target makes it difficult for a single model to describe accurately, so the multi-model algorithm has been applied in many fields. The multi-model method uses multiple models to cover the numerous different motion modes of the target. Each model matches a motion model, and the outputs of all models are combined into the final state estimation of the target according to different weights. The interactive Multiple Model (IMM) [<xref rid="ref013" ref-type="bibr">13</xref>] and adaptive interactive multiple models (AIMM) [<xref rid="ref014" ref-type="bibr">14</xref>] are classic methods of multiple model algorithms. However, the multi-model algorithm contains more models, reducing the performance and increasing the computational load.</p>
      <p id="S1.p3">The classical Kalman filtering algorithm enhances tracking accuracy by incorporating motion characteristics and dynamics into its model and using observations to correct estimation results. However, accurate modeling can be challenging due to the complexities of maneuvering target motion. As a result, over-reliance on the model has become a significant weakness of the algorithm.</p>
      <p id="S1.p4">The development of deep neural networks in recent years has led to significant advancements in tracking applications. Deep neural networks can learn discriminant features from big data, unlike traditional model-based methods. Data uncertainty and noise can be effectively dealt with by choosing an appropriate neural network. The recurrent neural network (RNN) is a widely used time series data network. However, RNN's simple structure can result in gradient disappearance or explosion as the time horizon increases.</p>
      <p id="S1.p5">In contrast to RNN, Long short-term memory (LSTM) [<xref rid="ref015" ref-type="bibr">15</xref>] networks have more forgotten gates that effectively address the problems of RNN's gradient disappearance and explosion and have a long-term memory function. LSTM performs better in extracting practical information from time series data and has high precision in estimating trajectories from measured values. For instance, Chen et al. [<xref rid="ref016" ref-type="bibr">16</xref>] proposed IONet,which predicts the indoor trajectory of pedestrians by simultaneously processing IMU and GPS data using a multi-layer convolutional neural network (CNN) and an LSTM. The CNN extracts discriminant visual features from the mobile device's accelerometer and gyroscope signals, and the LSTM performs spatiotemporal modeling. Finally, IONet outputs the polar coordinate of pedestrians. Another example is AtLoc proposed by Wang et al. [<xref rid="ref017" ref-type="bibr">17</xref>], which uses an attention mechanism to focus the network on the objects' features, improving the performance of motion target attitude regression. Utilizing deep neural networks enables the models to have better tracking accuracy. It reduces the reliance on handcrafted models, which can be limited by the availability of data and knowledge of the target motion behavior.</p>
      <p id="S1.p6">In recent years, there has been significant progress in predicting the GPS position information of moving targets using neural networks [<xref rid="ref018" ref-type="bibr">18</xref>, <xref rid="ref019" ref-type="bibr">19</xref>, <xref rid="ref020" ref-type="bibr">20</xref>]. While these models have demonstrated good accuracy and robustness, their prediction process is akin to a "black box" and lacks interpretability, unlike the Kalman filter, which operates based on a model and provides an interpretable process for prediction and recursive optimization.</p>
      <p id="S1.p7">This paper presents the following main innovations:</p>
      <p id="S1.p8">(1) Incorporating the variational method into the classical LSTM weights training method in the proposed network offers a significant advantage by allowing the network to adapt to the colored pink noise of GPS signals. The method's ability to model uncertainty and adjust the network's weights accordingly helps overcome the detrimental effects of such noise on the accuracy of GPS-based tracking systems. By improving the capability of LSTM to fuse the colored nature of GPS signal noise, the proposed method enhances tracking performance. It provides a more robust solution for GPS-based tracking applications.</p>
      <p id="S1.p9">(2) The proposed stacked LSTM structure is designed to estimate tracking trajectories while avoiding the need for modeling moving objects, which sets it apart from the Kalman filter. Unlike traditional neural networks, the prediction process of the proposed method involves a unique prediction and upload step, which offers improved interpretability. This design also takes advantage of the LSTM's long-term memory to capture the sequence dependencies of GPS measurements, leading to superior estimation performance compared to the Kalman filter.</p>
    </sec>
    <sec id="S2">
      <label>2.</label>
      <title>Related Work</title>
      <p id="S2.p1">Kalman filter and its variants have been widely applied in moving target tracking. They are one of the most commonly used filtering methods due to their advantages in the real-time estimation of statistical parameters of the system and observation of noise through searching the minimum mean squared error. Specifically, for estimating the motion position and velocity of moving targets based on GPS, the Kalman filter can utilize the positional information obtained from GPS as the state observation and fuse it with the kinematic model to achieve more accurate estimation results. Moreover, improved Kalman filters, such as the extended Kalman filter, can handle non-linear systems dynamic models, which makes them more suitable for complex motion trajectories. Although Kalman filter has limitations in dealing with certain problems, such as multiple types of noise and insufficient prior information, incorporating other estimation algorithms and deep learning techniques can further extend its functionality and application. For example, Sun et al. [<xref rid="ref021" ref-type="bibr">21</xref>] proposed an adaptive Kalman filter that combines the volumetric Kalman filter with the Sage Husa estimator for moving target tracking. This new algorithm enables real-time estimation of the statistical parameters and observation noise of unknown systems, thus avoiding algorithm divergence.</p>
      <p id="S2.p2">Additionally, it can reduce tracking error caused by unusual noise while improving accuracy and numerical stability. By introducing the Sage Husa estimator into the volume Kalman filter algorithm, the proposed adaptive Kalman filter offers a superior approach for moving target tracking. Nagui et al. [<xref rid="ref022" ref-type="bibr">22</xref>] designed a cascaded extended Kalman filter to couple GPS and INS. The original GPS data is fused with the noisy Euler angle from the inertial measurement unit to produce more consistent and accurate real-time position information. Sun et al. [<xref rid="ref023" ref-type="bibr">23</xref>] proposed a Marginal Kalman Filter (MKF) algorithm for maneuvering target tracking that models the system's nonlinear measurement equation as a weighted sum of Hermite polynomials. The algorithm estimates the prior distribution of the weighting matrix as a Gauss process. It calculates its posterior distribution, which is then used to remove the influence of the weighting matrix by calculating its integral. In order to improve the stability of the MKF algorithm, a strong tracking filter is introduced by using fading factors in the MKF algorithm, which can reduce the impact of previous filtering steps on the current step. Huang et al. [<xref rid="ref024" ref-type="bibr">24</xref>] proposed a new adaptive Kalman filter based on the variable Bayesian theory. By selecting the inverse Wishart prior matrix and inferring the covariance matrix of state, prediction error, and measurement noise based on the variable Bayesian method, the structure has better robustness and can resist the process and measurement noise covariance. Chang et al. [<xref rid="ref025" ref-type="bibr">25</xref>] designed a new fuzzy strong tracking cubature Kalman filter (FSTCKF) data fusion algorithm for the strong tracking Kalman Filter design. This algorithm enhances the filter's ability to identify and respond to dynamics. This algorithm can improve the positioning accuracy and stability of INS/GNSS integrated navigation system.</p>
      <p id="S2.p3">Although the previous research utilizing filtering methods can enhance the filtering capability of Kalman filter towards nonlinear and non-Gaussian White noise to a certain extent, its application may lead to filter divergence due to the target's sudden maneuvering motion, which may cause model mismatching issues.</p>
      <p id="S2.p4">In recent years, with the continuous development of deep learning, some researchers have combined deep learning to propose new target-tracking methods. Deep learning methods are widely used modeling methods, including RNNs, encoder-decoder, and other structures. This method combines massive training data and the computer's large-scale computing ability to optimize the model's internal parameters. It can fit complex nonlinear data, widely used in many fields [<xref rid="ref026" ref-type="bibr">26</xref>, <xref rid="ref027" ref-type="bibr">27</xref>, <xref rid="ref028" ref-type="bibr">28</xref>]. Liu et al. [<xref rid="ref029" ref-type="bibr">29</xref>] proposed the DeepMTT network with bidirectional LSTM using self-built mass offline trajectory data to pre-train the model. Zhang et al. [<xref rid="ref030" ref-type="bibr">30</xref>] designed a trajectory-tracking model combining LSTM with the Unscented Kalman Filter (UKF). They used the autonomous learning and memory characteristics of the LSTM network to provide the UKF algorithm with predictive observation values. The simulation results show that the LSTM UKF algorithm model has a good tracking effect. Li et al. [<xref rid="ref031" ref-type="bibr">31</xref>] proposed a trajectory recognition method based on LSTM and a maneuver tracking method matching CS model parameters. This method uses LSTM to effectively combine the above information's characteristics to recognize the target motion state. The optimal filtering parameters of each motion mode are obtained through clustering analysis, and filtering is performed according to the identification results of the LSTM. Compared with the traditional maneuvering tracking model, this method can maintain a stable filtering gain during the maneuvering process. Yaqi et al. [<xref rid="ref032" ref-type="bibr">32</xref>] designed a new filter with a feedforward neural network, RNN, and attention mechanism. Vedula et al. [<xref rid="ref033" ref-type="bibr">33</xref>] compared the classical tracking technology and LSTM deep learning model in the maneuvering target tracking application. Giuliari et al. [<xref rid="ref034" ref-type="bibr">34</xref>] established a motion trajectory tracking model based on the transformer model, combining the codec and attention mechanism, and the model verifies the performance on multiple trajectory prediction benchmarks such as TrajNet [<xref rid="ref035" ref-type="bibr">35</xref>]. James [<xref rid="ref036" ref-type="bibr">36</xref>] proposed a tracking mode recognition mechanism based on the development of discrete wavelet transform and deep learning. Discrete wavelet transform offers time-frequency characteristics and assists neural network classification and prediction. Liu [<xref rid="ref037" ref-type="bibr">37</xref>] proposed a Gaussian mixture model and Kullback Leibler's deep learning framework with multiple LSTMs to predict the vehicle position and combined improved extended Kalman filter (IEKF) and multiple LSTMs to optimize the vehicle positioning accuracy. The application of these models improves the tracking performance and proves the feasibility and effectiveness of using deep learning data-driven methods for target tracking. The traditional weak signal acquisition method cannot work correctly and accurately under various conditions. Moradi et al. [<xref rid="ref038" ref-type="bibr">38</xref>] proposed a method based on deep convolutional neural networks and post collection to solve the problem of Doppler and navigation bit symbol conversion and in environments that do not meet nominal conditions. Taghizadeh et al. [<xref rid="ref039" ref-type="bibr">39</xref>] proposed an architecture consisting of a set of layered LSTM and attention mechanisms to achieve long-term multi-stage prediction. In the absence of a GNSS network, this method can provide long-term navigation for drones and estimate their future state. He et al. [<xref rid="ref040" ref-type="bibr">40</xref>] used the LSTM model to predict the Beidou satellite SCB, which improved the prediction accuracy of the Beidou-3 SCB. It reduces the impact of positioning errors and improves the accuracy of orbit determination. Orouji [<xref rid="ref041" ref-type="bibr">41</xref>] proposed a multilayer perceptron neural network to track the trend of data, aiming at the fact that the estimator will lose tracking of the real signal when it does not know the characteristics of the GPS signal, and improve the accuracy of the GPS received signal by estimating the real trend. The above methods directly use the deep neural network for learning, take the measured data and the reference state to be estimated as the input and output networks, respectively, and directly obtain the desired state output through network training.</p>
      <p id="S2.p5">This paper proposes a novel stacked LSTM network for GPS position estimation that utilizes a deep learning method based on Bayesian variational inference. The proposed method incorporates the variational method into the classical LSTM weight training method to facilitate the adjustment of the network's weights according to the colored pink noise of GPS signals. By exploiting the LSTM's long-term memory to capture sequence dependencies, the proposed method avoids the need to model moving objects, providing improved interpretability. Moreover, the ability of the proposed method to handle colored GPS signal noise improves tracking performance and provides a robust solution for GPS-based tracking applications. Overall, the proposed method effectively extracts dynamic motion characteristics to model colored noise, enhancing the accuracy and performance of deep learning models for complex maneuvering scenarios.</p>
    </sec>
    <sec id="S3">
      <label>3.</label>
      <title>Stacked LSTM Fusion Tracking Model</title>
      <sec id="S3.SS1">
        <label>3.1</label>
        <title>Bayesian Estimation</title>
        <p id="S3.SS1.p1">The essence of trajectory estimation is to estimate the state of the moving target according to the sensor's measurement. In the traditional model-based estimation method, it is assumed that the moving target and the corresponding measured value have a known mathematical model representation with sufficient accuracy, which is usually expressed by the following Equation (1):</p>
        <p>
          <disp-formula id="S3.E1">
            <mml:math alttext="{X_{t+1}}=f\left({{X_{t}}}\right)+{w_{\rm{t}}}" display="block">
              <mml:mrow>
                <mml:msub>
                  <mml:mi>X</mml:mi>
                  <mml:mrow>
                    <mml:mi>t</mml:mi>
                    <mml:mo>+</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                </mml:msub>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mi>f</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>+</mml:mo>
                  <mml:msub>
                    <mml:mi>w</mml:mi>
                    <mml:mi mathvariant="normal">t</mml:mi>
                  </mml:msub>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>where <inline-formula><mml:math alttext="X_{t}" display="inline"><mml:msub><mml:mi>X</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> is the state vector of the first time step of the moving target, is the process noise, and is the state transition function of the hypothetical model. It is assumed that the measured values depend on the model and are related to reality by the following Equation (2):</p>
        <p>
          <disp-formula id="S3.E2">
            <mml:math alttext="{Z_{t}}={h_{t}}\left({{X_{t}}}\right)+{q_{t}}" display="block">
              <mml:mrow>
                <mml:msub>
                  <mml:mi>Z</mml:mi>
                  <mml:mi>t</mml:mi>
                </mml:msub>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>h</mml:mi>
                      <mml:mi>t</mml:mi>
                    </mml:msub>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo>(</mml:mo>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo>)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mo>+</mml:mo>
                  <mml:msub>
                    <mml:mi>q</mml:mi>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>where <inline-formula><mml:math alttext="w_{t}" display="inline"><mml:msub><mml:mi>w</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> is the measured value of the sensor,<inline-formula><mml:math alttext="h_{t}" display="inline"><mml:msub><mml:mi>h</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> is the measurement function determined by the sensor, and <inline-formula><mml:math alttext="q_{t}" display="inline"><mml:msub><mml:mi>q</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> is the measurement noise of the sensor. In the target movement process, the target's position is estimated by using the trajectory of the actual moving target (state equation) and the actual information observed by the sensor (observation equation). In practice, noise is unavoidable in both state and observation. Only the state equation or observation equation is used to estimate the trajectory of moving targets. As time passes, the error between the estimated trajectory and the actual trajectory of moving targets will become larger and larger. Bayesian filtering can reduce the uncertainty of trajectory estimation of moving targets. Bayesian filtering estimates the probability of a hidden state by observations with noise, that is a posteriori probability distribution. The moving process of the moving target can be seen as a random process. The Bayesian filtering network is shown in Figure <xref ref-type="fig" rid="F1">1</xref>.</p>
        <p>
          <fig id="F1">
            <label>Figure 1.</label>
            <caption>
              <p>Graphical representation of a Bayesian filtering process.</p>
            </caption>
            <graphic xlink:href="bys.png"/>
          </fig>
        </p>
        <p id="S3.SS1.p2">Assume <inline-formula><mml:math alttext="Z_{t}=(Z_{1},Z_{2},...Z_{t})" display="inline"><mml:mrow><mml:msub><mml:mi>Z</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="normal">…</mml:mi><mml:mo>⁢</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the measurement sequence. The goal of trajectory estimation is to determine the calculation <inline-formula><mml:math alttext="p(X_{t}|Z_{t-1})" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo fence="false">|</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math alttext="p(X_{t}|Z_{t})" display="inline"><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>X</mml:mi><mml:mi>t</mml:mi></mml:msub><mml:mo fence="false">|</mml:mo><mml:msub><mml:mi>Z</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , corresponding to the prediction process and filtering process respectively, the prediction Equation (3) in Bayesian filtering is:</p>
        <p>
          <disp-formula id="S3.E3">
            <mml:math alttext="p\left({{X_{t}}|{Z_{1:t-1}}}\right)=\int p({X_{t}}|{Z_{t-1}})p({X_{t-1}}|{X_{1%&#10;:t-1}})d{X_{t-1}}" display="block">
              <mml:mrow>
                <mml:mrow>
                  <mml:mi>p</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo fence="false">|</mml:mo>
                      <mml:msub>
                        <mml:mi>Z</mml:mi>
                        <mml:mrow>
                          <mml:mn>1</mml:mn>
                          <mml:mo lspace="0.278em" rspace="0.278em">:</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo rspace="0.111em">=</mml:mo>
                <mml:mrow>
                  <mml:mo>∫</mml:mo>
                  <mml:mrow>
                    <mml:mi>p</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>X</mml:mi>
                          <mml:mi>t</mml:mi>
                        </mml:msub>
                        <mml:mo fence="false">|</mml:mo>
                        <mml:msub>
                          <mml:mi>Z</mml:mi>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mrow>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                    <mml:mo>⁢</mml:mo>
                    <mml:mi>p</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>X</mml:mi>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:msub>
                        <mml:mo fence="false">|</mml:mo>
                        <mml:msub>
                          <mml:mi>X</mml:mi>
                          <mml:mrow>
                            <mml:mn>1</mml:mn>
                            <mml:mo lspace="0.278em" rspace="0.278em">:</mml:mo>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                          </mml:mrow>
                        </mml:msub>
                      </mml:mrow>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                    <mml:mo lspace="0em">⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo rspace="0em">𝑑</mml:mo>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>The prediction results reflect the posterior of the state before the time measurement. The filtering uses the posterior probability calculation obtained from the prediction. The filtering Equation (4) is:</p>
        <p>
          <disp-formula id="S3.E4">
            <mml:math alttext="p\left({{X_{t}}|{Z_{1:t-1}}}\right)=\eta p({Z_{t}}|{X_{t}})p({X_{t}}|{Z_{1:t-1%&#10;}})\ " display="block">
              <mml:mrow>
                <mml:mrow>
                  <mml:mi>p</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo fence="false">|</mml:mo>
                      <mml:msub>
                        <mml:mi>Z</mml:mi>
                        <mml:mrow>
                          <mml:mn>1</mml:mn>
                          <mml:mo lspace="0.278em" rspace="0.278em">:</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mi>η</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mi>p</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mrow>
                    <mml:mo stretchy="false">(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>Z</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo fence="false">|</mml:mo>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo stretchy="false">)</mml:mo>
                  </mml:mrow>
                  <mml:mo>⁢</mml:mo>
                  <mml:mi>p</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mrow>
                    <mml:mo stretchy="false">(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo fence="false">|</mml:mo>
                      <mml:msub>
                        <mml:mi>Z</mml:mi>
                        <mml:mrow>
                          <mml:mn>1</mml:mn>
                          <mml:mo lspace="0.278em" rspace="0.278em">:</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo stretchy="false">)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>where <inline-formula><mml:math alttext="\eta" display="inline"><mml:mi>η</mml:mi></mml:math></inline-formula> is the normalized variable. The uncertainty of moving objects challenges trajectory estimation because accurate dynamic models cannot be obtained.</p>
      </sec>
      <sec id="S3.SS2">
        <label>3.2</label>
        <title>Kalman Filter</title>
        <p id="S3.SS2.p1">The essence of Bayesian estimation is to use the known information to predict the state's prior probability density with the system's prediction model, and then modify the latest observation data to obtain the posterior probability density. Kalman filter is an algorithm based on the idea of a Bayesian filter.</p>
        <p id="S3.SS2.p2">Kalman filter is an optimal autoregressive data processing algorithm. For many problems, the Kalman filter can obtain optimal estimation results. Assume that the process and measurement model of the discrete linear system is Equation (5):</p>
        <p>
          <disp-formula-group id="S3.E5">
            <disp-formula id="S3.E5X">
              <mml:math alttext="\displaystyle{X_{t+1}}=A{X_{t}}+w(t)" display="inline">
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>X</mml:mi>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>+</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mi>A</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:mi>w</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
            <disp-formula id="S3.E5Xa">
              <mml:math alttext="\displaystyle{Z_{t}}=C{X_{t}}+v(t)" display="inline">
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>Z</mml:mi>
                    <mml:mi>t</mml:mi>
                  </mml:msub>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mi>C</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:msub>
                        <mml:mi>X</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>+</mml:mo>
                    <mml:mrow>
                      <mml:mi>v</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mi>t</mml:mi>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p>where <inline-formula><mml:math alttext="X_{t}" display="inline"><mml:msub><mml:mi>X</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> is the quantity to be estimated, and <inline-formula><mml:math alttext="Z_{t}" display="inline"><mml:msub><mml:mi>Z</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> is the measurement data obtained through the sensor. Equation (7) is the process model of the system, which refers to the model that the state to be estimated in the system. <inline-formula><mml:math alttext="A" display="inline"><mml:mi>A</mml:mi></mml:math></inline-formula> is the process matrix. The state at the previous time is <inline-formula><mml:math alttext="X_{t}" display="inline"><mml:msub><mml:mi>X</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> . The state at the next time, that is <inline-formula><mml:math alttext="t+1" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math></inline-formula> , will become <inline-formula><mml:math alttext="X_{t+1}" display="inline"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. <inline-formula><mml:math alttext="w(t)" display="inline"><mml:mrow><mml:mi>w</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the process noise, which represents the degree of uncertainty in the process from <inline-formula><mml:math alttext="X_{t}" display="inline"><mml:msub><mml:mi>X</mml:mi><mml:mi>t</mml:mi></mml:msub></mml:math></inline-formula> to <inline-formula><mml:math alttext="X_{t+1}" display="inline"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>. is called the measurement model, <inline-formula><mml:math alttext="C" display="inline"><mml:mi>C</mml:mi></mml:math></inline-formula> is the measurement matrix, and <inline-formula><mml:math alttext="v(t)" display="inline"><mml:mrow><mml:mi>v</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> is the measurement noise. The Kalman filtering process is as follows (6) - (10):</p>
        <p>
          <disp-formula id="S3.E6">
            <mml:math alttext="{\hat{X}_{t|t-1}}=A{\hat{X}_{t-1|t-1}}\ " display="block">
              <mml:mrow>
                <mml:msub>
                  <mml:mover accent="true">
                    <mml:mi>X</mml:mi>
                    <mml:mo>^</mml:mo>
                  </mml:mover>
                  <mml:mrow>
                    <mml:mi>t</mml:mi>
                    <mml:mo fence="false">|</mml:mo>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:mrow>
                </mml:msub>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mi>A</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:msub>
                    <mml:mover accent="true">
                      <mml:mi>X</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>−</mml:mo>
                      <mml:mrow>
                        <mml:mn>1</mml:mn>
                        <mml:mo fence="false">|</mml:mo>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>
          <disp-formula id="S3.E7">
            <mml:math alttext="{\hat{X}_{t|t}}={\hat{X}_{t|t-1}}+K[{Z_{t}}-C{\hat{X}_{t|t-1}}]\ " display="block">
              <mml:mrow>
                <mml:msub>
                  <mml:mover accent="true">
                    <mml:mi>X</mml:mi>
                    <mml:mo>^</mml:mo>
                  </mml:mover>
                  <mml:mrow>
                    <mml:mi>t</mml:mi>
                    <mml:mo fence="false">|</mml:mo>
                    <mml:mi>t</mml:mi>
                  </mml:mrow>
                </mml:msub>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mover accent="true">
                      <mml:mi>X</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo fence="false">|</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>+</mml:mo>
                  <mml:mrow>
                    <mml:mi>K</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">[</mml:mo>
                      <mml:mrow>
                        <mml:msub>
                          <mml:mi>Z</mml:mi>
                          <mml:mi>t</mml:mi>
                        </mml:msub>
                        <mml:mo>−</mml:mo>
                        <mml:mrow>
                          <mml:mi>C</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:msub>
                            <mml:mover accent="true">
                              <mml:mi>X</mml:mi>
                              <mml:mo>^</mml:mo>
                            </mml:mover>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo fence="false">|</mml:mo>
                              <mml:mrow>
                                <mml:mi>t</mml:mi>
                                <mml:mo>−</mml:mo>
                                <mml:mn>1</mml:mn>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo stretchy="false">]</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>
          <disp-formula id="S3.E8">
            <mml:math alttext="K\left(t\right)={P_{t|t-1}}{C^{T}}{\left[{{C^{T}}{P_{t|t-1}}C+R}\right]^{-1}}\ " display="block">
              <mml:mrow>
                <mml:mrow>
                  <mml:mi>K</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>t</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>P</mml:mi>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo fence="false">|</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>⁢</mml:mo>
                  <mml:msup>
                    <mml:mi>C</mml:mi>
                    <mml:mi>T</mml:mi>
                  </mml:msup>
                  <mml:mo>⁢</mml:mo>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mo>[</mml:mo>
                      <mml:mrow>
                        <mml:mrow>
                          <mml:msup>
                            <mml:mi>C</mml:mi>
                            <mml:mi>T</mml:mi>
                          </mml:msup>
                          <mml:mo>⁢</mml:mo>
                          <mml:msub>
                            <mml:mi>P</mml:mi>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo fence="false">|</mml:mo>
                              <mml:mrow>
                                <mml:mi>t</mml:mi>
                                <mml:mo>−</mml:mo>
                                <mml:mn>1</mml:mn>
                              </mml:mrow>
                            </mml:mrow>
                          </mml:msub>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>C</mml:mi>
                        </mml:mrow>
                        <mml:mo>+</mml:mo>
                        <mml:mi>R</mml:mi>
                      </mml:mrow>
                      <mml:mo>]</mml:mo>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:msup>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>
          <disp-formula id="S3.E9">
            <mml:math alttext="{P_{t|t-1}}=A{P_{t-1|t-1}}{A^{T}}+Q\ " display="block">
              <mml:mrow>
                <mml:msub>
                  <mml:mi>P</mml:mi>
                  <mml:mrow>
                    <mml:mi>t</mml:mi>
                    <mml:mo fence="false">|</mml:mo>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                  </mml:mrow>
                </mml:msub>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mi>A</mml:mi>
                    <mml:mo>⁢</mml:mo>
                    <mml:msub>
                      <mml:mi>P</mml:mi>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mrow>
                          <mml:mn>1</mml:mn>
                          <mml:mo fence="false">|</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo>−</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:mrow>
                    </mml:msub>
                    <mml:mo>⁢</mml:mo>
                    <mml:msup>
                      <mml:mi>A</mml:mi>
                      <mml:mi>T</mml:mi>
                    </mml:msup>
                  </mml:mrow>
                  <mml:mo>+</mml:mo>
                  <mml:mi>Q</mml:mi>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>
          <disp-formula id="S3.E10">
            <mml:math alttext="{P_{t|t}}=[I-KC]{P_{t|t-1}}\ " display="block">
              <mml:mrow>
                <mml:msub>
                  <mml:mi>P</mml:mi>
                  <mml:mrow>
                    <mml:mi>t</mml:mi>
                    <mml:mo fence="false">|</mml:mo>
                    <mml:mi>t</mml:mi>
                  </mml:mrow>
                </mml:msub>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo stretchy="false">[</mml:mo>
                    <mml:mrow>
                      <mml:mi>I</mml:mi>
                      <mml:mo>−</mml:mo>
                      <mml:mrow>
                        <mml:mi>K</mml:mi>
                        <mml:mo>⁢</mml:mo>
                        <mml:mi>C</mml:mi>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo stretchy="false">]</mml:mo>
                  </mml:mrow>
                  <mml:mo>⁢</mml:mo>
                  <mml:msub>
                    <mml:mi>P</mml:mi>
                    <mml:mrow>
                      <mml:mi>t</mml:mi>
                      <mml:mo fence="false">|</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>Equation (6) is the prediction equation, Equation (7) is the updating equation, and Equation (8) is the filtering gain equation and <inline-formula><mml:math alttext="K" display="inline"><mml:mi>K</mml:mi></mml:math></inline-formula> is the Kalman gain parameter; Equation (9) is the prediction equation of the next step, and <inline-formula><mml:math alttext="P_{t|t-1}" display="inline"><mml:msub><mml:mi>P</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula> is the estimated variance of <inline-formula><mml:math alttext="X_{t|t-1}" display="inline"><mml:msub><mml:mi>X</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow></mml:msub></mml:math></inline-formula>; Equation (10) is the state estimation equation. Equation (6) corresponds to the Bayesian filtering Equation (3), which is the prediction equation; Equation (7) corresponds to the Bayesian filtering Equation (4), which is the updating equation.</p>
        <p id="S3.SS2.p3">When estimating the moving target, in order to improve the accuracy of estimation, first model the moving target according to its motion mode, such as uniform motion, uniform acceleration motion, etc. However, in actual movement, the target's motion mode is not fixed, which makes it challenging to model the target, and this method does not apply to the actual moving process. However, one of the advantages of classical filters is one-step prediction, making full use of data and continuously optimizing parameters.</p>
        <p id="S3.SS2.p4">Kalman filter uses the state equation of a linear system. Its most significant limitation is that it can only accurately estimate the process and measurement models. In practice, the rigorous linear equation almost does not exist, and nearly all systems are nonlinear. On the other hand, traditional maneuver models, such as the CV, CA, Singer, etc., mainly make prior assumptions about maneuver characteristics. Due to the lack of previous knowledge, these models based on assumptions generally make it difficult to obtain good estimation results.</p>
      </sec>
      <sec id="S3.SS3">
        <label>3.3</label>
        <title>Deep Tracking framework</title>
        <p id="S3.SS3.p1">The neural network has strong robustness and fault tolerance. It can not only learn, organize and adapt itself so that the network can deal with uncertain systems but also fully approximate any complex nonlinear relationship. To enhance the estimation accuracy under multi-source data conditions, this paper proposes a deep fusion tracking framework based on a Stacked Long Short-Term Memory (SLSTM) network. This framework fuses multi-source trajectory observations (such as GPS measurements and auxiliary signals) to realize more accurate and robust trajectory tracking. The SLSTM model achieves trajectory fusion by learning the temporal dependencies and correlations from heterogeneous sensor data. It mimics the one-step prediction and one-step update steps in Bayesian and Kalman filtering. The network structure is illustrated in Figure <xref ref-type="fig" rid="F2">2</xref>. The input consists of fused trajectory data from multiple sources, and the output is the estimated trajectory. The network consists of the prediction module and the update module. The calculation Equation (11) of SLSTM is as follows:</p>
        <p>
          <disp-formula-group id="S3.E11">
            <disp-formula id="S3.E11X">
              <mml:math alttext="\displaystyle\ C_{t-1}^{p},h_{t-1}^{p}=f_{h}^{p}({C_{t-1}},{h_{t-1}},{Z_{t-1}})" display="inline">
                <mml:mrow>
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>C</mml:mi>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mi>p</mml:mi>
                    </mml:msubsup>
                    <mml:mo>,</mml:mo>
                    <mml:msubsup>
                      <mml:mi>h</mml:mi>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>−</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mi>p</mml:mi>
                    </mml:msubsup>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>f</mml:mi>
                      <mml:mi>h</mml:mi>
                      <mml:mi>p</mml:mi>
                    </mml:msubsup>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:msub>
                        <mml:mi>C</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>h</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>Z</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:msub>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
            <disp-formula id="S3.E11Xa">
              <mml:math alttext="\displaystyle\ \hat{X}_{pre}^{(t|t-1)}=f_{o}^{p}(h_{t-1}^{p})" display="inline">
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mover accent="true">
                      <mml:mi>X</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mrow>
                      <mml:mi>p</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mi>r</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mi>e</mml:mi>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo fence="false">|</mml:mo>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                      </mml:mrow>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                  </mml:msubsup>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>f</mml:mi>
                      <mml:mi>o</mml:mi>
                      <mml:mi>p</mml:mi>
                    </mml:msubsup>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:msubsup>
                        <mml:mi>h</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>p</mml:mi>
                      </mml:msubsup>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
            <disp-formula id="S3.E11Xb">
              <mml:math alttext="\displaystyle{C_{t}},{h_{t}}=f_{h}^{f}(C_{t-1}^{p},h_{t-1}^{p},\hat{X}_{pre}^{%&#10;(t|t-1)})" display="inline">
                <mml:mrow>
                  <mml:mrow>
                    <mml:msub>
                      <mml:mi>C</mml:mi>
                      <mml:mi>t</mml:mi>
                    </mml:msub>
                    <mml:mo>,</mml:mo>
                    <mml:msub>
                      <mml:mi>h</mml:mi>
                      <mml:mi>t</mml:mi>
                    </mml:msub>
                  </mml:mrow>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>f</mml:mi>
                      <mml:mi>h</mml:mi>
                      <mml:mi>f</mml:mi>
                    </mml:msubsup>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:msubsup>
                        <mml:mi>C</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>p</mml:mi>
                      </mml:msubsup>
                      <mml:mo>,</mml:mo>
                      <mml:msubsup>
                        <mml:mi>h</mml:mi>
                        <mml:mrow>
                          <mml:mi>t</mml:mi>
                          <mml:mo>−</mml:mo>
                          <mml:mn>1</mml:mn>
                        </mml:mrow>
                        <mml:mi>p</mml:mi>
                      </mml:msubsup>
                      <mml:mo>,</mml:mo>
                      <mml:msubsup>
                        <mml:mover accent="true">
                          <mml:mi>X</mml:mi>
                          <mml:mo>^</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>p</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>r</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>e</mml:mi>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo fence="false">|</mml:mo>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo>−</mml:mo>
                              <mml:mn>1</mml:mn>
                            </mml:mrow>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
            <disp-formula id="S3.E11Xc">
              <mml:math alttext="\displaystyle\ \hat{X}_{fil}^{(t|t)}=f_{o}^{f}({h_{t}})\ " display="inline">
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mover accent="true">
                      <mml:mi>X</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mrow>
                      <mml:mi>f</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mi>i</mml:mi>
                      <mml:mo>⁢</mml:mo>
                      <mml:mi>l</mml:mi>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo fence="false">|</mml:mo>
                        <mml:mi>t</mml:mi>
                      </mml:mrow>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                  </mml:msubsup>
                  <mml:mo>=</mml:mo>
                  <mml:mrow>
                    <mml:msubsup>
                      <mml:mi>f</mml:mi>
                      <mml:mi>o</mml:mi>
                      <mml:mi>f</mml:mi>
                    </mml:msubsup>
                    <mml:mo>⁢</mml:mo>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:msub>
                        <mml:mi>h</mml:mi>
                        <mml:mi>t</mml:mi>
                      </mml:msub>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:math>
            </disp-formula>
          </disp-formula-group>
        </p>
        <p id="S3.SS3.p2">where <inline-formula><mml:math alttext="\hat{X}_{pre}^{(t|t-1)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>X</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is the predicted filter value of all measured values at the time <inline-formula><mml:math alttext="t-1" display="inline"><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math alttext="\hat{X}_{fil}^{(t|t)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>X</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is the updated value at time . <inline-formula><mml:math alttext="f_{h}^{p}" display="inline"><mml:msubsup><mml:mi>f</mml:mi><mml:mi>h</mml:mi><mml:mi>p</mml:mi></mml:msubsup></mml:math></inline-formula>, <inline-formula><mml:math alttext="f_{o}^{p}" display="inline"><mml:msubsup><mml:mi>f</mml:mi><mml:mi>o</mml:mi><mml:mi>p</mml:mi></mml:msubsup></mml:math></inline-formula> and <inline-formula><mml:math alttext="f_{h}^{f}" display="inline"><mml:msubsup><mml:mi>f</mml:mi><mml:mi>h</mml:mi><mml:mi>f</mml:mi></mml:msubsup></mml:math></inline-formula>, correspond to the functions of the prediction filtering process and the update prediction process. Enter <inline-formula><mml:math alttext="Z_{t-1}" display="inline"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="h_{-1}" display="inline"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>, <inline-formula><mml:math alttext="C_{t-1}" display="inline"><mml:msub><mml:mi>C</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> into the prediction part to get <inline-formula><mml:math alttext="C_{t-1}^{p}" display="inline"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>p</mml:mi></mml:msubsup></mml:math></inline-formula>,<inline-formula><mml:math alttext="h_{t-1}" display="inline"><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>,<inline-formula><mml:math alttext="\hat{X}_{pre}^{(t|t-1)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>X</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> .Forecast results(<inline-formula><mml:math alttext="C_{t-1}^{p}" display="inline"><mml:msubsup><mml:mi>C</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>p</mml:mi></mml:msubsup></mml:math></inline-formula>,<inline-formula><mml:math alttext="h_{t-1}^{p}" display="inline"><mml:msubsup><mml:mi>h</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>p</mml:mi></mml:msubsup></mml:math></inline-formula>,<inline-formula><mml:math alttext="\hat{X}_{pre}^{(t|t-1)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>X</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> ) enter the updated prediction part as the input to get the updated state. The hidden state is used as the input to enter the update part and get the updated state. Use the predicted status <inline-formula><mml:math alttext="\hat{X}_{pre}^{(t|t-1)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>X</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> as input to the update section, estimate the target positions at time.</p>
        <p>
          <fig id="F2">
            <label>Figure 2.</label>
            <caption>
              <p>SLSTM Structure. The s are learnable parameters to make the dimensions of the input and output stay the same as those of the hidden states.</p>
            </caption>
            <graphic xlink:href="图2. SLSTM结构图.png"/>
          </fig>
        </p>
        <p id="S3.SS3.p3">The first part of the network is the prediction part. LSTM is used to predict the input data <inline-formula><mml:math alttext="Z_{t-1}" display="inline"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula> in one step, and the predicted value <inline-formula><mml:math alttext="\hat{X}_{pre}^{(t|t-1)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>X</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is used as the input to the second part of LSTM for updating to obtain the estimated value <inline-formula><mml:math alttext="\hat{X}_{fil}^{(t|t)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>X</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> in one step. The first step of the network algorithm is prediction step (Equation (6) in Kalman filter). The second step of the network algorithm are updating step (Equation (7) in Kalman filter). Thus, the proposed method has a similar structure to the Kalman filter, consisting of a prediction equation and an update equation. This structural similarity provides several advantages, including the ability to leverage the well-established theoretical foundation of the Kalman filter and its well-known properties, such as optimality and convergence guarantees. The proposed method's similarity to the Kalman filter allows straightforward integration into pre-existing Kalman filter architectures, offering a more convenient and flexible framework for GPS-based tracking applications.</p>
      </sec>
      <sec id="S3.SS4">
        <label>3.4</label>
        <title>Training based on Bayesian variation</title>
        <p id="S3.SS4.p1">During training, the goal is not only to minimize the prediction and filtering error, but also to optimize the network to best fuse different sources of measurements. This is reflected in the cost function, which evaluates both the prediction and filtering accuracy across the fused data sequence. By leveraging fusion across multiple sensor modalities, the SLSTM model can better handle measurement noise, signal occlusion, and dynamic motion patterns. Therefore, the training process encourages the model to learn how to weight and utilize fused signals effectively.</p>
        <p id="S3.SS4.p2">Figure <xref ref-type="fig" rid="F3">3</xref> shows the training structure of the SLSTM fusion network. LSTM requires a large amount of data to avoid overfitting. The input data shall be normalized to the maximum and minimum, and the data shall be mapped to the range of 0<inline-formula><mml:math alttext="\sim" display="inline"><mml:mo>∼</mml:mo></mml:math></inline-formula>1 to accelerate the convergence of the training network.</p>
        <p id="S3.SS4.p3">One way to reduce the overfitting of neural networks when training the network is to use dropout, which is a regularization method. In each process, a part of hidden layer neurons is temporarily discarded by setting a certain probability to simplify the network to prevent overfitting and improve the network's generalization ability. After many experiments, the network works best when the dropout is set to 0.2.</p>
        <p id="S3.SS4.p4">After the network's training, the network, the output of the network is de-normalized to obtain the model's output value, and the network's parameters are optimized through the cost function. The cost function is nonconvex, and the calculation of the entire training data set is huge. Therefore, the minimum gradient descent algorithm is used to train the network to obtain parameters. The cost function of the network is Equation (12):</p>
        <p>
          <disp-formula id="S3.E12">
            <mml:math alttext="J(\theta)=\frac{1}{N}\sum{{}_{t=1}^{N}}[{(x_{fil}^{(t|t)}-\hat{x}_{fil}^{(t|t)%&#10;})^{2}}+\varepsilon{(x_{pre}^{(t|t-1)}-\hat{x}_{pre}^{(t|t-1)})^{2}}\ " class="ltx_math_unparsed" display="block">
              <mml:mrow>
                <mml:mi>J</mml:mi>
                <mml:mrow>
                  <mml:mo stretchy="false">(</mml:mo>
                  <mml:mi>θ</mml:mi>
                  <mml:mo stretchy="false">)</mml:mo>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mfrac>
                  <mml:mn>1</mml:mn>
                  <mml:mi>N</mml:mi>
                </mml:mfrac>
                <mml:mo movablelimits="false" rspace="0em">∑</mml:mo>
                <mml:mmultiscripts>
                  <mml:mrow>
                    <mml:mo stretchy="false">[</mml:mo>
                    <mml:msup>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mrow>
                            <mml:mi>f</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>i</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>l</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mo stretchy="false">(</mml:mo>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo fence="false">|</mml:mo>
                              <mml:mi>t</mml:mi>
                            </mml:mrow>
                            <mml:mo stretchy="false">)</mml:mo>
                          </mml:mrow>
                        </mml:msubsup>
                        <mml:mo>−</mml:mo>
                        <mml:msubsup>
                          <mml:mover accent="true">
                            <mml:mi>x</mml:mi>
                            <mml:mo>^</mml:mo>
                          </mml:mover>
                          <mml:mrow>
                            <mml:mi>f</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>i</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>l</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mo stretchy="false">(</mml:mo>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo fence="false">|</mml:mo>
                              <mml:mi>t</mml:mi>
                            </mml:mrow>
                            <mml:mo stretchy="false">)</mml:mo>
                          </mml:mrow>
                        </mml:msubsup>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:msup>
                    <mml:mo>+</mml:mo>
                    <mml:mi>ε</mml:mi>
                    <mml:msup>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:msubsup>
                          <mml:mi>x</mml:mi>
                          <mml:mrow>
                            <mml:mi>p</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>r</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>e</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mo stretchy="false">(</mml:mo>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo fence="false">|</mml:mo>
                              <mml:mrow>
                                <mml:mi>t</mml:mi>
                                <mml:mo>−</mml:mo>
                                <mml:mn>1</mml:mn>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mo stretchy="false">)</mml:mo>
                          </mml:mrow>
                        </mml:msubsup>
                        <mml:mo>−</mml:mo>
                        <mml:msubsup>
                          <mml:mover accent="true">
                            <mml:mi>x</mml:mi>
                            <mml:mo>^</mml:mo>
                          </mml:mover>
                          <mml:mrow>
                            <mml:mi>p</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>r</mml:mi>
                            <mml:mo>⁢</mml:mo>
                            <mml:mi>e</mml:mi>
                          </mml:mrow>
                          <mml:mrow>
                            <mml:mo stretchy="false">(</mml:mo>
                            <mml:mrow>
                              <mml:mi>t</mml:mi>
                              <mml:mo fence="false">|</mml:mo>
                              <mml:mrow>
                                <mml:mi>t</mml:mi>
                                <mml:mo>−</mml:mo>
                                <mml:mn>1</mml:mn>
                              </mml:mrow>
                            </mml:mrow>
                            <mml:mo stretchy="false">)</mml:mo>
                          </mml:mrow>
                        </mml:msubsup>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:msup>
                  </mml:mrow>
                  <mml:mprescripts/>
                  <mml:mrow>
                    <mml:mi>t</mml:mi>
                    <mml:mo>=</mml:mo>
                    <mml:mn>1</mml:mn>
                  </mml:mrow>
                  <mml:mi>N</mml:mi>
                </mml:mmultiscripts>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>The superscript n represents the nth sequence in the training data set, which includes n sequences in total, <inline-formula><mml:math alttext="N" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> is its length, and the weighting coefficient <inline-formula><mml:math alttext="\varepsilon" display="inline"><mml:mi>ε</mml:mi></mml:math></inline-formula> that is a super parameter used to balance the error of filtering or estimation. If the sensor's accuracy is higher, it can be set to a value greater than 1.</p>
        <p id="S3.SS4.p5">The network cost consists of two parts, one is the result calculated from the input sequence through SLSTM, and the other is the actual value of GPS. The goal is to learn an actual trajectory network that can estimate close to the actual trajectory. Therefore, we minimize the mean square error between the filter, predicted, and actual states. The flow chart of training SLSTM to obtain its parameters is shown in Figure <xref ref-type="fig" rid="F3">3</xref>. The input value is <inline-formula><mml:math alttext="Z(t)" display="inline"><mml:mrow><mml:mi>Z</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , the prediction <inline-formula><mml:math alttext="\hat{x}_{pre}^{(t|t)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is obtained through the prediction module, and the filtering value <inline-formula><mml:math alttext="\hat{x}_{fil}^{(t)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is obtained through the filtering module. Therefore, the cost function is non convex. We use a gradient descent algorithm to optimize the parameters of SLSTM, namely <inline-formula><mml:math alttext="\theta" display="inline"><mml:mi>θ</mml:mi></mml:math></inline-formula> . In order to overcome the problem of extensive calculation caused by large training data set when calculating gradient, it is only necessary to input a small batch of training samples to the network to update the parameters of each time step. The parameters of SLSTM are obtained by iterating the whole training dataset for some time until the cost function converges. In addition, optimization can be performed by randomly starting parameters to avoid local minima and find global minima with a higher probability. The network is a one-step prediction. It fully uses GPS data, trains the predicted value through the network, calculates the cost function with the measurement, and continuously optimizes the parameter <inline-formula><mml:math alttext="\theta" display="inline"><mml:mi>θ</mml:mi></mml:math></inline-formula> .</p>
        <p>
          <fig id="F3">
            <label>Figure 3.</label>
            <caption>
              <p>Training architecture of the stacked LSTM fusion network. The input observation sequences <inline-formula><mml:math alttext="Z_{(t)}" display="inline"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msub></mml:math></inline-formula> are processed by the SLSTM blocks to generate predicted (<inline-formula><mml:math alttext="\hat{x}^{(i)}{pre}" display="inline"><mml:mrow><mml:msup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>⁢</mml:mo><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow></mml:math></inline-formula>) and filtered (<inline-formula><mml:math alttext="\hat{x}^{(i)}{fil}" display="inline"><mml:mrow><mml:msup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>i</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>⁢</mml:mo><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow></mml:math></inline-formula>) trajectories. These outputs are compared with ground-truth values to compute the cost function <inline-formula><mml:math alttext="J(\theta)" display="inline"><mml:mrow><mml:mi>J</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>θ</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, which is minimized using gradient descent to optimize network parameters <inline-formula><mml:math alttext="\theta" display="inline"><mml:mi>θ</mml:mi></mml:math></inline-formula>.</p>
            </caption>
            <graphic xlink:href="图3. SLSTM训练.png"/>
          </fig>
        </p>
        <p id="S3.SS4.p6">Based on the above analysis, the optimization process of the SLSTM model is as follows:</p>
        <boxed-text id="alg1">
          <label>Algorithm 1</label>
          <caption>
            <p> Stacking LSTM Fusion Network Optimization Process</p>
          </caption>
          <list>
            <list-item id="alg1.l1">
              <p><bold>Step 1:</bold> Input multi-source GPS information, preprocess maximum and minimum normalized data for each track information, and set network parameters, drop=0.2, hidden_dim=32. </p>
            </list-item>
            <list-item id="alg1.l2">
              <p><bold>Step 2:</bold> Given a total of m samples for each batch: D(<inline-formula><mml:math alttext="Z_{t-1}" display="inline"><mml:msub><mml:mi>Z</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:math></inline-formula>,X), where <inline-formula><mml:math alttext="Z" display="inline"><mml:mi>Z</mml:mi></mml:math></inline-formula> represents the network input data, <inline-formula><mml:math alttext="x_{fil}^{(t)}" display="inline"><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> represents the expected output of the network, and the network output is <inline-formula><mml:math alttext="x_{fil}^{(t)}" display="inline"><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula>. </p>
            </list-item>
            <list-item id="alg1.l3">
              <p><bold>Step 3:</bold> Use variational inference to sample the network weight and bias <inline-formula><mml:math alttext="N" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> times and calculate the average loss: <inline-formula><mml:math alttext="J(\theta)=\frac{1}{N}\sum_{t=1}^{N}\left[(x_{fil}^{(t|t)}-\hat{x}_{fil}^{(t|t)%&#10;})^{2}+\varepsilon(x_{pre}^{(t|t-1)}-\hat{x}_{pre}^{(t|t-1)})^{2}\right]" display="inline"><mml:mrow><mml:mrow><mml:mi>J</mml:mi><mml:mo>⁢</mml:mo><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>θ</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>N</mml:mi></mml:mfrac><mml:mo>⁢</mml:mo><mml:mrow><mml:msubsup><mml:mo rspace="0em">∑</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>N</mml:mi></mml:msubsup><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:mrow><mml:mi>ε</mml:mi><mml:mo>⁢</mml:mo><mml:msup><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo>−</mml:mo><mml:msubsup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>p</mml:mi><mml:mo>⁢</mml:mo><mml:mi>r</mml:mi><mml:mo>⁢</mml:mo><mml:mi>e</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>−</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow></mml:math></inline-formula></p>
            </list-item>
            <list-item id="alg1.l4">
              <p><bold>Step 4:</bold> Use the Adam optimizer according to loss to update the weight and parameters: <inline-formula><mml:math alttext="\theta" display="inline"><mml:mi>θ</mml:mi></mml:math></inline-formula>. </p>
            </list-item>
            <list-item id="alg1.l5">
              <p><bold>Step 5:</bold> Repeat steps 2 to 4 for network convergence until the loss no longer declines. </p>
            </list-item>
            <list-item id="alg1.l6">
              <p><bold>Step 6:</bold> Use the test set to evaluate the trained network model. </p>
            </list-item>
          </list>
        </boxed-text>
      </sec>
    </sec>
    <sec id="S4">
      <label>4.</label>
      <title>Experiment and Result</title>
      <sec id="S4.SS1">
        <label>4.1</label>
        <title>Dataset</title>
        <p id="S4.SS1.p1">In this study, we simulated GPS trajectory with a total of 4,200 trajectories, which was equipped with pink noise to simulate measurement noise. To evaluate the performance of our proposed model, we split the entire data set into training and testing sets, with 80% of the data being used for model training, and the remaining 20% being reserved for model evaluation.</p>
      </sec>
      <sec id="S4.SS2">
        <label>4.2</label>
        <title>Experimental process and evaluation index</title>
        <p id="S4.SS2.p1">We built a deep learning model based on the open-source Python deep learning framework. All experiments were run on the PC of CPUAMD Ryzen 7 5800HCPU for several times, and the optimal super parameters were selected. The Adam optimization algorithm optimizes the deep learning model, and the optimized learning rate is 0.01; The data size of the input network is 32 tracks and all position information, and each iteration is 300 times.</p>
        <p id="S4.SS2.p2">This experiment uses four evaluation indicators to evaluate the experimental results: root means square error RMSE, mean absolute error MAE, mean square error MSE, and Pearson correlation coefficient <inline-formula><mml:math alttext="R^{2}" display="inline"><mml:msup><mml:mi>R</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:math></inline-formula>. The four evaluation indicators can measure the gap between the estimated value given by the model and the actual value and evaluate the model's performance. The smaller the value of RMSE, MAE, and MSE, the smaller the difference between the estimated value and the actual value given by the model. The larger the value of R, the better the fitting ability of the model. The calculation Equations (13) - (16) of the four evaluation indicators are as follows:</p>
        <p>
          <disp-formula id="S4.E1">
            <mml:math alttext="RMSE=\sqrt{\frac{1}{N}\sum\limits_{t=1}^{N}{(x_{fil}^{(t|t)}-}\hat{x}_{fil}^{(%&#10;t|t)}}{)^{2}}" class="ltx_math_unparsed" display="block">
              <mml:mrow>
                <mml:mi>R</mml:mi>
                <mml:mi>M</mml:mi>
                <mml:mi>S</mml:mi>
                <mml:mi>E</mml:mi>
                <mml:mo>=</mml:mo>
                <mml:msqrt>
                  <mml:mrow>
                    <mml:mfrac>
                      <mml:mn>1</mml:mn>
                      <mml:mi>N</mml:mi>
                    </mml:mfrac>
                    <mml:munderover>
                      <mml:mo movablelimits="false" rspace="0em">∑</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mi>N</mml:mi>
                    </mml:munderover>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:msubsup>
                        <mml:mi>x</mml:mi>
                        <mml:mrow>
                          <mml:mi>f</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>l</mml:mi>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo fence="false">|</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo>−</mml:mo>
                      <mml:msubsup>
                        <mml:mover accent="true">
                          <mml:mi>x</mml:mi>
                          <mml:mo>^</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>f</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>l</mml:mi>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo fence="false">|</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:msubsup>
                    </mml:mrow>
                  </mml:mrow>
                </mml:msqrt>
                <mml:mo stretchy="false">)</mml:mo>
                <mml:msup>
                  <mml:mi/>
                  <mml:mn>2</mml:mn>
                </mml:msup>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>
          <disp-formula id="S4.E2">
            <mml:math alttext="MAE{\rm{=}}\frac{1}{N}\sum\limits_{t=1}^{N}{\left|{(x_{fil}^{(t|t)}-\hat{x}_{%&#10;fil}^{(t|t)})}\right|}" display="block">
              <mml:mrow>
                <mml:mrow>
                  <mml:mi>M</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mi>A</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mi>E</mml:mi>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mi>N</mml:mi>
                  </mml:mfrac>
                  <mml:mo>⁢</mml:mo>
                  <mml:mrow>
                    <mml:munderover>
                      <mml:mo movablelimits="false" rspace="0em">∑</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mi>N</mml:mi>
                    </mml:munderover>
                    <mml:mrow>
                      <mml:mo>|</mml:mo>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mrow>
                              <mml:mi>f</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>l</mml:mi>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mrow>
                                <mml:mi>t</mml:mi>
                                <mml:mo fence="false">|</mml:mo>
                                <mml:mi>t</mml:mi>
                              </mml:mrow>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:msubsup>
                            <mml:mover accent="true">
                              <mml:mi>x</mml:mi>
                              <mml:mo>^</mml:mo>
                            </mml:mover>
                            <mml:mrow>
                              <mml:mi>f</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>l</mml:mi>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mrow>
                                <mml:mi>t</mml:mi>
                                <mml:mo fence="false">|</mml:mo>
                                <mml:mi>t</mml:mi>
                              </mml:mrow>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                          </mml:msubsup>
                        </mml:mrow>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                      <mml:mo>|</mml:mo>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>
          <disp-formula id="S4.E3">
            <mml:math alttext="MSE=\frac{1}{N}\sum\limits_{t=1}^{N}{{{(x_{fil}^{(t|t)}-\hat{x}_{fil}^{(t|t)})%&#10;}^{2}}}\ " display="block">
              <mml:mrow>
                <mml:mrow>
                  <mml:mi>M</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mi>S</mml:mi>
                  <mml:mo>⁢</mml:mo>
                  <mml:mi>E</mml:mi>
                </mml:mrow>
                <mml:mo>=</mml:mo>
                <mml:mrow>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mi>N</mml:mi>
                  </mml:mfrac>
                  <mml:mo>⁢</mml:mo>
                  <mml:mrow>
                    <mml:munderover>
                      <mml:mo movablelimits="false" rspace="0em">∑</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mi>N</mml:mi>
                    </mml:munderover>
                    <mml:msup>
                      <mml:mrow>
                        <mml:mo stretchy="false">(</mml:mo>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>x</mml:mi>
                            <mml:mrow>
                              <mml:mi>f</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>l</mml:mi>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mrow>
                                <mml:mi>t</mml:mi>
                                <mml:mo fence="false">|</mml:mo>
                                <mml:mi>t</mml:mi>
                              </mml:mrow>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                          </mml:msubsup>
                          <mml:mo>−</mml:mo>
                          <mml:msubsup>
                            <mml:mover accent="true">
                              <mml:mi>x</mml:mi>
                              <mml:mo>^</mml:mo>
                            </mml:mover>
                            <mml:mrow>
                              <mml:mi>f</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>i</mml:mi>
                              <mml:mo>⁢</mml:mo>
                              <mml:mi>l</mml:mi>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:mo stretchy="false">(</mml:mo>
                              <mml:mrow>
                                <mml:mi>t</mml:mi>
                                <mml:mo fence="false">|</mml:mo>
                                <mml:mi>t</mml:mi>
                              </mml:mrow>
                              <mml:mo stretchy="false">)</mml:mo>
                            </mml:mrow>
                          </mml:msubsup>
                        </mml:mrow>
                        <mml:mo stretchy="false">)</mml:mo>
                      </mml:mrow>
                      <mml:mn>2</mml:mn>
                    </mml:msup>
                  </mml:mrow>
                </mml:mrow>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>
          <disp-formula id="S4.E4">
            <mml:math alttext="{R^{2}}{\rm{=}}\frac{{\sum\limits_{t=1}^{N}{(x_{fil}^{(t|t)}-\bar{x}_{fil}^{(t%&#10;|t)})(\hat{x}_{fil}^{(t|t)}-\bar{\hat{x}}_{fil}^{(t|t)}}}}{{\sqrt{\sum\limits_%&#10;{t=1}^{N}{{{(x_{fil}^{(t|t)}-\bar{x}_{fil}^{(t|t)})}^{2}}}}\sqrt{\sum\limits_{%&#10;t=1}^{N}{{{(\hat{x}_{fil}^{(t|t)}-\bar{\hat{x}}_{fil}^{(t|t)})}^{2}}}}}}\ " class="ltx_math_unparsed" display="block">
              <mml:mrow>
                <mml:msup>
                  <mml:mi>R</mml:mi>
                  <mml:mn>2</mml:mn>
                </mml:msup>
                <mml:mo>=</mml:mo>
                <mml:mfrac>
                  <mml:mrow>
                    <mml:munderover>
                      <mml:mo movablelimits="false">∑</mml:mo>
                      <mml:mrow>
                        <mml:mi>t</mml:mi>
                        <mml:mo>=</mml:mo>
                        <mml:mn>1</mml:mn>
                      </mml:mrow>
                      <mml:mi>N</mml:mi>
                    </mml:munderover>
                    <mml:mrow>
                      <mml:mo lspace="0em" stretchy="false">(</mml:mo>
                      <mml:msubsup>
                        <mml:mi>x</mml:mi>
                        <mml:mrow>
                          <mml:mi>f</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>l</mml:mi>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo fence="false">|</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo>−</mml:mo>
                      <mml:msubsup>
                        <mml:mover accent="true">
                          <mml:mi>x</mml:mi>
                          <mml:mo>¯</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>f</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>l</mml:mi>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo fence="false">|</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo stretchy="false">)</mml:mo>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mo stretchy="false">(</mml:mo>
                      <mml:msubsup>
                        <mml:mover accent="true">
                          <mml:mi>x</mml:mi>
                          <mml:mo>^</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>f</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>l</mml:mi>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo fence="false">|</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:msubsup>
                      <mml:mo>−</mml:mo>
                      <mml:msubsup>
                        <mml:mover accent="true">
                          <mml:mover accent="true">
                            <mml:mi>x</mml:mi>
                            <mml:mo>^</mml:mo>
                          </mml:mover>
                          <mml:mo>¯</mml:mo>
                        </mml:mover>
                        <mml:mrow>
                          <mml:mi>f</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>i</mml:mi>
                          <mml:mo>⁢</mml:mo>
                          <mml:mi>l</mml:mi>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:mo stretchy="false">(</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo fence="false">|</mml:mo>
                            <mml:mi>t</mml:mi>
                          </mml:mrow>
                          <mml:mo stretchy="false">)</mml:mo>
                        </mml:mrow>
                      </mml:msubsup>
                    </mml:mrow>
                  </mml:mrow>
                  <mml:mrow>
                    <mml:msqrt>
                      <mml:mrow>
                        <mml:munderover>
                          <mml:mo movablelimits="false">∑</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo>=</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                          <mml:mi>N</mml:mi>
                        </mml:munderover>
                        <mml:msup>
                          <mml:mrow>
                            <mml:mo lspace="0em" stretchy="false">(</mml:mo>
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mi>x</mml:mi>
                                <mml:mrow>
                                  <mml:mi>f</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>l</mml:mi>
                                </mml:mrow>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>t</mml:mi>
                                    <mml:mo fence="false">|</mml:mo>
                                    <mml:mi>t</mml:mi>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:msubsup>
                              <mml:mo>−</mml:mo>
                              <mml:msubsup>
                                <mml:mover accent="true">
                                  <mml:mi>x</mml:mi>
                                  <mml:mo>¯</mml:mo>
                                </mml:mover>
                                <mml:mrow>
                                  <mml:mi>f</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>l</mml:mi>
                                </mml:mrow>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>t</mml:mi>
                                    <mml:mo fence="false">|</mml:mo>
                                    <mml:mi>t</mml:mi>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:msubsup>
                            </mml:mrow>
                            <mml:mo stretchy="false">)</mml:mo>
                          </mml:mrow>
                          <mml:mn>2</mml:mn>
                        </mml:msup>
                      </mml:mrow>
                    </mml:msqrt>
                    <mml:mo>⁢</mml:mo>
                    <mml:msqrt>
                      <mml:mrow>
                        <mml:munderover>
                          <mml:mo movablelimits="false">∑</mml:mo>
                          <mml:mrow>
                            <mml:mi>t</mml:mi>
                            <mml:mo>=</mml:mo>
                            <mml:mn>1</mml:mn>
                          </mml:mrow>
                          <mml:mi>N</mml:mi>
                        </mml:munderover>
                        <mml:msup>
                          <mml:mrow>
                            <mml:mo lspace="0em" stretchy="false">(</mml:mo>
                            <mml:mrow>
                              <mml:msubsup>
                                <mml:mover accent="true">
                                  <mml:mi>x</mml:mi>
                                  <mml:mo>^</mml:mo>
                                </mml:mover>
                                <mml:mrow>
                                  <mml:mi>f</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>l</mml:mi>
                                </mml:mrow>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>t</mml:mi>
                                    <mml:mo fence="false">|</mml:mo>
                                    <mml:mi>t</mml:mi>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:msubsup>
                              <mml:mo>−</mml:mo>
                              <mml:msubsup>
                                <mml:mover accent="true">
                                  <mml:mover accent="true">
                                    <mml:mi>x</mml:mi>
                                    <mml:mo>^</mml:mo>
                                  </mml:mover>
                                  <mml:mo>¯</mml:mo>
                                </mml:mover>
                                <mml:mrow>
                                  <mml:mi>f</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>i</mml:mi>
                                  <mml:mo>⁢</mml:mo>
                                  <mml:mi>l</mml:mi>
                                </mml:mrow>
                                <mml:mrow>
                                  <mml:mo stretchy="false">(</mml:mo>
                                  <mml:mrow>
                                    <mml:mi>t</mml:mi>
                                    <mml:mo fence="false">|</mml:mo>
                                    <mml:mi>t</mml:mi>
                                  </mml:mrow>
                                  <mml:mo stretchy="false">)</mml:mo>
                                </mml:mrow>
                              </mml:msubsup>
                            </mml:mrow>
                            <mml:mo stretchy="false">)</mml:mo>
                          </mml:mrow>
                          <mml:mn>2</mml:mn>
                        </mml:msup>
                      </mml:mrow>
                    </mml:msqrt>
                  </mml:mrow>
                </mml:mfrac>
              </mml:mrow>
            </mml:math>
          </disp-formula>
        </p>
        <p>where <inline-formula><mml:math alttext="N" display="inline"><mml:mi>N</mml:mi></mml:math></inline-formula> is the total amount of data, <inline-formula><mml:math alttext="x_{fil}^{(t|t)}" display="inline"><mml:msubsup><mml:mi>x</mml:mi><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is the actual value of the data, <inline-formula><mml:math alttext="\hat{x}_{fil}^{(t|t)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is the trajectory value estimated by the model, <inline-formula><mml:math alttext="\bar{\hat{x}}_{fil}^{(t|t)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>^</mml:mo></mml:mover><mml:mo>¯</mml:mo></mml:mover><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is the average value of the actual value, and <inline-formula><mml:math alttext="\bar{x}_{fil}^{(t|t)}" display="inline"><mml:msubsup><mml:mover accent="true"><mml:mi>x</mml:mi><mml:mo>¯</mml:mo></mml:mover><mml:mrow><mml:mi>f</mml:mi><mml:mo>⁢</mml:mo><mml:mi>i</mml:mi><mml:mo>⁢</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo fence="false">|</mml:mo><mml:mi>t</mml:mi></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup></mml:math></inline-formula> is the average value of the estimated value.</p>
      </sec>
      <sec id="S4.SS3">
        <label>4.3</label>
        <title>Test results</title>
        <p id="S4.SS3.p1">This paper compares five classical path estimation models, including CV [<xref rid="ref010" ref-type="bibr">10</xref>], CA [<xref rid="ref011" ref-type="bibr">11</xref>], Singer [<xref rid="ref012" ref-type="bibr">12</xref>], the current statistical model [<xref rid="ref013" ref-type="bibr">13</xref>], and the adaptive model [<xref rid="ref042" ref-type="bibr">42</xref>]. The data set used in this experiment is the data set with pink noise on the trajectory of the simulation target. This paper estimates the GPS data (The east direction of GPS is represented by the x-axis, and the y-axis represents the north direction of GPS). The noise variance of the CA model and CV model in the movement process is set to 200, and the noise variance and maneuvering frequency of the Singer model is set to 200 and 1, respectively. The current statistical model is sensitive to the set parameters, so multiple groups of maneuvering frequencies are set: <inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula>=1/10, <inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula>=1/20, and <inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula>=1/50. The results of the GPS data comparison experiment are shown in Table <xref rid="T1" ref-type="table">1</xref>.</p>
        <p>
          <table-wrap id="T1">
            <label>Table 1</label>
            <caption>
              <p>Effect comparison with the classical model.</p>
            </caption>
            <table>
              <thead>
                <tr>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>Model</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>direction</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>RMSE</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>MAE</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>MSE</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>R</p>
                  </th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td style="border-top: 1px solid black;" rowspan="2" align="justify">
                    <p>CV<sup>[10]</sup></p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>X</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>2.982</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>1.586</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>8.893</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>0.996</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>Y</p>
                  </td>
                  <td align="justify">
                    <p>2.449</p>
                  </td>
                  <td align="justify">
                    <p>1.499</p>
                  </td>
                  <td align="justify">
                    <p>5.998</p>
                  </td>
                  <td align="justify">
                    <p>0.996</p>
                  </td>
                </tr>
                <tr>
                  <td rowspan="2" align="justify">
                    <p>CA<sup>[11]</sup></p>
                  </td>
                  <td align="justify">
                    <p>X</p>
                  </td>
                  <td align="justify">
                    <p>2.348</p>
                  </td>
                  <td align="justify">
                    <p>1.531</p>
                  </td>
                  <td align="justify">
                    <p>5.515</p>
                  </td>
                  <td align="justify">
                    <p>0.986</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>Y</p>
                  </td>
                  <td align="justify">
                    <p>2.072</p>
                  </td>
                  <td align="justify">
                    <p>1.474</p>
                  </td>
                  <td align="justify">
                    <p>4.294</p>
                  </td>
                  <td align="justify">
                    <p>0.991</p>
                  </td>
                </tr>
                <tr>
                  <td rowspan="2" align="justify">
                    <p>singer<sup>[12]</sup></p>
                  </td>
                  <td align="justify">
                    <p>X</p>
                  </td>
                  <td align="justify">
                    <p>2.788</p>
                  </td>
                  <td align="justify">
                    <p>1.556</p>
                  </td>
                  <td align="justify">
                    <p>7.776</p>
                  </td>
                  <td align="justify">
                    <p>0.994</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>Y</p>
                  </td>
                  <td align="justify">
                    <p>2.326</p>
                  </td>
                  <td align="justify">
                    <p>1.479</p>
                  </td>
                  <td align="justify">
                    <p>5.411</p>
                  </td>
                  <td align="justify">
                    <p>0.995</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>CS[<sup>[13]</sup></p>
                  </td>
                  <td align="justify">
                    <p>X</p>
                  </td>
                  <td align="justify">
                    <p>7.799</p>
                  </td>
                  <td align="justify">
                    <p>4.077</p>
                  </td>
                  <td align="justify">
                    <p>66.799</p>
                  </td>
                  <td align="justify">
                    <p>0.957</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p><inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula>=1/10</p>
                  </td>
                  <td align="justify">
                    <p>Y</p>
                  </td>
                  <td align="justify">
                    <p>6.683</p>
                  </td>
                  <td align="justify">
                    <p>4.128</p>
                  </td>
                  <td align="justify">
                    <p>48.954</p>
                  </td>
                  <td align="justify">
                    <p>0.964</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>CS<sup>[14]</sup></p>
                  </td>
                  <td align="justify">
                    <p>X</p>
                  </td>
                  <td align="justify">
                    <p>7.171</p>
                  </td>
                  <td align="justify">
                    <p>3.659</p>
                  </td>
                  <td align="justify">
                    <p>51.433</p>
                  </td>
                  <td align="justify">
                    <p>0.966</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p><inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula>=1/20</p>
                  </td>
                  <td align="justify">
                    <p>Y</p>
                  </td>
                  <td align="justify">
                    <p>6.139</p>
                  </td>
                  <td align="justify">
                    <p>3.653</p>
                  </td>
                  <td align="justify">
                    <p>37.694</p>
                  </td>
                  <td align="justify">
                    <p>0.971</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>CS<sup>[15]</sup></p>
                  </td>
                  <td align="justify">
                    <p>X</p>
                  </td>
                  <td align="justify">
                    <p>7.803</p>
                  </td>
                  <td align="justify">
                    <p>3.891</p>
                  </td>
                  <td align="justify">
                    <p>60.891</p>
                  </td>
                  <td align="justify">
                    <p>0.961</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p><inline-formula><mml:math alttext="\alpha" display="inline"><mml:mi>α</mml:mi></mml:math></inline-formula>=1/50</p>
                  </td>
                  <td align="justify">
                    <p>Y</p>
                  </td>
                  <td align="justify">
                    <p>6.695</p>
                  </td>
                  <td align="justify">
                    <p>3.957</p>
                  </td>
                  <td align="justify">
                    <p>44.831</p>
                  </td>
                  <td align="justify">
                    <p>0.966</p>
                  </td>
                </tr>
                <tr>
                  <td rowspan="2" align="justify">
                    <p>Adaptive<sup>[42]</sup></p>
                  </td>
                  <td align="justify">
                    <p>X</p>
                  </td>
                  <td align="justify">
                    <p>11.556</p>
                  </td>
                  <td align="justify">
                    <p>6.790</p>
                  </td>
                  <td align="justify">
                    <p>133.563</p>
                  </td>
                  <td align="justify">
                    <p>0.949</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>Y</p>
                  </td>
                  <td align="justify">
                    <p>5.866</p>
                  </td>
                  <td align="justify">
                    <p>4.054</p>
                  </td>
                  <td align="justify">
                    <p>34.413</p>
                  </td>
                  <td align="justify">
                    <p>0.975</p>
                  </td>
                </tr>
                <tr>
                  <td rowspan="2" align="justify">
                    <p>LSTM<sup>[15]</sup></p>
                  </td>
                  <td align="justify">
                    <p>X</p>
                  </td>
                  <td align="justify">
                    <p>2.452</p>
                  </td>
                  <td align="justify">
                    <p>1.786</p>
                  </td>
                  <td align="justify">
                    <p>6.016</p>
                  </td>
                  <td align="justify">
                    <p>0.978</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>Y</p>
                  </td>
                  <td align="justify">
                    <p>2.246</p>
                  </td>
                  <td align="justify">
                    <p>1.697</p>
                  </td>
                  <td align="justify">
                    <p>5.048</p>
                  </td>
                  <td align="justify">
                    <p>0.983</p>
                  </td>
                </tr>
                <tr>
                  <td style="border-bottom: 1px solid black;" rowspan="2" align="justify">
                    <p>SLSTM</p>
                  </td>
                  <td align="justify">
                    <p>X</p>
                  </td>
                  <td align="justify">
                    <p>1.916</p>
                  </td>
                  <td align="justify">
                    <p>1.499</p>
                  </td>
                  <td align="justify">
                    <p>3.673</p>
                  </td>
                  <td align="justify">
                    <p>0.997</p>
                  </td>
                </tr>
                <tr>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>Y</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>1.716</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>1.316</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>2.946</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>0.998</p>
                  </td>
                </tr>
              </tbody>
            </table>
          </table-wrap>
        </p>
        <p>
          <fig id="F4">
            <label>Figure 4.</label>
            <caption>
              <p>Comparison of fitting effects of X-coordinate.</p>
            </caption>
            <graphic xlink:href="图4. X坐标评价指标柱状图.png"/>
          </fig>
        </p>
        <p>
          <fig id="F5">
            <label>Figure 5.</label>
            <caption>
              <p>Comparison of the fitting result of Y-coordinate.</p>
            </caption>
            <graphic xlink:href="图5.Y坐标评价指标.png"/>
          </fig>
        </p>
        <p id="S4.SS3.p2">The comparison results in Table <xref rid="T1" ref-type="table">1</xref> and Figures <xref ref-type="fig" rid="F4">4</xref> - <xref ref-type="fig" rid="F10">10</xref> show that the method proposed in this paper has improved the estimation accuracy compared with the classical and deep learning methods. Among them, the estimation result of the decoupled X coordinate is 18.3% higher than that of the model CA with the best result in the classical estimation method and 21.86% higher than that of the LSTM model; Compared with the best CA model in the classical model, the estimation result of the decoupled Y coordinate improves the precision by 17.19% and 23.6% compared with the LSTM model. Kalman algorithm is mainly aimed at the linear system, which requires the system and measurement noise to be a Gaussian model; UKF, EKF, and CKF can estimate the nonlinear system, but the noise is still required to be Gaussian noise; CV and CA models regard the acceleration and derivative of acceleration of maneuvering target as zero mean Gaussian noise, Singer model models the maneuvering target and acceleration as exponential autocorrelation zero mean colored noise, and the assumption of zero mean is unreasonable for describing the moving state of maneuvering target in real situations. The data set with pink noise is more in line with the actual project. The neural network can fit complex nonlinear data. The complex pink noise in the training data can be modeled in the network, which can realize the estimation of the data with pink noise. Figures <xref ref-type="fig" rid="F6">6</xref> - <xref ref-type="fig" rid="F10">10</xref> shows the estimation results based on CV, CA, CS, and Singer maneuver models, and the data-driven estimation method based on LSTM). It can be seen that the SLSTM network proposed in this paper has the best effect in fitting the actual position of moving targets. This is because SLSTM has a two-layer recursive structure. By learning the dynamic characteristics of the reference trajectory, the model information can be embedded into the deep learning network. Moreover, compared with the LSTM network model, the stacked serial dual LSTM structure proposed in this paper can obtain the characteristics of complex uncertain motion patterns, better express the mapping between the measured value and the actual value of the target, and thus get better trajectory estimation performance.</p>
        <p>
          <fig id="F6">
            <label>Figure 6.</label>
            <caption>
              <p>Comparison with estimation by Kalman Filters with CV model.</p>
            </caption>
            <graphic xlink:href="CA.png"/>
          </fig>
        </p>
        <p>
          <fig id="F7">
            <label>Figure 7.</label>
            <caption>
              <p>Comparison with estimation by Kalman Filters with CA model.</p>
            </caption>
            <graphic xlink:href="CV.png"/>
          </fig>
        </p>
        <p>
          <fig id="F8">
            <label>Figure 8.</label>
            <caption>
              <p>Comparison with estimation by Kalman Filters with CS model.</p>
            </caption>
            <graphic xlink:href="CS.png"/>
          </fig>
        </p>
        <p>
          <fig id="F9">
            <label>Figure 9.</label>
            <caption>
              <p>Comparison with estimation by Kalman Filters with Singer model.</p>
            </caption>
            <graphic xlink:href="Singer.png"/>
          </fig>
        </p>
        <p>
          <fig id="F10">
            <label>Figure 10.</label>
            <caption>
              <p>Comparison with estimation by Kalman Filters with LSTM model.</p>
            </caption>
            <graphic xlink:href="LSTM.png"/>
          </fig>
        </p>
        <p id="S4.SS3.p3">Figures <xref ref-type="fig" rid="F6">6</xref> - <xref ref-type="fig" rid="F10">10</xref> clearly demonstrate that SLSTM is compared with CV, CA, CS, the Singer model, and LSTM networks, respectively. Our experimental results indicate that SLSTM can more accurately fit various motion trajectories when the moving target is uncertain, outperforming both Kalman estimation based on the maneuver model and LSTM estimation.</p>
        <p id="S4.SS3.p4">The dataset comprises 9,080 positional data points, representing the displacement information along the X and Y axes relative to the origin. This dataset is employed to compare eight distinct neural network models. For the neural network estimation experiments, each model is configured with a learning rate of 0.001, trained over 100 epochs, with a batch size of 20. The neural networks are designed with 2 layers and each hidden layer contains 24 neurons, with all data undergoing normalization. The variational autoencoder's encoding and decoding layers are each set to a single layer. The inverse autoregressive flow is configured with 5 layers, while the planar flow is set to 3 layers. As illustrated in Figure <xref ref-type="fig" rid="F11">11</xref>, the results of each model can be observed.</p>
        <p>
          <fig id="F11">
            <label>Figure 11.</label>
            <caption>
              <p>Comparison of different neural network models.</p>
            </caption>
            <graphic xlink:href="无人机结果.png"/>
          </fig>
        </p>
        <p>
          <table-wrap id="T2">
            <label>Table 2</label>
            <caption>
              <p>Performance metrics for various neural network models.</p>
            </caption>
            <table>
              <thead>
                <tr>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>Model</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>RMSE</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>MAE</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>MAPE</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>SMAPE</p>
                  </th>
                  <th style="border-top: 1px solid black;" align="justify">
                    <p>R</p>
                  </th>
                </tr>
              </thead>
              <tbody>
                <tr>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>GRU</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>19.531</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>19.014</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>18.631</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>36.442</p>
                  </td>
                  <td style="border-top: 1px solid black;" align="justify">
                    <p>0.986</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>LSTM</p>
                  </td>
                  <td align="justify">
                    <p>26.753</p>
                  </td>
                  <td align="justify">
                    <p>25.945</p>
                  </td>
                  <td align="justify">
                    <p>24.322</p>
                  </td>
                  <td align="justify">
                    <p>35.273</p>
                  </td>
                  <td align="justify">
                    <p>0.935</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>BGRU</p>
                  </td>
                  <td align="justify">
                    <p>8.781</p>
                  </td>
                  <td align="justify">
                    <p>7.577</p>
                  </td>
                  <td align="justify">
                    <p>16.373</p>
                  </td>
                  <td align="justify">
                    <p>26.414</p>
                  </td>
                  <td align="justify">
                    <p>0.981</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>BLSTM</p>
                  </td>
                  <td align="justify">
                    <p>10.394</p>
                  </td>
                  <td align="justify">
                    <p>9.353</p>
                  </td>
                  <td align="justify">
                    <p>18.614</p>
                  </td>
                  <td align="justify">
                    <p>28.675</p>
                  </td>
                  <td align="justify">
                    <p>0.943</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>CNN-lstm</p>
                  </td>
                  <td align="justify">
                    <p>23.195</p>
                  </td>
                  <td align="justify">
                    <p>27.894</p>
                  </td>
                  <td align="justify">
                    <p>26.541</p>
                  </td>
                  <td align="justify">
                    <p>30.292</p>
                  </td>
                  <td align="justify">
                    <p>0.934</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>Conv-lstm</p>
                  </td>
                  <td align="justify">
                    <p>33.765</p>
                  </td>
                  <td align="justify">
                    <p>37.172</p>
                  </td>
                  <td align="justify">
                    <p>32.075</p>
                  </td>
                  <td align="justify">
                    <p>39.161</p>
                  </td>
                  <td align="justify">
                    <p>0.916</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>VAE</p>
                  </td>
                  <td align="justify">
                    <p>18.051</p>
                  </td>
                  <td align="justify">
                    <p>26.167</p>
                  </td>
                  <td align="justify">
                    <p>27.941</p>
                  </td>
                  <td align="justify">
                    <p>35.013</p>
                  </td>
                  <td align="justify">
                    <p>0.988</p>
                  </td>
                </tr>
                <tr>
                  <td align="justify">
                    <p>IFVAE</p>
                  </td>
                  <td align="justify">
                    <p>10.234</p>
                  </td>
                  <td align="justify">
                    <p>16.719</p>
                  </td>
                  <td align="justify">
                    <p>15.421</p>
                  </td>
                  <td align="justify">
                    <p>10.054</p>
                  </td>
                  <td align="justify">
                    <p>0.959</p>
                  </td>
                </tr>
                <tr>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>SLSTM</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>6.331</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>4.293</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>5.371</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>6.374</p>
                  </td>
                  <td style="border-bottom: 1px solid black;" align="justify">
                    <p>0.9991</p>
                  </td>
                </tr>
              </tbody>
            </table>
          </table-wrap>
        </p>
        <p id="S4.SS3.p5">As illustrated in Table <xref rid="T2" ref-type="table">2</xref>, a thorough analysis of the performance metrics clearly indicates that the model proposed in this paper outperforms other network models across various performance indicators. Specifically, its RMSE, MAE, MAPE, and SMAPE values are all lower than those of other neural network models, signifying a smaller margin of error. Additionally, its R-value surpasses that of alternative models, demonstrating a higher degree of accuracy in fitting the reference.</p>
      </sec>
    </sec>
    <sec id="S5">
      <label>5.</label>
      <title>Conclusion</title>
      <p id="S5.p1">Given the difficulty in modeling colored noise in the classical estimation methods and in matching the target motion model with the classical estimation methods, this paper proposes a short - and long-term neural network based on Bayesian filtering. It proposes a data-driven end-to-end state estimation method. The main contributions of this paper are as follows: design a stacked short and long-term fusion neural network, and estimate the target trajectory through recursive modules, SLSTM estimates the state of moving targets from noisy observation data, makes full use of the GPS data of moving targets, realizes one-step prediction, and trains the nonlinear relationship of different trajectories through neural networks, which can overcome the limitation of the estimation accuracy of traditional trajectory estimation methods. Compare with the X coordinate of the decoupled data, the accuracy of this method is 18.3% higher than that of the classical estimation method and 21.86% higher than that of LSTM; Compared with the Y coordinate of the decoupled data, the precision of this method is 17.19% higher than that of the classical estimation method. Compared with LSTM, the accuracy of this method is 23.6% higher. The experimental results show that this method is superior to the classical estimation and neural network methods. In future work, we will consider not only GPS information but also IMU information to further improves the model prediction accuracy.</p>
    </sec>
  </body>
  <back>
    <ack>
      <title>Acknowledgments</title>
      <p id="ack.p1">This work was supported without any funding.</p>
    </ack>
    <sec id="sec0100" sec-type="COI-statement">
      <title>Conflict of interest</title>
      <p>The authors declare no conflicts of interest.</p>
    </sec>
    <ref-list>
      <title>References</title>
      <ref id="ref001">
        <label>[1]</label>
        <mixed-citation> Mathiassen, K., Hanssen, L., &amp; Hallingstad, O. (2010, September). A low cost navigation unit for positioning of personnel after loss of GPS position. In <italic>2010 international conference on indoor positioning and indoor navigation</italic> (pp. 1-10). IEEE. [<uri>https://doi.org/10.1109/IPIN.2010.5646709</uri>] </mixed-citation>
      </ref>
      <ref id="ref002">
        <label>[2]</label>
        <mixed-citation> Bar-Shalom, Y., Li, X. R., &amp; Kirubarajan, T. (2004). Estimation with applications to tracking and navigation: theory algorithms and software. John Wiley &amp; Sons. </mixed-citation>
      </ref>
      <ref id="ref003">
        <label>[3]</label>
        <mixed-citation> Julier, S. J., &amp; Uhlmann, J. K. (1997, July). New extension of the Kalman filter to nonlinear systems. In <italic>Signal processing, sensor fusion, and target recognition VI</italic> (Vol. 3068, pp. 182-193). Spie. [<uri>https://doi.org/10.1117/12.280797</uri>] </mixed-citation>
      </ref>
      <ref id="ref004">
        <label>[4]</label>
        <mixed-citation> Julier, S., Uhlmann, J., &amp; Durrant-Whyte, H. F. (2000). A new method for the nonlinear transformation of means and covariances in filters and estimators. <italic>IEEE Transactions on automatic control, 45</italic>(3), 477-482. [<uri>https://doi.org/10.1109/9.847726</uri>] </mixed-citation>
      </ref>
      <ref id="ref005">
        <label>[5]</label>
        <mixed-citation> Julier, S. J., &amp; Uhlmann, J. K. (2004). Unscented filtering and nonlinear estimation. <italic>Proceedings of the IEEE, 92</italic>(3), 401-422. [<uri>https://doi.org/10.1109/JPROC.2003.823141</uri>] </mixed-citation>
      </ref>
      <ref id="ref006">
        <label>[6]</label>
        <mixed-citation> Arasaratnam, I., &amp; Haykin, S. (2009). Cubature kalman filters. <italic>IEEE Transactions on automatic control, 54</italic>(6), 1254-1269. [<uri>https://doi.org/10.1109/TAC.2009.2019800</uri>] </mixed-citation>
      </ref>
      <ref id="ref007">
        <label>[7]</label>
        <mixed-citation> Li, P., Yu, J., Wan, M., Huang, J., &amp; Huang, J. (2009, September). The augmented form of cubature Kalman filter and quadrature Kalman filter for additive noise. In <italic>2009 IEEE Youth Conference on Information, Computing and Telecommunication</italic> (pp. 295-298). IEEE. [<uri>https://doi.org/10.1109/YCICT.2009.5382364</uri>] </mixed-citation>
      </ref>
      <ref id="ref008">
        <label>[8]</label>
        <mixed-citation> Chen, Y., Xie, X., Yu, B., Li, Y., &amp; Lin, K. (2021). Multitarget vehicle tracking and motion state estimation using a novel driving environment perception system of intelligent vehicles. <italic>Journal of advanced transportation, 2021</italic>(1), 6251399. [<uri>https://doi.org/10.1155/2021/6251399</uri>] </mixed-citation>
      </ref>
      <ref id="ref009">
        <label>[9]</label>
        <mixed-citation> Eltoukhy, M., Ahmad, M. O., &amp; Swamy, M. N. S. (2020). An adaptive turn rate estimation for tracking a maneuvering target. <italic>IEEE Access, 8</italic>, 94176-94189. [<uri>https://doi.org/10.1109/ACCESS.2020.2995672</uri>] </mixed-citation>
      </ref>
      <ref id="ref010">
        <label>[10]</label>
        <mixed-citation> Wang, L., &amp; Zhou, G. (2021). Pseudo-spectrum based track-before-detect for weak maneuvering targets in range-Doppler plane. <italic>IEEE Transactions on Vehicular Technology, 70</italic>(4), 3043-3058. [<uri>https://doi.org/10.1109/TVT.2021.3065665</uri>] </mixed-citation>
      </ref>
      <ref id="ref011">
        <label>[11]</label>
        <mixed-citation> Jia, S., Zhang, Y., &amp; Wang, G. (2017). Highly maneuvering target tracking using multi-parameter fusion Singer model. <italic>Journal of Systems Engineering and Electronics, 28</italic>(5), 841-850. [<uri>https://doi.org/10.21629/JSEE.2017.05.03</uri>] </mixed-citation>
      </ref>
      <ref id="ref012">
        <label>[12]</label>
        <mixed-citation> Zhenkai, X., Fanying, L., &amp; Lei, Z. (2018). Study on Maneuvering Target On-axis Tracking Algorithm of Modified Current Statistical Model. In <italic>MATEC Web of Conferences</italic> (Vol. 160, p. 02008). EDP Sciences. [<uri>https://doi.org/10.1051/matecconf/201816002008</uri>] </mixed-citation>
      </ref>
      <ref id="ref013">
        <label>[13]</label>
        <mixed-citation> Bar-Shalom, Y., &amp; Blair, W. D. (1992). Multitarget-multisensor tracking: applications and advances. chapter 2. </mixed-citation>
      </ref>
      <ref id="ref014">
        <label>[14]</label>
        <mixed-citation>Lin, H. J., &amp; Atherton, D. P. (1993, May). Investigation of IMM tracking algorithm for the maneuvering target tracking. In Proceedings. The <italic>First IEEE Regional Conference on Aerospace Control Systems</italic>, (pp. 113-117). IEEE. [<uri>https://doi.org/10.1109/AEROCS.1993.720905</uri>] </mixed-citation>
      </ref>
      <ref id="ref015">
        <label>[15]</label>
        <mixed-citation> Hochreiter, S., &amp; Schmidhuber, J. (1997). Long short-term memory. <italic>Neural computation, 9</italic>(8), 1735-1780. [<uri>https://doi.org/10.1162/neco.1997.9.8.1735</uri>] </mixed-citation>
      </ref>
      <ref id="ref016">
        <label>[16]</label>
        <mixed-citation> Chen, C., Zhao, P., Lu, C. X., Wang, W., Markham, A., &amp; Trigoni, N. (2020). Deep-learning-based pedestrian inertial navigation: Methods, data set, and on-device inference. <italic>IEEE Internet of Things Journal, 7</italic>(5), 4431-4441. [<uri>https://doi.org/10.1109/JIOT.2020.2966773</uri>] </mixed-citation>
      </ref>
      <ref id="ref017">
        <label>[17]</label>
        <mixed-citation> Wang, B., Chen, C., Lu, C. X., Zhao, P., Trigoni, N., &amp; Markham, A. (2020, April). Atloc: Attention guided camera localization. In <italic>Proceedings of the AAAI Conference on Artificial Intelligence</italic> (Vol. 34, No. 06, pp. 10393-10401). [<uri>https://doi.org/10.1609/aaai.v34i06.6608</uri>] </mixed-citation>
      </ref>
      <ref id="ref018">
        <label>[18]</label>
        <mixed-citation>Yang, Z., Tang, R., Bao, J., Lu, J., &amp; Zhang, Z. (2020). A real-time trajectory prediction method of small-scale quadrotors based on GPS data and neural network. <italic>Sensors, 20</italic>(24), 7061. [<uri>https://doi.org/10.3390/s20247061</uri>] </mixed-citation>
      </ref>
      <ref id="ref019">
        <label>[19]</label>
        <mixed-citation> Quan, Y., Lau, L., Roberts, G. W., Meng, X., &amp; Zhang, C. (2018). Convolutional neural network based multipath detection method for static and kinematic GPS high precision positioning. <italic>Remote Sensing, 10</italic>(12), 2052. [<uri>https://doi.org/10.3390/rs10122052</uri>] </mixed-citation>
      </ref>
      <ref id="ref020">
        <label>[20]</label>
        <mixed-citation> Markos, C., James, J. Q., &amp; Da Xu, R. Y. (2021, May). Capturing uncertainty in unsupervised GPS trajectory segmentation using Bayesian deep learning. In <italic>Proceedings of the AAAI Conference on Artificial Intelligence</italic> (Vol. 35, No. 1, pp. 390-398). [<uri>https://doi.org/10.1609/aaai.v35i1.16115</uri>] </mixed-citation>
      </ref>
      <ref id="ref021">
        <label>[21]</label>
        <mixed-citation> Sun, Y., Xie, J., &amp; Guo, J. (2014, December). A new maneuvering target tracking method using adaptive cubature Kalman filter. In <italic>2014 IEEE International Conference on Control Science and Systems Engineering</italic> (pp. 40-44). IEEE. [<uri>https://doi.org/10.1109/CCSSE.2014.7224505</uri>] </mixed-citation>
      </ref>
      <ref id="ref022">
        <label>[22]</label>
        <mixed-citation> Nagui, N., Attallah, O., Zaghloul, M. S., &amp; Morsi, I. (2021). Improved GPS/IMU loosely coupled integration scheme using two kalman filter-based cascaded stages. <italic>Arabian Journal for Science and Engineering, 46</italic>, 1345-1367. [<uri>https://doi.org/10.1007/s13369-020-05144-8</uri>] </mixed-citation>
      </ref>
      <ref id="ref023">
        <label>[23]</label>
        <mixed-citation> Sun, Y., Xie, J., Guo, J., Wang, H., &amp; Zhao, Y. (2014, December). A modified marginalized Kalman filter for maneuvering target tracking. In <italic>Proceedings of 2nd International Conference on Information Technology and Electronic Commerce</italic> (pp. 107-111). IEEE. [<uri>https://doi.org/10.1109/ICITEC.2014.7105582</uri>] </mixed-citation>
      </ref>
      <ref id="ref024">
        <label>[24]</label>
        <mixed-citation> Huang, Y., Zhang, Y., Shi, P., &amp; Chambers, J. (2020). Variational adaptive Kalman filter with Gaussian-inverse-Wishart mixture distribution. <italic>IEEE Transactions on Automatic Control, 66</italic>(4), 1786-1793. [<uri>https://doi.org/10.1109/TAC.2020.2995674</uri>] </mixed-citation>
      </ref>
      <ref id="ref025">
        <label>[25]</label>
        <mixed-citation> Chang, Y., Wang, Y., Shen, Y., &amp; Ji, C. (2021). A new fuzzy strong tracking cubature Kalman filter for INS/GNSS. <italic>GPS Solutions, 25</italic>(3), 120. [<uri>https://link.springer.com/article/10.1007/s10291-021-01148-5</uri>] </mixed-citation>
      </ref>
      <ref id="ref026">
        <label>[26]</label>
        <mixed-citation> Xiong, S. S., &amp; Zhou, Z. Y. (2003). Neural filtering of colored noise based on Kalman filter structure. <italic>IEEE Transactions on Instrumentation and Measurement, 52</italic>(3), 742-747. [<uri>https://doi.org/10.1109/TIM.2003.814669</uri>] </mixed-citation>
      </ref>
      <ref id="ref027">
        <label>[27]</label>
        <mixed-citation> Morales, E. F., Murrieta-Cid, R., Becerra, I., &amp; Esquivel-Basaldua, M. A. (2021). A survey on deep learning and deep reinforcement learning in robotics with a tutorial on deep reinforcement learning. <italic>Intelligent Service Robotics, 14</italic>(5), 773-805. [<uri>https://doi.org/10.1007/s11370-021-00398-z</uri>] </mixed-citation>
      </ref>
      <ref id="ref028">
        <label>[28]</label>
        <mixed-citation> Yeo, K., &amp; Melnyk, I. (2019). Deep learning algorithm for data-driven simulation of noisy dynamical system. <italic>Journal of Computational Physics, 376</italic>, 1212-1231. [<uri>https://doi.org/10.1016/j.jcp.2018.10.024</uri>] </mixed-citation>
      </ref>
      <ref id="ref029">
        <label>[29]</label>
        <mixed-citation> Liu, J., Wang, Z., &amp; Xu, M. (2020). DeepMTT: A deep learning maneuvering target-tracking algorithm based on bidirectional LSTM network. <italic>Information Fusion, 53</italic>, 289-304. [<uri>https://doi.org/10.1016/j.inffus.2019.06.012</uri>] </mixed-citation>
      </ref>
      <ref id="ref030">
        <label>[30]</label>
        <mixed-citation> Zhang, J., Wu, Y., &amp; Jiao, S. (2021, November). Research on trajectory tracking algorithm based on LSTM-UKF. In <italic>2021 7th IEEE International Conference on Network Intelligence and Digital Content (IC-NIDC)</italic> (pp. 61-65). IEEE. [<uri>https://doi.org/10.1109/IC-NIDC54101.2021.9660592</uri>] </mixed-citation>
      </ref>
      <ref id="ref031">
        <label>[31]</label>
        <mixed-citation> Li, S., Hu, C., Wang, R., Zhou, C., &amp; Yang, J. (2019, December). A maneuvering tracking method based on LSTM and CS model. In <italic>2019 IEEE International Conference on Signal, Information and Data Processing (ICSIDP)</italic> (pp. 1-4). IEEE. [<uri>https://doi.org/10.1109/ICSIDP47821.2019.9173187</uri>] </mixed-citation>
      </ref>
      <ref id="ref032">
        <label>[32]</label>
        <mixed-citation> Yaqi, C., You, H. E., Tiantian, T. A. N. G., &amp; Yu, L. I. U. (2022). A new target tracking filter based on deep learning. <italic>Chinese Journal of Aeronautics, 35</italic>(5), 11-24. [<uri>https://doi.org/10.1016/j.cja.2021.10.023</uri>] </mixed-citation>
      </ref>
      <ref id="ref033">
        <label>[33]</label>
        <mixed-citation> Vedula, K., Weiss, M. L., Paffenroth, R. C., Uzarski, J. R., &amp; Brown, D. R. (2020, November). Maneuvering target tracking using the autoencoder-interacting multiple model filter. In <italic>2020 54th Asilomar Conference on Signals, Systems, and Computers</italic> (pp. 1512-1517). IEEE. [<uri>https://doi.org/10.1109/IEEECONF51394.2020.9443396</uri>] </mixed-citation>
      </ref>
      <ref id="ref034">
        <label>[34]</label>
        <mixed-citation> Giuliari, F., Hasan, I., Cristani, M., &amp; Galasso, F. (2021, January). Transformer networks for trajectory forecasting. In <italic>2020 25th international conference on pattern recognition (ICPR)</italic> (pp. 10335-10342). IEEE. [<uri>https://doi.org/10.1109/ICPR48806.2021.9412190</uri>] </mixed-citation>
      </ref>
      <ref id="ref035">
        <label>[35]</label>
        <mixed-citation> Hui, B., Yan, D., Chen, H., &amp; Ku, W. S. (2021, August). Trajnet: A trajectory-based deep learning model for traffic prediction. In <italic>Proceedings of the 27th ACM SIGKDD Conference on Knowledge Discovery &amp; Data Mining</italic> (pp. 716-724). [<uri>https://doi.org/10.1145/3447548.3467236</uri>] </mixed-citation>
      </ref>
      <ref id="ref036">
        <label>[36]</label>
        <mixed-citation> James, J. Q. (2020). Travel mode identification with GPS trajectories using wavelet transform and deep learning. <italic>IEEE Transactions on Intelligent Transportation Systems, 22</italic>(2), 1093-1103. [<uri>https://doi.org/10.1109/TITS.2019.2962741</uri>] </mixed-citation>
      </ref>
      <ref id="ref037">
        <label>[37]</label>
        <mixed-citation> Liu, J., &amp; Guo, G. (2021). Vehicle localization during GPS outages with extended Kalman filter and deep learning. <italic>IEEE Transactions on Instrumentation and Measurement, 70</italic>, 1-10. [<uri>https://doi.org/10.1109/TIM.2021.3097401</uri>] </mixed-citation>
      </ref>
      <ref id="ref038">
        <label>[38]</label>
        <mixed-citation> Moradi, N., Nezhadshahbodaghi, M., &amp; Mosavi, M. R. (2023). GPS signal acquisition based on deep convolutional neural network and post-correlation methods. <italic>GPS Solutions, 27</italic>(3), 132. [<uri>https://doi.org/10.1007/s10291-023-01469-7</uri>] </mixed-citation>
      </ref>
      <ref id="ref039">
        <label>[39]</label>
        <mixed-citation> Taghizadeh, S., &amp; Safabakhsh, R. (2023). An integrated INS/GNSS system with an attention-based hierarchical LSTM during GNSS outage. <italic>GPS Solutions, 27</italic>(2), 71. [<uri>https://doi.org/10.1007/s10291-023-01412-w</uri>] </mixed-citation>
      </ref>
      <ref id="ref040">
        <label>[40]</label>
        <mixed-citation> He, S., Liu, J., Zhu, X., Dai, Z., &amp; Li, D. (2023). Research on modeling and predicting of BDS-3 satellite clock bias using the LSTM neural network model. <italic>GPS Solutions, 27</italic>(3), 108. [<uri>https://doi.org/10.1007/s10291-023-01451-3</uri>] </mixed-citation>
      </ref>
      <ref id="ref041">
        <label>[41]</label>
        <mixed-citation> Orouji, N., &amp; Mosavi, M. R. (2021). A multi-layer perceptron neural network to mitigate the interference of time synchronization attacks in stationary GPS receivers. <italic>GPS solutions, 25</italic>, 1-15. [<uri>https://doi.org/10.1007/s10291-021-01124-z</uri>] </mixed-citation>
      </ref>
      <ref id="ref042">
        <label>[42]</label>
        <mixed-citation> Venkataraman, V., Fan, G., Havlicek, J. P., Fan, X., Zhai, Y., &amp; Yeary, M. B. (2012). Adaptive kalman filtering for histogram-based appearance learning in infrared imagery. <italic>IEEE transactions on image processing, 21</italic>(11), 4622-4635. [<uri>https://doi.org/10.1109/TIP.2012.2210233</uri>] </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>
