Requirements Analysis for Bit Synchronization and Decoding in a Standalone High-Sensitivity GNSS Receiver

Tiantong Ren, Mark Petovello Chaminda Basnayake Position, Location And Navigation (PLAN) Group General Motors Department of Engineering Warren, MI USA Schulich School of Engineering University of Calgary Calgary, Canada

Abstract— In weak GNSS signal environments, extending integration is paramount to obtaining higher sensitivity but integration time is paramount to improving the GNSS receiver’s current signals are limited by the presence of the navigation sensitivity. Furthermore, sufficient coherent integration can help message data bits. For the GPS L1 C/A signal, the navigation to separate the line-of-sight (LOS) and non LOS (NLOS) signals data are binary phase-shift keying (BPSK) modulated onto the – primarily in the Doppler domain – for multipath mitigation. carrier phase with a bit duration of 20 ms. For coherent However, extending integration time is limited by the presence of integration beyond 20 ms, the navigation data bit wipe-off is the navigation message data bits. The Maximum-Likelihood required to avoid energy loss that occurs due to bit transitions. (ML) estimation method has been shown as the most effective Furthermore, complete bit wipe-off does require the knowledge way to estimate the navigation bit boundary locations (i.e., bit about bit boundaries and bit values. synchronization) and subsequently estimate the data bit values (i.e., bit decoding) in the presence of noise alone. This paper By using the navigation data bit aiding and frequency further analyzes the performance of ML estimation method as a aiding from an external source, [4] showed that in acquisition function of various other parameters by using the successful stage signals with carrier to noise-density ratios (C/N0) of 32, synchronization rate (SSR) and successful decoding rate (SDR) as 22, 17, and 12 dB-Hz can be detected requiring coherent the criteria. The parameters considered include the number of integration time of at least 8, 200, 400, and 800 ms data bits required (i.e., integration time) and the Doppler respectively. Similarly [5-7] used aiding information from frequency error, and both are evaluated under different signal wireless network broadcasting, and [8] mentioned that network strength scenarios. The requirements for bit synchronization are assistance can be used for bit synchronization by providing analyzed under three SSRs, which are 85%, 90% and 95%. time and position information. However, all of these methods Results indicate that, under the SSR of 90% and the SDR of 90%, bit synchronization and bit decoding are valid for signal need access to external aiding sources, which may not be strengths of 15 dB-Hz and 20 dB-Hz respectively, and the applicable in all circumstances, and the system is more Doppler frequency errors should not be larger than 24 Hz and 11 complex and expensive than a stand-alone GNSS receiver Hz respectively. infrastructure. This paper looks at the stand-alone receiver case only and Keywords- GNSS (GPS) receiver; standalone; weak signal; uses Maximum-Likelihood (ML) estimation algorithms to first high sensitivity; extended integration; bit sychronization; bit perform bit synchronization [9] (i.e., determine the location of decoding the data bit boundaries within the data stream) and subsequently bit decoding [10] (i.e., estimate the value of the I. INTRODUCTION data bits themselves). With the bit synchronization obtained Global Navigation Satellite Systems (GNSS) such as the and the ability to estimate the bit values, the integration time Global Positioning System (GPS) are widely used in modern can be extended coherently by data wipe-off. positioning and navigation fields. They are vital for The main objective of this paper is to investigate the applications such as aircraft auto-piloting, automobile en-route performance of ML bit synchronization and bit decoding guidance, pedestrian positioning, etc. Recently, because of the algorithms in terms of the number of data bits required (for bit increased demand for navigation in indoors, under dense synchronization) and the tolerance to Doppler/frequency error; foliage canopies and in urban canyons, processing weak GNSS both as a function of the received signal strength. Since these signal has been receiving growing attention. three factors are mutually coupled the analysis is divided into High-sensitivity GPS (HSGPS) receivers are capable of three stages. First, given a signal strength and Doppler providing satellite measurements for signals attenuated by up frequency error level, what is the necessary number of data bits to approximately 30 dB [1-3]. For HSGPS receivers, extending required? Second, given an available number of data bits and Doppler frequency error level, what received signal power can one bit transits at the same bit boundary can help to improve be used? Finally, for a given signal strength and some number the SSR in weak signal environments. of available data bits, what the maximum Doppler frequency error that can be tolerated? For GPS L1 C/A signal, the k-th ms prompt correlator output of an N data bit sequence is given by [12] In the context of this work, performance is assessed in terms of the successful synchronization rate (SSR) of bit Ik (,∆∆τ ftD , tran ) boundaries and the successful decoding rate (SDR) of bit =R( ∆τ ) B ( t )exp( j π∆ fT +∆ j θπ)sinc( ∆ fT ), values. For bit synchronization, the above three parameters are k tran D co 0 D co (1) assessed in terms of attaining one of three SSR values, namely (kN= 1,2,...,20 × ) 85%, 90% and 95%. Receiver performance under different SSR values considers the potential accuracy of the signal where R()∆τ is the ranging code (i.e., C/A code) correlation Doppler. More specifically, since large bit synchronization function, ∆τ is the error in the locally generated ranging code, errors can result in a split/double correlation peak in the Btk() tran is the navigation data bit value with transit at ttran ms frequency domain, the required SSR values needed to avoid ( t is between 1 and 20 ms), ∆f is the Doppler/frequency this situation are assessed. tran D error, T is the coherent integration time equal to 1 ms in this The contributions of this work are two-fold. First, it co paper, ∆θ is the initial phase difference between incoming assesses the performance of ML bit synchronization and 0 decoding as a function of the number of data bits, the effect of signal and locally generated carrier, and the sinc function Doppler error and received signal power. This contrasts with represents the carrier spectrum after code wiping-off. previous work that focused primarily on effects of noise only. Using equation (1) as a starting point, the ML bit Second, the ML bit synchronization and decoding is assessed synchronization algorithm in [9] is summarized below. A in light of the ability of the receiver to properly estimate the designed match filter, that here is realized by a 20 ms width signal’s Doppler frequency, that is, its ability to avoid dual window function, is defined as peaks in the Doppler correlation function. Wi=1,( = 1,2,...,20) The paper is organized as follows. The Section II i (2) Methodology and Section III Test Description summarize the ML estimation algorithms of bit boundaries and bit values and The match filter output which is the cross-correlation ∆∆τ the relevant test-bench scheme. The Section IV Test Results between Ik (, ftD , tran ) and Wi is given by gives the simulation results and requirements for extending integration. The Section V summarizes the test outcomes. CRj (,∆∆τ fD , t tran ) Before moving on, it is noted that the algorithm is 20 =I( ∆∆τ , ft , ) ⋅ W , [ j = 1,2,...,20( N + 1)] presented in the context of the GPS L1 C/A-code signal; ∑ i+ j D tran i (3) i=1 however the basic algorithms are applicable to any binary phase-shift keying (BPSK) modulated GNSS signal. Assuming a constant error (within one chip so as to contain the peak of the auto-correlation function) in the locally ∆=τ II. METHODOLOGY generated ranging code (i.e., const ), the squared cross- correlation output is given by This section gives a brief overview of the methodology used in this paper. SCRi (∆=τ const , ∆ fD ,) t tran N A. ML Bit Synchronization =CR2 ( ∆=τ const , ∆ f , t ), ( i = 1,2,...,20) ∑ 20×+n i D tran (4) The ML bit synchronization algorithm has been shown as n=0 the best approach [9] to estimate bit boundaries for a stand- The ML estimate of bit boundaries (20 possibilities, alone GNSS receiver in challenged environments. The indicated with i ranging from 1 to 20) can be found by conventional Histogram method [11] counts sign changes of selecting the value that maximizes the sum (over time) of the the prompt correlator output at various locations within one squared cross-correlation values from the previous step. The data bit interval and compares these counts with predefined ML estimate of bit boundaries is obtained as thresholds. However, the Histogram method suffers in weak signal conditions because the bit error rate is excessive.  ttran = argmaxSCRi ( I k ; t tran ), t ∈[1:20 ] The ML bit synchronization is a process to detect bit tran boundary locations by using a likelihood function. Since the (ik= 1,2,...,20; = 1,2,...,20 × N ) (5) period of the GPS L1 C/A code is 1 ms and are synchronous with the 20-ms long data bits, there are 20 possible bit B. ML Bit Decoding Algorithm locations. The likelihood function used is the energy sum of ML bit decoding algorithm has also been shown as the cross-correlation functions between the prompt correlator most effective way for bit decoding [10]. There are several output sequence and a 20 ms window function. The concept conventional methods to obtain bit values for a stand-alone behind ML bit synchronization is that one bit transit can be GNSS receiver, including: take advantage of the periodic detected by a designed match filter in open-sky, and more than

