Skip to main content

An analysis of maximum likelihood estimation method for bit synchronization and decoding of GPS L1 C/A signals

Abstract

In weak GNSS signal environments, extending integration time is paramount to improving the GNSS receiver’s sensitivity. Furthermore, sufficient coherent integration can help to mitigate multipath and cross-correlation false locks and avoid squaring loss. However, extending integration time is limited by the navigation message data bit, if present. The maximum likelihood (ML) estimation method has been shown as the most effective way to estimate the navigation bit boundary locations (i.e., bit synchronization) and subsequently estimate the data bit values (i.e., bit decoding) in the presence of noise alone. In this paper, the performance of ML bit synchronization and decoding is systematically assessed as a function of the number of data bits, the effect of Doppler error and received signal power in different tracking modes (i.e., phase-locked mode and frequency-locked mode). In addition, the theoretical performance models of ML bit synchronization and decoding are developed based on statistical theory. The experimental validation of the developed performance models and analyses is reported. For GPS L1 C/A signals, it is shown that for ML bit synchronization, using 100 data bits, the successful synchronization rate (SSR) can reach to about 100% with C/N0 as low as 20 dB-Hz with no Doppler error. The performance degradation caused by Doppler error is not significant if the Doppler error is within 5 Hz, and with the maximum tolerance of 25 Hz, while for ML bit decoding, the successful decoding rate (SDR) of the 2-bit sequence can reach to about 100% with C/N0 as low as 25 dB-Hz with no Doppler error. The performance degradation caused by Doppler error is not significant if the Doppler error is within 2 Hz. Both theoretical and simulation results establish that the upper bound of Doppler error for a 2-bit sequence is 12.5 Hz.

1. Introduction

Global Navigation Satellite Systems (GNSSs) such as the Global Positioning System (GPS) can provide users with accurate navigation and timing services worldwide. They are vital for applications such as aircraft auto-piloting, automobile en-route guidance, pedestrian positioning, etc. Recently, processing weak GNSS signals has been receiving growing attention because of the increased demand for navigation indoors, under dense foliage canopies, and in urban canyons.

High-sensitivity GNSS (HSGNSS) receivers are capable of providing satellite measurements for signals attenuated by up to about 30 dB [13]. For HSGNSS receivers, extending integration time coherently is paramount to obtaining higher sensitivity, mitigating multipath and cross-correlation false locks, and avoiding squaring loss. However, longer coherent integration time is limited by the navigation message data bit, if present. For coherent integration beyond the data bit period, navigation data bit wipe-off is required to avoid energy loss that occurs due to bit transitions. Furthermore, complete bit wipe-off requires the knowledge of bit boundaries and bit values. The processes of determining the location of the bit boundaries and extracting the bit values are herein called bit synchronization and bit decoding, respectively.

By using the navigation data bit aiding and frequency aiding from an external source, Akos et al. [4] showed that in acquisition stage signals with carrier-to-noise-density ratios (C/N0) of 32, 22, 17, and 12 dB-Hz can be detected requiring coherent integration time of at least 8, 200, 400, and 800 ms, respectively. Similarly, the authors in [57]. used aiding information from wireless network broadcasting and Akopian and Syrjarinne [8] mentioned that network assistance can be used for bit synchronization by providing time and position information. However, all of these methods need access to external aiding sources, and the receiver will correspondingly lose its autonomy with a corresponding increase in complexity and cost.

Algorithms which do not require any external aiding source, e.g., histogram method [9], Viterbi algorithm [10], extended Kalman filter method [11], and maximum-likelihood (ML) algorithms [12, 13], can determine the location of the data bit boundaries and the data bit values for a stand-alone GNSS receiver. Authors in [12, 13] showed that the ML algorithms (i.e., ML bit synchronization and ML bit decoding) outperformed the other methods for weak GNSS signals.

The ML bit synchronization is first introduced in [12], and a brief assessment has showed that it outperforms the conventional histogram method in weak GNSS signal environments. However, all analyses in [12] were based on simulation results and no theoretical performance model had been developed. The ML bit decoding, introduced in [13] is reported to outperform other algorithms either in performance or complexity. However, the effect of different numbers of bits to be decoded at a time and the effect of Doppler error was not assessed in [13]. In [14], the requirements of ML bit synchronization and bit decoding algorithms were analyzed in terms of the number of data bits required for bit synchronization and the number of data bits that can be decoded at a time for bit decoding.

In the context of this work, the performance of bit synchronization and bit decoding is directly assessed in terms of the successful synchronization rate (SSR) with the navigation data bit (i.e., correct identification of the bit boundaries) and the successful decoding rate (SDR) of bit values. This contrasts with previous work [14], which focused primarily on fixed SSRs and SDRs. In addition, theoretical performance models are derived and experimentally validated. This paper also analyzes the effect of bit transitions for ML bit synchronization and the bound of frequency error for ML bit decoding in weak signals. Finally, the results are validated with multiple-trial test in a software-based GNSS receiver, and various implementation schemes are introduced and compared.

