Hostname: page-component-745bb68f8f-5r2nc Total loading time: 0 Render date: 2025-02-11T06:51:58.809Z Has data issue: false hasContentIssue false

Increasing the Resistance of GPS Receivers by Using a Fuzzy Smart Estimator in Weak Signal Conditions

Published online by Cambridge University Press:  17 March 2020

M. A. Farhad
Affiliation:
(School of Electrical Engineering, Iran University of Science and Technology, Narmak, Tehran, Iran)
M. R. Mosavi*
Affiliation:
(School of Electrical Engineering, Iran University of Science and Technology, Narmak, Tehran, Iran)
A. A. Abedi
Affiliation:
(School of Electrical Engineering, Iran University of Science and Technology, Narmak, Tehran, Iran)
K. Mohammadi
Affiliation:
(School of Electrical Engineering, Iran University of Science and Technology, Narmak, Tehran, Iran)
*
Rights & Permissions [Opens in a new window]

Abstract

Global satellite navigation systems (GNSS) are nowadays used in many applications. GNSS receivers experience limitations in receiving weak signals in a degraded environment. Hence, tracking weak GNSS signals is a topic of interest to researchers in this field. Different methods have been proposed to address this issue, each of which has advantages and disadvantages. In this paper, a method based on the vector tracking method is proposed for weak signal tracking. This method has been developed based on a strong Kalman filter instead of the extended Kalman filter used in conventional vector tracking methods. In order to adjust important parameters of this filter, the fuzzy method is used. The results of tests performed with both simulated data and real data demonstrate that the proposed method performs better than previous ones in weak signal tracking.

Type
Research Article
Copyright
Copyright © The Royal Institute of Navigation 2020

1. INTRODUCTION

One of the navigation systems used today in many applications such as land transport, mobile phones, motor vehicles and maritime and air transport is global positioning system (GPS). The importance of this navigation system has led many researchers to work in this field. GPS receivers usually consist of four parts: front-end, acquisition, tracking and navigation, in which the radio frequency (RF) front-end receives an RF signal from the antenna. This signal is amplified, filtered, and down-converted in frequency, then it is sampled with an analog-to-digital converter. The two main tasks of the acquisition part are: (1) to adjust the carrier frequency and code phase of the local replica to synchronise them with the incoming signal from the visible satellites and (2) fine tuning of the carrier frequency and code phase of the incoming signal (Liu et al., Reference Liu, Kou, Huang, Wang and Yao2019a). The carrier frequency and phase code is then tracked and finally the positioning process occurs in the navigation part (Mosavi et al., Reference Mosavi, Moazedi, Rezaei and Tabatabaei2015). Since GPS satellite signals are transmitted from an approximate height of 20,000 km, the signals received in GPS receivers can be weak and have low carrier-to-noise ratio (CNR), but when these receivers are located in degraded environments such as urban, forest, indoor, or mountainous areas, the CNR of received signals will be significantly reduced to the point that the traditional receivers would not be able to track them. Much work has been done in the field of weak signal tracking. Some of these methods are based on frequency-assisted phase tracking (Jiang et al., Reference Jiang, Wang and Wang2017). Another way to improve the CNR is to increase the coherent integration time; however, doing so reduces the loop update rate, thereby degrading GPS performance (Petovello et al., Reference Petovello, Petovello and Lachapelle2011). The extended Kalman filter (EKF) technique is another method of tracking weak signals (Psiaki and Jung, Reference Psiaki and Jung2002). The drawback of this method is the filter divergence in some circumstances. Therefore, adaptive EKF methods have been developed to solve these problems (Chen et al., Reference Chen, Wang and Xu2014). These methods change some of the filter parameters according to the conditions, and yet not all of the parameters change at the same time. There are other methods based on the use of pseudolites that can be useful in indoor situations (Liu et al., Reference Liu, Huang, Kou and Wang2018, Reference Liu, Huang and Wang2019b). All of the methods described above are based on scalar tracking methods where one satellite is tracked separately from another satellite. Therefore, strong signal level satellites will not be used to track the low signal level satellites, and this is the biggest drawback of scalar-based tracking methods. One of the best methods to deal with weak signal conditions is the vector tracking method, which has attracted the attention of researchers. In this technique, all channels are processed together in one algorithm which typically is an EKF. Therefore, even if signals from some satellites are very weak, the receiver can track them based on filtered output from the other satellites. Spilker (Reference Spilker and Parkinson1996]{bib25a}) originally introduced the concept of vector tracking. Parkinson et al. (Reference Parkinson, Spilker, Axelrad and Enge1996) explained the structure of a vector delay lock loop and its advantages over the scalar delay lock loop. This idea has been used in combining information from both GPS and inertial navigation system (INS) systems (Groves and Mather, Reference Groves and Mather2010; Luo et al., Reference Luo, Wu, Babu, Tang and Luo2012; Hu et al., Reference Hu, Xu, Wang and Zhang2015; Li et al., Reference Li, Zhao, Wang and Wang2016). In these methods, position and velocity information from INS can therefore be used to aid the tracking loops for removing dynamic stress from the GPS signal. Other work based on vector tracking has been done to combine tracking channels without the use of an auxiliary system such as INS (Lashley et al., Reference Lashley, Bevly and Hung2009; Brewer and Raquet, Reference Brewer and Raquet2016; Tabatabaei et al., Reference Tabatabaei, Mosavi, Shahhoseini and Borre2017). In these methods, EKF is used to correct Doppler frequency shift and code delay errors. Other methods based on the Kalman filter aim to eliminate the existing weaknesses such as carrier phase accuracy, Doppler tracking accuracy, negative impact of varying CNR and position estimation accuracy (Won et al., Reference Won, Dötterböck and Eissfeller2010; Zhao and Lu, Reference Zhao and Lu2012; Chen et al., Reference Chen, Wang and Xu2014). One of the advantages of the vector tracking technique is its capacity for tracking weak signals (Soloview et al., Reference Soloview, Grass and Gunawardena2009; Wang et al., Reference Wang, Ji, Feng and Calmettes2015), but this method is based on the Kalman filter, which can be divergent if the parameters are set incorrectly. The theory of fuzzy sets was first introduced by Lotfi Zadeh in 1960 to express uncertainty. This theory is used in non-precise modelling systems to create conditions for reasoning, deduction, control and decision making in the uncertainty state of these systems. In fact, fuzzy logic is a useful tool for solving problems that cannot be solved by probability theory and the reasoning of fuzzy sets is its solution. Fuzzy logic can be used to estimate various parameters (Mao, Reference Mao2007; Tabatabaei et al., Reference Tabatabaei, Mosavi, Khavari and Shahhoseini2016; Nourmohammadi and Keighobadi, Reference Nourmohammadi and Keighobadi2018). Traditional vector tracking methods can track signals down to a carrier-to-noise density ratio, CNR, of about 25 dB-Hz, but these methods are not feasible for tracking lower carrier-to-noise density signals.

The innovation of this paper is that, instead of using the EKF in the vector tracking method, fuzzy logic techniques are used for the adaptation of the initial statistical assumption of a strong Kalman filter. Instead of empirically considering some parameters in the strong Kalman filter, the adaptive adjustment of these parameters is employed using the fuzzy logic method. This technique improves weak signal tracking compared with previous methods.

This paper is organised into sections as follows. Section 2 introduces the scalar and the vector tracking loop and the key points of each method. In section 3, the fuzzy logic for solving the problem is presented. Section 4 provides the proposed method for tracking loops. The next three sections show the test scenario and the results of the tests performed and the advantages of the proposed method are compared with previous methods. Finally, the conclusion of the study is presented.

2. SCALAR AND VECTOR TRACKING

Generally, tracking loops include a carrier tracking loop and a code tracking loop. In the code tracking loop, code shift is tracked by delay lock loop (DLL), while in the carrier tracking loop, the phase lock loop (PLL) tracks the carrier phase and Doppler frequency with high accuracy, however the frequency lock loop (FLL) only tracks the Doppler frequency. On the other hand, a FLL has a better dynamic performance in handling interference than the same order PLL. In scalar tracking-based receivers, for each channel, there is a DLL for code phase tracking and a PLL for carrier frequency tracking in such a way that the channels are tracked independently and the condition of one channel has no effect on the other one. On the other hand, in vector tracking-based receivers, tracking channels are coupled together through the navigation processor, often based on an EKF. In vector tracking loops, the feature of jointly processing all channels can exploit more information buried in signals, make it possible for channels to aid each other and thus enhance the performance in low CNR environments (Xu and Hsu, Reference Xu and Hsu2019).

Generally, the digital part of a GNSS receiver can be divided into two parts: signal processing unit (SPU) and navigation processing unit (NPU). SPU does the tracking of the code and carrier frequency as well as the measurement of the pseudo-range and the pseudo-range rate, while NPU does the tracking and calculation of time in accordance with the results of SPU. In scalar receivers, SPU is completely separate from NPU and its functions are independent, while in vector receivers there is no boundary between NPU and SPU. In fact, in vector receivers, when the visible signals in one or more channels are weak, the receiver uses the features of other channels to lock onto these weak signals and calculate the location and time of GPS receiver (Lim et al., Reference Lim, Kang, Cho, Lee and Heo2013; Liu et al., Reference Liu, Zhang, Guo and Cui2014). Usually, the EKF is used in vector tracking, but it should be noted that due to the large dimensional matrices involved, the computational complexity in the vector tracking method is high, therefore the selection of the Kalman filter algorithm should ensure that the complexity of calculations will not increase significantly. Therefore, in this work, a modified strong tracking Kalman filter (STKF) is implemented in the vector tracking algorithm, due to its low computational complexity as well as greater accuracy compared with the developed Kalman filter (Jwo and Wang, Reference Jwo and Wang2007). A scalar receiver and a vector receiver are shown in Figures 1 and 2, respectively. In these figures, each channel of the receiver is represented by dash blocks. If we assume that there is an N-channel receiver, each channel of this receiver in a scalar method has a separate loop from another channel, and corrections for the code phase and the Doppler frequency of each channel are performed in each channel independently. Finally this information is sent to the navigation filter section for estimation of position and time of GPS receiver. In the vector tracking method, information from each channel is sent to the navigation filter, and all the information is processed together. Eventually the correction information for the code phase and Doppler frequency is sent to each channel, and this information is corrected for the next moment.

Figure 1. Overall structure of scalar tracking loops.

Figure 2. Overall structure of vector tracking (Zhao and Akos, Reference Zhao and Akos2011).

Generally, three stages are considered for implementation of the vector delay/frequency-locked loop (VDFLL) by the vector tracking method: prediction, measurement and estimation. In this work, these stages are implemented by considering STKF.

2.1. Prediction

The expected values of the code phase, code frequency and carrier frequency are predicted by Equations (1), (2) and (3), respectively (Zhao and Akos, Reference Zhao and Akos2011).

(1)$$\begin{align} {\hat{\varphi }_{j,k + 1}} &= {\varphi _{j,k}} + {(\Delta {X_{j,k,k + 1}} - {t_{k,k + 1}}{v_k})^T}{a_{j,k + 1}} + {t_{k,k + 1}}C \end{align}$$
(2)$$\begin{align} {\hat{f}_{{\rm code},j,k + 1}} &= \frac{{{f_c}}}{C}[1 + {t_{d,k}} + ({{V_{j,k}} - {v_k})^{T}{a_{j,k + 1}}}] \end{align}$$
(3)$$\begin{align} {\hat{f}_{{\rm carrier},j,k + 1}} &= \frac{{{f_n}}}{C}[1 + {t_{d,k}} + ({V_{j,k}} - {v_k})^{T}{a_{j,k + 1}}] \end{align}$$

where φj, k is code phase in kth moment for jth satellite, $\varphi _{j, k+1} $ is prediction of code phase at k + 1 moment for jth satellite, $\Delta X_{j, k, k+1} $ is the position difference of jth satellite between the k and k + 1 moments, t k, k+1 is integration cycle based on (Sec.), V j, k is the velocity of jth satellite at k moment, $\vartheta _{j, k} $ is velocity of user, C is speed of light and t d, k is clock drift; f c and f n are the C/A code frequency and carrier frequency for L 1 frequency, respectively; and ${\hat{f}_{{\rm code}, j, k + 1}}$ and ${\hat{f}_{{\rm carrier}, j, k + 1}}$ are the prediction of code phase and carrier phase at the k + 1 moment, respectively. Moreover, a j, k+1 is unit vector between the line-of sight between the receiver and jth satellite at the k + 1 moment (Jwo et al., Reference Jwo, Wen and Lee2015).

