0% found this document useful (0 votes)
67 views21 pages

Xu Open-Source MATLAB GPS

This document describes open source MATLAB code for GPS vector tracking developed by the authors. The code implements vector delay lock loop (VDLL) tracking on a software-defined receiver (SDR) and includes an equivalent conventional tracking (CT) SDR using an extended Kalman filter (EKF) for performance comparison. The vector tracking architecture and algorithm are described, including signal processing blocks and the use of an EKF as the navigation processor. Experimental results using the SDR are presented to demonstrate its usage and performance.

Uploaded by

wn1529.20000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
67 views21 pages

Xu Open-Source MATLAB GPS

This document describes open source MATLAB code for GPS vector tracking developed by the authors. The code implements vector delay lock loop (VDLL) tracking on a software-defined receiver (SDR) and includes an equivalent conventional tracking (CT) SDR using an extended Kalman filter (EKF) for performance comparison. The vector tracking architecture and algorithm are described, including signal processing blocks and the use of an EKF as the navigation processor. Experimental results using the SDR are presented to demonstrate its usage and performance.

Uploaded by

wn1529.20000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

This is the Pre-Published Version.

This is a post-peer-review, pre-copyedit version of an article published in GPS Solutions. The final authenticated version is available online
at: http://dx.doi.org/10.1007/s10291-019-0839-x

1 Open Source MATLAB Code for GPS Vector Tracking on a Software-Defined


2 Receiver

3 Bing Xu and Li-Ta Hsu*

4 Interdisciplinary Division of Aeronautical and Aviation Engineering, The Hong Kong


5 Polytechnic University

6
7 ABSTRACT

8 The research regarding Global Positioning System (GPS) vector tracking (VT), based
9 on a software-defined receiver (SDR), has been increasing in recent years. The
10 strengths of VT include its immunity to signal interference, its capability to mitigate
11 multipath effects in urban areas, and its excellent performance in tracking signals under
12 high-dynamic applications. We developed open source MATLAB code for GPS VT
13 SDR to enable researchers and scientists to investigate its pros and cons in various
14 applications and under various environments. To achieve this goal, we developed an
15 “equivalent conventional tracking (CT)” SDR as a baseline to compare with VT. The
16 GPS positioning estimator of this equivalent CT is based on an extended Kalman filter
17 (EKF), which has exactly the same state, system and carrier measurement models and
18 noise tuning method as VT. This baseline provides users with a tool to compare the
19 performance of VT and CT on common ground. In addition, this MATLAB code is
20 well-organized and easy to use. Users can quickly implement and evaluate their own
21 newly developed baseband signal processing algorithms related to VT. The
22 implementation of this VT code is described in detail. Finally, static and kinematic
23 experiments were conducted in an urban and open-sky area, respectively, to show the
24 usage and performance of the developed open source GPS VT SDR.

25

26 Keywords GPS, Software-defined receiver (SDR), Vector tracking (VT), Open-source


27 software, Extended Kalman filter (EKF)

28
29 Introduction

30 Reliable navigation is highly desirable in challenging environments where navigation


31 satellite signals are interfered with and attenuated. To obtain a navigation solution,
32 satellite signals must be tracked continually so that the ephemeris data can be decoded
33 and the measurements (such as pseudoranges and pseudorange rates) can be extracted.
34 In conventional Global Positioning System (GPS) receivers, each acquired satellite is
35 allocated to an individual tracking channel. Each channel has two closed loops, one for
36 code and one for carrier. All tracking channels are independent of each other, i.e., there
37 is no interaction between channels, and no information exchange between signal
38 tracking and navigation processors. In vector tracking (VT)-based receivers, tracking
39 channels are coupled together through the navigation processor, often based on an
40 extended Kalman filter (EKF). Different forms of Kalman filter implementation can be
41 found in (Won et al. 2010). The fundamental principle behind VT is the relationship
42 between the code or carrier phase and the receiver states of position, velocity and time
43 (PVT), which was first proposed by Copps in the early 1980s (Copps et al. 1980). The
44 vector delay lock loop (VDLL) is described in (Spilker 1996), where the code is tracked
45 in the vector mode, while the carrier tracking remains the same as in the conventional
46 receiver. The boom of computer technologies and inertial devices has pushed the
47 development and application of vector tracking in the last two decades.