The contributions of this paper are three-fold. First, it systematically assesses the performance of ML bit synchronization and decoding as a function of the number of data bits, the effect of Doppler error and received signal power in phase-locked mode and frequency-locked mode by using Monte Carlo test. Second, it develops theoretical performance models of ML bit synchronization and decoding based on statistical theory. The performance models and analysis are experimentally validated. Third, it gives and compares different implementation schemes in a software-based GNSS receiver in weak signal environments.

One can consider these contributions to be important to current GNSS research because they provide answer to various queries such as follows: What kind performance can be expected from ML bit synchronization and decoding? What is the prerequisite for a stand-alone HSGNSS receiver to extend coherent integration based on the ML algorithms? How to configure a HSGNSS receiver design given a signal strength and Doppler frequency error level? What are the bounds of Doppler frequency error toleration? The answers to these questions are of great value for the designers of HSGNSS receivers.

The paper is organized as follows: Section 2 summarizes the ML estimation algorithms of bit boundaries and bit values. Section 3 gives the theoretical performance model of the ML estimation algorithms. Section 4 presents and analyzes the test results. The concluding remarks are given in Section 5.

The proposed algorithms are derived for a generic BPSK GNSS signal, but are assessed using GPS L1 C/A signals only. Although the methods presented do not apply to pilot signals (e.g., GPS L1C) due to the absence of data modulation (synchronizing with any possible secondary code is accomplished using very different techniques [15]), it is acknowledged that a pilot signal could assist with bit synchronization and decode for any data-bearing signal from the same satellite. This idea is beyond the scope of this paper.

2. Maximum likelihood estimation algorithms for bit synchronization and decoding

This section gives a brief overview of the ML algorithms for bit synchronization and decoding used in this paper.

2.1 Signal model

Consider a GNSS signal with the ratio (M) between data bit period (T b ) and ranging code period (T c ), that is M = T b /T c . In this case, the k th correlator output, computed over single code periods and sampled with 1/T c Hz, of an N length of data sequence is given by [12]

R k Δτ = A G k Δτ b k , l b + n k , k = 1 , 2 , , NM
(1)

where G k τ) is the normalized ranging code correlation function, Δτ is the error in the locally generated ranging code, A = |A|e|j Δφ is complex amplitude where Δφ is the phase difference between incoming signal and locally generated carrier (this is approximately zero in phase-locked loop, in which case the amplitude degenerates to a real value), b k , l b is the navigation data bit value with transition at l b th sample relative to the start of the current data bit. Assuming no error in the code phase estimation, i.e., Δτ = 0, (1) can be rewritten as

R k = A b k , l b + n k , k = 1 , 2 , , NM
(2)

It is natural to have a small frequency error in the locally generated signal replica. To include the effect of Doppler errors, the signal model is updated as follows:

R k Δ f d = A b k , l b exp - j 2 πΔ f d k T c - Δφ sinc ( πΔ f d T c ) + n I , Q , k = 1 , 2 , , NM
(3)

where Δf d is the Doppler/frequency error, nI,Q is the complex form of additive white Gaussian noise and the sinc function represents the carrier spectrum.

2.2 ML bit synchronization

ML bit synchronization is the process of detecting bit boundary locations using a likelihood function. Since M is the ratio between data bit period and ranging code period, there are M possible bit locations. The likelihood function used is the sum of the absolute values of cross-correlation function between the prompt correlator output sequence and an MT c ms window function. The concept behind ML bit synchronization is that every bit transition can contribute to detect the bit boundary, and more bit transitions at the same bit boundary can help to improve the SSR.

The ML bit synchronization algorithm in [12] is summarized below. The MT c ms width window function is defined as

W k = 1 , k = 1 , 2 , , M
(4)

The matched filter output which is the cross-correlation between R k f d ) in (3) and W k is given by

C n , l ¯ b Δ f d = k = 1 NM R k Δ f d W k - nM + l ¯ b , n = 0 , 1 , , N - 1
(5)

where l ¯ b is the initial edge shift of the window function in one bit period.

The ML estimate of the bit boundary locations can be found by selecting the location value that maximizes the sum (over time) of the absolute values of cross-correlation from the previous step. The sum of the absolute values of cross-correlation is given by

S l ¯ b Δ f d = 1 N n = 0 N - 1 C n , l ¯ b Δ f d
(6)

Then the ML estimate of bit boundaries is obtained as

l ^ b = arg max l ¯ b 1 : M S l ¯ b Δ f d
(7)

2.3 ML bit decoding algorithm

Bit decoding is the process of determining bit values after the bit synchronization has been completed. The likelihood function used in the ML algorithm is the inner product between T b ms prompt correlator outputs starting from a bit boundary (so as to avoid integrating over a boundary) and locally generated bit combinations. If trying to decode N bits at a time, the number of possible bit combinations is equal to 2N - 1, and the correct bit combination is supposed to have the maximum energy. It is noted that the energy based ML bit decoding method detects the bit transition instead of the actual bit values (i.e., there is a sign ambiguity), but this is sufficient for data wipe-off for extending integration time.

