PART2 » History » Version 17

JANVIER, Thibault, 03/22/2016 04:01 PM

1 1 COLIN, Tony
h1. PART 3 : Acquisition and Tracking.
2 1 COLIN, Tony
3 1 COLIN, Tony
{{>toc}}
4 1 COLIN, Tony
5 2 COLIN, Tony
h2. 1- Introduction.
6 1 COLIN, Tony
7 3 COLIN, Tony
h3. a- General overview of a GPS receiver using CDMA technique.
8 1 COLIN, Tony
9 17 JANVIER, Thibault
The GPS signal generation scheme has been detailed in [[PART|PART 2 : GPS signals generation.]] and is using a CDMA technique which spreading sequences are the PRN codes. Thereby, the major steps of the whole communication chain can be summarized by the figure below.
10 17 JANVIER, Thibault
11 5 COLIN, Tony
p=. !1.png!
12 12 COLIN, Tony
*Figure 3.1* : .
13 5 COLIN, Tony
14 3 COLIN, Tony
*[ See Kassas_Graphical_Approach_to_GPS_SDR II - GPS RECEIVED SIGNAL MODEL ]*
15 3 COLIN, Tony
At the output of the receiver front-end, after down-conversion to baseband, the signal x can be expressed as follows:
16 1 COLIN, Tony
17 5 COLIN, Tony
p=. !2.png!
18 12 COLIN, Tony
*Figure 3.2* : .
19 5 COLIN, Tony
20 3 COLIN, Tony
Where:
21 6 COLIN, Tony
*A* is the amplitude of the signal
22 6 COLIN, Tony
*τ_j* = jT is the sampling time
23 6 COLIN, Tony
*T* is the sampling period
24 9 COLIN, Tony
*t_d(τ_j)** is the time difference between the start time of the navigation sequence that is being sampled at τj and τj = phase of the incoming navigation data
25 9 COLIN, Tony
*t_s(τ_j)* is the time difference between the start time of the spreading sequence that is being sampled at τj and τj = phase of the incoming PRN sequence
26 7 COLIN, Tony
*θ* is the phase shift due to non-coherent down-conversion to baseband (Doppler shift)
27 6 COLIN, Tony
*n* is a white Gaussian noise
28 6 COLIN, Tony
29 5 COLIN, Tony
p=. !3.png!
30 12 COLIN, Tony
*Figure 3.3* : .
31 3 COLIN, Tony
32 6 COLIN, Tony
*T_d* is the symbol period
33 6 COLIN, Tony
*T_c* is the chip period
34 6 COLIN, Tony
*d_k* is a navigation symbol taking its values in ±1
35 6 COLIN, Tony
*c_k* is a chip symbol taking its values in ±1
36 6 COLIN, Tony
*π_Td* is the standard pulse function of width Td
37 6 COLIN, Tony
*π_Tc* is the standard pulse function of width Tc
38 6 COLIN, Tony
*N_c* is the number of chips in one spreading code
39 3 COLIN, Tony
40 3 COLIN, Tony
h3. b- List of the key parameters in the implementation of a GPS receiver.
41 3 COLIN, Tony
42 3 COLIN, Tony
To decode navigation data, one first needs to remove the incoming carrier from the signal *(insert ref here on the general overview of a GPS receiver using CDMA technique)*. To do so, the carrier frequency has to be known to generate a local carrier signal and down-convert the incoming signal to baseband. Nonetheless, this carrier frequency might deviate from the expected value. Indeed, the relative motion of the satellite with respect to the receiver induces a Doppler effect that shifts the frequency of the incoming carrier. If the GPS receiver is moving, it is reasonable to assume that the maximum Doppler shift for the L1 frequency is around ± 10 kHz. Otherwise, for a stationary GPS receiver, the maximum Doppler shift for the L1 frequency is around ± 5 kHz. This uncertainty regarding the carrier frequency will have to be dealt with in the implementation of the GPS receiver *(see part xx, insert ref scheme regarding acquisition and carrier tracking)*
43 3 COLIN, Tony
44 3 COLIN, Tony
Another key parameter is related to the PRN sequences that are used to spread the information. First of all, the satellites are differentiated by 32 different PRN sequences. Consequently, the GPS receiver has to search for the right PRN code among all the PRN sequences to remove the spreading code from the signal and decode the data. Still, knowing the right PRN code to despread the signal at the receiving side is not sufficient. Indeed, PRN codes have high correlation only for zero lag. As such, it is of prime concern to know the incoming code phase in order to generate a local PRN code that is perfectly aligned with the incoming one. The software-defined GPS receiver will have to address and overcome this issue *(insert ref, Acquisition and tracking)*.
45 1 COLIN, Tony
46 3 COLIN, Tony
Block diagram of a GPS receiver according to the previous key parameters that have been highlighted.
47 3 COLIN, Tony
48 5 COLIN, Tony
p=. !4.png!
49 12 COLIN, Tony
*Figure 3.4* : .
50 3 COLIN, Tony
51 1 COLIN, Tony
---
52 1 COLIN, Tony
53 1 COLIN, Tony
h2. 2- Acquisition.
54 3 COLIN, Tony
55 1 COLIN, Tony
In order to receive and efficiently decode navigation data, the receiver must know which satellites are initially visible. This can be achieved using two common methods referred to as warm start and cold start. In a warm start, the receiver uses the information it has stored from the previous results and is able to compute which satellites are visible. In a cold start, the receiver has no stored information and has to search for the visible satellites. This process is called acquisition and aims at determining the visible satellites as well as the coarse values of the carrier frequency and the code phase of the satellite signals (*insert ref, list of the key parameters in the implementation of a GPS receiver*). Acquisition is quite time-consuming as it has to search through all possible satellites (all PRN sequences), all possible carrier frequencies taking into account the Doppler shift and all possible code phases of a given PRN sequence. As a result, a 2-dimensional search in frequency (Doppler shift) and time (code phase) is carried out for each PRN sequence. This process can be performed using a serial search acquisition, a parallel frequency space search acquisition or a parallel code phase search acquisition. These three commons methods have different characteristics regarding the execution time, their complexities and their accuracies. They will be briefly depicted in the three following subsections.
56 1 COLIN, Tony
57 3 COLIN, Tony
h3. a- Serial Search Acquisition.
58 1 COLIN, Tony
59 5 COLIN, Tony
p=. !5.png!
60 12 COLIN, Tony
*Figure 3.5* : .
61 3 COLIN, Tony
62 3 COLIN, Tony
The serial search acquisition procedure is based on the C/A code correlation properties (*insert ref part xx*) according to which the cross correlation between two different C/A codes is really low and the autocorrelation is high only for zero lag. The algorithm is described just below.
63 3 COLIN, Tony
The incoming signal is multiplied by a given C/A code with a certain code phase between 0 and 1022 chips. Then, the signal is mixed with a locally generated carrier signal to remove the carrier wave of the received signal. This generates an in-phase signal I and a quadrature signal Q. As the C/A code is modulated onto the I signal, one should only take into consideration the I signal. Nevertheless, the down-conversion is non-coherent. This means that the locally generated carrier wave used to down-convert the incoming signal is not in phase with the incoming carrier wave. As a consequence, the signal of interest is divided on both I and Q signals after down-conversion. Thus, it is necessary that one should use both of the I and Q signals. These I and Q signals are integrated over 1 ms which correspond to the length of one C/A code. By doing so, one is correlating the incoming PRN sequence with the locally generated C/A code on both I and Q signals. The outputs of both I and Q signals are finally squared and added. The final result is compared to a threshold. If the threshold is exceeded, the frequency and code phase parameters used for the locally generated signals are correct for the PRN sequence that is considered. If the threshold is not exceeded, this could be due to several reasons that are listed just below:
64 3 COLIN, Tony
	- The locally generated PRN sequence is not the same as the one that is received, which means that the receiver is not configured to receive signals from the actually targeted satellite.