The research presented in this paper was sponsored by General Motors of Canada, and Natural Sciences and Engineering Research Council of Canada. property of the ephemeris and almanac data [13]; estimate bit Assuming a constant error (again, within one chip) in the values by using the Viterbi algorithm [14]; and estimate bit locally generated ranging code (i.e., ∆=τ const ), the energy  values by using the extended Kalman filter method [15]. The of the inner product given by IP2 (∆=τ const , ∆ f ,) B where mD, method of using message periodicity assumes that – for a  standalone receiver – at least one complete set of navigation B is a bit batch (i.e., vector) contains N bits. data has been received in open-sky before GNSS users entering the weak signal environment, which may not always be The ML estimate of bit values can be found by maximizing achieved. Reference [14] employed a sequential estimation the energy of the inner product. The ML estimate of bit values routine that can decode navigation data on a sequential bit basis, is obtained as but did not operate over the entire correlation interval.   = 2 = Reference [15] requires considerable calculation resources. In Barg max IPmn ( I20, ; B ),( n 1,2,...,20) B∈±[ 1,..., ± 1] addition to those bit decoding algorithms, the integration time (9) can be extended non-coherently after knowing bit boundaries, but this is not as efficient as coherent integration due to C. The SSR and Its Validity squaring loss. Reference [4] and [16] mention an algorithm Coherent integration can be extended if the bit boundaries using two consecutive 10 ms of data for integration can and bit values are known. However, the quality of ML estimate guarantee at least one of two sets data does not contain a bit for bit synchronization and bit decoding is highly related to the transition. However, this method can only provide the coherent GPS signal strength and the Doppler frequency errors. In weak integration time up to 10 ms and will be invalid if the signal signal environments, the validity of ML estimation is therefore strength is lower than 32 dB-Hz [4, 10]. hard to approximate theoretically. In this paper, the concept of Bit decoding is a process to determine bit values after the SSR is used, which is the percentage (i.e., rate) of the time the bit synchronization has completed. The likelihood function bit synchronization process yields the correct bit boundary used in the ML algorithm used herein is the inner product location for a given number of data bits, Doppler error and between prompt correlator output of 20 ms starting from bit C/N0. However, since SSR will not be 100% in weak signal boundaries and locally generated bit combinations. If trying to conditions, the required number of data bits, maximum decode N bits at a time, the number of possible bit Doppler error and minimum C/N0 are computed herein for SSR combinations is equal to 2N −1 , and the correct bit combination values of 85%, 90% and 95%. is supposed to have the maximum energy. It is noted that the In the case that there is a bit synchronization error, the “sinc energy based ML bit decoding method actually detects the bit function” of Doppler frequency spectrum (which will not be a transition instead of actual bit values (i.e., there is a sign real sinc function if there is a bit synchronization error) will ambiguity), but this is sufficient for data wipe-off for extending look as shown in Figure 1. The figure has several plots integration time. according to different bit synchronization errors (BSE). For the The prompt correlator output of a sequence with a 20 ms purpose of extending integration time, the distortion from the integration time is given by bit synchronization error of n ms is actually same as 20 − n ms, so the figure only shows BSE up to 10 ms.

