Design and Implementation of Vector Tracking Loop for High-Dynamic GNSS Receiver

For the tracking of high-dynamic satellite navigation signals, the conventional scalar tracking loop (STL) is vulnerable. Frequent signal-tracking interruption affects the continuity of navigation. The vector tracking loop (VTL) can overcome this disadvantage. However, there are some difficulties in implementing existing vector tracking methods on a real-time hardware receiver, such as the synchronization problem and computation load. This paper proposes an implementation framework of VTL based on a partial open-loop numerically controlled oscillator (NCO) control mode that can be implemented with minor modifications on an existing receiver platform. The structure of VTL, the design of the navigation filter, and the key points of hardware implementation are introduced in detail. Lastly, the VTL performance was verified by a GPS simulator test. The results show that the proposed VTL can run in real-time and be significantly improved in the tracking continuity of high-dynamic signals, tracking sensitivity, positioning accuracy, and recovery time for interrupted signals compared with those of STL.


Introduction
Global navigation satellite systems (GNSS) are widely used in positioning and navigation tasks for artificial flight vehicles as a high-availability, high-precision, and low-cost positioning technology. Some of these vehicles have high velocity and acceleration, such as missiles, rockets, and hypersonic aircraft. This requires the GNSS receiver to have the ability to track high-dynamic signals. As early as 1988, the Jet Propulsion Laboratory (JPL) researched high-dynamic global positioning system (GPS) signal tracking according to the application requirement of the GPS Range Application Joint Program Office (RAJPO) [1]. In that report, a scenario with an acceleration of 50 g and a jerk of 100 g/s was proposed as the upper bound for the study of high-dynamic signal tracking.
There are three main factors affecting the high-dynamic performance of a receiver: Loop filter characteristics, oscillator noise, and oscillator vibration sensitivity [2]. The latter two can be improved on the hardware-design level [3], but the first needs to be improved on the software and algorithmic levels, which are the focus of this paper. There are many proposed methods on how to achieve high-dynamic signal tracking, such as second-order frequency lock loop (FLL) assisted third-order phase lock loop (PLL) [4], Kalman filterbased [5], maximum likelihood-based [6], and fractional Fourier transform-based [7,8]. However, these methods focus only on a single channel and ignore overall performance. Subject to the nature of scalar tracking loop (STL) in which signal-tracking channels are independent of each other, the optimization of one channel cannot optimize the receiver. Some channels may still lose the lock when a high-dynamic or weak signal is encountered. The problem of the continuity of signal tracking has not been solved. Fortunately, the vector tracking loop (VTL) was proposed to overcome the disadvantage of STL [9]. The principle of VTL is to combine the signal tracking of all channels via the receiver's position, velocity, and time (PVT) solution, which gives several advantages. First, information fusion between channels can reduce noise and keep the error of the local replica signal small enough to stay within the linear region of tracking [10]. Second, strong signals can assist in weak-signal tracking, and low-dynamic signals can assist in high-dynamic-signal tracking. Third, when parts of signals are interrupted, a VTL can bridge these signals through the PVT solution [11]. In theory, vector tracking is an ideal framework for designing a satellite navigation receiver.
There are two types of VTL, centralized and cascaded. The centralized VTL is rarely used on account of its computational complexity and nonlinearity [12]. The cascaded VTL, which is widely studied, can be summarized into a unified framework [13], as shown in Figure 1. The basic principle of this framework is that the code phase and carrier frequency of each channel, which is used to control code and carrier numerically controlled oscillator (NCO), are calculated by the receiver's PVT solution. The PVT solution is corrected by the navigation errors that are estimated by the navigation filter according to the error of the code phase and the carrier frequency, which are estimated by the signal tracking error estimator. Within the unified framework, the difference between various vector tracking methods is implementing the signal tracking error estimators, such as discriminator-based [14] and prefilter-based [10,15] estimators. Most researchers implement a VTL using a softwaredefined GNSS receiver (SDGR) [16][17][18]. In SDGR, a digital intermediate-frequency (IF) signal is collected and then batch processed in a general-purpose processor (GPP) or a digital signal processor (DSP). Signal processing is flexible, so that the code phase and carrier phase of the local replica signal can be freely controlled. The unified framework is easy to implement in an SDGR. However, in a GNSS hardware receiver, NCO and correlator run at high speed in a special integrated circuit or a field-programmable gate array (FPGA), so it is hard to accurately control the code phase at a certain moment. Therefore, the framework needs to be modified to fit hardware implementation. An implementation framework of VTL based on a partial open-loop NCO control mode is proposed in this paper. In this framework, the VTL can easily be implemented using the existing correlator and NCO control interface, and it has the ability of high-dynamic signal tracking.
Sensors 2021, 21,5629 2 of 20 receiver's position, velocity, and time (PVT) solution, which gives several advantages. First, information fusion between channels can reduce noise and keep the error of the local replica signal small enough to stay within the linear region of tracking [10]. Second, strong signals can assist in weak-signal tracking, and low-dynamic signals can assist in highdynamic-signal tracking. Third, when parts of signals are interrupted, a VTL can bridge these signals through the PVT solution [11]. In theory, vector tracking is an ideal framework for designing a satellite navigation receiver. There are two types of VTL, centralized and cascaded. The centralized VTL is rarely used on account of its computational complexity and nonlinearity [12]. The cascaded VTL, which is widely studied, can be summarized into a unified framework [13], as shown in Figure 1. The basic principle of this framework is that the code phase and carrier frequency of each channel, which is used to control code and carrier numerically controlled oscillator (NCO), are calculated by the receiver's PVT solution. The PVT solution is corrected by the navigation errors that are estimated by the navigation filter according to the error of the code phase and the carrier frequency, which are estimated by the signal tracking error estimator. Within the unified framework, the difference between various vector tracking methods is implementing the signal tracking error estimators, such as discriminator-based [14] and prefilter-based [10,15] estimators. Most researchers implement a VTL using a software-defined GNSS receiver (SDGR) [16][17][18]. In SDGR, a digital intermediatefrequency (IF) signal is collected and then batch processed in a general-purpose processor (GPP) or a digital signal processor (DSP). Signal processing is flexible, so that the code phase and carrier phase of the local replica signal can be freely controlled. The unified framework is easy to implement in an SDGR. However, in a GNSS hardware receiver, NCO and correlator run at high speed in a special integrated circuit or a fieldprogrammable gate array (FPGA), so it is hard to accurately control the code phase at a certain moment. Therefore, the framework needs to be modified to fit hardware implementation. An implementation framework of VTL based on a partial open-loop NCO control mode is proposed in this paper. In this framework, the VTL can easily be implemented using the existing correlator and NCO control interface, and it has the ability of high-dynamic signal tracking.   The remainder of the paper is organized as follows. Section 2 introduces our methods, including the structure and principle of the proposed VTL implementation framework, the method of navigation processing, a processing strategy of weak-signal The remainder of the paper is organized as follows. Section 2 introduces our methods, including the structure and principle of the proposed VTL implementation framework, the method of navigation processing, a processing strategy of weak-signal channels, and the structure and key design points of the vector tracking hardware receiver. In Section 3, the The diagram of the proposed implementation framework of VTL based on a partial open-loop NCO control mode is shown in Figure 2.
Sensors 2021, 21, 5629 3 of 20 channels, and the structure and key design points of the vector tracking hardware receiver. In Section 3, the results of high-dynamic experiments based on a GPS simulator are analyzed. Section 4 discusses some future research directions of VTL. Section 5 summarizes the study.