65 3 COLIN, Tony
	- The locally generated PRN sequence is the right one but its code phase does not match the incoming PRN sequence.
66 3 COLIN, Tony
	- The locally generated carrier wave does not have the same frequency as the incoming carrier wave because of the Doppler shift.
67 3 COLIN, Tony
The GPS receiver cannot know the cause that leads to low correlation. It will therefore proceed using a two-dimensional search in frequency and time for each PRN sequence in order to find the right frequency and the right code phase for the PRN sequence that is considered. Considering that the Doppler shift is around ± 10 kHz, it is reasonable to take a frequency step of 500 Hz resulting in 41 frequencies around the theoretical L1 frequency. For each frequency, 1023 different code phases are tried for the PRN sequence that is considered (recall that one C/A code contains 1023 chips). The output is computed for all the pairs “frequency/code phase” and can be plotted on a 3D graph as shown on *figures XX and XX*. Then, the maximum value from all the possibilities is computed. If this maximum does not exceed the threshold, the PRN sequence for which the search has been done corresponds to a satellite that is not visible to the receiver and the search has to be carried out for another PRN sequence. If the maximum exceeds the threshold, the satellite is acquired with coarse values of its carrier frequency and code phase.
68 1 COLIN, Tony
69 3 COLIN, Tony
h3. b- Parallel frequency space search acquisition.
70 3 COLIN, Tony
71 1 COLIN, Tony
The serial search acquisition implies to test every combination of frequency and code phase of a given PRN sequence before being able to tell if the acquisition is successful or not. This process is really time-consuming. If the search procedure of one of the two parameters could be implemented in parallel, this would drastically decrease the acquisition time. The parallel frequency space search acquisition aims at automatically giving a coarse value of the frequency carrier of the incoming signal once the right code phase has been found. It is implemented as follows:
72 3 COLIN, Tony
73 5 COLIN, Tony
p=. !6.png!
74 12 COLIN, Tony
*Figure 3.6* : .
75 3 COLIN, Tony
76 3 COLIN, Tony
The incoming signal is multiplied by a given PRN sequence which code phase varies between 0 and 1022 chips. A Fourier transform is then used to assess the previous result in the frequency domain. The Fourier transform gives a complex signal and the output is obtained by taking the squared magnitude of this signal. When the locally generated PRN sequence corresponds to the satellite that is targeted and when the phase of this locally generated PRN sequence perfectly matches the one of the PRN sequence from the incoming signal, the output of the multiplication is illustrated as follows *(insert ref, properties of CDMA techniques)*:
77 3 COLIN, Tony
78 5 COLIN, Tony
p=. !7.png!
79 12 COLIN, Tony
*Figure 3.7* : .
80 3 COLIN, Tony
81 3 COLIN, Tony
As such, the result corresponds to the carrier wave of the incoming signal. Consequently, the final output corresponds to the squared magnitude of the Fourier transform of a sine wave. In a nutshell, with a perfectly aligned PRN code of a visible satellite, the output displays a distinct peak in magnitude that corresponds to the real carrier frequency of the targeted satellite. This peak can be found using a threshold. When this threshold is exceeded, the satellite is acquired with coarse values of its carrier frequency and code phase. *(insert image p 82 of the book)*
82 3 COLIN, Tony
83 3 COLIN, Tony
h3. c- Parallel code phase search acquisition.
84 3 COLIN, Tony
85 3 COLIN, Tony
---
86 3 COLIN, Tony
87 3 COLIN, Tony
h2. 3- Tracking.
88 3 COLIN, Tony
89 3 COLIN, Tony
h3. a-
90 10 COLIN, Tony
91 15 COLIN, Tony
p=. !002.png!
92 15 COLIN, Tony
*Figure 3.8* : from [2].
93 1 COLIN, Tony
94 15 COLIN, Tony
p=. !001.jpg!
95 15 COLIN, Tony
96 11 COLIN, Tony
---
97 11 COLIN, Tony
98 10 COLIN, Tony
*References :* 
99 1 COLIN, Tony
*[1]* K. Borre, D. M. Akos, N. Bertelsen, P. Rinder, S. H. Jensen, A software-defined GPS and GALILEO receiver
100 16 COLIN, Tony
*[2]* D. Kubrak, GNSS Signal Tracking Workshop, March 2016