48 Previous research has mainly focused on the advantages of vector tracking over
49 conventional tracking. The most commonly cited benefits are its increased capabilities
50 in harsh environments, e.g., low carrier-to-noise ratio (CNR) (Lashley and Bevly 2009;
51 Lashley et al. 2009; Pany and Eissfeller 2006), intermittent signal outages (Lashley and
52 Bevly 2007; Zhao and Akos 2011; Zhao et al. 2011), and high dynamics (Lashley et al.
53 2009), due to the mutual aiding of the channels with respect to each other and a higher
54 filtering gain to be used stably (Groves and Mather 2010). To further improve
55 robustness and accuracy in poor environments, vector tracking can be easily integrated
56 with an inertial navigation system (INS) by simply augmenting the navigation Kalman
57 filter with appropriate INS-related states (Lashley and Bevly 2013; Luo et al. 2012;
58 Petovello and Lachapelle 2006). In recent years, with the increasing development of
59 intelligent transportation systems and location-based services in urban canyon areas,
60 vector tracking has received more attention. For example, in (Hsu et al. 2013; Hsu et al.
61 2015b; Syed Dardin et al. 2013), vector tracking is applied to multipath or non-line-of-
62 sight reception mitigation in the signal processing stage, while in (Ng and Gao 2017)
63 deeply coupled multi-receiver vector tracking is used to improve the reliability and
64 robustness of GPS signal tracking and position estimation. A more recent paper
65 converts a software defined receiver (SDR) to a signal simulator by using vector
66 tracking loop to create desired line-of-sight parameters for updating the numerically
67 controlled oscillator (NCO) and therefore generate the code and carrier replicas (Maier
68 et al. 2018). Apart from the benefits and applications mentioned above, vector tracking
69 has also been used to improve bit synchronization and decoding (Ren et al. 2013),
70 estimate ionosphere residual error (Shytermeja et al. 2017), enhance carrier phase
71 tracking (Brewer and Raquet 2016), etc. The idea of vector tracking also yields other
72 signal tracking techniques, e.g., direct position tracking loops (Liu et al. 2011) and
73 robust adaptive joint tracking (Tabatabaei and Mosavi 2017). It should be noted that the
74 coupling of loops is not only responsible for vector tracking’s superior performance,
75 but also allows error propagation among loops, which has been dealt with in
76 (Bhattacharyya and Gebre-Egziabher 2010; Sun et al. 2016).

77 The majority of the current research generally focuses on the exploration of


78 benefits offered by vector tracking, but seldom presents the detailed implementation of
79 vector tracking. In 2011, Zhao and Akos (Zhao and Akos 2011) published an open
80 source code of vector tracking based on the GPS software defined receiver developed
81 by Borre et al. (Borre et al. 2007), which is a popular open source SDR platform for
82 beginners. In Zhao’s open-source software, the performance of vector tracking is
83 compared with that of traditional scalar loops and navigation solutions estimated using
84 the least squares method. In fact, improvements of vector tracking might be due to the
85 Kalman filter; an equivalent conventional receiver must be implemented as a reference.
86 In this paper, a fully self-developed SDR based on vector tracking is presented. An
87 equivalent conventional tracking (CT)-based SDR using delay lock loop (DLL) and
88 phase lock loop (PLL) is also implemented for performance comparison between VT
89 and CT. The CT-based SDR uses an EKF to estimate receiver’s PVT. The system
90 propagation and measurement model and the noise tuning method are exactly the same
91 for VT and CT. This feature can bring them both to common ground to allow an accurate
92 performance evaluation.

93 In the following sections, the design of vector tracking in the open source SDR is
94 described first. Afterward, main functionalities of the software are given. Then, the
95 experiments are conducted to evaluate the performance of this software. Finally,
96 conclusions are drawn, including future work.

97

98 Vector tracking algorithm