The ML bit decoding algorithm described in [13] is summarized here. The bit value combination matrix B (2N - 1 × N) is defined as

B = 1 1 1 1 1 - 1 1 - 1 - 1
(8)

For an N bit sequence, the inner product between R N Δ f d = R T b , 1 Δ f d , R T b , 2 Δ f d , , R T b , N Δ f d (an N length vector containing the accumulated prompt correlator output (T b  ms)) and the vector b m from the m th row of B is given by

I m Δ f d = R N Δ f d b m , m = 1 , 2 , , 2 N - 1
(9)

The ML estimate of bit values can be found by maximizing the energy of the inner product. The ML estimate of bit values is obtained as

b ^ = arg max b m ± 1 ± 1 ± 1 I m Δ f d ; b m
(10)

To summarize, the ML bit synchronization process is given by the following:

  • Track the GNSS signals using either a phase-locked loop (PLL) or frequency lock loop (FLL);

  • Perform correlations using T c coherent integration intervals;

  • Store a sequence of MN correlator output samples;

  • Accumulate the correlator output samples coherently over the data bit interval, T b , N times;

  • Add the absolute of individual accumulations (this removes the need for a PLL);

  • Shift the stored sequence of correlator outputs by one sample and repeat the above two steps; repeat this for all possible bit boundaries and identify the shift that yields the maximum output value.

3. Theoretical performance model

This section gives the theoretical performance models for bit synchronization and decoding.

Before looking at the mathematical details, it is noted that ML bit synchronization and decoding algorithms can work either in the phase-locked mode or in the frequency-locked mode. Generally, the tracking loop with carrier phase estimate (i.e., using a PLL) can provide more precise carrier phase and frequency estimates, but tracking only the carrier frequency using an FLL can tolerate higher user dynamics and frequency errors [16]. However, from Equation 3, the main impact of carrier tracking is the frequency error in the ‘sinc’ function, which only serves to attenuate the power passing through the tracking loop. In contrast, the phase error in the ‘exp’ term ultimately gets removed when the absolute correlator value is applied.

In addition, the ML bit synchronization and decoding processes require the pseudorandom noise (PRN) code being locked using a delay lock loop (DLL) such that the loss in signal power is negligible. To this end, a tracking error of better than 0.5 chips will lose a maximum of 6 dB. That said, the assumption of zero code tracking error (i.e., Δτ = 0) in this paper makes the SSR independent from tracking methods and parameters. In other words, the results of SSR as a function of C/N0 can be seen as the upper bound in real applications, and the worst case has 6 dB attenuation in power.

3.1 Theoretical performance model of ML bit synchronization

Consider the sum of the absolute values of cross-correlation in (6) when there is no Doppler error S l ¯ b = S l ¯ b Δ f d = 0 , where Figure 1 shows S l ¯ b with the parameters of a GPS L1 C/A signal, that is T b  = 20 ms, T c  = 1 ms and M = 20. In this case, the bit transition location is set at the middle of a bit, that is 10 ms, and the T c ms correlator outputs in (3) have been normalized. The probability of successful synchronization is given by

P s = P l ¯ b = 1 , l ¯ b l b M S l b > S l ¯ b P 2 Δ l b = 1 M / 2 S l b > S l b + Δ l b
(11)

where S l ¯ b is the output at the bit boundaries, Δl b is the difference between the estimated, l ¯ b , and the real, l b , bit boundary location l ¯ b = l b + Δ l b . A successful bit synchronization requires the output at the bit boundaries higher than any other outputs which are not at the bit boundaries. The probability of successful synchronization approximately equals to the square of one side probability of successful synchronization, which is the probability of S l b being higher than the left outputs or right outputs in Figure 1. It is approximate because the numbers of left outputs or right outputs are not necessarily equal, and this is the case when M is even, like GPS L1 C/A signals. A vector can be created containing the differences between the absolute value of cross-correlation at the bit boundaries and the non-bit boundaries as

X = S l b - S l b + 1 S l b - S l b + 2 S l b - S l b + M / 2
(12)
Figure 1
figure 1

Cross-correlation output of one navigation data bit in ML bit synchronization.

Then the probability of successful synchronization is given by

P s P 2 X > 0
(13)

The cross-correlation output in (5) is Gaussian distributed according to the signal model shown in (3). The sum of the absolute values of cross-correlation S l ¯ b is nearly Gaussian distributed if the mean is large, the covariance is relatively small, and the number of bits is low. In this case, X can be approximately treated as a multivariate Gaussian. The mean of S l ¯ b is large when l ¯ b l b but close to zero when l ¯ b l b + M / 2 . However, S l ¯ b + M / 2 has the least impact on S l ¯ b , that is l ^ b least likely equals to l b   +  M/2. So the approximation will not be significantly affected by the mean values, but will become less accurate with large covariance and increased number of bits because of the absolute operation in (7). However, if the number of bits increases continuously, i.e., N → , the approximation becomes accurate again because of the central limit theorem. The results shown later suggest that the above assumptions are indeed reasonable.