Vector Tracking Loop
The diagram of the proposed implementation framework of VTL based on a partial open-loop NCO control mode is shown in Figure 2.    Figure 2:

Symbols in
M1-M5 the module number, which will be referenced below; co ρ code pseudorange, which is calculated by the code phase;  M1-M5 the module number, which will be referenced below; ρ co code pseudorange, which is calculated by the code phase; . Because of the strict linear relationship between the carrier frequency and code frequency, and code frequency being much less than radio-frequency (RF) carrier frequency, the calculated code frequency is so accurate that the code phase drift is very small in the short term. The calculation formula of f NCO co is where the superscript − denotes before update, superscript + denotes after update, T NCO is the carrier NCO update period. Correction information comes from the optimal estimation of the PVT solution by the navigation processing module (M4). Since the NCO is not directly controlled by the PVT solution during open-loop tracking, the measurement extracted from the channel is not tracking error but pseudorange and pseudorange rate (M5). The code pseudorange and carrier NCO frequency represent the current state of open-loop tracking, the pseudorange and pseudorange rate calculated by the estimated PVT solution (M3) are the expected state of signal tracking, the difference between the current and expected state results in the code phase correction value ∆τ and carrier NCO frequency correction value ∆ f NCO ca (M2): where λ co is the code length, λ ca is the RF wavelength. Due to the influence of the receiver clock drift, the relationship between the frequency of the digital signal after A/D sampling and the real signal is where d f r is the receiver clock drift, its unit is usually ppm. Therefore, more accurately, Equation (4) should be written as In partial open-loop NCO control mode, the tracking of each channel is independent during open-loop tracking, and the correction process couples all channels together to achieve vector tracking. Because the correction value is the increment in the current internal state of the NCO, it does not care about the absolute value of the code phase and carrier NCO frequency, there is no special requirement for the time to perform these corrections.

Pseudorange and Pseudorange Rate Measurement
The principle of pseudorange and pseudorange rate measurement is shown in Figure 3a. internal state of the NCO, it does not care about the absolute value of the code phase and carrier NCO frequency, there is no special requirement for the time to perform these corrections.