99 In this SDR, VDLL is implemented as an example. Users can easily extend this software
100 to vector frequency lock loop (VFLL), or vector delay/frequency lock loop (VDFLL).
101 Fig. 1 presents the architecture of this SDR. As shown in Fig. 1, each acquired satellite
102 in the incoming intermediate frequency (IF) signal is allocated to one tracking channel.
103 In each channel, IF signals are first multiplied with the locally generated carrier replica
104 in both in-phase and quadrature arms. Correlation is then performed between the code
105 replicas and the received ones. In this paper, three code replicas spacing of 0.5 chips
106 are generated. Afterwards, correlation results are integrated and dumped. The output of
107 these integrations is used as the input to the carrier/code loop discriminator to find the
108 phase error of the local carrier and code replicas. In each carrier loop, the carrier
109 discriminator output is filtered and fed back to the carrier NCO, so as to modify the
110 frequency of local carrier replica. For the code tracking loop, code discriminator outputs
111 of all channels are forwarded to the navigation processor. In this paper, an EKF is used.
112 The output of the carrier loop filter, i.e., Doppler shift frequency information, is also
113 fed into the EKF. Note that in practice the EKF update time is not necessary to be the
114 same as the coherent integration time (typically 1 ms for GPS L1 signal). A pre-filter
115 can be used to average the code discriminator outputs over multiple integration time,
116 e.g., 20 ms.

117

118 Fig. 1 The tracking architecture of the developed GPS VT SDR

119 The EKF estimates the receiver PVT based on its system propagation and the
120 measurements, which will be described in detail later. After obtaining the navigation
121 solution, the pseudorange and its rate and the line-of-sight (LOS) vector between the
122 receiver and the satellites are predicted. To do this, the satellite ephemeris data must be
123 known a priori. In this paper, conventional tracking is used to process the IF signal and
124 decode the ephemeris data first. The PVT calculated using conventional tracking is then
125 used to initialize the VDLL. Finally, the predicted pseudo-ranges are used to control the
126 code NCO and then are fed back to each channel.

127

128 Design of the Extended Kalman Filter

129 The state vector of the EKF is:

T
130 X =  ∆px , ∆p y , ∆pz , ∆vx , ∆v y , ∆vz , ∆b, ∆d  (1)

131 where ∆p =  ∆px , ∆p y , ∆pz  and ∆v =  ∆vx , ∆v y , ∆vz  are the three-dimensional

132 receiver position and velocity error vectors in an earth-centered and earth-fixed (ECEF)
133 frame; ∆b and ∆d are the receiver clock bias and drift errors in the units of meters and
134 meters per second, respectively. The system propagation at epoch k is:

135 ˆ− =Φ X
X ˆ+ (2)
k k −1 k −1

136 where

 I 3×3 τ I 3×3 03×2 


137 Φ k −1 =  03×3 I 3×3 03×2  (3)
02×3 02×3 K  8×8

1 τ 
138 K=   (4)
0 1 

139 In equation (3), τ is the update interval of the EKF. The superscript and subscript,
140 “-” and “+”, denote the system state before and after measurement update, respectively.
141 The symbol “ ˆ ” represents the EKF estimates.

142 The measurements of the EKF are the pseudo-range error, ∆ρ j , and pseudo-range

143 rate error, ∆ρ j , of satellite j. The pseudo-range error is

c
144 ∆ρ j =∆τ j ⋅ (5)
fCA

145 where ∆τ j is the code discriminator output in chips, fCA is the code chipping rate

146 (1.023 MHz for GPS L1 C/A); c is the speed of light. The error of pseudo-range rate
147 is the difference between the measured pseudo-range rates extracted from the carrier
148 tracking loop and the predicted ones calculated using the estimated receiver velocity
149 and satellite velocity as well as the estimated receiver clock drift.

− ( v usr − v sate )
c
150 ρ j f Doppler
∆= j
⋅ j
⋅ l j − dˆu ,clk + d svj ,clk (6)
f L1

j
151 where f Doppler is the Doppler shift frequency in Hz; f L1 is the carrier frequency (1575.42

j
152 MHz for GPS L1); v usr and v sate are the velocity vectors of the receiver and satellite j,

153 respectively; l j is the LOS unit vector from the receiver to satellite j; dˆu ,clk and d svj ,clk
154 are the estimated receiver clock drift and the jth satellite clock drift, respectively, both

155 in meters per second. The measurement vector can be expressed as

156  ρ j , ∆ρ j 
Z =∆ (7)

157 The relationship between the state vector and the measurement vector at epoch k is
158 linearized by a first-order Taylor’s expression as follows

159 Z=
k H k ⋅ Xk (8)

160 where H is the measurement matrix, calculated as

 −l1x −l1y −l1z 0 0 0 1 0


 2 
 −l x −l 2y −l 2z 0 0 0 1 0
        
 m 