The probability density function of multivariate Gaussian distribution is mathematically expressed as follows:

f X x 1 , , x M / 2 = 1 2 π M / 4 1 / 2 exp - 1 2 X - μ T - 1 X - μ
(14)

where μ is the mean vector and ∑ is the covariance matrix. With a normalized value of correlator output of T c ms, the mean vector μ and the covariance matrix ∑ can be given by

μ = 2 4 2 M / 2
(15)
= 2 2 2 2 2 4 4 4 2 4 2 M / 2 - 1 2 M / 2 - 1 2 4 2 M / 2 - 1 2 M / 2 σ 2
(16)

where σ2 is the variance of the T c ms correlator outputs. Finally, the probability of successful synchronization in (13) can be written as

P s Q 2 0 - μ Q 2 - μ
(17)

where Q() is the complementary cumulative distribution function [17, 18].

In order to verify the theoretical performance model developed above, Monte Carlo (MC) simulations have been used to estimate the performance of ML bit synchronization quantified by SSR (i.e., the simulated probability of successful synchronization from tests). The simulation is based on the signal model given in (2), and includes a bit sequence in which the bit transition happens for every bit. The GPS L1 C/A signal parameters are used here and 10,000 trials were simulated for each C/N0 value in Matlab™ platform. This is the setting for all the following MC simulations unless otherwise stated. It can be seen in Figure 2 that a good agreement between theoretical and simulation results can be achieved if the C/N0 is higher than 20 dB-Hz, and the theoretical results are obtained based on (17). This establishes the validity of the developed theoretical performance model. The fact that the overall disagreement is small indicates that the Gaussian approximation made before is acceptable. When the C/N0 is lower than 20 dB-Hz, the disagreement between the theoretical and simulation models increases with higher number of navigation data bits. This phenomenon is coincident with the earlier judgment. Furthermore, when the number of bits is continuously increased, the disagreement tends to decline at higher number of bits, e.g., 100 bits, because of the central limit theorem as discussed before. The relationship among the SSR, the number of bits and the number of bit transitions will be discussed in the following section.

Figure 2
figure 2

Theoretical and simulated performance of ML bit synchronization as a function of signal strength. Different numbers of navigation data bits are considered. Ten thousand trials were simulated for each C/N0 value.

Generally, longer coherent integration time periods such as 2 s (100 bits) would have concerns about oscillator stability and code Doppler. However, the ML bit synchronization process with a high number of bits such as 100 bits only sums the correlator output samples coherently to the length of the window function in (4) (i.e., the length of 1 bit, which equals to 20 ms for GPS L1-C/A signals), followed by non-coherent accumulation to 2 s. Therefore, the oscillator stability and code Doppler will not have obvious impact on ML bit synchronization.

3.2 Theoretical performance model of ML bit decoding

The bit error rate (BER) of coherent decoding (e.g., from PLL) for BPSK signal is given by [17, 18]

P e , coh = Q 2 E b N 0 = Q 2 10 0.1 C / N 0 T co
(18)

where E b is the transmitted signal energy per bit, N0 is a specified noise spectral density, and Tco is the coherent integration time and set as the bit length here. The probability of successful decoding in phase-locked mode is given by

P d , PL = 1 - P e , coh N
(19)

The above expression indicates that if the probability of successful decoding for a single bit is used as a criterion, the performance of ML bit decoding in phase-locked mode is insensitive to the number of bits to be decoded at a time.

The BER of non-coherent decoding (i.e., differential decoding, e.g., from FLL) for BPSK signal is given by [17, 18]

P e , diff = 1 2 exp - E b N 0 = 1 2 exp - 10 0.1 C / N 0 T co
(20)

Given the above, the probability of successful decoding for two bits to be decoded at a time in frequency-locked mode is given by

P d , FL , N = 2 = 1 - P e , diff
(21)

A precise theoretical performance model for more than two bits to be decoded at a time has not been developed yet. However, assuming that the performance of ML bit decoding in frequency locked mode is insensitive to the number of bits to be decoded at a time (later we will confirm with a multiple-trial test), an approximate form can be given based on (21) as

P d , FL 1 - P e , diff N 2
(22)

Equations 19, 21, and 22 represent the first known relationship between the probability of successful decoding and the BER and are collectively one of the main contributions of this work.

MC simulations are used to estimate the performance of ML bit decoding quantified by SDR (i.e., the simulated probability of successful decoding from tests). The simulation is based on the signal model given in (2) and (3). As shown in Figures 3 and 4, a good agreement between the theoretical results of (19) and (21) and the simulation results has been found, suggesting the validity of the theoretical performance model. The approximate result of (22) also fits the MC simulation curves, although discrepancies are present. This means that the performance of ML bit decoding in frequency-locked mode is nearly insensitive to the number of bits being decoded.

Figure 3
figure 3

Theoretical and simulated performance of ML bit decoding in the phase-locked mode. Different numbers of navigation data bits are considered.