If20,nD(,∆∆τ ) The Attenuation of Bit Synchronization Errors 1 =R( ∆τ ) Bt (tran )exp( jfTj π∆ 20 +∆ θπ )sin cfT ( ∆ 20 ), n D co 0 D co (6) BSE = 0ms = 0.9 BSE = 2ms (nN 1,2,..., ) BSE = 3ms 0.8 BSE = 4ms  BSE = 6ms where ttran is the estimated bit transit from ML bit 0.7 synchronization. BSE = 10ms 0.6 With this in mind, the ML bit decoding algorithm described 0.5 in [10] is summarized here. The bit value combination assumed by the algorithm is defined as 0.4 Doppler Spectrum  0.3 Bnn =±=1,( 1,2,..., N ) (7) 0.2 For an N bit sequence, the inner product between 0.1  If20,nD(,∆∆τ ) and Bn is given by 0 -400 -300 -200 -100 0 100 200 300 400 Frequency Error (Hz)  IPmD(∆∆τ , f ,) B Figure 1. The attenuation of bit synchronization errors as a function of N frequency error =I( ∆∆τ , fB ) ⋅ ,( m = 1,2,...2N −1 ) ∑ 20,n D mn, (8) n=1 It can be shown that the attenuation at central Doppler  N −1 frequency is given by [17] where Bmn, is one element of a 2 × N matrix containing N bits for each combination and 2N −1 bit combinations. conditions. The model of the ideal prompt correlator output is αδbT=12 − b T (10) given by [8] where δbT is the normalized bit transit error, ranging from 0 to r= Ac + n i ii (11) 1, which represents the bit transit error from 0 to 10 ms. Furthermore, as shown in Figure 1, the peak of “sinc function” where ri is the received signal after correlation (assuming becomes split if the bit synchronization error exceeds 3 ms. perfect phase tracking) with sampling rate 1 kHz and n is the This is an important conclusion, which can be used as the i criterion to evaluate the validity of different SSRs. Specifically, additive white Gaussian noise. For ML bit synchronization, since the goal of any GNSS tracking loop is ultimately to the correlators are generated at a rate of 1 kHz and for bit compute the code phase and Doppler as accurately as possible, decoding they are generated at 50 Hz. it follows from the above that in order to do this any bit To include the effect of Doppler errors, the model is synchronization errors should be 3 ms or less. Later on, the updated as follows effect of different SSR values on the ability to limit the synchronization errors to less than this amount will be assessed. ri= Ac i exp( jπ ∆+ fD T co ) n I, Q To do this, we introduce the concept of the ratio of non-split (12) peaks in false results (RNPFR) and the ratio of non-split peaks where Tco is 1 ms for bit synchronization and 20 ms for bit in total results (RNPTR). The RNPFR means the ratio of the bit decoding, and n is the complex form of additive white synchronization errors between 1 to 3 ms (i.e., non-split peak IQ, results) within all of the false results (i.e., results with incorrect Gaussian noise. bit synchronizations). In contrast, the RNPTR means the ratio The second data set used was from a live field test of the BSE from 1 to 3 ms in all of the results (including both conducted in an open-sky environment and was used to verify correct and false results). whether the simulation results are reasonable. A weak signal A sample histogram of synchronization errors amongst all false environment (i.e., different C/N0) is then generated by adding results is shown in Figure 2. These results are from the white Gaussian noise to contaminate the open-sky data. The simulation of a signal with C/N0 = 30 dB-Hz and using 9 data field test data was collected on the roof of the CCIT building at bits for synchronization (details of the simulation are given the University of Calgary on November 29, 2011. below). The result show that the number of BSE between 1 to 3 Approximately one minute of data was collected using a ms is far more than all other errors combined, meaning non- National Instruments PXI-5600 front-end with an oven split peaks are the most likely situation. Details about different controlled crystal oscillator (OCXO). Seven satellites were RNPFRs and RNPTRs according to different SSRs can be visible during the test. accessed in Section IV Test Results. The input to the ML bit synchronization algorithm was 1 ms prompt correlator outputs. The input to the ML bit 160 decoding was 20 ms prompt correlator outputs. All the signal processing was initially performed in Matlab™ and has since 140 been ported to C++.