−l −l my −l mz
H =  x
0 0 0 1 0
161 . (9)
0 0 0 −l1x −l1y −l1z 0 1
 
 0 0 0 −l 2x −l 2y −l 2z 0 1
        
 
 0 0 0 −l mx −l my −l mz 0 1 

162 where m is the number of satellites involving positioning; the subscript of the LOS unit

163 vector denotes its x , y , and z components, and the superscript denotes the satellite.

164

165 Noise Tuning of the EKF

166 The process noise comes from two sources, i.e., the receiver dynamics and clock noise,
167 as follows

Q 06×2 
Q =  dyn
Q clk 
168 (10)
 02×6

169 The values of Q dyn and Q clk can be set empirically according to the receiver motion

170 state and the oscillator used. Alternatively, they can be calculated as
τ 3 3 ⋅ I 3×3 τ 2 2 ⋅ I 3×3 
171 =Q dyn  2  ⋅ Sv (11)
τ 2 ⋅ I 3×3 τ ⋅ I 3×3 

 S ⋅τ + S gτ 3 3 S gτ 2 2 
172 Q clk =  f  (12)
 S gτ 2 S g ⋅τ 
2

173 where Sv is the receiver velocity noise power spectral density (PSD); S f and S g are the

174 PSD of receiver clock phase and frequency, respectively. The value of Sv should be set

175 according to the level of dynamics. Settings of S f and S g are usually based on the rule

176 of thumb values of the type of oscillator used, or calculated using the following
177 formulas

h0
178 S=
f c2 ⋅ (13)
2

179 S g =c 2 ⋅ 2π 2 ⋅ h−2 (14)

180 where h0 and h−2 are the coefficients of white frequency modulation noise and flicker

181 frequency modulation noise of the oscillator used, respectively.

182 The measurement noise covariance matrix is calculated adaptively using the
183 innovation-based adaptive estimation technique (Mohamed and Schwarz 1999). The
184 measurement innovation at epoch k + 1 in this paper is

185 V=
k +1 Z k +1 − Z −k +1 (15)

186 Z −k = H k X
ˆ−
k (16)

187 The diagonal element of the measurement covariance matrix is the variance of the
188 measurement innovation. The off-diagonal terms are assumed to be zero due to the
189 weak correlation between channels.

190

191 Main Functionalities of the Open-Source SDR


192 This open-source SDR is developed using MATLAB, which is an easy-to-use
193 programming language, so that users can focus more on the implementation of the
194 newly developed algorithms. Fig. 2 presents the flowchart of the software. The four
195 main functionalities include initialization, acquisition, conventional tracking and vector
196 tracking, which are described in detail as follows:

197

198 Fig. 2 Flowchart of the open-source GPS SDR

199 Initialization

200 The first step to use this software is to complete configurations such as the sampling
201 rate and intermediate frequency of the raw signal, the frequency step and band to be
202 searched in the acquisition, etc.

203 Acquisition

204 The second module is signal acquisition, which determines code phase and Doppler
205 frequency of visible satellites. A two-step coarse-to-fine acquisition method is used. In
206 the first step, 4-ms data is used to detect the code phase and Doppler frequency coarsely
207 via the parallel code phase search acquisition algorithm (Van Nee and Coenen 1991).
208 The second step utilizes long C/A code-stripped data to find the carrier frequency
209 accurately via the fast Fourier transformation technique.

210

211 Conventional Tracking

212 After obtaining the code phase and Doppler frequency, these two parameters should be
213 refined in the tracking stage so that satellite ephemeris data can be decoded.
214 Measurements of pseudorange and pseudorange rate can also be obtained during
215 tracking. A second-order DLL and PLL is used in this software. With this information,
216 the navigation solution is calculated in the positioning module, which is based on an
217 EKF instead of the least-squares method in this SDR, because any improvements of
218 vector tracking might be due to the Kalman filter. The EKF used in the conventional
219 receiver has the same states, system and measurement models as the vector tracking
220 EKF. The noise tuning of these two EKFs are also the same so as to compare the
221 performance of the conventional and vector tracking methods based on common ground.
222 Even so, there still exist two differences between the conventional tracking and vector
223 tracking. One difference is the formation of pseudorange error measurements. In
224 conventional tracking, it is calculated by the measured pseudorange minus the predicted
225 pseudorange as follows