Figure 4
figure 4

Theoretical and simulated performance of ML bit decoding in the frequency-locked mode. Different numbers of navigation data bits are considered.

4. Test results and analysis

In this section, simulation results assessing the performance of ML bit synchronization and decoding under different conditions are reported. Monte Carlo simulations have been performed to estimate the performance curve.

Furthermore, all algorithms have been assessed in a software-based GNSS receiver platform called GSNRx™, which is developed in C++ by the PLAN group, University of Calgary. A dataset with various signal power levels were generated using a Spirent GS7700 GNSS simulator. Approximately 1 h of data was collected using a National Instruments PXI-5600 front-end (Austin, TX, USA) which includes an oven-controlled crystal oscillator (OCXO). The front-end parameters are shown in Table 1.

Table 1 Front-end parameters used for collecting GNSS data

4.1 Performance of ML bit synchronization

4.1.1 Number of bits vs. number of bit transitions

The simulation results in Figure 2 show that the performance of ML bit synchronization improves with higher number of bits used. This is true only when the actual number of transitions increases as the number of bits considered increases. However, to assess performance for different scenarios, three kinds of bit sequences are implemented and tested: first, a bit transition is present at every bit; second, a bit transition is present every 2 bits; third, bit transitions occur randomly with a probability equal to 50%. Note that in the first case, a minimum of 2 bits need to be considered; similarly, a minimum of 4 bits need to be considered for the second case. The last test is a good emulation of real GNSS messages, and the number of bits considered will normally be greater than two (herein we consider a minimum of four).

Considering ML bit synchronization in phase-locked mode, Figure 5 shows that the performance of the first and the second kind of bit sequence are nearly similar. The reason is because both sequences have the same number of bit transitions even though they use a different number of bits. This result confirms the former assumption that generally the performance of ML bit synchronization is determined by the number of bit transitions and not the absolute number of bits. The reason bit transitions are significant is because without them, the result in Equation 6 will be approximately constant for all possible shifts considered, to within the level of the noise. In other words, without any bit transitions, the decision of the bit synchronization process would be based solely on noise. In Figure 5, a disagreement can be noticed between the solid line (when the bit transition happens every 2 bits) and the dashed line (when the bit transition happens every bit) when C/N0 is low. This confirms that using longer bit sequences containing no bit transitions can degrade bit synchronization performance when C/N0 is low.

Figure 5
figure 5

Simulated performance of ML bit synchronization as a function of signal strength. Different numbers of navigation data bits with different kinds of bit sequences are considered.

Without a priori knowledge about navigation message, the bit values/transitions in real GNSS data cannot be predicted. This coincides with the third kind of bit sequence. Figure 5 also shows the results between the second and the third kind of bit sequence are almost similar if the number of bits is larger than 20. The following simulations will only use the third kind of bit sequence unless otherwise stated. A separation between the theoretical model and the simulation result when the number of bits is low (e.g., red lines/dots in Figure 5) is observed. This is due to a lack of the bit transitions when the number of bits is low.

4.1.2 Comparison in phase-locked mode and frequency-locked mode

The performance results related to ML bit synchronization discussed in the preceding subsection are based on the phase-locked mode. This subsection presents a comparison between the phase-locked and the frequency-locked mode.

Figure 6 summarizes the results of the simulation and Spirent GNSS data processing. As can be seen, a small degradation in the frequency-locked mode can be viewed with the simulation data. This matches with the analysis made in Section 3.2.

Figure 6
figure 6

Simulated and real performance of ML bit synchronization as a function of signal strength. Different numbers of navigation data bits are considered in phase-locked mode and frequency-locked mode.

Moreover, the results from the software-based GNSS receiver GSNRx™ are also shown in Figure 6. A test with thousands of trials has been performed in the receiver by intentionally restarting the bit synchronization process (without a priori information) every time a bit synchronization result is obtained (regardless of the outcome). With the coherent integration time of 1 ms, the receiver in the Kalman filter tracking mode [19] can track the signal power to 28 dB-Hz in a static scenario. With the coherent integration of 20 ms, the receiver of the same mode can track the signal power to 23 dB-Hz. In addition, the coherent integration of 20 ms can have a better estimation of Doppler, as shown in Figure 7.

Figure 7
figure 7

RMS errors of Doppler estimation as a function of signal strength. Two different coherent integration times are considered.

These results indicate the necessity of extending coherent integration time. Without knowledge of bit boundaries, it is impossible to extend coherent integration time to 20 ms, and the result is only for assessing the performance of ML bit synchronization in low C/N0 environment. However, the tracking threshold can be extended by advanced tracking methods, e.g., vector tracking, Doppler aiding, and ultra-tight integration with inertial sensors. This paper does not consider these methods but shows the performance of ML bit synchronization lower than 28 dB-Hz. For the receiver results, the trend seems coincident with the former conclusion that a higher number of bits results in better performance. However, the receiver results appear a bit worse than the simulation results. This is because in real navigation data message, there would be a higher possibility for some words (e.g., reserved words) containing unchanging data bit. The ML bit synchronization might totally fail without any bit transition. It can be seen in Figure 8 that the plus ones last longer than 3 s in the data set. This causes the ML bit synchronization with 100 bits to fail once and those with 20 bits to fail seven times even without noise.