120 IV. TEST RESULTS 100 In this section, the results of bit synchronization are

80 presented first followed by the results of bit decoding.

60 A. ML Bit Synchronization Algorithm Number of False Results 40 1) Simulation Results For bit synchronization, in order to investigate the 20 relationship between the numbers of data bits and SSR, a weak signal scenario was considered in which C/N0 = 20 dB-Hz. A 0 1 2 3 4 5 6 7 8 9 10 Monte Carlo test consisting of 10,000 trials was implemented Synchronization Error Time [ms] to obtain mean and standard deviation (SD) values of SSR

Figure 2. Histogram of different synchronization errors when using different numbers of data bits. Specifically, the number of bits used included 2, 4, 8, 16, 32, 64, and 128. The data bit sequence used here is randomly generated, that is, each III. TEST DESCRIPTION bit has an equally likely chance of being ±1. The impact of To evaluate the performance of the ML bit synchronization other simulated bit sequences is assessed later. The result in and bit decoding algorithms as a function of various parameters Figure 3 shows that the SSR increases with more navigation and in different signal environments, two sets of data were data bits. For this particular situation, more than 30 data bits used. First, a Monte Carlo test with simulated GPS data was are required to obtain a 90% SSR (at 20 dB-Hz). used to assess the performance ML estimation algorithms and generate the requirements of the ML estimation under different 100 200 Alternant Plus/Minus One 90 180 Random