226 ∆ρ j= c ( trx − ttxj ) − ru − r j − bˆclk (17)

j
227 where trx is the receiver time in a conventional receiver; ttx is the transmission time

228 from satellite j; ru and r j are the position of receiver and satellite j, respectively; bˆclk
229 is the estimated receiver clock bias. In vector tracing, however, the pseudorange error
230 is calculated as shown in (5). The other difference is the operating mode of the code
231 tracking loop. In conventional tracking, all code tracking channels are independent
232 closed loops. The feedback to the code NCO is the code discriminator output in each
233 channel. However, in vector tracking, the feedback is calculated using the estimated
234 navigation solution as

 ρ kj+1 − ρˆ kj 
235 f = fCA 1 −
j
code , k +1  (18)
 cτ 

where ρ k +1 and ρˆ k are the predicted pseudorange at epoch k + 1 and the estimated
j j
236

237 pseudorange at epoch k . The predicted pseudorange is calculated using

238 ρ kj+1 = ru ,k +1 − rkj+1 + δρˆ svj ,c + δρˆ Ij + δρˆTj − bˆclk (19)

where rk +1 and ru ,k +1 are the satellite position and the predicted receiver position at
j
239

epoch k + 1 , respectively. rk +1 is known from the broadcast ephemeris, while ru ,k +1 can
j
240

241 be calculated based on the estimated position and clock bias at the previous epoch.

242 δρˆ svj ,c , δρˆ Ij and δρˆTj are the pseudorange errors caused by satellite clock error,
j
243 ionospheric delay and tropospheric delay, respectively. f code , k +1 is then fed back to the

244 code NCO in each channel to generate local code replicas.

245

246 Vector Tracking

247 To start vector tracking, initialization parameters, such as ephemeris data, initial

248 receiver PVT, etc., should be provided. The pseudorange error, ∆ρ , and pseudo-range

249 rate error, ∆ρ extracted from the code and carrier tracking loops are used as the

250 measurements of the EKF. The estimated receiver PVT is then used to predict the
251 pseudorange, rate and the LOS vectors at the next epoch.

252
253 Experiments and Results

254 Two experimental tests were conducted to evaluate the performance of vector tracking
255 in terms of its ability against multipath and dynamics effects, respectively. In the first
256 test, signals were collected statically in an urban area of Hong Kong, as shown in Fig.
257 3(a). It is expected that the positioning accuracy would decrease due to the potential
258 multipath effects. The second test was conducted in an open-sky environment. In this
259 test, the antenna was mounted on the roof of an automobile which kept static for about
260 30 seconds before moving with a moderate dynamic along a coast, as shown in Fig.
261 3(b). A geodetic-grade receiver, NovAtel Flexpak6, was used to provide a reference
262 trajectory. The experimental setup of the kinematic test is shown in Fig. 3(c). In both
263 tests, GPS signals were collected using a Nottingham Scientific Ltd. (NSL) Stereo
264 front-end for post-processing by the developed software. The sampling frequency and
265 IF of the front-end are 26 MHz and 6.5 MHz, respectively. In both tests, the update
266 interval of the EKF is one millisecond. The process noise covariance matrix is a
267 diagonal matrix, with its main diagonal values set empirically as

268 diag [ 0.2, 0.2, 0.2, 0.1, 0.1, 0.1, 0.1, 0.01] . Here, diag [ ] denotes a diagonal matrix. The

269 measurement noise is calculated adaptively using equations (15)-(16).

270

271 Fig. 3 Experimental environments and setup

272
273 Static Test Results

274 In this test, the receiver antenna was surrounded by high buildings. Only four GPS
275 satellites (PRN 2, 13, 15 and 29) can be acquired and tracked continually using the
276 software receiver, as shown in Fig. 4. Fig. 4 also shows the ray tracing (Hsu et al. 2015a)
277 results of these four satellites based on the ground truth position, among which PRN 15
278 is a multipath signal, with its direct and reflected signal paths marked in yellow and
279 blue, respectively.

280

281 Fig. 4 Positioning results and ray tracing results of the four trackable GPS satellites