2.2. Observation and measurement

The inputs of the Kalman filter in the implementation of VDFLL are the pseudo-range and pseudo-range rate. Therefore, the observation vector of Z is calculated by Equation (4) in which the outputs of the DLL and FLL comparator consist of the elements of observation vector that are calculated by Equation (5) and (6). Additionally, Q P, Q L, Q E, I P, I L, and I E are the correlative outputs (Song and Lian, Reference Song and Lian2016).

(4)$$Z_k =\left[\begin{matrix} {\Delta \rho } \\ {\Delta \dot{\rho }} \end{matrix}\right]=\left[\begin{matrix} {\Delta \tau \dfrac{C}{f_c }} \\ {\Delta f\dfrac{C}{f_n }} \end{matrix}\right]$$
(5)$$\Delta \tau =\frac{1}{2}\frac{\sqrt {I_E^2 +Q_E^2 } -\sqrt{I_L^2 +Q_L^2 } }{\sqrt {I_E^2 +Q_E^2 } +\sqrt{I_L^2 +Q_L^2 } }$$
(6)$$\begin{cases} \Delta f=\dfrac{\mbox{cross}\cdot \mbox{sign}({\mbox{dot}})}{2\pi t_{k,k+1}({I_{P_2 }^2 +Q_{P_2 }^2 })}\\ \mbox{cross}=I_{P_1 } I_{P_2 } +Q_{P_1 } Q_{P_2}\\ \mbox{dot}=I_{P_1 } Q_{P_2 } -I_{P_2 } Q_{P_1} \end{cases}$$

where $\textbf{\textit{Z}}_{k}$ is the observation vector, Δ ρ and $\Delta \dot{\rho }$ are pseudo-range and pseudo-range rate in units of metres and metres per second, respectively, Δ τ is the code discriminator output in chips, C is the speed of light, f c is the code chipping rate (1·023 MHz for GPS L1 C/A), f n is the carrier frequency (1,575·42 MHz for GPS L1), Δ f is Doppler frequency shift in Hz, I E, I L, I P, Q E, Q L, and Q P are correlation results, t k, k+1 is the time interval between two samples of observations, I P1 and I P2 are correlative outputs of I P in two consecutive moments, and finally Q P1 and Q P2 are correlative outputs of Q P in two consecutive moments.

2.3. Estimation and correction

The state vector of the Kalman filter which is used in VDFLL is defined by Equation (7).

(7)$$\delta X=[{\delta x,\delta y,\delta z,\delta v_x, \delta v_y, \delta v_z, \delta t_b, \delta t_d }]$$

where $( {\delta x, \; \delta y, \; \delta z} ) $ is position error, $( {\delta v_{x} , \; \delta v_{y} , \; \delta v_{z} } ) $ is velocity error and $( {\delta t_{b} , \; \delta t_{d} } ) $ is the error of clock bias and its drift. The prediction errors of position and velocity are calculated by Equation (8), where $\textbf{\textit{F}}$ is the state transition matrix (Zhao and Akos, Reference Zhao and Akos2011).

(8)$$\delta X_k^- =F\delta X_{k-1}$$

where δ X k is the vector of the prediction errors of position and velocity at k moment; and δ X k−1 is the estimation of the same parameters at k − 1 moment. The prediction of covariance error in the STKF is calculated by Equation (9).

(9)$$P_{k+1}^- =\lambda _k FP_k F^T+Q$$

where $\textbf{\textit{P}}_{k}$ is the matrix of estimation error covariance at k moment, Q is the matrix of system dynamic covariance and λ is the scalability coefficient of the sub-optimal level that is defined by Equation (10).

(10)$$\lambda _{i,k} =\begin{cases} \alpha _i c_k & \alpha _i c_k \ge 1 \\ 1 & \alpha_i c_k < 1 \end{cases}$$

where αi is used to improve the tracking ability of the STKF. $\textbf{\textit{C}}_{k}$ is defined in accordance with Equation (11), where matrices of $\textbf{\textit{N}}_{k}$ and $\textbf{\textit{M}}_{k}$ are calculated by Equations (12) and (13), respectively (Jwo and Wang, Reference Jwo and Wang2007).

(11)$$\begin{align} c_k &=\frac{tr( {N_k } )}{tr( {M_K })} \end{align}$$
(12)$$\begin{align} {N_k} &= {\bar{V}_k} - \beta R - HQ{H^T} \end{align}$$
(13)$$\begin{align} M_k &=HFP_k Q^TH \end{align}$$
(14)$$\begin{align} V_k &=\begin{cases} {dv_0 dv_0^T } & {k=0} \\ {\dfrac{[ {\gamma V_{k-1} +dv_k dv_k^T } ] }{1+\gamma}} & {k\ge 1} \end{cases} \end{align}$$
(15)$$\begin{align} d{v_k} &= {z_k} - \hat{z}_k^ -{=} {z_k} - H\delta X_k^- \end{align}$$

where $\textbf{\textit{H}}$ is measuring matrix, and β, γ, and αi are coefficients.

According to Equation (9), λk is the key parameter of the STKF. This parameter depends on three other parameters whose adjustments are dependent on the designer's knowledge and experience. The parameter of αi is used for the improvement of STKF tracking ability. The value of αi is considered equal to one in the present paper. The parameter of γ, which is called the forgotten factor, is usually between zero and one, and it is considered equal to 0·9 in the present study. This parameter is usually selected empirically. The parameter of β, which is called the fading factor, is used for the improvement of the state estimation softness. A high value of β is used for more accurate estimation and lower value is employed to increase the tracking ability (Jwo and Wang, Reference Jwo and Wang2007). The following process of STKF is similar to the EKF, in that the Kalman filter gain, the error estimation of velocity and position, the estimation of covariance error, updating the position and velocity for operation in next stage and finally the estimation of position and velocity will be calculated by Equations (16) to (21).

(16)$$\begin{align} K_k &=P_k^- H^T(HP_k^- H^T+R)^{-1} \end{align}$$
(17)$$\begin{align} \delta X_k^+ &=\delta X_k^- +K_k ( {z-H\delta X_k^- }) \end{align}$$
(18)$$\begin{align} P_k^+ &=I-K_k HP_k^- \end{align}$$
(19)$$\begin{align} \hat{X}_{k + 1}^+ &={\hat{X}_k} + {t_{k,k + 1}}{\hat{v}_k} \end{align}$$
(20)$$\begin{align} \hat{v}_{k + 1}^+&= {\hat{v}_k} \end{align}$$
(21)$$\begin{align} {\hat{X}_{k + 1}} &= {\hat{X}_k} + \delta X_k^+ \end{align}$$

where K k is Kalman gain at k moment, $\textbf{\textit{P}}_{k}^- $ is the covariance matrix of error prediction, $\textbf{\textit{R}}$ is the covariance matrix of measurement noise, and $\textbf{\textit{P}}_{k}^+ $ is the error covariance matrix after estimation.

The correction of code phase, code frequency and carrier frequency are calculated by Equations (22), (23), and (24), respectively.

(22)$$\begin{align} {\varphi _{j,k + 1}} &= {\hat{\varphi }_{j,k + 1}} + \delta X_{k + 1}^T{a_{j,k + 1}} + {t_{k,k + 1}}C + {t_{b,k}} \end{align}$$
(23)$$\begin{align} {f_{{\rm code},j,k + 1}} &= {\hat{f}_{{\rm code},j,k + 1}} + ({{t_{d,k + 1}} + \delta {v_{k + 1}}{a_{j,k + 1}}} )\,\frac{{{f_c}}}{C} \end{align}$$
(24)$$\begin{align} {f_{{\rm carrier},j,k + 1}} &= {\hat{f}_{{\rm carrier},j,k + 1}} + ({{t_{d,k + 1}} + \delta {v_{k + 1}}{a_{j,k + 1}}} )\,\frac{{{f_n}}}{C} \end{align}$$

In addition, Q and R are the most important parameters of the Kalman filter; they are calculated by Equations (25) and (26).

(25)$$\begin{align} Q&=\mbox{diag}({\sigma _x^2, \sigma _y^2, \sigma _z^2, \sigma _{v_x }^2,\sigma _{v_y }^2, \sigma _{v_z }^2, \sigma _{t_b }^2, \sigma _{t_d }^2 }) \end{align}$$
(26)$$\begin{align} R&=\mbox{diag}({\sigma _{{\rm code},1}^2, \ldots,\sigma_{{\rm code},N}^2, \sigma _{{\rm carrier},1}^2, \ldots,\sigma_{{\rm carrier},N}^2} ) \end{align}$$

In this study, R and Q will be updated by the windowing method and fuzzy logic, respectively.

As it is shown in (27), the R matrix will be updated by the windowing method in each stage. In Equation (27), ${\hat{C}_{\upsilon k}}$ is the statistical sample variance estimation of theoretical covariance $( C_{\upsilon k}) $. The matrix can be calculated by averaging the inside of a moving estimation window in size N of Equation (28), where j 0 = k − N + 1 is the first inside sample of the estimation window (Mohamed and Schwarz, Reference Mohamed and Schwarz1999).

(27)$$\begin{align} {\hat{R}_k} &= {\hat{C}_k} - {H_k}P_k^ - H_k^T \end{align}$$
(28)$$\begin{align} {\hat{C}_{{v_k}}} &= \frac{1}{N}\sum\limits_{j = {j_0}}^k {{v_j}v_j^T} \end{align}$$

3. FUZZY LOGIC

Figure 3 shows the typical structure of a fuzzy system. The fuzzy logic of Takagi and Sugeno is employed in this study (Scherer, Reference Scherer2012). Figure 4 shows the block diagram of this fuzzy logic. In the fuzzy system of Figure 4, y is calculated by Equation (29) and w k is defined by Equation (30), where μ is membership function (Jwo and Wang, Reference Jwo and Wang2007).

Figure 3. Outline of a fuzzy system (Jwo and Wang, Reference Jwo and Wang2007).

Figure 4. Fuzzy system of Takagai and Sugeno (Jwo and Wang, Reference Jwo and Wang2007).

(29)$$\begin{align} y&=\sum_{k=1}^M {w_k \cdot y_k } \end{align}$$
(30)$$\begin{align} w_k &=\frac{\prod_{i=1}^n {\mu _{F_i^k } ( {x_i } )} }{\sum_{j=1}^M {\left[ {\prod_{i=1}^n {\mu_{F_i^j } ( {x_i } )} } \right]} } \end{align}$$

4. PROPOSED METHOD

As mentioned above, some of the parameters in the STKF algorithm are adjusted and determined based on personal experience or computer simulation. In order to resolve this shortcoming, a new approach called the adaptive fuzzy strong tracking Kalman filter (FSTKF) is proposed. Therefore, by combining fuzzy logic and STKF, a better performance of vector tracking can be expected. In this paper, two parameters of STKF, the Q matrix and β coefficient, are adjusted in a fuzzy form. Figure 5 shows the proposed structure based on the STKF and fuzzy logic method. In the following, the fuzzifier process of these parameters is explained.

Figure 5. Proposed structure of vector tracking.

4.1. The process noise covariance matrix

According to Equation (9), the matrix Q will be added to the amount of covariance error at each stage. A high amount of Q in the condition where the signal is weak can result in divergence of the Kalman filter. Therefore, in case of degraded condition of the signal, the amount of Q should be low to avoid the divergence of the system. For the fuzzification of matrix Q, the variances of position and velocity are assumed to be equal in all three directions of x, yand z. Therefore, two fuzzy systems (i.e., one for position covariance (q p) and the other for velocity covariance (qv)) are considered for fuzzification of matrix Q.