Figure 8
figure 8

In phase correlator output in phase-locked mode.

Based on the results discussed above, there are three recommended schemes for implementing the ML bit synchronizer in a GNSS receiver. First, choose different numbers of bits for synchronization according to current signal power and the possible Doppler errors (the effect of Doppler errors will be introduced later). This scheme is efficient to achieve bit synchronization, but the tradeoff is that it is vulnerable to the bit sequence without bit transitions. A method detecting if bit transitions existed was reported in [12] by a hypothesis testing. The bit boundary will be declared if the ratio between the cross-correlation output from the candidate of the boundary position (maximum value) and the output from the candidate shifted by 10 ms (supposed minimum value) passes a certain threshold. Second, choose a relatively large number of bits for synchronization no matter the values of signal power and other parameters. This scheme is the easiest to be implemented but is less efficient and requires longer time for bit synchronization. Third, choose the number of bits either according to current parameters (e.g., estimated C/N0) or fixed as one trial, but do not declare the position of the bit boundaries unless the certain number of continuously successful trials is achieved. This scheme can increase the reliability of synchronization results but also increase the system complexity as a tradeoff.

4.1.3 Effect of Doppler errors

Any Doppler tracking errors may contaminate the synchronization performance. The simulation results of 20 and 100 bits with the Doppler error from 0 to 26 Hz are shown in Figures 9 and 10. Three phenomena can be viewed: first, the increased Doppler errors degrade the synchronization performance; second, the performance degradations are not significant if the Doppler error is within 5 Hz; third, the SSR decreases rapidly if the Doppler error is equal or higher than 25 Hz. The third phenomenon happens because the bit synchronizer cannot distinguish a real bit transition and a reversal caused by frequency errors if the error is equal or higher than 25 Hz.

Figure 9
figure 9

Simulated performance of ML bit synchronization with 20 bits. Different Doppler errors are considered.

Figure 10
figure 10

Simulated performance of ML bit synchronization with 100 bits. Different Doppler errors are considered.

4.2 Performance of ML bit decoding

The performance of ML bit decoding being assessed in this paper assumes that successful bit synchronization has been achieved.

4.2.1 Comparison in phase-locked mode and frequency-locked mode

The same conclusion that the performance of ML bit decoding is insensitive and nearly insensitive to how many bits to be decoded at a time in coherent and non-coherent decoding, respectively, is further pursued in this section. With the case of two bits to be decoded at a time, a comparison between the results from the simulation and the receiver in the phase-locked mode and the frequency-locked mode is shown in Figure 11. The results from the receiver fit the MC simulation curves though a small discrepancy can be noticed at about 23 dB-Hz. This is due to the fact that the receiver loses lock around 23 dB-Hz, and the insufficient samples may result in the biased results in the multiple-trial test. To illustrate, 100,000 trials were run for every C/N0, and the results were generated from all 50 min of valid outcomes (i.e., data bit period) for C/N0 ≥ 25 dB-Hz, but from only a few seconds of valid outcomes for C/N0 around 23 dB-Hz because of lost lock.

Figure 11
figure 11

Simulated and real performance of ML bit decoding as a function of signal strength. Two bits to be decoded at a time are considered in phase-locked mode and frequency-locked mode.

4.2.2 Effect of Doppler errors

The existence of the Doppler errors contaminates the bit decoding performance. Consider the case of two bits to be decoded at a time. In this case, the inner product between the T b ms prompt correlator output vector and the possible bit value vector bm in (9) is given by

I m Δ f d = R N ( Δ f d ) b m , ( m = 1 , 2 ) = k = 1 2 R T b , k Δ f d b ¯ m , k , m = 1 , 2
(23)

where N = 2, Δf d is the Doppler error, and b ¯ m , k is the k th element in vector b m . Substituting (3) into (23) and omitting noise gives

I m Δ f d = k = 1 2 A T b b k exp - j 2 πΔ f d k T b + Δφ × sinc πΔ f d T b + n I , Q b ¯ m , k
(24)

where A T b is the amplitude of T b ms correlator output. Except for the noise, one can also omit the irrelevant initial phase difference Δφ and the sinc function. Then a simplified result is obtained as

I m Δ f d A T b exp - j 2 πΔ f d T b × b 1 b ¯ m , 1 + b 2 b ¯ m , 2 exp - j 2 πΔ f d T b
(25)

and the ML bit decoding result in (10) is only affected by b 1 b ¯ m , 1 + b 2 b ¯ m , 2 exp - j 2 πΔ f d T b . For comparison, for the case without Doppler error, the corresponding equation is b 1 b ¯ m , 1 + b 2 b ¯ m , 2 . Correspondingly, the Doppler error can make the process fail if