282 Fig. 5 presents the positioning errors in east and north directions of vector tracking
283 and conventional tracking during about 20 seconds. The conventional tracking exhibits
284 a mean offset of 11.29 meters in the east direction, while vector tracking remains a
285 lower mean positioning error of 4.19 meters. In north direction, the two methods have
286 similar performance, with a mean error of 10.26 meters and 10.89 meters for vector
287 tracking and conventional tracking, respectively.
288

289 Fig. 5 Positioning errors in east and north direction.

290 The positioning offset is probably due to the multipath effect from PRN 15. The
291 mechanism by which the vector tracking outperforms the convention tracking in terms
292 of multipath mitigation can be seen in Fig. 6, which demonstrates the code discriminator
293 output and code frequency of PRN 15. Even though the code discriminator output of
294 vector tracking is noisy, the code frequency which directly determines the local code
295 replica generation is slightly more stable for vector tracking. This improvement is due
296 to the fact that the code frequency is calculated not only from the measurements but
297 also using the system propagation model. The bottom of Fig. 6 shows the pseudorange
298 measurement variance of PRN 15. Vectoring tracking reports a larger measurement
299 variance during the whole test, which indicates that the measurement of PRN 15
300 contributes less in positioning.
301

302 Fig. 6 Code discriminator output, code frequency and pseudorange measurement
303 variance of PRN 15

304

305 Kinematic Test Results

306 Fig. 7 shows the kinematic positioning results of vector tracking, conventional tracking
307 and NovAtel receiver in a Google map. The U-shape trajectory contains two right turns,
308 a quarter turn and a round turn with a radius of about 40 meters.
309

310 Fig. 7 Positioning results in the kinematic test in an open-sky area plotted in a Google
311 map

312 The NovAtel Flexpak6 is a dual-frequency plus L-Band GNSS receiver, thus it has
313 the best positioning result, which is used as the reference for evaluating the other two
314 methods. As seen from Fig. 7, both vector tracking and conventional tracking perform
315 well in the static stage. However, conventional tracking has a large positioning error
316 near the round turn. This is due to the signal tracking failure caused by the automobile
317 dynamics, which can be confirmed in Fig. 8. As can be seen in upper panel of Fig. 8, at
318 around 50 seconds, the CNR of PRN 31 suffers a sudden decrease. About 2 seconds
319 later, the value returns to the regular level, which indicates that the tracking loop of
320 PRN 31 relocks onto this signal. PRN 12 also suffers from this problem at around 75
321 seconds (Period B in the vertical yellow shadow), but it takes more time to recover.
322 After that, the CNR values of PRN 25, 21 and 31 decrease successively (Period C in
323 purple shadow). Unfortunately, these tracking loops never relock onto the lost signals.
324 Looking at the lower part of Fig. 8, the velocity values have a high correlation with the
325 CNR values, which means the decrease of CNR is caused by the automobile dynamics.
326 The middle panel in Fig. 8 is the CNR of vector tracking. Compared with that of
327 conventional tracking, vector tracking also suffers from the automobile dynamics, but
328 after a period of time, the lost signals (PRNs 31, 12, 25 and 21) can be relocked in
329 vector tracking. This is because the code frequency of the lost signal can be predicted
330 using the navigation solution calculated using the information of other channels in
331 vector tracking. In Fig. 8, the static stage is marked in light blue shadow, Period A.

332

333 Fig. 8 Carrier-to-noise ratio of vector tracking and conventional tracking, and the
334 horizontal velocity during the kinematic test

335 The horizontal positioning errors of conventional tracking and vector tracking are
336 presented in Fig. 9. The detailed quantitative positioning errors are listed in Table 1. It
337 can be seen that in the static stage, the two methods have similar performances.
338 However, in the kinematic process, vector tracking has a lower positioning error than
339 conventional tracking, especially after 50 seconds when the automobile is in
340 acceleration and deceleration processes.
341

342 Fig. 9 Horizontal positioning error of vectoring tracking and conventional tracking.
343 The reference trajectory is provided by NovAtel Flexpak6 receiver

344

345 Table 1 Horizontal positioning errors in three selected periods

Period (second) Error (meter)

CT VT

Static period A (1-30) 10.79 11.70

Kinematic B (70-90) 21.14 14.31


period C (91-113) 679.89 16.19

346

347 Conclusions