In the present paper, the variance of clock bias and its drift are ignored and pre-determined values are employed instead of them in fuzzy equations. These values are assumed to be fixed, in which the value for the covariance of clock bias is 1e-2 and it is 1e-7 for its drift. It should be noted that usually small numbers are considered for the covariance of clock bias and its drift. Finally, the input, output and rules of the fuzzy system associated with Q fuzzy system will be calculated. The values calculated for membership functions and fuzzy rules are obtained using simulation data. In section 7, it will be shown that these values are validated for two series of real data

4.2. The fuzzy system of position covariance

The inputs of the fuzzy system of position covariance are obtained by Equations (31) and (32). Vector Z is comprised of two parts (i.e., pseudo-range and pseudo-range rate), in which pseudo-range and pseudo-range rate are used for fuzzification of position covariance and velocity covariance, respectively. Therefore, in Equations (31) and (32), {Z} represents the pseudo-range of the fuzzy system.

(31)$$\begin{align} \mbox{input}( {\mbox{one}})&=z_k-\hat{z}_k^- \end{align}$$
(32)$$\begin{align} \mbox{input}( {\mbox{two}})&=z_k-z_{k-1} \end{align}$$

The membership functions of input (one) and input (two) are presented in Figures 6 and 7, respectively (S  =  small, M  =  medium and L  =  large). In this work, by examining different membership functions, the triangular membership function is identified as a suitable method for fuzzification and various simulation data are used to adjust the parameters of these membership functions. After determining these parameters, the accuracy of this data is also evaluated by actual recorded data of satellites. The results show that the parameters obtained for the membership functions perform well in weak signal tracking. The rules of the fuzzy system are shown in Table 1, where the columns and the rows show the first and the second inputs, respectively and the values of the table are the output value of q p. The values of this table are determined by various simulations performed on satellite data and their accuracy is evaluated with real data. Simulated data in this work are generated by a GPS simulator, which is used to determine fuzzy parameters and their adjustment. Real data are also recorded by a RF front-end.

Figure 6. Membership functions of input (one) for q p.

Figure 7. Membership functions of input (two) for q p.

Table 1. Rules of the fuzzy system related to q p.

4.3. The fuzzy system of velocity covariance

The inputs of this system are also calculated by Equations (31) and (32). Since the velocity covariance in three directions is the output, the pseudo-range rate of vector Z is considered in this fuzzy system.

In this system, the membership functions of input (one) and input (two) are shown in Figures 8 and 9. The rules of the fuzzy system are presented in Table 2, in which the values in the table are the output values of q v. Columns and rows of this table are related to the first and the second inputs, respectively. According to the method described in the previous section, the parameters related to the membership functions and the fuzzy table of determination of the velocity covariance are also determined.

Figure 8. Membership functions of input (one) for q v.

Figure 9. Membership functions of input (two) for q v.

Table 2. Rules of the fuzzy system related toq v.

4.4. The fuzzy system of β coefficient

The defined fuzzy system of β coefficient consists of an input and an output, in which the input is as follows:

(33)$$\mbox{input}=abs\left( {\frac{v_k \cdot v_k^T }{\mbox{trace}({\mbox{HPH}^T+R})}-1}\right)$$

The membership functions of this input are shown in Figure 10. The rules of this fuzzy system are determined by the experience of the designer as follows:

  1. (1) When the input is S, β is considered equal to 3·5.

  2. (2) When the input is M, β is considered equal to 1·1.

  3. (3) When the input is L, β is considered equal to 7.

Figure 10. Membership functions of input for β.

Employment of STKF instead of EKF in vector tracking does not increase the computational complexity, but the proposed fuzzy method results in 30% increase in computational complexity compared with the traditional vector tracking.

5. TEST SETUP

Three different types of data have been used to evaluate the performance of the proposed method. First, the simulated data of the RF front-end of a receiver with central frequency of zero and sampling frequency of 2·5 MHz were used in the study. In the next stage, real data with a central frequency of 1·4 MHz and sampling frequency of 5·7 MHz, which were recorded by a car on the campus of the Iran University of Science and Technology, were utilised. In the third stage, additional real data (Zhao and Akos, Reference Zhao and Akos2011) was used for the evaluation of the proposed method to show that the proposed method is applicable to any data.

6. SIMULATED DATA

Four different scenarios were investigated regarding the simulated data. In the first scenario, the performance accuracy of the vector receiver was evaluated, and other scenarios were designed in such a way to show the weakness of conventional vector receivers in tracking very weak signals. In contrast, the proposed method has the ability to track satellite signals in these conditions. Another scenario is also presented to show the advantages of the proposed method compared with the previous ones using the real data of a receiver.

6.1. First scenario

In this scenario, the signals of PRN-1, PRN-11, PRN-19, PRN-20 and PRN-22 satellites were selected among eight visible satellites and for a period of 20 seconds (from 45 to 65 seconds) between 150 seconds of simulated data, which were weakened and noise was magnified, below the level of 25dB-Hz signals. This scenario was investigated for the evaluation of EKF, STKF and fuzzy STKF-based vector tracking. In all three methods, the tracking ability returned to the desired state immediately after the weakening period of the satellites signals. For instance, Figure 11 shows the tracking error of carrier frequency of PRN-20 for three methods. If the standard deviation error of these methods after their stability is checked, then the standard deviation error of method EKF and STKF are 5·23 Hz and the proposed FSTKF method is 4·75 Hz, which indicates that the accuracy of the proposed method is better than the other two methods. In addition, the results are the same for other satellites. It was observed that all three methods can resist signal obstruction for the period of 20 s against the magnified noise of the five channels.

Figure 11. Tracking error of carrier frequency related to PRN-20.

6.2. Second scenario

In this scenario, the signals of all channels were processed and weakened and noise was magnified for a period of 10 s (from 30 to 40 s out of the total time of 90 s). Figure 12 shows the tracking error of carrier frequency related to PRN-3 satellite. If the standard deviation error of these methods after their stability is checked, then the standard deviation error of method STKF is 4·98 Hz and the proposed FSTKF method is 4·21 Hz, which indicates that the accuracy of the proposed method is better than the STKF method. Also, as it is shown, the CNR level of all eight visible channels reduced to below 25 dB-Hz instantaneously, therefore, the vector tracking based on EKF did not show any resistance against the weak signal conditions. The STKF-based vector tracking relocked the signal and continued the process of tracking with a 30 s delay from the reconnection moment of signals, while the proposed FSTKFmethod relocked the signal and returned the error of carrier frequency to zero after the return of all the channels to normal state without any delay. Figures 13 and 14 show the position error in the X-direction and velocity error in the Z-direction, respectively. It has been observed that the proposed method is able to locate the signals with a low error immediately after the return of the channels to the normal state, while the EKF-based vector method completely escaped from the lock and the STKF-based vector method relocked the signal after a relatively long delay. By comparing the results of the first and second scenarios, it can be seen that if some of the satellite signals are weak, the information from other strong signal satellites can be used to track weak signals, which is shown in the first scenario. However, the second scenario shows that if all satellite signals are weak, the EKF method cannot track them, and the STKF method will track with delay, while the proposed FSTKF method performs the signal tracking well, immediately after the signals are strong.

Figure 12. Carrier frequency error of PRN-3.

Figure 13. Position error in the X-direction.

Figure 14. Velocity error in the Z-direction.

6.3. Third scenario

In this scenario, the signals of several time intervals including 15 to 20 s, 25 to 30 s and 65 to 70 s out of 90 s are processed and weakened, and noise is magnified. Figure 15 shows the carrier frequency error of PRN-3, for example. As shown in Figure 15, the EKF-based vector receiver could not continue the tracking process and escaped from the lock in the first time interval when all the signals of the channels were weakened. On the other hand, although the STKF-based vector tracking was successful in the first time interval, it could not continue the tracking process and escaped from the lock in the second time interval. In contrast, the proposed FSTKF method was able to keep its resistance against the weak signal conditions in all of the three time intervals, continued the tracking process, and found the location successfully. The standard deviation error of carrier frequency in this scenario for the proposed method was 5·02 Hz, while the EKF and STKF methods could not track correctly. Figures 16 and 17 show the position and velocity error of this scenario for the three methods in the Y-direction. As it is shown, the proposed FSTKF method was able to return to its initial state to show a good resistance against the noisy signal after the three time intervals.

Figure 15. Carrier frequency error related to PRN-3.

Figure 16. Position error in the Y-direction.

Figure 17. Velocity error in the Y-direction.

6.4. Fourth scenario

In this scenario, the signals consist of simulation signals with noise added at a CNR below 25 dB-Hz in three different time intervals and different conditions. The total processing time was considered equal to 100 s. In the time intervals of 10 to 15 s and 60 to 65 s, all the visible satellites were noised and in the time interval of 30 to 45 s, the channels related to PRN-1, PRN-3, PRN-11, PRN-19, PRN-20, and PRN-22 satellites were noised. Figure 18 shows the carrier frequency error of PRN-19. The standard deviation error in this scenario for the proposed method was 3·91 Hz. As shown in Figure 18, vector tracking based on EKF and STKF showed resistance against the noisy condition of the first two time intervals, but was not able to lock the signals in the third time interval. On the other hand, the proposed FSTKF method was able to lock the signal and continue the tracking process in the third time interval. Figures 19 and 20 show the position and velocity errors in the X-direction, respectively. The difference between the third and fourth scenarios is that all satellite signals in the third scenario for all three periods of time are weakened, while in the fourth scenario, all signals are weakened in the first and third times, but some signals are weakened in the second time interval. The results of these two scenarios show that the EKF method has the ability to go back and retry only for the first time interval when the signals are interrupted. For cases where the signal is weak and then strong twice consecutively, the STKF method can track the signal, but if the number of such occurrences increases, only the proposed FSTKF method can do the tracking well.

Figure 18. Carrier frequency error related to PRN-19.

Figure 19. Position error in the X-direction.

Figure 20. Velocity error in the X-direction.

7. RESULTS OF REAL DATA

In this section, two real data series, measured by two different receivers, were used to evaluate the proposed algorithm.

7.1. Results of first set of real data

In the present study, the real data were recorded from the surrounding streets of the Iran University of Science and Technology. Figures 21 and 22 show the method and the process of data recording. In the normal state, the CNR of recorded real data is about 40 dB-Hz. In this case, the conventional receivers are not able to track all channels by the scalar tracking method, while the vector tracking method is able to track and locate five visible satellites easily. To show the advantages of the proposed method, the channels related to the PRN-27, PRN-15 and PRN-18 satellites were greatly weakened by noise added to signals in the time intervals of 10 to 15 s and 25 to 35 s.

Figure 21. Process of recording dynamic real data around Iran University of Science and Technology.

Figure 22. Recording path of the dynamic real data around Iran University of Science and Technology.

Figures 23–25 show the Doppler frequency related to PRN-27, PRN-15 and PRN-18 for vector tracking based on the EKF, STKF and proposed FSTKF method, respectively. First, normal vector tracking was used in normal conditions without noise added to signals, then, after being weakened by added noise, the abovementioned methods were evaluated. As the results show, the three types of vector tracking did not escape from the lock in the first time interval, but the STKF and EKF-based vector tracking methods were not able to maintain the signal lock in the second time interval. However, the proposed FSTKF method was able to return to the normal state and keep the signal lock after the second time interval. In the steady state, when the power of signals is strong, EKF has an average of Doppler frequency 4,081 Hz and 364 Hz, 1,070 Hz for PRN-27, PRN15 and PRN-18, respectively, in normal conditions but when the signal is greatly weakened, the Doppler frequencies of the two methods, EKF and STKF, are divergent and the Doppler frequency of the FSTKF method for the satellites PRN-27, PRN15 and PRN-18 will be 4,083 Hz, 371 Hz and 1,057 Hz, respectively, which shows that there are a few differences between the values of the normal state and the signal attenuation mode. Therefore, it can be said that the proposed method has the ability to perform successfully in unsuitable conditions, increase the sensitivity of the receiver, and keep the signal lock.

Figure 23. Doppler frequency related to PRN-27.

Figure 24. Doppler frequency related to PRN-15.

Figure 25. Doppler frequency related to PRN-18.

7.2. Results of second set of real data