80 160

70 140

60 120

50 100

40 80

30 60

Successful Synchronization Rate [%] 20 40 Required Number of Navigation Data Bits

10 SSR Mean and SD 20

0 0 2 4 8 16 32 64 128 200 15 20 25 30 35 40 Navigation Data Bit Number C/N [dB-Hz] 0

Figure 3. The successful synchronization rate (mean and standard deviation) Figure 5. Required navigation data bits as a function of signal strength for a as a function of number of data bits 90% successful synchronization rate and for two different signal styles

In order to investigate the impact of different C/N0 on the The reason to consider these two bit sequences is also SSR, a simulation with different signal strengths and different shown in Figure 5. Specifically, for the alternating ±1 bit numbers of data bits was implemented and the results are stream, a single bit is sufficient to obtain an SSR of 90% for shown in Figure 4. The results indicate that in order to achieve signals stronger than 35 dB-Hz, but in contrast, at least six bits an SSR ≥ 95%, the ML bit synchronization algorithm requires are required for signals even as high as 40 dB-Hz when a approximate 200 bits at C/N0 = 15 dB-Hz, and 50 bits at C/N0 random bit sequence is used. To further the analysis, we now = 20 dB-Hz, but only 15 bits at C/N0 = 25 dB-Hz. consider the number of data bits needed in order to obtain SSR values of 85%, 90% and 95%. As before, Monte Carlo simulations are used with different assumed C/N values. The 100 0 15 Bits number of required data bits as a function of C/N0 is shown in 90 25 Bits Figure 6. 50 Bits 100 Bits 80 200 Bits 300 SSR = 85% 70 SSR = 90% 250 SSR = 95% 60

50 200

40 150 Successful Synchronization Rate [%]

30 100 20 15 20 25 30 35 40 C/N [dB-Hz] 0 Required Number of Navigation Data Bits 50

Figure 4. The successful synchronization rate as a function of signal strength 0 for different navigation data bit numbers 15 20 25 30 35 40 C/N [dB-Hz] 0 It should be noted that more data bits cannot help to improve SSR if all the bits have the same value (i.e., lack of bit Figure 6. Required navigation data bits as a function of signal strength for transitions). However, because the navigation message content different SSR values can be considered as random values, more data bits can contribute by assuming bit transitions happen with the probability of 50% for each incoming data bit. Two sets of bit streams are generated to assess this problem. One is composed by alternating ±1 and the other is a random sequence with the probability of +1 equals 50%. For a 90% SSR, the result is shown in Figure 5. As expected, the alternating bit sequence gives better results because there are more bit transitions. 100 SSR = 85% 100 90 SSR = 90% 80 SSR = 95% 98 70

96 60

50

94 40 RNPFR, SSR = 85% RNPFR, SSR = 90% 30 92 RNPFR, SSR = 95% RNPTR, SSR = 85% 20 Required Number of Navigation Data Bits RNPTR, SSR = 90% 10 Ratio of Non-split Peaks in False/Total Results (%) 90 RNPTR, SSR = 95% 0 15 20 25 30 35 40 5 10 15 20 24 C/N [dB-Hz] Doppler Frequency Error [Hz] 0

Figure 7. The ratio of non-split peaks in false results and the ratio of non-split Figure 8. Required navigation data bits as a function of Doppler error for a peaks in total results as a function of signal strength for different SSR values C/N0 = 40 dB-Hz and for different SSR values

The RNPFR and RNPTR results as a function of C/N0 for different SSR values are shown in Figure 7. Results indicate 400 that there is no significant difference among SSR values of SSR = 85% 85%, 90% and 95%. In particular, the RNPTR higher than 350 SSR = 90% 99.9% for all the cases meaning that the ML bit SSR = 95% synchronization algorithm is quite reliable. In addition, in the 300 rare instances that the bit synchronization is incorrect, the frequency spectrum only exhibits a split peak 10% of the time 250 or less (worst case). This shows that if an SSR of 85% is 200 obtainable the Doppler can be estimated correctly (i.e., without having to worry about a split in the spectrum) with a likelihood 150 of at least 99.9%. 100