Pseudorange and Pseudorange Rate Measurement
The principle of pseudorange and pseudorange rate measurement is shown in Figure 3a.  The code phase discriminator outputs code phase error δτ between the local and actual code phase, so measured pseudorange is obtained by co co ρ ρ λ δτ = − In general, there are several code phase discriminator outputs in a pseudorange measurement period. Because of the high accuracy of code open-loop tracking, the code phase error can be unchanged during this period. Taking the average of these code phase errors can reduce the pseudorange measurement noise: The function of the carrier frequency estimator in Figure 3a where the caret symbol (^) denotes the estimated value, coh T is the coherent integration time, k denotes the update epoch. α , β , and γ are parameters of the alpha-betagamma filter. From the conventional point of view, these three errors should be corrected after each filter update, and then  The code phase discriminator outputs code phase error δτ between the local and actual code phase, so measured pseudorange is obtained by In general, there are several code phase discriminator outputs in a pseudorange measurement period. Because of the high accuracy of code open-loop tracking, the code phase error can be unchanged during this period. Taking the average of these code phase errors can reduce the pseudorange measurement noise: The function of the carrier frequency estimator in Figure 3a is to calculate carrier frequency f ca , pseudorange rate . ρ, carrier phase correction value ∆θ, and carrier frequency change rate . f ca from carrier phase error δθ and carrier NCO frequency f NCO ca . The calculation formulas of the carrier frequency estimator can be derived from alpha-beta-gamma filter. The state variables of the filter are carrier phase error δθ, carrier frequency error δ f ca , and carrier frequency change rate error δ . f ca . The measurement of the filter is δθ. The filtering equation is as follows: where the caret symbol (ˆ) denotes the estimated value, T coh is the coherent integration time, k denotes the update epoch. α, β, and γ are parameters of the alpha-beta-gamma filter. From the conventional point of view, these three errors should be corrected after each filter update, and then δθ k−1 ,δf ca,k−1 , and δˆ. f ca,k−1 are all equal to zero. However, according to Equation (6), the correction effect of pseudorange rate to carrier NCO frequency is equivalent to an additional carrier frequency error for this filter. So, δf ca,k−1 may not be equal to zero. According to the definition of carrier frequency error, δf ca can be replaced by where f ca is the estimated carrier frequency. Then Equation (9) transforms to By organizing Equation (10) and simplifying some symbols, update equations of the carrier frequency estimator can be obtained: .
Essentially, the carrier frequency estimator is a digital third-order PLL. The structure of the third-order loop filter is shown in Figure 3b. ∆ f ca T coh is the additional carrier phase error caused by the difference between the NCO frequency and the estimated frequency. δθ 0 is the carrier phase error input to the PLL. Because the effect of ∆ f ca T coh has been removed from the directly measured carrier phase error, the estimation result of f ca does not change even if f NCO ca is corrected externally. This is the basis of the vector carrier tracking that the carrier frequency estimation is independent of the carrier NCO control. ∆θ is used to accomplish carrier phase locking.
. f ca is provided to the carrier NCO for open-loop update. The value of α,β,γ can be determined by typical parameters of third-order PLL [19], as follows: where B n is the equivalent noise bandwidth, and ω 0 is the natural frequency. Figure 4 shows the update process of f ca and f NCO ca more visually. Note that f ca needs to be updated synchronously with f NCO ca after each carrier NCO update: : real carrier frequency : correction moment ①: Equation (18) ②: Equation (2) ③: Equation (14) ④: Equation (19) ⑤: Equation ( After carrier frequency estimating, measured pseudorange rate is obtained by

Navigation Processing
Navigation processing comprises two parts: Navigation update and navigation filter. The function of the navigation update is to predict the current navigation state according to the last navigation state. The function of the navigation filter is to estimate navigation errors according to pseudorange and pseudorange rate measurements. And f NCO ca needs to increase the same increment with f ca when the carrier frequency estimator update: After carrier frequency estimating, measured pseudorange rate is obtained by

Navigation Processing
Navigation processing comprises two parts: Navigation update and navigation filter. The function of the navigation update is to predict the current navigation state according to the last navigation state. The function of the navigation filter is to estimate navigation errors according to pseudorange and pseudorange rate measurements.

Navigation Update
For high-dynamic scenarios, the position, velocity, and acceleration are used as the navigation state. Navigation update is based on the constant acceleration criterion, assuming constant acceleration within the update interval. The navigation update process is as follows:L Symbols in Equations (21)- (27): , velocity vector in the geographic frame; a n [a E , a N , a D ], acceleration vector in the geographic frame; b c equivalent range error of the receiver clock offset; d c equivalent velocity error of the receiver clock drift; R M , R N curvature radiuses of the Earth in the meridian and prime vertical directions; T nav navigation update period.

Navigation Filter
The errors of the navigation state are selected as state variables; the state vector is expressed as The state equation is The measurement equation is where e n is the line-of-sight (LOS) unit vector from satellite to receiver. The satellite clock error and various errors in the signal propagation process [20] should be considered when calculating ρ and . ρ : Symbols in Equations (31) and (32): ρ s r satellite-receiver geometric range; dt s satellite clock offset; dt rel relativistic correction; dt GD group delay; dt Sagnac Sagnac delay; dt ion ionosphere delay; dt tro tropospheric delay; . ρ s r satellite-receiver relative velocity; d f s satellite clock drift; d f rel relativistic correction rate; d f Sagnac Sagnac delay rate; c speed of light. To make the navigation filter more robust in the case of unstable measurement noise, a Huber-based Kalman filter is introduced [21,22]. The filtering process is given in Algorithm 1.

Algorithm 1. Huber-based Kalman filter for the navigation filter
Step 1 Calculate one-step prediction variance matrix: Step 2 Calculate initial state vector: Step 3 Calculate residual vector: ξ X = P −1/2 j is the number of iterations, and its initial value is 0.
Step 4 Calculate Huber weight matrix: , γ is a parameter.
Step 5 Calculate P k/k−1 and R k : Step 6 Calculate state vector: Step 7 Check if X j+1 k − X j k is larger than a threshold. If yes, go back to Step 3.

Step 8
Calculate state vector error variance matrix: In Steps 5, P 1/2 k/k−1 and R 1/2 k are lower triangular matrixes of the Cholesky factorization of P k/k−1 and R k , respectively. In Step 3, P −1/2 k/k−1 and R −1/2 k are inverse matrixes of P 1/2 k/k−1 and R 1/2 k , respectively. The Huber function is a weight function of the residual, which reduces the weight of the measurement with large error.
Navigation state errors are obtained after each filter update and then used to correct the current navigation state. The process is as follows: Process noise variance matrix Q is usually a diagonal matrix: Q p ,Q v , and Q bc are unimportant parameters that can be set to zero. Q a and Q dc are the key parameters that affect the performance of the navigation filter and that need to be carefully considered. The magnitudes of Q a and Q dc depend on the maximal dynamic of the vehicle and the quality of the oscillator, respectively. Their values are generally set using a rule of thumb that the higher the vehicle's dynamic is, the larger the value of Q a and the poorer the oscillator's quality is, the larger the value of Q dc . The measurement noise variance of each satellite is related to the intensity of the received signal. In our study, pseudorange noise variance is modeled as where n is the number of average points in Equation (8), C/N 0 is the carrier-to-noise ratio (CNR), A ρ is a coefficient whose value is related to the autocorrelation function of the pseudo-code and the code phase discriminator model, which can be obtained by numerical simulation. The pseudorange rate noise variance is modeled as where A . ρ is the coefficient for calculating the pseudorange rate noise variance, and it is also obtained by numerical simulation.

Weak Signal Channel Strategy
Although a third-order PLL can track high-dynamic signals, it is vulnerable. Because there are two integrators in the loop filter, the integral value is easy to diverge in the case of large phase discriminator noise. In practical tests, even a few seconds of a weak signal can cause third-order PLL loss of lock, but it cannot recover on its own ability when the signal becomes stronger. To ensure the continuity of signal tracking, it is necessary to design an additional reacquisition module when third-order PLL is used in a scalar receiver. In vector tracking, the fast recovery of third-order PLL is easy because of the superiority of the control strategy.
When the CNR of a channel is less than a preset threshold, the signal is judged as weak. In this case, f ca and . f ca in the pseudorange rate measurement module may be diverging. Therefore, the recovery of third-order PLL includes two aspects: Carrier frequency recovery and carrier frequency change rate recovery. The former is simple. Because f NCO ca is corrected by the receiver's velocity, it is supposed to be accurate when the navigation filter is working properly. So f NCO ca is assigned to f ca after each navigation filter update. The latter requires some additional calculations. First, the calculation formula of carrier frequency change rate is derived. The relative velocity between receiver and satellite is expressed as where the subscript s denotes the satellite, subscript p denotes the receiver, r denotes the position vector, v denotes the velocity vector, and R = r s − r p . By taking the derivative of both sides of Equation (43) and considering . R = v los , the relative acceleration between receiver and satellite can be obtained by where a denotes the acceleration vector, a ps = a s − a p , v ps = v s − v p , r ps = r s − r p . The relative acceleration is related to the velocity and acceleration of the satellite and receiver. The satellite's velocity and acceleration can be calculated by ephemeris [23,24]. The receiver's velocity is obtained by solving a velocity observation equation. The receiver's acceleration comes from the navigation state in Equation (25), but it is with respect to the geographic frame. Acceleration with respect to Earth-centered Earth-fixed (ECEF) frame a p is calculated with the Coriolis theorem: where C e n is the transformation matrix of the geographic frame to the ECEF frame, ω n en is the angular velocity between the two frames. Then . f ca can be calculated by a los considering receiver clock drift: Under the recovery action, the carrier phase tracking of weak signal degenerates into a first-order PLL, and the proportional term of carrier phase error K 1 δθ is used to correct the carrier phase. For weak signals, because δθ has a large error, phase locking is not guaranteed, and using K 1 δθ correction is only an attempt. When the signal becomes stronger, due to the small error of f ca and . f ca , the carrier phase relocks, and the third-order PLL is restored. In this control mode, the recovery of an interrupted signal only needs a very short transition time, which is the phase locking time of a first-order PLL. The disadvantage that third-order PLL is an easy loss of lock is overcome. The vector tracking verification hardware platform used in this paper is an FPGA + DSP architecture. The functional diagram of the platform is shown in Figure 5. The FPGA is Intel's Cyclone V 5CEFA9F23I7, and the DSP is TI's TMS320C6748. The DSP scans the state of all channels every 0.505 ms. If a channel completes a correlation operation, the FPGA outputs the channel's I/Q correlation value. The vector tracking loop calculates the NCO frequency of each channel according to I/Q correlation values. Every 50 ms, all channels latch the current code phase, and FPGA generates an interrupt signal to trigger navigation processing in the DSP. DSP architecture. The functional diagram of the platform is shown in Figure 5. The FPGA is Intel's Cyclone V 5CEFA9F23I7, and the DSP is TI's TMS320C6748. The DSP scans the state of all channels every 0.505 ms. If a channel completes a correlation operation, the FPGA outputs the channel's I/Q correlation value. The vector tracking loop calculates the NCO frequency of each channel according to I/Q correlation values. Every 50 ms, all channels latch the current code phase, and FPGA generates an interrupt signal to trigger navigation processing in the DSP.

Code Phase Correction
Intuitively, code phase correction is to assign a desired phase or phase correction value to the code NCO at the correction moment, as shown in Figure 6a. However, the code phase of the code NCO cannot be directly controlled in practice. An indirect correction method is required. A phase correction period is set, typically 1 ms. In this period, code NCO frequency adds a phase correction frequency based on the normal value. At the end of the phase correction period, the code phase error is corrected, as

Code Phase Correction
Intuitively, code phase correction is to assign a desired phase or phase correction value to the code NCO at the correction moment, as shown in Figure 6a. However, the code phase of the code NCO cannot be directly controlled in practice. An indirect correction method is required. A phase correction period is set, typically 1 ms. In this period, code NCO frequency adds a phase correction frequency based on the normal value. At the end of the phase correction period, the code phase error is corrected, as shown in Figure 6b.

Carrier Phase Correction
In practice, it is not necessary for the local replica carrier to be in phase with the actual carrier for signal tracking. Frequency matching is the only requirement. On the one hand, the incoherent code phase discriminator does not require carrier phase locking. On the other hand, the carrier phase error can be corrected after coherent integration. As shown in Figure 6c, when the phase error between the local and actual carrier is φ , the distribution of I/Q correlation values is orange dots. I/Q correlation values can be corrected to a zero phase by a rotation transformation of Equation (47). This is equivalent to phase locking.
cos sin sin cos Thus, in receiver design, each channel has a variable used to record the current carrier phase error. The six I/Q outputs first perform Equation (47), and then perform the code and carrier phase discriminator algorithm. Carrier phase correction can be realized by modifying the carrier phase error variable after each PLL update.

Time Control
There are three basic time periods in VTL, which have been mentioned many times

Carrier Phase Correction
In practice, it is not necessary for the local replica carrier to be in phase with the actual carrier for signal tracking. Frequency matching is the only requirement. On the one hand, the incoherent code phase discriminator does not require carrier phase locking. On the other hand, the carrier phase error can be corrected after coherent integration. As shown in Figure 6c, when the phase error between the local and actual carrier is ϕ, the distribution of I/Q correlation values is orange dots. I/Q correlation values can be corrected to a zero phase by a rotation transformation of Equation (47). This is equivalent to phase locking.
Thus, in receiver design, each channel has a variable used to record the current carrier phase error. The six I/Q outputs first perform Equation (47), and then perform the code and carrier phase discriminator algorithm. Carrier phase correction can be realized by modifying the carrier phase error variable after each PLL update.

Time Control
There are three basic time periods in VTL, which have been mentioned many times before. They are summarized in Table 1. Table 1. Summary of three basic time periods in VTL.

Symbol Meaning Description
T coh Coherent integration time This depends on signal intensity. The weaker the signal is, the longer the coherent integration time.

T NCO Code and carrier NCO update period
For better tracking of high-dynamic signals, this period needs to be as small as possible, even if the coherent integration time is long. This is usually equal to the minimal integration time of the correlator, which was 1 ms on our hardware platform.
T nav Navigation update period Theoretically, the faster the navigation update, the better. But fast navigation update has the problem of real-time computation. So, there is a trade-off to be made. Besides that, this period also depends on the hardware design. This was 50 ms on our hardware platform.

Pseudorange Rate Measurement Synchronization
For the pseudorange measurement, all channels simultaneously latch the current code phases at the positioning moment, and they are synchronous. However, because the carrier frequency estimator update moment aligns with the end of coherent integration, all channels are asynchronous. Special processing is required to obtain synchronous pseudorange rate measurements. Figure 7 illustrates the process of pseudorange rate measurement. t 1 co and t 2 co are the end time of a pseudo-code period, t 1 ca and t 2 ca are the middle time of the next pseudo-code period, and t m is the pseudorange rate measurement moment. In fact, the estimated carrier frequency at t co is the carrier frequency at t ca . Time difference t m − t ca needs to be considered to obtain the pseudorange rate measurements for all channels at t m . The precise carrier frequency at t m can be calculated by extrapolation using carrier frequency change rate: where t m − t co is obtained by the code phase at t m , and t ca − t co is equal to half of a pseudo-code period.

Pseudorange Rate Measurement Synchronization
For the pseudorange measurement, all channels simultaneously latch the current code phases at the positioning moment, and they are synchronous. However, because the carrier frequency estimator update moment aligns with the end of coherent integration, all channels are asynchronous. Special processing is required to obtain synchronous pseudorange rate measurements. Figure 7 illustrates the process of pseudorange rate measurement.
where m c o t t − is obtained by the code phase at m t , and ca co t t − is equal to half of a pseudo-code period.

Workflow of Vector Receiver
The workflow of a vector receiver can be divided into four stages. They are described in Table 2.

Stage Description
Before vector tracking The receiver starts in scalar tracking mode and tracks satellite signals using conventional acquisition and tracking methods. When the number of satellites that are tracking and have ephemeris is greater than or

Workflow of Vector Receiver
The workflow of a vector receiver can be divided into four stages. They are described in Table 2.

Stage Description
Before vector tracking The receiver starts in scalar tracking mode and tracks satellite signals using conventional acquisition and tracking methods.
Enter vector tracking When the number of satellites that are tracking and have ephemeris is greater than or equal to 4, the receiver enters vector tracking mode. The channels that are tracking signals are switched to use VTL. Vector tracking running Continuously acquire untracked satellites. When a new satellite is tracked, it is switched to use VTL.

Exit vector tracking
When the number of effective satellites (such as the CNR is larger than 23 dB·Hz) is less than 4 for a period of time, the navigation filter becomes untrusted, and the receiver exits vector tracking mode and returns to scalar tracking for a new working cycle.

Experiments and Results
GNSS signal simulator is efficient equipment to test a GNSS receiver, which can accurately and repeatedly generate GNSS signals received by a custom motion vehicle in a laboratory. In our study, a Spirent GSS7700 simulator was used to generate high-dynamic GPS L1 C/A signals for experiments. To create the desired motion scenario, a sequence containing a timestamp, position, and velocity was generated by self-developed trajectory generator software and then converted into a user motion file with a umt extension. SimGEN software can process the file to simulate GPS signals. In our experiments, two highdynamic scenarios were set up to verify the performance of VTL, an ultrahigh-dynamic scenario, and a normal high-dynamic scenario. Each scenario was tested with STL and VTL for comparison. To simply compare the performance of loop structures, the common parameters for STL and VTL were set the same. The detailed parameters are listed in Table 3.
The coherent integration time is adjusted according to CNR, 1 ms for larger than 37 dB·Hz, 5 ms for between 37 and 30 dB·Hz, 20 ms for less than 30 dB·Hz in the experiment. † The oscillator used in the receiver is TCXO, whose stability is poor, so Q dc is set to a relatively large value.

Ultrahigh-Dynamic Scenario Experiment
The ultrahigh-dynamic scenario was an eastward accelerated trajectory in which the maximal acceleration was 50 g, the jerk was 50 g/s, and the maximal velocity was 4500 m/s. The satellite constellation, and the curves of velocity and acceleration of the trajectory are shown in Figure 8. Results of the two different tracking methods are shown in Figure 9.
No.1, 6, and 22 satellites had large acceleration relative to the receiver, due to the lower elevating angle during the acceleration period. The carrier dynamic pressure of these signals exceeded the tracking threshold of the third-order PLL in STL, resulting in loss of lock at 80 s, 100 s, and 110 s, as shown in Figure 9a. Loss-of-lock signals need several seconds to recover. In VTL, the CNR of those three signals dropped only for two seconds at the moment of a sudden jerk because the four low-dynamic signals could maintain the operation of the navigation filter, and the correct navigation state could provide accurate NCO control command for the high-dynamic channels to ensure effective tracking. Thus, the VTL showed better performance in high-dynamic signal tracking.

Normal High-Dynamic Scenario Experiment
The normal high-dynamic scenario was a figure-eight trajectory [25]. Trajectory length was 10,000 m, the average speed was 300 m/s, and altitude variation was 500 m. The curves of the 3D position, velocity, and acceleration of the trajectory are shown in Figure 10. This experiment contains three cases: Constant signal power, signal attenuation, and partial signal outage.
The purpose of the first case is to verify the improvement of VTL in navigation accuracy. The CNR of all signals was set to 46 dB·Hz. Results are shown in Figure 11. The position and velocity solution were both performed by single point mode in STL and VTL without other processes. Navigation root-mean-square (RMS) errors are listed in Table 4. The position error of VTL was obviously smaller than that of STL. The position error also reflected the tracking accuracy of the local replica code. Therefore, the code tracking accuracy of VTL was higher than that of STL. Theoretically, the same position accuracy could be obtained when the position output of STL passed the same navigation filter as that of VTL, but the code phase of the NCO could not be changed in STL. The velocity errors of the two methods were almost the same, because the navigation filter's bandwidth was set to be relatively wide for tracking high-dynamic signals, resulting in no filtering effect on the velocity solution. Thus, the carrier frequency tracking accuracy of VTL cannot

Normal High-Dynamic Scenario Experiment
The normal high-dynamic scenario was a figure-eight trajectory [25]. Trajectory length was 10,000 m, the average speed was 300 m/s, and altitude variation was 500 m. The curves of the 3D position, velocity, and acceleration of the trajectory are shown in Figure 10. This experiment contains three cases: Constant signal power, signal attenuation, and partial signal outage.
The purpose of the first case is to verify the improvement of VTL in navigation accuracy. The CNR of all signals was set to 46 dB·Hz. Results are shown in Figure 11. The position and velocity solution were both performed by single point mode in STL and VTL without other processes. Navigation root-mean-square (RMS) errors are listed in Table 4. The position error of VTL was obviously smaller than that of STL. The position error also reflected the tracking accuracy of the local replica code. Therefore, the code tracking accuracy of VTL was higher than that of STL. Theoretically, the same position accuracy could be obtained when the position output of STL passed the same navigation filter as that of VTL, but the code phase of the NCO could not be changed in STL. The velocity errors of the two methods were almost the same, because the navigation filter's bandwidth was set to be relatively wide for tracking high-dynamic signals, resulting in no filtering effect on the velocity solution. Thus, the carrier frequency tracking accuracy of VTL cannot

Normal High-Dynamic Scenario Experiment
The normal high-dynamic scenario was a figure-eight trajectory [25]. Trajectory length was 10,000 m, the average speed was 300 m/s, and altitude variation was 500 m. The curves of the 3D position, velocity, and acceleration of the trajectory are shown in Figure 10. This experiment contains three cases: Constant signal power, signal attenuation, and partial signal outage.
The purpose of the first case is to verify the improvement of VTL in navigation accuracy. The CNR of all signals was set to 46 dB·Hz. Results are shown in Figure 11. The position and velocity solution were both performed by single point mode in STL and VTL without other processes. Navigation root-mean-square (RMS) errors are listed in Table 4. The position error of VTL was obviously smaller than that of STL. The position error also reflected the tracking accuracy of the local replica code. Therefore, the code tracking accuracy of VTL was higher than that of STL. Theoretically, the same position accuracy could be obtained when the position output of STL passed the same navigation filter as that of VTL, but the code phase of the NCO could not be changed in STL. The velocity errors of the two methods were almost the same, because the navigation filter's bandwidth was set to be relatively wide for tracking high-dynamic signals, resulting in no filtering effect on the velocity solution. Thus, the carrier frequency tracking accuracy of VTL cannot be improved unless the navigation filter's bandwidth is compressed, or an inertial measurement unit (IMU) is used.  The purpose of the second case was to verify the weak-signal-tracking performance of VTL. The initial CNR of all signals was set to 50 dB·Hz. Then the signal power was reduced at a rate of 1 dB/s from 90 s. From 200 s, the power increased at a rate of 1 dB/s until 50 dB·Hz. Results are shown in Figures 12 and 13. When the CNR dropped to 25 dB·Hz, STL channels lost the lock one after another, but all VTL channels kept tracking.  The purpose of the second case was to verify the weak-signal-tracking performance of VTL. The initial CNR of all signals was set to 50 dB·Hz. Then the signal power was reduced at a rate of 1 dB/s from 90 s. From 200 s, the power increased at a rate of 1 dB/s until 50 dB·Hz. Results are shown in Figures 12 and 13. When the CNR dropped to 25 dB·Hz, STL channels lost the lock one after another, but all VTL channels kept tracking.  The purpose of the second case was to verify the weak-signal-tracking performance of VTL. The initial CNR of all signals was set to 50 dB·Hz. Then the signal power was reduced at a rate of 1 dB/s from 90 s. From 200 s, the power increased at a rate of 1 dB/s until 50 dB·Hz. Results are shown in Figures 12 and 13. When the CNR dropped to 25 dB·Hz, STL channels lost the lock one after another, but all VTL channels kept tracking. During the weak signal period, the STL could not output navigation results. On the contrary, the VTL still provided relatively accurate navigation output, because it made use of the power of all channels. Thus, the tracking sensitivity of VTL was higher. The third case demonstrates the ability of VTL to quickly recover interrupted signals. The signals of PRN 1 and PRN 17 were closed for 10 s at 70 s and 90 s, respectively. Figure 14 shows the different results of STL and VTL. Signals were immediately relocked in VTL when signal power was recovered. In STL, the reacquisition process took longer. The third case demonstrates the ability of VTL to quickly recover interrupted signals. The signals of PRN 1 and PRN 17 were closed for 10 s at 70 s and 90 s, respectively. Figure 14 shows the different results of STL and VTL. Signals were immediately relocked in VTL when signal power was recovered. In STL, the reacquisition process took longer. The third case demonstrates the ability of VTL to quickly recover interrupted signals. The signals of PRN 1 and PRN 17 were closed for 10 s at 70 s and 90 s, respectively. Figure 14 shows the different results of STL and VTL. Signals were immediately relocked in VTL when signal power was recovered. In STL, the reacquisition process took longer.

Calculation Time Statistics
Because the calculation of the code phase and carrier NCO frequency correction value, and the pseudorange and pseudorange rate measurement contain only a few simple arithmetic operations, the computation load of VTL is mainly on the navigation processing, in particular the navigation filter. To verify the real-time performance of VTL, the average calculation time of one instance of navigation processing was counted in cases of different numbers of tracking satellites. DSP frequency was 456 MHz. The statistical results are shown in Table 5. A cubic polynomial can be used to fit the number of satellites and calculation time. When the number of satellites processed by the navigation filter was 12, the proposed vector tracking method met the real-time requirement. Because NCO control takes almost no time, more satellites can be tracked in VTL; only a satellite selection algorithm is required to limit the number of satellites used by the navigation filter.

Discussion
Although the study of VTL in this paper is based on GPS L1 C/A signal, which is a legacy signal using BPSK (binary phase shift keying) modulation, the VTL can also be used to track BOC (binary offset carrier) modulated signal, which is the new signal transmitted by modern GNSS satellites, such as GPS L1C signal, BDS B1C signal, and Galileo E1 signal. In BOC modulation, pseudo-code chips are multiplied by sine square wave subcarriers to realize the nature of split-spectrum [26]. In essence, the structure of the BOC signal is still code and carrier. Therefore, the proposed VTL framework is applicable. Only the code generator, code phase discriminator, and carrier phase discriminator must be modified to adapt to the new signal.

Calculation Time Statistics
Because the calculation of the code phase and carrier NCO frequency correction value, and the pseudorange and pseudorange rate measurement contain only a few simple arithmetic operations, the computation load of VTL is mainly on the navigation processing, in particular the navigation filter. To verify the real-time performance of VTL, the average calculation time of one instance of navigation processing was counted in cases of different numbers of tracking satellites. DSP frequency was 456 MHz. The statistical results are shown in Table 5. A cubic polynomial can be used to fit the number of satellites and calculation time. When the number of satellites processed by the navigation filter was 12, the proposed vector tracking method met the real-time requirement. Because NCO control takes almost no time, more satellites can be tracked in VTL; only a satellite selection algorithm is required to limit the number of satellites used by the navigation filter.

Discussion
Although the study of VTL in this paper is based on GPS L1 C/A signal, which is a legacy signal using BPSK (binary phase shift keying) modulation, the VTL can also be used to track BOC (binary offset carrier) modulated signal, which is the new signal transmitted by modern GNSS satellites, such as GPS L1C signal, BDS B1C signal, and Galileo E1 signal. In BOC modulation, pseudo-code chips are multiplied by sine square wave subcarriers to realize the nature of split-spectrum [26]. In essence, the structure of the BOC signal is still code and carrier. Therefore, the proposed VTL framework is applicable. Only the code generator, code phase discriminator, and carrier phase discriminator must be modified to adapt to the new signal.
In addition, the VTL has a potential in an antenna array-based GNSS receiver, which is used to mitigate RF interference. When using the minimum mean squared error (MMSE) algorithm to realize beamforming in the post-correlation technique, a reference signal is necessary [27]. The VTL can provide this reference signal more precisely.
At present, the receiver hardware platform still adopts the architecture of separated components, and DSP and FPGA chips are larger and consume more power. To further promote the practical application of vector tracking technology, the program will be transplanted to an SoC-based receiver platform, and an IMU will be introduced to assist.

Conclusions
Instead of using code phase and carrier frequency to directly control NCO, the vector tracking framework proposed in this paper calculates code phase and carrier frequency errors for incremental correction. This approach makes NCO control more flexible, so that VTL can be easily implemented based on existing receivers without much modification. A hardware receiver based on the proposed framework was realized on an FPGA + DSP platform with good real-time performance. Through effective information exchange between channels, the vector receiver had a stronger tracking ability of high-dynamic signals. In addition, the advantages of tracking sensitivity and bridging interrupted signals were verified.

Data Availability Statement:
The data presented in this study are available on request from the corresponding author.