In this scenario, data were recorded by RF front-end receiver that was different from the RF front-end receiver used in the previous scenario. The purpose of repeating these tests for real data for the two recent scenarios was to verify the parameters obtained for the fuzzy system configuration. In this scenario, the signal was blocked for 200 s after the start. There were nine visible satellites at the beginning of the process. Figures 26 and 27 show the Doppler frequency of PRN-19 and the power correlation diagram of this satellite, respectively. As it is shown in Figure 19, in the proposed FSTKF method, the signal was returned at 350 s and the tracking loop was locked while the traditional EKF method was not able to lock the signal properly and was locked out. Therefore, the fuzzy vector tracking had a better performance compared with the traditional vector tracking.

Figure 26. Doppler frequency related to PRN-19.

Figure 27. Correlation power related to PRN-19.

8. CONCLUSIONS

In the present study, a new method was presented for increasing the resistance of GPS receivers in the consistent tracking of satellite signals, even in conditions of weak signal and frequent obstruction of the satellite signal. This method was based on a combination of STKF and fuzzy logic. In this method, some parameters of STKF, which needed to be updated in accordance with the received signals automatically, became adaptive with the help of fuzzy logic. Simulated data and two sets of real data were used for the evaluation of this method. The results showed that if the signals become weaker than a certain point, below 25 dB-Hz, the previous vector methods would not be able to resume tracking the signals. In the case of multiple satellite signal obstructions, the traditional methods would not be able to perform the tracking process. However, the proposed method of this study was able to track the signals quickly in conditions of weak signal and multiple signal obstruction. The main capability of this method is based on entering information and the experimental knowledge of the designer through fuzzy logic. In addition, it should be noted that the computational complexity of STKF-based vector tracking would not be increased compared with the traditional vector-based method, while the computational complexity of the proposed method of fuzzy vector tracking would be increased about 30%.

References

REFERENCES

Brewer, J. and Raquet, J. (2016). Differential vector phase locked loop. IEEE Transactions on Aerospace and Electronic Systems, 52(3), 10461055.CrossRefGoogle Scholar
Chen, X., Wang, X. and Xu, Y. (2014). Performance enhancement for a GPS vector-tracking loop utilizing an adaptive iterated extended Kalman filter. Journal of Sensors, 14(12), 2363023649.CrossRefGoogle ScholarPubMed
Groves, P. D. and Mather, C. J. (2010). Receiver interface requirements for deep INS/GNSS integration and vector tracking. Journal of Navigation, 63(03), 471489.CrossRefGoogle Scholar
Hu, S., Xu, S., Wang, D. and Zhang, A. (2015). Optimization algorithm for Kalman filter exploiting the numerical characteristics of SINS/GPS integrated navigation systems. Journal of Sensors, 15(11), 2840228420.CrossRefGoogle ScholarPubMed
Jiang, R., Wang, K. and Wang, J. (2017). Performance analysis and design of the optimal frequency-assisted phase tracking loop. GPS Solutions, 21(2), 759768. http://dx.doi.org/10.1007/s10291-016-0565-6.CrossRefGoogle Scholar
Jwo, D. J. and Wang, S. H. (2007). Adaptive fuzzy strong tracking extended Kalman filtering for GPS navigation. IEEE Sensors, 7(3), 778789.CrossRefGoogle Scholar
Jwo, D. J., Wen, Z. M. and Lee, Y. C. (2015). Vector tracking loop assisted by the neural network for GPS signal blockage. Applied Mathematical Modeling, 39(19), 59495968.CrossRefGoogle Scholar
Lashley, M., Bevly, D. M. and Hung, J. Y. (2009). Performance analysis of vector tracking algorithms for weak GPS signals in high dynamics. IEEE Journal of Selected Topics in Signal Processing, 3(4), 661672.CrossRefGoogle Scholar
Li, K., Zhao, J., Wang, X. and Wang, L. (2016). Federated ultra-tightly coupled GPS/INS integrated navigation system based on vector tracking for severe jamming environment. Journal of IET Radar, Sonar & Navigation, 10(6), 10301037.CrossRefGoogle Scholar
Lim, D. W., Kang, H. W., Cho, S. L., Lee, S. J. and Heo, M. B. (2013). Performance Evaluation of a GPS Receiver with VDFLL in Harsh Environments. International Global Navigation Satellite Systems Society IGNSS Symposium, Gold Coast, Queensland, Australia, July 16–18, 112.Google Scholar
Liu, G., Zhang, R., Guo, M. and Cui, X. (2014). Accuracy Comparison of GNSS Vector and Scalar Tracking Loop. Guidance, Navigation and Control Conference (CGNCC), Yantai, China, August 8–10, 13461351.CrossRefGoogle Scholar
Liu, Q., Huang, Z., Kou, Y. and Wang, J. (2018). A low-ambiguity signal waveform for pseudolite positioning systems based on chirp. Journal of Sensors, 18(5), 13261344. http://dx.doi.org/10.3390/s18051326.CrossRefGoogle ScholarPubMed
Liu, Q., Kou, Y., Huang, Z., Wang, J. and Yao, Y. (2019a). Mean acquisition time analysis for GNSS parallel and hybrid search strategies. GPS Solutions, 23(4), 94106. https://doi.org/10.1007/s10291-019-0883-6.CrossRefGoogle Scholar
Liu, Q., Huang, Z. and Wang, J. (2019b). Indoor non-line-of-sight and multipath detection using deep learning approach. GPS Solutions, 23(3), 7588. https://doi.org/10.1007/s10291-019-0869-4.CrossRefGoogle Scholar
Luo, Y., Wu, W., Babu, R., Tang, K. and Luo, B. (2012). A simplified baseband prefilter model with adaptive Kalman filter for ultra-tight COMPASS/INS integration. Journal of Sensors, 12(7), 96669686.CrossRefGoogle ScholarPubMed
Mao, W. L. (2007). Applications of new fuzzy inference-based tracking loops for kinematic GPS receiver. Journal of Circuits, Systems & Signal Processing, 26(1), 91113.CrossRefGoogle Scholar
Mohamed, A. H. and Schwarz, K. P. (1999). Adaptive Kalman filtering for INS/GPS. Geodesy, 73(4), 193203.CrossRefGoogle Scholar
Mosavi, M. R., Moazedi, M., Rezaei, M. J. and Tabatabaei, A. (2015). Interference Mitigation in GPS Receivers. Tehran, Iran: Iran University of Science and Technology.Google Scholar
Nourmohammadi, H. and Keighobadi, J. (2018). Fuzzy adaptive integration scheme for low-cost SINS/GPS navigation system. Journal of Mechanical Systems and Signal Processing, 99(1), 434449.CrossRefGoogle Scholar
Parkinson, B., Spilker, J., Axelrad, P. and Enge, P. (1996). Global Positioning System: Theory and Applications. Washington, DC: American Institute of Aeronautics and Astronautics.CrossRefGoogle Scholar
Petovello, C., Petovello, M. G. and Lachapelle, G. (2011). Choosing the coherent integration time for Kalman filter-based carrier-phase tracking of GNSS signals. Journal of GPS Solutions, 15(4), 345356.Google Scholar
Psiaki, M. L. and Jung, H. (2002). Extended Kalman Filter Methods for Tracking Weak GPS Signals. Proceedings of the 15th International Technical Meeting of the Satellite Division of The Institute of Navigation, Oregon Convention Center, Portland, OR, September 24–27, 2539–2554.Google Scholar
Scherer, R. (2012). Multiple Fuzzy Classification Systems. Berlin, Heidelberg: Springer.CrossRefGoogle Scholar
Soloview, A., Grass, F. V. and Gunawardena, S. (2009). Decoding navigation data messages from weak GPS signals. IEEE Transactions on Aerospace and Electronic Systems, 45(2), 660667.CrossRefGoogle Scholar
Song, Y. and Lian, B. (2016). Combined BDS and GPS Adaptive Vector Tracking Loop in Challenge Environment. The 7th China Satellite Navigation Conference, Changsha, China, May 18–20, 557–570.CrossRefGoogle Scholar
Spilker, J. J. (1996). Fundamentals of signal tracking theory. In Parkinson, B. W. (ed.), Global Positioning System: Theory and Applications, Volume 1, volume 163 of Progress in Astronautics and Aeronautics, chapter 4. Washington, DC: American Institute of Aeronautics and Astronautics.CrossRefGoogle Scholar
Tabatabaei, A., Mosavi, M. R., Khavari, A. and Shahhoseini, H. S. (2016). Reliable urban canyon navigation solution in GPS and GLONASS integrated receiver using improved fuzzy weighted least-square method. Journal of Wireless Personal Communications, 94(4), 31813196.CrossRefGoogle Scholar
Tabatabaei, A., Mosavi, M. R., Shahhoseini, H. S. and Borre, K. (2017). Vectorized and federated software receivers combining GLONASS and GPS. Journal of GPS Solutions, 21(3), 13311339.CrossRefGoogle Scholar
Wang, X., Ji, X., Feng, S. and Calmettes, V. (2015). A high-sensitivity GPS receiver carrier-tracking loop design for high-dynamic applications. Journal of GPS Solutions, 19(2), 225236.CrossRefGoogle Scholar
Won, J. H., Dötterböck, D. and Eissfeller, B. (2010). Performance comparison of different forms of Kalman filter approaches for a vector-based GNSS signal tracking loop. Journal of the Institute of Navigation, 57(3), 185190.CrossRefGoogle Scholar
Xu, B. and Hsu, L. T. (2019). Open-source MATLAB code for GPS vector tracking on a software defined receiver. Journal of GPS Solutions, 23(2), 2346.CrossRefGoogle Scholar
Zhao, S. and Akos, D. M. (2011). An Open Source GPS/GNSS Vector Tracking Loop-Implementation, Filter Tuning and Results. Proceedings of the 2011 International Technical Meeting, Institute of Navigation, San Diego, CA, January 24–26, 1293–1305.Google Scholar
Zhao, S. and Lu, M. (2012). GNSS vector lock loop based on adaptive Kalman filter. Journal of Harbin Institute of Technology, 44(7), 141143.Google Scholar
Figure 0