From a practical perspective, using a lower SSR offers the Required Navigation Data Bits Number ability to use fewer navigation bits and also helps to reduce the 50 computational load, but still provides satisfactory results in 0 nearly all cases. By extension, using fewer bits helps to reduce 5 10 15 20 the receiver’s sensitivity to frequency error introduced by user Doppler Frequency Error [Hz] dynamics. Of course, an SSR of 85% is not the same as an SSR of Figure 9. Required navigation data bits as a function of Doppler error for a 95%. If the coherent integration gain is paramount in some C/N0 = 20 dB-Hz and for different SSR values applications, the synchronization error of 3 ms, which causes a The result shows that in order to maintain a certain SSR, as 3 dB loss in energy, will not be acceptable. As such, different the Doppler error increases so should the number of data bit SSR values can be implemented in GNSS receivers for used. It is noted that the Doppler frequency errors are only different applications/situations. generated to a maximum of 24 Hz because the ML Previous analysis – both here and in the literature – has not synchronization algorithm will fail for a 25 Hz frequency error considered the effect of Doppler error on bit synchronization. no matter how many data bits are used. In that case, the bit These errors can arise from biased carrier estimation, unstable transitions cannot be distinguished from Doppler frequency local oscillators and/or user dynamics during integration. In the errors, so the Doppler frequency error of 24 Hz is the bound of interest of space, only two representative tests are considered this algorithm. It is noted however, that if the Doppler here; one for open-sky signals of C/N0 = 40 dB-Hz and the frequency uncertainty is mainly from user’s dynamics, the other for weak signals of C/N0 = 20 dB-Hz. The results are inertial sensors can be included in the system to reduce the shown in Figure 8 and Figure 9 respectively. Doppler error using, for example, an ultra-tight receiver architecture. 2) Field Test Results As mentioned above, a field test was also conducted to confirm the simulation results. The field test results for the required number of navigation data bits as a function of C/N0 are shown in Figure 10, along with the simulation results taken from Figure 5. Please note that the maximum L1 Doppler rate due to satellite motion is about 1 Hz/s [16] and correspondingly 300 Simulation, C/N = 40 dB-Hz an integration time of 1 s (i.e., 50 bits) may have a Doppler 0 Field Test, C/N0 = 40 dB-Hz uncertainty of 1 Hz. Practically, integrating for 1 s with a 250 Simulation, C/N = 20 dB-Hz 1 Hz/s Doppler rate in a standalone receiver (as considered 0 Field Test, C/N = 20 dB-Hz here) will result in such a large attenuation of power that the 0 200 correlator outputs would be effectively useless. As such, requiring more than 50 data bits is not considered for the field test data. However, this will not weaken the purpose of the test, 150 which is to confirm the correctness of simulation models. 100

200 Simulation - Alternant Plus/Minus One

Required Number of Navigation Data Bits 50 180 Simulation - Random Field Test 160 0 140 5 10 15 20 24 Doppler Frequency Error [Hz]

120

100 Figure 11. The comparison of required navigation data bits in simulation and field test as a function of Doppler error for C/N0 = 40 dB-Hz and 20 dB-Hz 80 and for a 90% SSR

60 Using Monte Carlo tests from 1,000 to 10,000 trials (as a 40

Required Number of Navigation Data Bits function of number of bits being decoded at one time), SDR 20 values are generated as a function of different C/N0 and number of bits being decoded and the results are shown in 0 15 20 25 30 35 40 TABLE I. As shown, the ML bit decoding algorithm shows C/N [dB-Hz] 0 more consistent SDR values for a given C/N0. As such, only a SDR value of 90% is used to generate the requirements for ML Figure 10. Required number of data bits in field test as a function of signal bit decoding. strength for an SSR of 90% TABLE I. DIFFERENT SUCCESSFUL DETECT RATES (SDR) AS A FUNCTION OF C/N0 AND NUMBERS OF BITS BEING DECODED (VALUES IN RED ARE The field test result is quite comparable to the simulation BELOW 90% SDR) results. For 40 dB-Hz signal, just one bit is sufficient for bit synchronization because the first data bit contains a transit. Number of C/N0 (dB-Hz) Also, in this particular case the navigation data contained more Data Bits 15 20 25 30 35 40 bit transitions than a pure random sequence as simulated above, 2 76 95 100 100 100 100 because the requirement of the number of data bits is lower. 3 66 93 99.9 100 100 100 This is a favorable phenomenon but needs to be confirmed using longer data sets. 4 57 92 99.9 100 100 100 5 N/A 89 99.8 100 100 100 Figure 11 shows the field test result as a function of 6 N/A 86 99.8 100 100 100 Doppler error for an SSR of 90%. Compared with simulation 7 N/A 84 99.8 100 100 100 results (also included in Figure 11), the field test results are 8 N/A 82 99.7 100 100 100 quite consistent. In particular, when the frequency error reaches 9 N/A 81 99.7 100 100 100 to 25 Hz (not shown in Figure 11), the SSR almost falls to 0% no matter how many bits are used. 10 N/A 79 99.7 100 100 100 20 N/A N/A 99.0 100 100 100 B. ML Bit Decoding Algorithm The requirements of ML bit decoding algorithm are a bit Results show that as more data bits are being decoded the different from those of bit synchronization. The major SDR decreases, as expected. For an SDR of 90%, the result difference is that the bit decoding error rate will not decrease indicates that signals should have C/N0 of 20 dB-Hz or higher. with more navigation data bits. On the contrary, as more data Furthermore, for C/N0 = 20 dB-Hz, the number of bits being bits are decoded at a time, the tolerance to Doppler error is decoded should not exceed four. For C/N0 = 25 dB-Hz or lower. However, at least 2 data bits should be implemented in higher, the number of bits being decoded can be as large as 20 one batch, due to the energy based ML bit decoding algorithm bits (the combination of more than 20 bits will not be actually estimates bit transits instead of real bit values. considered due to the increased computational load). It is noted that one would not likely try to decode 20 bits due to the associated processing requirements; rather the bits would likely be decoded pairwise. However, from a practical perspective, the fact that 20 bits could be decoded correctly – either all at once or in some combination of small groups – means that length of bit sequence. However, working with signal strengths coherent integration could also be extended to 20 ms as well, of 20 dB-Hz can still be beneficial for many applications. thus providing more processing gain. Next, Figure 12 shows the maximum number of bits to decode V. CONCLUSION as a function of Doppler error for different C/N0 values in order This paper has analyzed the requirements of extending to obtain an SDR of 90%. The corresponding field test results coherent integration by using the ML estimate algorithm in the are shown in Figure 13. context of stand-alone GNSS receivers. Both the simulated GPS data and the real field data are used for investigating the 20 performance of ML bit synchronization and bit decoding

C/N0 = 40 dB-Hz algorithms in terms of the number of data bits required (for bit 18 C/N0 = 35 dB-Hz synchronization) and the tolerance to Doppler/frequency error 16 C/N0 = 30 dB-Hz as a function of the received signal strength. The criteria of C/N = 25 dB-Hz 14 0 SSR and SDR have been used to generate the requirements of C/N0 = 20 dB-Hz the ML bit synchronization algorithm and ML bit decoding 12 algorithm respectively. The results can be beneficial for stand-

10 alone high sensitivity GNSS receiver design.

8 For ML bit synchronization, a higher SSR, a lower C/N0 and a higher Doppler frequency error all require more data bits. 6 By using 200 data bits, a 90% SSR can be achieved with C/N0 4 as low as 15 dB-Hz with no Doppler error. The maximum Maximum Number of Bits Being Decoded 2 tolerance of Doppler error is 24 Hz.

0 In contrast to the ML bit synchronization, ML bit decoding 1 2 3 4 5 6 7 8 9 10 11 Doppler Frequency Error [Hz] requires fewer bits to be decoded at one time to achieve a better tolerance of weaker signal strength and higher Doppler frequency error, e.g., for a C/N0 of 20 dB-Hz, two data bits Figure 12. The simulation result of bit tolerance as a function of Doppler error combination can tolerate Doppler error of 6 Hz but ten bits for different signal strengths and for a 90% SDR combination can only tolerate Doppler error of 1 Hz. In order to obtain an SDR of 90% using only two data bits (i.e., the best 20 case scenario), the Doppler error should be less than 11 Hz for C/N = 40 dB-Hz 0 signals with C/N0 of 40 dB-Hz and should be less than 7 Hz for 18 C/N = 35 dB-Hz 0 a C/N0 of 20 dB-Hz. 16 C/N0 = 30 dB-Hz C/N = 25 dB-Hz Future work will use more field tests under different 14 0 environments to confirm the results presented here. Also, the C/N0 = 20 dB-Hz 12 information will be used to define parameters within a software receiver in order to improve navigation performance. 10

8 ACKNOWLEDGMENTS 6 The research presented in this paper was conducted as part 4 of a collaborative research and development grant between the Maximum Number of Bits Being Decoded University of Calgary, General Motors of Canada, and Natural 2 Sciences and Engineering Research Council of Canada. 0 1 2 3 4 5 6 7 8 9 10 11 Doppler Frequency Error [Hz] REFERENCES [1] MediaTek, MT3336, MediaTek Inc. Product summary. 2012. Figure 13. The field test result of bit tolerance as a function of Doppler error [2] SiRF, SiRFstarIII GSC3e/LP & GSC3f/LP, SiRF Technology, Inc. for different signal strengths and for a 90% SDR Product insert. 2007. [3] Ublox, UBX-G6010, UBX-G6000, ublox ag. Product summary. 2011. As can be seen, both results show that the largest tolerance [4] D. M. Akos, P. L. Normark, J. T. Lee, K. G. Gromov, J. B.Y. Tsui and J. of frequency error is 11 Hz (when C/N0 is equal to 40 dB-Hz), Schamus, “Low Power Global Navigation Satellite System (GNSS) and the highest tolerance of signal strength is 20 dB-Hz. Signal Detection and Processing,” Proceedings of the 13th International Compared to ML bit synchronization, the ML bit decoding Technical Meeting of the Satellite Division of The Institute of algorithm has a relatively lower tolerance of Navigation (ION GPS 2000), Salt Lake City, UT, pp. 784-791, Doppler/frequency error and signal strength. This is mainly September 2000. [5] F. van Diggelen and C. Abraham, “Indoor GPS Technology,” Presented because ML bit synchronization can obtain higher sensitivity at CTIA Wireless-Agenda, Dallas, 2001. by using longer bits sequence, but the bit error rate (BER) in [6] R. DiEsposti, “GPS PRN Code Signal Processing and Receiver Design ML bit decoding is a function of C/N0, and is insensitive to the for Simultaneous All-in-View Coherent Signal Acquisition and Navigation Solution Determination,” Proceedings of the 2007 National Technical Meeting of The Institute of Navigation, San Diego, CA, [12] P. Misra and P. Enge, “Global Positioning System Signals, January 2007, pp. 91-103. Measurements, and Performance,” Ganga-Jamuna Press, USA. 2001. [7] G. M. Djuknic and R. E. Richton, “Geolocation and assisted GPS,” [13] GPS ICD, Navstar GPS Space Segment/Navigation User Interfaces, Computer, vol.34, no.2, pp.123-125, Feb 2001. Interface Specification, IS-GPS-200E, Rev E, 2010. [8] D. Akopian and J. Syrjarinne, “A network aided iterated LS method for [14] N. I. Zeidan, and J. L. Garrison, “Bit synchronization and Doppler GPS positioning and time recovery without navigation message frequency removal at very low carrier to noise ratio using a combination decoding,” Position Location and Navigation Symposium, 2002 IEEE, of the Viterbi algorithm with an extended Kalman filter,” In Proceedings vol., no., pp. 77- 84. of the ION GPS/GNSS-2003, Sept. 2003. [9] M. Kokkonen and S. Pietila, “A New Bit Synchronization Method for a [15] M. L. Psiaki and H. Jung, “Extended Kalman filter methods for tracking GPS Receiver”. Porc. of the IEEE Position Location and Navigation weak GPS signals,” In Proceedings of the ION GPS-2002, Sept. 2002. Symposium, April 2002. Palm Springs, CA, pp. 85–90. [16] J. B. Tsui, “Fundamental of Global Positioning System Receivers. A [10] A. Soloviev, F. Van Grass and S. Gunawardena, “Decoding Navigation Software Approach,” Wley Series in Microwave and Optical Data Messages from Weak GPS Signals,” IEEE Transactions On Engineering, 2005. Aerospace And Electronic Systems Vol. 45, No. 2 April 2009. [17] C. O’Driscoll, “Performance analysis of the parallel acquisition of weak [11] A. J. Van Dierendonck, "GPS Receivers," in Global Positioning System: GPS signals,” Ph.D. dissertation, National University of Ireland, Cork, Theory and Applications, Vol.I, B. W. Parkinson and J.J. Jr. Spilker eds., Jan. 2007. American Institute of Aeronautics and Astronautics, Washington, 1996, pp. 329-407.