2 πΔ f d T b π / 2 Δ f d 1 / 4 T b
(26)

The reason Doppler errors contaminate the bit decoding performance is that the likelihood function |I m f d ; b m )| in (10) is determined by the magnitude of the sum of two vectors - b 1 b ¯ m , 1 and b 2 b ¯ m , 2 exp - j 2 πΔ f d T b - and any phase error (2πΔf d T b ) in the second vector will reduce the tolerance of noise. More specifically, when the phase error is equal or larger than π/2, the magnitude resulting from the incorrect bit sequence will be equal or greater than the magnitude obtained with the true bit sequence even without noise, and this will result in a totally failed test. So without considering the effect of the noise, the upper bound of Doppler error for ML bit decoding with a 2-bit sequence for the GPS L1 C/A signal is 12.5 Hz (T b  = 20 ms). Of course, receiver noise will make the transition between frequency errors greater or smaller than 12.5 Hz more gradual.

The simulation result of ML bit decoding with a 2-bit sequence is shown in Figure 12. Four phenomena can be observed: first, the increased Doppler errors degrade the bit decoding performance; second, the performance degradations are not significant if the Doppler error is within 2 Hz; third, the SDRs increase with C/N0 if the Doppler error is equal or less than 12 Hz; fourth, the SDR is about 50% if the Doppler error is equal to 12.5 Hz, meaning that the value of the likelihood function in (10) is the same whether a bit transition exists or not; fifth, the SDR decreases rapidly with increasing C/N0 if the Doppler error is larger than 12.5 Hz. This result obtained validates the theory developed above. It confirms that the upper bound of Doppler error with a 2-bit sequence is 12.5 Hz.

Figure 12
figure 12

Simulated performance of ML bit decoding with a 2-bit sequence. Different Doppler errors are considered.

For the sake of comparison, the simulation result of ML bit decoding with a 5-bit sequence is shown in Figure 13. The SDR is very low (around 20%) when C/N0 increases if the Doppler error is equal to 5 Hz. This indicates the tolerance of Doppler error with a 5-bit sequence (about 4 Hz) is much lower than a two bits sequence (12.5 Hz).

Figure 13
figure 13

Simulated performance of ML bit decoding with a 5-bit sequence. Different Doppler errors are considered.

The results above show that the performance of ML bit decoding is insensitive/nearly insensitive to how many bits to be decoded at a time. This is true if there is no Doppler error. However, based on the analysis above, the bit sequence with more bits to be decoded at a time has lower ability to tolerate Doppler error. So the configuration with a 2-bit sequence (the minimum number of bits in ML bit decoding) is the optimum scheme.

The Doppler errors also have a destructive effect in the signal acquisition (searching) stage. However, the cause of the effect for ML bit synchronization and decoding is different. In the acquisition stage, the standard 2/3 Tco (i.e., coherent integration time) or 1/2 Tco Doppler offset rules are usually used to determine the size of search bins in Doppler domain in order to avoid large attenuation due to Doppler errors (via the sinc function). The effects of Doppler error in this paper will degrade and even invalidate the ML bit synchronization and decoding process, and the phase error is an accumulation of Doppler errors.

5. Conclusion

This paper presents a systematic analysis of the performance of ML bit synchronization and decoding. The performance is estimated as a function of the number of data bits, the effect of Doppler error and received signal power in the context of stand-alone GNSS receivers containing different tracking modes (i.e., phase-locked mode and frequency-locked mode). In addition, the theoretical performance models of ML bit synchronization and decoding are developed based on statistical theory. These models are being reported for the first time. The performance models and analysis have been experimentally validated. Finally, this paper presents the comparison of different implementing schemes in a software-based GNSS receiver in weak signal environments.

Generally the performance of ML bit synchronization is determined by the number of bit transitions, not the absolute number of bits. For the most common case that bit transition happens with a probability equal to 50%, a higher SSR, a lower C/N0 and a higher Doppler frequency error all require more data bits. For GPS L1 C/A signals, by using 100 data bits, the SSR can reach to about 100% with C/N0 as low as 20 dB-Hz with no Doppler error. The performance degradation caused by Doppler error is not significant if the Doppler error is within 5 Hz. The maximum tolerance of Doppler error is 25 Hz.

Without Doppler error the performance of ML bit decoding is insensitive/nearly insensitive to how many bits are being decoded at a time in phase-locked mode and frequency-locked mode, respectively. The bit sequence with more bits to be decoded at a time has lower ability to tolerate Doppler error. So, in the presence of Doppler errors, the optimum configuration is the 2-bit sequence, which is the minimum number of bits available in ML bit decoding. For GPS L1 C/A signals, the SDR of the two bits sequence can reach to about 100% with C/N0 as low as 25 dB-Hz with no Doppler error. The performance degradation caused by Doppler error is not significant if the Doppler error is within 2 Hz. Both theoretical and simulation results show that the upper bound of Doppler error for a 2-bit sequence is 12.5 Hz.

Future work will use more field tests under different environments to confirm the results presented here. Also, the information will be used to define parameters within a software receiver in order to improve navigation performance.

References

  1. MediaTek: MT3336 Product Summary. MediaTek Inc, Hsinchu City; 2012.

    Google Scholar 

  2. Fastrax: IT600 OEM GPS Receiver Module Data Sheet, rev.1.6. Fastrax Ltd, Finland; 2012.

    Google Scholar 

  3. u-blox: UBX-G6010 Product Summary. u-blox AG, Thalwil, Switzerland; 2011.

    Google Scholar 

  4. Akos DM, Normark PL, Lee JT, Gromov KG, Tsui JBY, Schamus J: Low Power Global Navigation Satellite System (GNSS) Signal Detection and Processing in Proceedings of ION GPS. Salt Lake City; 2000:784-791.

    Google Scholar 

  5. van Diggelen F, Abraham C: Indoor GPS Technology. CTIA Wireless-Agenda Dallas; 2001.

    Google Scholar 

  6. DiEsposti R: GPS PRN code signal processing and receiver design for simultaneous all-in-view coherent signal acquisition and navigation solution determination, in Proceedings of ION NTM, San Diego, 22–24. January 2007.

    Google Scholar 

  7. Djuknic GM, Richton RE: Geolocation and assisted GPS. Computer 2001, 34(2):123-125.

    Article  Google Scholar 

  8. Akopian D, Syrjarinne J: A network aided iterated LS method for GPS positioning and time recovery without navigation message decoding, in Position Location and Navigation Symposium 2002 . Palm Springs April 2002, 15–18: 77-84.

    Google Scholar 

  9. Van Dierendonck AJ: GPS receivers. In Global Positioning System: Theory and Applications, Vol. I. Edited by: Parkinson BW, Spilker JJJr. Washington: American Institute of Aeronautics and Astronautics; 1996:329-407.

    Google Scholar 

  10. Zeidan NI, Garrison JL: Bit synchronization and Doppler frequency removal at very low carrier to noise ratio using a combination of the Viterbi algorithm with an extended Kalman filter, in Proceedings of ION GPS/GNSS 2003 . Portland 2003, pp. 616-627.

    Google Scholar 

  11. Psiaki ML, Jung H: Extended Kalman filter methods for tracking weak GPS signals, in Proceedings of ION GPS 2002 . Portland 2002, pp. 2539-2553.

    Google Scholar 

  12. Kokkonen M, Pietila S: A new bit synchronization method for a GPS receiver, in Proceedings of the IEEE Position Location and Navigation Symposium . Palm Springs, CA 2002, pp. 85-90.

    Google Scholar 

  13. Soloviev A, Van Grass F, Gunawardena S: Decoding navigation data messages from weak GPS signals. IEEE Trans. Aerospace and Electronic Systems 2009, 45: 2.

    Article  Google Scholar 

  14. Ren T, Petovello MG, Basnayake C: Requirements analysis for bit synchronization and decoding in a standalone high-sensitivity GNSS receiver, in Ubiquitous Positioning, Indoor Navigation, and Location Based Service (UPINLBS) . Helsinski 2012, 1-9.

    Google Scholar 

  15. Shivaramaiah NC, Dempster AG, Rizos C: Exploiting the secondary codes to improve signal acquisition performance in Galileo receivers, in Proceedings of ION GNSS . Savannah, GA 2008, 1497-1506.

    Google Scholar 

  16. Ward PW, Betz JW, Hegarty CJ: Satellite signal acquisition, tracking, and data demodulation. In Understanding GPS, Principles and Applications. Edited by: Kaplan ED, Hegarty CJ. Norwood: Artech House; 2006:192-194.

    Google Scholar 

  17. Sklar B: Digital Communications. Upper Saddle River, NJ: Prentice-Hall; 1988:183-204.

    MATH  Google Scholar 

  18. Haykin S: Communication Systems. 4th edition. New York: Wiley; 2001:349-417.

    Google Scholar 

  19. Petovello MG, O’Driscoll C, Lachapelle G: Weak signal carrier tracking using extended coherent integration with an ultra-tight GNSS/IMU receiver in. Toulouse, France: Proceedings of ENC-GNSS; 2008:22-25.

    Google Scholar 

Download references

Acknowledgements

The research presented in this paper was conducted as part of a collaborative research and development grant between the University of Calgary, General Motors of Canada, and Natural Sciences and Engineering Research Council of Canada.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Tiantong Ren.

Additional information

Competing interests

The authors declare that they have no competing interests.

Authors’ original submitted files for images

Rights and permissions

Open Access This article is distributed under the terms of the Creative Commons Attribution 2.0 International License (https://creativecommons.org/licenses/by/2.0), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

Reprints and permissions

About this article

Cite this article

Ren, T., Petovello, M. An analysis of maximum likelihood estimation method for bit synchronization and decoding of GPS L1 C/A signals. EURASIP J. Adv. Signal Process. 2014, 3 (2014). https://doi.org/10.1186/1687-6180-2014-3

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1186/1687-6180-2014-3

Keywords