Figure 1. Overall structure of scalar tracking loops.

Figure 1

Figure 2. Overall structure of vector tracking (Zhao and Akos, 2011).

Figure 2

Figure 3. Outline of a fuzzy system (Jwo and Wang, 2007).

Figure 3

Figure 4. Fuzzy system of Takagai and Sugeno (Jwo and Wang, 2007).

Figure 4

Figure 5. Proposed structure of vector tracking.

Figure 5

Figure 6. Membership functions of input (one) for qp.

Figure 6

Figure 7. Membership functions of input (two) for qp.

Figure 7

Table 1. Rules of the fuzzy system related to qp.

Figure 8

Figure 8. Membership functions of input (one) for qv.

Figure 9

Figure 9. Membership functions of input (two) for qv.

Figure 10

Table 2. Rules of the fuzzy system related toqv.

Figure 11

Figure 10. Membership functions of input for β.

Figure 12

Figure 11. Tracking error of carrier frequency related to PRN-20.

Figure 13

Figure 12. Carrier frequency error of PRN-3.

Figure 14

Figure 13. Position error in the X-direction.

Figure 15

Figure 14. Velocity error in the Z-direction.

Figure 16

Figure 15. Carrier frequency error related to PRN-3.

Figure 17

Figure 16. Position error in the Y-direction.

Figure 18

Figure 17. Velocity error in the Y-direction.

Figure 19

Figure 18. Carrier frequency error related to PRN-19.

Figure 20

Figure 19. Position error in the X-direction.

Figure 21

Figure 20. Velocity error in the X-direction.

Figure 22

Figure 21. Process of recording dynamic real data around Iran University of Science and Technology.

Figure 23

Figure 22. Recording path of the dynamic real data around Iran University of Science and Technology.

Figure 24

Figure 23. Doppler frequency related to PRN-27.

Figure 25

Figure 24. Doppler frequency related to PRN-15.

Figure 26

Figure 25. Doppler frequency related to PRN-18.

Figure 27

Figure 26. Doppler frequency related to PRN-19.

Figure 28

Figure 27. Correlation power related to PRN-19.