# Design and Validation of a Cascading Vector Tracking Loop in High Dynamic Environments
## 2 Structure and Methods
### Cascading Tracking Methods  
Figure 2 presents the carrier's UKF structure with the data flow. After the demodulation, given that the original observations contain the navigation code flip and other unknown parameters, we design a restructuring module as shown in Formula (1) to eliminate unknown parameters. Then, the current state vector is calculated with the UKF. Finally, the feedback value of the loop is calculated by using the state vector to control the carrier's NCO, which adjusts the generation of the local carrier signal at the next moment. Equation (1) expresses the original values of I and Q after demodulation. \(N_{k}\) is the number of samples in an interval. \(\overline{A}_{k}\) is the average carrier amplitude over the integral interval. \(D_{k}\) is the navigation data, and \(R(\tau)\) is the autocorrelation function of the PRN code. Given the plus or minus flip of the navigation data, \(I_{p}\) and \(Q_{p}\) cannot be used directly  
Figure 1: (**a**) Scalar tracking schematic, (**b**) Vector tracking schematic. Figure 2: Carrier tracking loop flow (also the pre-filter). as measurements. Therefore, in the rebuild module, the original I and Q are reconstructed as Equations (2) and (3), which can be further derived from reference [20]:  
\[\left\{ \begin{array}{l}I_{p}=\frac{N_{k}}{2}\times\overline{A}_{k}\times D_{k} \times\cos(\overline{\theta})\times R(\tau)\\ Q_{p}=\frac{N_{k}}{2}\times\overline{A}_{k}\times D_{k}\times\sin(\overline{ \theta})\times R(\tau),\end{array} \right. \tag{1}\]  
\[2I_{p}Q_{p}=\left({I_{p}}^{2}+{Q_{p}}^{2}\right)\sin(2\overline{\theta}), \tag{2}\]  
\[{I_{p}}^{2}-{Q_{p}}^{2}=\left({I_{p}}^{2}+{Q_{p}}^{2}\right)\cos(2\overline{ \theta}). \tag{3}\]  
Considering the priority processing, the parameters are uncertain at moment \(k\), except for parameter \(N_{k}\), but after the reconstruction, combined measurements \(I_{new}\) and \(Q_{new}\) will not be influenced by the navigation data and other unknown parameters. Thus, the observation equation is established as Equation (4), and \(b_{k}\) is the zero-mean Gaussian discrete-time white noise. Equation (5) expresses the mean carrier phase difference between the replicated and actual signals over an integral period, \(\overline{\theta}(k)\) is the interval average of the carrier phase error, and \(R(\tau)\) is the autocorrelation function of the PRN code:  
\[L_{k}=\left[ \begin{array}{c}{I_{p}}^{2}-{Q_{p}}^{2}\\ 2I_{p}Q_{p}\end{array} \right]_{k}+b_{k}=\left[ \begin{array}{c}{\left({I_{p}} ^{2}+{Q_{p}}^{2}\right)\cos(2\overline{\theta})}\\ {\left({I_{p}}^{2}+{Q_{p}}^{2}\right)\sin(2\overline{\theta})}\end{array}  \right]+b_{k}, \tag{4}\]  
\[ \begin{array}{rl}\overline{\theta}(k)&=\frac{1}{T}\int_{t_{k}}^{t_{k+1}} \Bigl{[}\Delta\theta(k)+\omega(k)t+\frac{1}{2}\omega^{\prime}(k)t^{2}+\frac{1 }{6}\omega^{\prime\prime}(k)t^{3}-\omega_{nco}(k)t\Bigr{]}dt\\ &=\Delta\theta(k)+\frac{1}{2}\omega(k)T+\frac{1}{6}\omega^{\prime}(k)T^{2}+ \frac{1}{24}\omega^{\prime\prime}(k)T^{3}-\frac{1}{2}\omega_{nco}(k)T\\ &=\left[\begin{array}{ccc}1&\frac{T}{2}&\frac{T^{2}}{6}&\frac{T^{3}}{24} \end{array}\right]\left(\begin{array}{c}\Delta\theta(k)\\ \omega^{\prime}(k)\\ \omega^{\prime\prime}(k)\end{array}\right)+\Bigl{[}-\frac{T}{2}\Bigr{]}( \omega_{nco}(k))\end{array}  \tag{5}\]  
Figure 3 shows the structure of cascading vector tracking. Compared with Figure 2, the original UKF carrier loop becomes the pre-filter with an open loop. The pseudorange differential, the Doppler frequency, and the first order of the Doppler frequency are provided to the main filter by the pre-filter. This structure mainly aims to replace the original carrier loop with a cascade vector structure. Given that the influence of the high dynamics in the signal is mainly reflected on the carrier, the stable tracking of the carrier must be ensured. Then, the carrier-assisted code tracking method can be used to obtain the tracking performance under high dynamics while reducing the loop structure changes.