348 A GPS SDR based on vector tracking is implemented in this paper. The algorithm
349 design of vector delay lock loop is presented, with emphasis on the design of the EKF.
350 A conventional tracking-based receiver is also developed, which calculates the receiver
351 navigation solution using the same EKF as vectoring tracking. Static and kinematic
352 tests are conducted in an urban area and an open-sky environment, respectively, to
353 evaluate the performance of vectoring tracking and conventional tracking. Results show
354 that vector tracking has a better capability against signal interference, e.g., multipath
355 signal. Besides, in terms of dynamic performance, vector tracking outperforms
356 conventional tracking due to its coupling of all tracking channels.

357 The open-source GPS SDR can be used a basic tool to learn the principle of vector
358 tracking and compare its performance with conventional tracking. The contents and
359 functionalities of this software will be continually improved. The current MATLAB
360 software can be found on the GPS Toolbox website at: https://www.ngs.noaa.gov/gps-
361 toolbox. A user manual is also provided, which shows how to install the software and
362 how to process the data collected using a front-end. Any comments, suggestions or
363 corrections are welcome; please send these to the authors.

364
365 ACKNOWLEDGEMENTS
366 The authors acknowledge the support of Hong Kong PolyU startup fund on the project
367 1-ZVKZ, “Navigation for Autonomous Driving Vehicle using Sensor Integration”.
368
369
370
371 References
372 Bhattacharyya S, Gebre-Egziabher D (2010) Development and validation of parametric models for
373 vector tracking loops. Navigation: Journal of The Institute of Navigation 57:275-295
374 Borre K, Akos D, Bertelsen N, Rinder P, Jensen S (2007) A software defined GPS and Galileo receiver -
375 a single-frequency approach. Applied and Numerical Harmonic Analysis. Birkhäuser, Boston
376 Brewer J, Raquet J (2016) Differential vector phase locked loop. IEEE Transactions on Aerospace and
377 Electronic Systems 52:1046-1055
378 Copps E, Geier G, Fidler W, Grundy P (1980) Optimal processing of GPS signals. Navigation: Journal
379 of The Institute of Navigation 27:171-182
380 Groves P, Mather C (2010) Receiver interface requirements for deep INS/GNSS integration and vector
381 tracking. J Navig 63:471-489
382 Hsu L-T, Gu Y, Kamijo S (2015a) 3D building model-based pedestrian positioning method using
383 GPS/GLONASS/QZSS and its reliability calculation. GPS Solutions 20:413-428
384 Hsu L-T, Groves P, Jan S (2013) Assessment of the multipath mitigation effect of vector tracking in an
385 urban environment. In: Proceedings of ION Pacific PNT 2013, Honolulu, Hawaii, 22-25 April
386 2013, pp 498-509
387 Hsu L-T, Jan S, Groves P, Kubo N (2015b) Multipath mitigation and NLOS detection using vector
388 tracking in urban environments. GPS Solutions 19:249-262
389 Lashley M, Bevly D (2007) Analysis of discriminator based vector tracking algorithm. In: Proceedings
390 of ION NTM 2007, San Diego, CA, 22-24 January 2007, pp 570-576
391 Lashley M, Bevly D (2009) Vector delay/frequency lock loop implemenation and analysis. In:
392 Proceedings of ION ITM 2009, Anaheim, CA, 26-28 January 2009, pp 1073-1086
393 Lashley M, Bevly D (2013) Performance comparison of deep integration and tight coupling. Navigation:
394 Journal of The Institute of Navigation 60:159-178
395 Lashley M, Bevly DM, Hung JY (2009) Performance analysis of vector tracking algorithms for weak
396 GPS signals in high dynamics. IEEE Journal of Selected Topics in Signal Processing 3:661-673
397 Liu J, Yin H, Cui X, Lu M, Feng Z (2011) A direct position tracking loop for GNSS receivers. In:
398 Proceedings of ION GNSS 2011, Portland, OR, 20-23 September 2011 2011. pp 3634-3643
399 Luo Y, Babu R, Wu W, He X (2012) Double-filter model with modified Kalman filter for baseband signal
400 pre-processing with application to ultra-tight GPS/INS integration. GPS Solutions 16:463-476
401 Maier D, Frankl K, Pany T (2018) The GNSS-transceiver: using vector-tracking approach to convert a
402 GNSS receiver to a simulator: implementation and verification for signal authentication. In:
403 Proceedings of ION GNSS+ 2018, Miami, Florida, 24-28 September 2018
404 Mohamed A, Schwarz K (1999) Adaptive Kalman filtering for INS/GPS. Journal of Geodesy 73:193-
405 203
406 Ng Y, Gao GX (2017) GNSS multireceiver vector tracking. IEEE Transactions on Aerospace and
407 Electronic Systems 53:2583-2593
408 Pany T, Eissfeller B (2006) Use of a vector delay lock loop receiver for GNSS signal power analysis in
409 bad signal conditions. In: Proceedings of 2006 IEEE/ION Position, Location, And Navigation
410 Symposium, Coronado, CA, USA, 25-27 April 2006, pp 893-903
411 Petovello MG, Lachapelle G (2006) Comparison of vector-based software receiver implementations with
412 application to ultra-tight GPS/INS integration. In: Proceedings of ION GNSS 2006, Fort Worth,
413 TX, 26-29 September 2006, pp 1790-1799
414 Ren T, Petovello M, Basnayake C (2013) Improving GNSS bit synchronization and decoding using
415 vector tracking. In: Proceedings of ION GNSS+ 2013, Nashville, TN, 16-20 September 2013,
416 pp 121-134
417 Shytermeja E, Garcia-Pena A, Julien O (2017) Dual-constellation vector tracking algorithm in ionosphere
418 and multipath conditions. In: Proceedings of ITSNT 2017, ENAC, Toulouse, France, 14-17 Nov
419 2017
420 Spilker JJ (1996) Fundamentals of signal tracking theory. In: Parkinson BW, Spilker, J.J., Axelrad, P.,
421 Enge, P. (ed) Global positiooning system: theory and application, vol 1. Progress in Astronautics
422 and Aeronautics, vol 163, 2 edn. American Institute of Aeronautics, Washington, pp 289-327
423 Sun Z, Wang X, Feng S, Che H, Zhang J (2016) Design of an adaptive GPS vector tracking loop with
424 the detection and isolation of contaminated channels. GPS Solutions 21:701-713
425 Syed Dardin S, Calmettes V, Priot B, Tourneret J-Y (2013) Design of an adaptive vector-tracking loop
426 for reliable positioning in harsh environment. In: Proceedings of ION GNSS+ 2013, Nashville,
427 TN, 16-20 September 2013, pp 3548-3559
428 Tabatabaei A, Mosavi M (2017) Robust adaptive joint tracking of GNSS signal code phases in urban
429 canyons. IET Radar, Sonar & Navigation 11:987-993
430 Van Nee D, Coenen A (1991) New fast GPS code-acquisition technique using FFT Electronics Letters
431 27:158-160
432 Won J, Dötterböck D, Eissfeller B (2010) Performance comparison of different forms of Kalman filter
433 approaches for a vector-based GNSS signal tracking loop. Navigation: Journal of The Institute
434 of Navigation 57:185-199
435 Zhao S, Akos D (2011) An open source GPS/GNSS vector tracking loop - implementation, filter tuning,
436 and results. In: Proceedings of ION ITM 2011, San Diego, CA, 24-26 January 2011, pp 1293-
437 1305
438 Zhao S, Lu M, Feng Z (2011) Implementation and performance assessment of a vector tracking method
439 based on a software GPS receiver J Navig 64:S151-S161
440
Bing XU is currently a Postdoctoral Fellow with
Interdisciplinary Division of Aeronautical and Aviation
Engineering, The Hong Kong Polytechnic University. He
received his B.S. and PhD. degrees in Network
Engineering and Navigation Guidance and Control from
Nanjing University of Science and Technology, China, in
2012 and 2018, respectively. His research focuses on
signal processing in software-defined GNSS receivers.

441
Li-Ta HSU received the B.S. and Ph.D. degrees in
aeronautics and astronautics from National Cheng Kung
University, Taiwan, in 2007 and 2013, respectively. He is
currently an assistant professor with Interdisciplinary
Division of Aeronautical and Aviation Engineering, The
Hong Kong Polytechnic University, before he served as
post-doctoral researcher in Institute of Industrial Science
at University of Tokyo, Japan. In 2012, he was a visiting
scholar in University College London, U.K. His research
interests include GNSS positioning in challenging
environment and localization for pedestrian, autonomous
driving vehicle and unmanned aerial vehicle.

442

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy