-
Advanced Multi-Receiver Vector Trackingfor Positioning a Land
Vehicle
Yuting Ng, and Grace Xingxin GaoUniversity of Illinois at
Urbana-Champaign
BIOGRAPHIES
Yuting Ng is a Master’s student in the Aerospace Engi-neering
Department at the University of Illinois at Urbana-Champaign. She
received her Bachelor’s degree, graduatingwith university honors,
from the Electrical and ComputerEngineering Department at the same
university in 2014.
Grace Xingxin Gao is an assistant professor in theAerospace
Engineering Department at the University of Illi-nois at
Urbana-Champaign. She obtained her PhD from Stan-ford University in
2008. She was a research associate atStanford University from 2008
to 2012.
ABSTRACT
The novel Multi-Receiver Vector Tracking (MRVT) archi-tecture
for the joint tracking of multiple GPS receivers, pre-sented in our
prior work [1], is improved upon in this followuppaper.
Improvements include an augmented software platform,Python Software
Defined Radio (Python SDR), which has,among its many enhancements,
a variable coherent integrationinterval with navigation bit
wipe-off. Dynamic process noisecovariance matrix, attitude aiding
and additional sub-sampletiming synchronization between individual
receivers. The mainconcept behind MRVT is still the same. The
reduction in theoverall search space, from the state vector of each
individualreceiver to a single reference state vector and attitude
of therigid body comprising the multi-receiver network, offers
in-creased information redundancy which brings about
increasedaccuracy, reliability and robustness to signal attenuation
andmultipath. In this paper, we begin by detailing the MRVT
con-cept and implementation, followed by demonstrating with
ourexperiments the enhanced performance of Advanced MRVTby showing
increased accuracy in positions, altitudes, base-lines and timing
with respect to conventional vector tracking.
I. INTRODUCTION
GPS receivers are commonly used for navigation purposes[2]–[4].
Examples are flying an unmanned aerial vehicle [5],[6] through
skyscrapers for captivating aerial photography andoperating a
self-driving car in the city [7]. Such environmentspresent
challenges to the single conventional GPS receiver inthe form of
limited signal availability and multipath [8]–[10].To overcome such
challenges, we aim to leverage upon theinherent potential of
combining results from more than one
The authors are with the Department of Aerospace Engineering,
Uni-versity of Illinois at Urbana-Champaign, Urbana, IL 61801, USA.
E-mail:[email protected], [email protected].
GPS receiver for better performance in navigation
solutionestimation [1], [5], [11], [12] . The concept we proposed
andpreliminarily verified with experimental data is
Multi-ReceiverVector Tracking (MRVT), which provides deep
multi-receiverintegration at the signal level [1].
MRVT can be thought of as an extension of Single-ReceiverVector
Tracking (SRVT). In SRVT, the states of multipleChannels within a
Receiver are jointly tracked through thestates of one Receiver
[13]–[20]. The Receiver states are:position, clock bias, velocity
and clock drift. Likewise, inMRVT, the states of the multiple
Receivers within a ReceiverNetwork are jointly tracked through the
states of one ReceiverNetwork. In this case, the Receiver Network
is a rigid bodyon which multiple GPS receiving antennas have been
installed.Since the antennas are installed on a rigid body, the
relativegeometry and baselines of the antennas remains
unchanged,can be estimated in advance, and used as prior
information. Assuch, the number of states required to describe the
ReceiverNetwork can be reduced to: reference position, clock
bias,velocity, clock drift and attitude. Once the Receiver
Networkstates have been estimated and filtered, this information
isthen used to augment the SRVT within each Receiver in theReceiver
Network. In this manner, the overall search space isreduced to the
states of the Receiver Network. This reductionin overall search
space offers increased robustness due toinformation redundancy.
This paper continues the development of the MRVT plat-form and
specifically focuses on the following improvements.1) Enhanced
software platform - Python Software DefinedRadio (Python SDR). 2)
Variable coherent integration intervalwith navigation bit wipe-off,
3) Dynamic process noise covari-ance matrix, 4) Attitude aiding, 5)
Determination of referencevelocity and clock drift and 6)
Additional sub-sample timesynchronization. The above improvements
were proposed forbetter accuracy, reliability and robustness as
compared tothe results presented in our prior work [1]. We
demonstratewith our experiments the enhanced performance of
AdvancedMRVT.
This paper is organized as follows: Section II describes
thebackground, theory and implementation of Single ReceiverVector
Tracking (SRVT) within each individual receiver. Sec-tion III
describes the theory and implementation of MRVT.Outputs from the
Single Receiver Vector Tracking Loop(STVTL) within each individual
receiver is used to estimatethe state of the MRVT Loop (MRVTL). The
output from theMRVTL is used to augment the SRVTL of each
individualreceiver. Section IV describes the improvements made to
the
-
Fig. 1. Single Receiver Vector Tracking (SRVT) architecture
implementedwithin each individual Receiver in this paper. The
quantities above and belowthe timeline are calculated within the
navigation filter of the receiver andtracking channels
respectively. The navigation filter is an Extended KalmanFilter
(EKF) with a two-step update process: measurement update
producingstate corrections at epoch boundaries and time update
predicting new statesfor the next epoch boundary.
Python SDR. Section V describes the experiments that
wereconducted on a road vehicle. Finally, Section VI concludes
thepaper.
II. BACKGROUND OF VECTOR TRACKING
First proposed in 1996 as the Vector Delay Lock Loop(VDLL) by
Spilker [13], there has been many variations to theconcept of
vector tracking [16]–[20]. This paper implementsa variation of the
non-coherent Vector Delay and FrequencyLock Loop (VD/FLL) [14],
[15] shown in Fig.1, within eachindividual receiver.
The state vector of each individual receiver is given as
(1):
X : state vector (1)
=
xyzcδtẋẏż
cδ̇t
x, y, z : position (m)ẋ, ẏ, ż : velocity (ms−1)c : speed of
light, 299792458, (ms−1)cδt : clock bias (m)cδ̇t : clock drift
(ms−1)
The non-coherent vector tracking architecture is imple-mented in
this paper. Thus, the error input vector e to the nav-igation
filter is composed of the scaled discriminator outputs(∆ρ,∆ρ̇) from
each channel [15]. The VDLL’s discriminatorfunction is the
normalized early-minus-late amplitude (2)and the VFLL’s
discriminator function is the four quadrantarc-tangent (3) [28].
The scaled discriminator output noisevariances (σ2∆ρ, σ
2∆ρ̇) are estimated using 20 past discriminator
outputs. The coherent integration period and measurementupdate
interval, ∆T , are the same and set to ∆T = 0.020s.Channel and
receiver updates are synchronous; the PythonSDR performs navigation
bit wipe-off such that the coherentintegration period can straddle
navigation bit boundaries.
The discriminator functions:
∆Φcode : DLL discriminator (chips) (2)
=E − L
2(E + L)
E =√iE2 + qE2
L =√iL2 + qL2
∆fcarr : FLL discriminator (Hz) (3)
=tan−1( crossdot )
2π∆Tcross = iP0qP1 − iP1qP0dot = iP0iP1 + qP0qP1
(iE, qE, iP, : coherent in-phase and quadrature-phaseqP, iL, qL)
early, prompt, late correlations
∆T : coherent integration period andmeasurement update interval,
0.020(s)
The discriminator outputs (∆Φcode(chips), ∆fcarr(Hz)),are scaled
into pseudorange and pseudorangerate, (∆ρ(m),∆ρ̇(ms−1)) errors
(6,7) before being concatenated into theerror input vector e (4).
Similarly, the discriminator outputnoise variances are scaled
before being concatenated into theerror noise covariance input
matrix W (5).
e : error input vector (4)= e(∆ρ1...∆ρN ,∆ρ̇1...∆ρ̇N )
= [∆ρ1... ∆ρN ,∆ρ̇1... ∆ρ̇N ]T
W : error noise covariance input matrix (5)= W (σ2∆ρ1 ...σ
2∆ρN , σ
2∆ρ̇1 ...σ
2∆ρ̇N )
=
σ2∆ρ1 0 0 0 0 0
0 ... 0 0 0 00 0 σ2∆ρN 0 0 0
0 0 0 σ2∆ρ̇1 0 0
0 0 0 0 ... 00 0 0 0 0 σ2∆ρ̇N
∆ρ : pseudorange error (m) (6)
=−cfC/A
∆Φcode
∆ρ̇ : pseudorangerate error (ms−1) (7)
=−cfL1
∆fcarr
fC/A : frequency of C/A code, 1.023, (MHz)fL1 : frequency of L1
carrier, 1575.42, (MHz)
The navigation filter within each individual receiver is
anExtended Kalman Filter (EKF) and thus have a two-step up-date
process: measurement update and time update, as shownin Fig.1. To
begin with, the measurement update producesthe state error vector
∆Xk used to obtain the corrected statevector Xk at epoch k. ∆Xk is
naturally determined in Earth-Centered-Inertial (ECI) coordinates
∆Xk,ECI as the range andrange-rate equations are most easily solved
in ECI coordi-nates (9). The measurement update of Xk is then
performedas such. The predicted state vector X̂k is first
transformed
-
from Earth-Centered-Earth-Fixed (ECEF) X̂k,ECEF to
ECIcoordinates X̂k,ECI . ∆Xk,ECI is then used to update X̂k,ECIas
Xk,ECI = X̂k,ECI + ∆Xk,ECI (11). The updated statevector Xk is then
transformed from ECI Xk,ECI back toECEF coordinates Xk,ECEF .
The EKF measurement update equations at time k are givenas
follows (8-12):
K : Kalman gain matrix (8)= Σ̂kH
T (HΣ̂kHT +W )−1
∆XECI : state error vector in ECI coordinates (9)= Ke
Σ̂k : predicted state error covariance matrixH : geometry matrix
in ECI coordinates (10)
= H(X1x,y,z,ECI ...XNx,y,z,ECI , X̂x,y,z,ECI)
=
(−los1x,y,z, 1) (0, 0, 0, 0)
... ...(−losNx,y,z, 1) (0, 0, 0, 0)
(0, 0, 0, 0) (−los1x,y,z, 1)... ...
(0, 0, 0, 0) (−losNx,y,z, 1)
losix,y,z : line of sight vector in ECI coordinates
= Xix,y,z −Xx,y,zXk : corrected state vector (11)
= X̂k + ∆X
Σk : corrected state error covariance matrix (12)= (I
−KH)Σ̂k
The EKF time update equations at time k + 1 are given asfollows
(13-18):
X̂k+1 : predicted state vector (13)= FXk
Σ̂k+1 : predicted state error covariance matrix (14)= FΣkF
T +Qk
F : state propagation matrix (15)= F (∆T )
=
1 0 0 0 ∆T 0 0 00 1 0 0 0 ∆T 0 00 0 1 0 0 0 ∆T 00 0 0 1 0 0 0
∆T0 0 0 0 1 0 0 00 0 0 0 0 1 0 00 0 0 0 0 0 1 00 0 0 0 0 0 0 1
The initial predicted state error covariance matrix Σ̂0 is
estimated using 20 past state vectors XECEF . The stateprocess
noise covariance matrix, Qk, is time-varying [21]. Itis set using
the 20 sample running average amplitude of thereceiver’s velocity v
= ||ẋ, ẏ, ż|| [22] and the specification ofthe external clock
[23]. The steps to estimate Qk is as shownin (16-18).
Qk : state process noise covariance matrix (16)
= F
[0 00 Qv,k
]FT
Qv,k : velocity and clock drift component of Qk (17)
=
f(vk) 0 0 0
0 f(vk) 0 00 0 f(vk) 00 0 0 (c× 2.5e−10)2
f(vk) : saturation function for velocity vk (18)
= 1 + 250/(min(max(v2k, 52), 252))
While the navigation filter in the receiver performs theEKF
measurement and time updates, the channels perform thefrequency and
phase updates.
The equations for the frequency update, after the EKFmeasurement
update, at time k are given as follows (19-22):
f icarr,k : corrected carrier frequency (19)
of the ith satellite= fIF + f
idcarr,k
fIF : intermediate frequency (IF), 0(Hz)f idcarr,k : corrected
carrier doppler frequency (20)
of the ith satellite
=−fL1c
(−losix,y,z · (Xẋ,ẏ,ż,ECI
−Xiẋ,ẏ,ż,ECI) + c(Xδ̇t −Xiδ̇t
))
f icode,k : corrected code frequency of the ith satellite
(21)
= fC/A +1
∆T(Φicode,k − Φ̂icode,k)
+fcaid ∗ f idcarr,kΦicode,k : corrected code phase of the i
th satellite (22)
= mod(−fC/Ac
(∥∥Xx,y,z,ECI −Xix,y,z,ECI∥∥
+c(Xδt −Xiδt)), 1023)
The equations for the phase update, at the same time as theEKF
time update, at time k + 1 are given as follows (23,24):
Φ̂icode,k+1 : predicted code phase of the ith satellite (23)
= Φicode,k + ficode,k∆T
Φ̂icarr,k+1 : predicted carrier phase of the ith satellite
(24)
= Φicarr,k + ficarr,k∆T
III. MULTI-RECEIVER VECTOR TRACKINGIn MRVT, the corrected state
vector X of each receiver
is used to determine the reference state vector Xref of therigid
body. The reference state vector Xref of the rigid bodycontains the
reference position, clock bias, velocity, clock driftand attitude
of the rigid body. After the reference state vectoris determined,
it is used to augment the VTL of the individualreceivers as shown
in Fig.2.
Within the navigation filter of the Receiver Network,
thereference clock bias is first determined. The state vector
of
-
Fig. 2. MRVT architecture implemented in this paper.
Fig. 3. MRVTL update implemented in this paper.
each Receiver X is then propagated in time to match the
ref-erence clock bias, synchronizing the Receivers. The
referenceposition, velocity and clock drift states of the reference
statevector Xref is then determined. This can be done
throughvarious methods, such as simple averaging or Kalman
filtering.For the results shown in the next section, a simple
averagingwas performed. Then, the attitude of the Receiver Network
isdetermined. Similarly, the attitude may be determined
throughvarious methods. For the results shown in the next section,
theattitude was obtained from the reference velocity. After
theattitude is determined, the updated positions of each Receiveris
fed back to the Receiver, aiding their VTL. See Fig.3.
A. Attitude determination using reference velocity
Attitude determination using reference velocity is based onthe
idea that the direction of the reference velocity is the
frontdirection. When the vehicle is reversing, the front
directionis taken as the opposite direction of the reference
velocity.
To obtain the attitude of the Receiver Network through
thereference velocity, the reference velocity is first
convertedfrom the global ECEF to the local East-North-Up
(ENU)coordinates. Following that, the velocity in the Up
directionis set to 0 since the experiment is performed using a
groundvehicle. Next, the velocity vector is normalized to produce
adirection vector in the East-North plane. The front and
rightdirections are then determined and used to form the
baselinevectors. Lastly, the baseline vectors are transformed from
thelocal ENU to the global ECEF coordinates then used to updatethe
state vectors Xs of the individual receivers.
Fig. 4. Geometry of receiving antennas on the roof of a vehicle.
East,North, Up (ENU) are local level coordinates. right, front, top
are bodycoordinates. Each antenna is given a color label,
referenced in the figures ofthe results, Fig.10.
B. Coordinate transformations: body and local coordinates
The body coordinates is an arbitrary coordinate system usedto
describe the antenna geometry. In this paper, the origin ofthe body
coordinates is set at the reference position of therigid body,
which is defined to be the geometric center ofthe four receivers.
The x-axis points to the right, the y-axispoints to the front and
the z-axis points to the top of therigid body, Fig.4. The yaw angle
is defined an as the anglein the East-North plane, increasing in
the counter-clockwisedirection from the North axis to the front
direction. Theequations to convert the yaw angle into a direction
vector inthe East-North plane are given as follows (25,26):
E : East component of front direction vector (25)
= cos(yaw +π
2)
N : North component of front direction vector (26)
= sin(yaw +π
2)
After the attitude is determined through either approach,
theupdated state vector X of each Receiver is reverse propagatedin
time, then fed back to the Receiver, aiding their VTL.The EKF time
update step then follows in each Receiver.In this manner, the state
vectors of the individual receiversare constrained, leading to a
reduction in the overall searchspace, offering an increased
robustness to signal attenuationand multipath.
IV. IMPROVEMENTS TO PYTHON SDR
To implement the MRVT architecture, we needed a researchplatform
that allows for effective information sharing and deepintegration
between multiple receivers. The research platformshould also be
flexible, extensible, intuitive and free. As such,we developed
Python SDR which is a Software Defined Radio(SDR), written using
the Object-Oriented Programming (OOP)approach in the Python
programming language. Python SDRheavily references [13],
[26]–[32].
Since Python SDR is an SDR, most of the receiver process-ing
functions are performed in software, as shown in Fig.5. Inthe case
of Python SDR, the frontend hardware componentsthat it requires are
a GPS antenna and an Analog-to-Digital
-
Fig. 5. Python Software Defined Radio (Python SDR). After the
digitizationof the received signal by the Analog-to-Digital
Converter (ADC), the rest ofthe receiver processing functions are
performed in software. Shown within thePython SDR box are some
commonly used classes and their interconnections.
converter (ADC), such as the SiGe sampler [37] or a
UniversalSoftware Radio Peripheral (USRP) [38], both of which it
hasbeen tested to work with. Python SDR also accepts simulateddata,
such as that from the NI GPS Simulator [39]. After theADC, Python
SDR takes in raw sampled voltages as input.
Python SDR models real-world hardware receivers by hav-ing
intuitive objects such as Channel, Correlator, Discriminatorand
LoopFilter, defined as classes and organized into modules.Since the
previous iteration of Python SDR used in our priorwork [1], we have
revised the organization of the modules. Therevised organization
increases the ease of use, intuitiveness andeffectiveness of the
Python SDR. Fig.IV shows the revisedorganization of modules within
Python SDR.
We have also revised the interconnections between classesto
enable new functionality. Classes are objects with thecapacity to
store relevant information, known as attributes orfields, and the
ability to perform object-specific functions,also known as methods.
For example, an instance of theChannel class would include the
following attributes: a defin-ing pseudorandom noise (PRN) code,
Settings, Correlator,DLL Discriminator, F/PLL Discriminator, DLL
LoopFilter,F/PLL LoopFilter, code and carrier frequency and
phase,etc. It would also include the following methods: init
(),cold start(), ... and update(), where init () is the
construc-tor that creates an instance of the Channel object. See
Fig.6.
The Python SDR is able to perform varying coherentintegration
periods in multiples of 1ms. Increased coherentintegration periods
allow for more robustness to SNR degra-dation Fig.7(c-e). The
maximum coherent integration durationis limited by platform
dynamics.
Each iteration of Python SDR has been checked for ac-curacy, see
Fig.7. For example, the parsed ephemerides, rawpseudorange and
carrier phase measurements have been com-pared against the RINEX
file of the Trimble NetR9 Receiver[33] located on the roof of
Talbot Laboratory, Universityof Illinois at Urbana-Champaign. The
calculated satellitepositions and clock biases have been checked
against IGSephemerides [34]. The calculated satellite velocities
and clockdrifts have been checked against the time difference of
thesatellite positions and clock biases. The estimated
positions
Fig. 6. (a) Revised organization of the modules available within
Python SDR,increasing the ease of use and intuitiveness. (b)
scalar.channel.Channel classshowing its attributes, functions and
interconnections with related classes. TheChannel object is able to
access essential information stored within relatedobjects such as
the Correlator object through having the Correlator objectas one of
its attributes. Similarly, the DLL Discriminator object is able
toaccess information of the past correlations saved within the
Channel object,enabling it to perform discriminations over longer
coherent integration periods.
(a) (b)
(c) (d) (e)
Fig. 7. Python SDR tracking accuracy. (a,b) Plots of in-phase
promptcorrelations against time. Navigation bits of 20ms duration
are clearly visible.Ephemerides are also successfully decoded.
(c,d,e) Code phase versus carrierdoppler plot across various
coherent integration periods: 5ms, 10ms, 15ms.
-
Fig. 8. Geometry of receiving antennas on the roof of the
vehicle. Eachantenna is given a distinguishing color label,
referenced in the figures of theresults Fig.10.
Fig. 9. Data collection equipment in the backseat of the
vehicle.
and velocities have been compared against prior information.In
addition, to ensure that the receiver maintains track of
thereceived signal, the plots of SNR, in-phase prompt and
quad-phase prompt correlations have been checked.
V. EXPERIMENTS ON A ROAD VEHICLE
Experiments on road vehicles were conducted to evaluatethe
performance of the MRVT architecture.
As a comparison against our prior results [1], the
sameexperimental data was processed. In that experiment, fourAntCom
3GNSSA4-XT-1 GNSS antennas [36] were installedat the four corners
of a vehicles roof, as shown in Fig.4 andFig.8. Each antenna was
connected to an Ettus Research USRPN210, equipped with a DBSRX2
daughterboard [38], [40]. Thecomplex GPS L1 raw signals were
modulated to 0-IF, digitizedat a sampling frequency of 2MHz and
output as interleavedcomplex shorts. The output data were sent
through an Ethernetswitch and written directly onto the internal
hard disk of alaptop running Ubuntu 12.04. The Universal Software
RadioPeripherals (USRPs) were triggered by the same
MicrosemiQuantum SA.45s Chip Scale Atomic Clock (CSAC) [41]. Apower
regulating circuit was built to power the equipment froma 12V
sealed lead acid battery. The equipment were placed
(SRVT) (MRVT)
(SRVT: altitude) (MRVT: altitude)
(SRVT: baseline residual) (MRVT: baseline residual)
(SRVT: cδt residual) (MRVT: cδt residual)
Fig. 10. Comparison of tracking results from SRVT and MRVT.
Plots ofaltitude, baseline residual and clock bias cδt residual
obtained immediatelyafter EKF measurement update. SRVT on the left.
MRVT on the right, withattitude aiding when the reference velocity
is above a set threshold value of0.5ms−1 (1.12mph).
in the backseat of the vehicle, as shown in Fig.9. Duringdata
collection, the vehicle was initially parked head-in at thesecond
parking lot from the bottom right corner. The vehiclethen
backed-out, turned onto the road and drove north.
A comparison of the results from SRVT and MRVT isshown in
Fig.10. Fig.10 shows the tracks traced by theantennas on My Maps -
Google [35] and the altitudes, residualbaseline distances and
residual clock biases of the receivers.
-
The time taken to post-process the received signals from allfour
receivers, on an Intel Core i7-4700MQ CPU @ 2.40GHzx 8 running
Ubuntu 14.04LTS, was approximately 15 minutesfor each tracking
scheme.
As shown in Fig.10, MRVT provides more accurate re-sults as
compared to SRVT. It shows the individual MRVTpositions tracing out
smooth tracks in the expected directionwhile maintaining an
expected distance apart, without cross-overs, for a sustained
period of time. On the other hand,the individual SRVT positions did
not maintain the expecteddistance apart and had frequent
cross-overs. It also shows moreaccurate altitudes and baseline
distances when using MRVT.All tracking algorithms stabilized to a
constant, non-driftingrelative difference in clock bias, as
expected of being triggeredby the same external clock even though
the clock bias statesare not constrained in MRVT, unlike the
position states.
The experimental results demonstrated the vastly enhancedquality
of Advanced MRVT over our prior work [1]. AdvancedMRVT produced
smooth tracks, more reliable antenna baselinedistances and receiver
clock timings. The key modificationsthat we have implemented since
our prior work include (1)updating of code and carrier phase as
appropriate, (2) variableincreased coherent integration interval
with navigation bitwipe-off, (3) dynamic process noise covariance
matrix Q basedon velocity information, (4) attitude aiding, (5)
determinationof reference velocity and clock drift and (6)
additional sub-sample time synchronization through time propagation
of thestate vectors. Modification (1) smoothed out the code
andcarrier phase accumulator; modification (2) reduced the
dis-criminator and EKF noise. Thus, modifications (1) and (2) aidin
reducing the noise present in the results of our prior
work.Modification (3) automatically tunes the bandwidth of theEKFs;
modifications (4) and (5) introduced more constraintsinto the MRVT
architecture. Thus, modifications (3), (4) and(5) aid in increasing
stability, accuracy and robustness.
VI. CONCLUSIONIn conclusion, we have proposed the MRVT
architecture
as an extension of SRVT. By reducing the search space fromeach
individual Receiver to the Receiver Network, we haveincreased
information redundancy which offers more accurate,reliable and
robust results, especially under signal attenuationand multipath.
Since our prior work [1], we have madesignificant improvements to
our software platform - PythonSDR; we have also proposed and
implemented a few keyimprovements to the MRVT architecture.
Finally, we haveshown results of vast improvement compared to our
priorwork and validated the Advanced MRVT algorithm and
PythonSDR.
ACKNOWLEDGMENTThe authors would like to thank Ganshun Lim for
encour-
agement. Mr. Phil Ward for guidance and advice.
REFERENCES[1] Y. Ng, and G.X. Gao, “Multi-Receiver Vector
Tracking Based on a
Python Platform,” Proceedings of the 2015 International
TechnicalMeeting of The Institute of Navigation, Dana Point,
California, January2015, pp. 633-639.
[2] G. Mintsis, S. Basbas, P. Papaioannou, C. Taxiltaris, and I.
Tziavos,“Applications of GPS technology in the land transportation
system,”European Journal of Operational Research, vol. 152, no. 2,
pp. 399-409, 2004
[3] C. R. Drane, and C. Rizos, Positioning Systems in
Intelligent Trans-portation Systems. Norwood, MA, USA: Artech
House, Inc., 1998.
[4] S.T.S. Thong, C.T. Han, and T.A. Rahman, “Intelligent fleet
managementsystem with concurrent GPS & GSM real-time
positioning technology,”Proceedings of the 7th International
Conference on ITS Telecommuni-cations (ITST 07), June 2007, pp.
1-6
[5] A. Shetty, and G.X. Gao, “Measurement Level Integration of
MultipleLow-Cost GPS Receivers for UAVs,” Proceedings of the 2015
Inter-national Technical Meeting of The Institute of Navigation,
Dana Point,California, January 2015, pp. 842-848.
[6] D. Chen, and G.X. Gao, “Simultaneous State Estimation of
UAVTrajectory Using Probabilistic Graph Models,” Proceedings of the
2015International Technical Meeting of The Institute of Navigation,
DanaPoint, California, January 2015, pp. 804-810.
[7] C. Urmson, J. Anhalt, D. Bagnell, C. Baker, R. Bittner, M.N.
Clark,J. Dolan, D. Duggins, T. Galatali, C. Geyer, and others,
“Autonomousdriving in urban environments: Boss and the urban
challenge,” Journalof Field Robotics, vol. 25, no.8, pp. 425-466,
2008
[8] M. S. Braasch, “Multipath effects,” in Global Positioning
System: Theoryand Applications, B. Parkinson, J. Spilker, P.
Axelrad, and P. Enge, Eds.Washington, DC: American Institute of
Aeronautics and Astronautics,1996, vol. I, pp. 547-568
[9] B. Eissfeller, and J.O. Winkel, “GPS Dynamic Multipath
Analysis inUrban Areas,” Proceedings of the 9th International
Technical Meetingof the Satellite Division of The Institute of
Navigation (ION GPS 1996),Kansas City, MO, September 1996, pp.
719-727.
[10] A. Soloviev, F. van Graas, “Utilizing Multipath Reflections
in Deeply In-tegrated GPS/INS Architecture for Navigation in Urban
Environments,”Proceedings of IEEE/ION PLANS 2008, Monterey, CA, May
2008, pp.383-393.
[11] E. Wycoff, and G.X. Gao, “A Python Software Platform for
Coop-eratively Tracking Multiple GPS Receivers”, Proceedings of the
26thInternational Technical Meeting of the Satellite Division of
the Instituteof Navigation (ION GNSS+ 2014), Tampa FL, Sep
2014.
[12] D. Chou, Y. Ng, and G.X. Gao, “Robust GPS-Based Timing for
PMUsBased on Multi-Receiver Position-Information-Aided Vector
Tracking,”ION International Technical Meeting 2015, Dana Point,
California,January 2015.
[13] Spilker Jr, J., “Vector Delay Locked Loop” in Global
Positioning System:Theory and Applications, B. Parkinson, J.
Spilker, P. Axelrad, andP. Enge, Eds. Washington, DC: American
Institute of Aeronautics andAstronautics, 1996, vol. I, pp.
291-327
[14] S. Zhao, D. Akos, “An Open Source GPS/GNSS Vector Tracking
Loop- Implementation, Filter Tuning, and Results,” Proceedings of
the 2011International Technical Meeting of The Institute of
Navigation, SanDiego, CA, January 2011, pp. 1293-1305.
[15] S. Bhattacharyya, Performance and Integrity Analysis of the
VectorTracking Architecture of GNSS Receivers. PhD Dissertation,
39-114,2012. Retrieved August 1, 2014, from
http://www.aem.umn.edu/info/spotlight/bhattacharyya thesis
final.pdf
[16] M. Zhodzishsky, S. Yudanov, V. Veitsel, J. Ashjaee, “Co-OP
Tracking forCarrier Phase,” Proceedings of the 11th International
Technical Meetingof the Satellite Division of The Institute of
Navigation (ION GPS 1998),Nashville, TN, September 1998, pp.
653-664.
[17] J. Liu, X. Cui, Q. Chen, M. Lu, “Joint Vector Tracking Loop
in a GNSSReceiver,” Proceedings of the 2011 International Technical
Meeting ofThe Institute of Navigation, San Diego, CA, January 2011,
pp. 1025-1032.
[18] J. Brewer, The Differential Vector Phase-Locked Loop for
Global Navi-gation Satellite System Signal Tracking. PhD
Dissertation, 22-40, 2014.Retrieved August 1, 2014, from
http://www.dtic.mil/cgi-bin/GetTRDoc?AD=ADA603126
[19] P. Henkel, K. Giger, and C. Gunther, “Multifrequency,
MultisatelliteVector Phase-Locked Loop for Robust Carrier
Tracking,” IEEE Journalof Selected Topics in Signal Processing,
3(4), 674-681, 2004
[20] P. Henkel, G.X. Gao, T. Walter, and C. Gunther, “Robust
Multi-Carrier,Multi-Satellite Vector Phase Locked Loop with
Wideband IonosphericCorrection and Integrated Weighted RAIM”,
Journal of Italian Instituteof Navigation, issue 190, December
2009
[21] F.D. Busse, J.P. How, J. Simpson, “Demonstration of
Adaptive Ex-tended Kalman Filter for Low-Earth-Orbit Formation
Estimation UsingCDGPS,” Navigation, vol. 50, no. 2, Blackwell
Publishing Ltd, 2161-4296, pp. 79-93, 2003.
-
[22] MathWorks, “State Estimation Using Time-Varying Kalman
Filter,”Retrieved June 3, 2015, from
http://www.mathworks.com/help/control/getstart/estimating-states-of-time-varying-systems-using-kalman-filters.html
[23] Microsemi, “QUANTUM Chip Scale Atomic Clock Product Info,”
Re-trieved June 3, 2015, from
http://www.microsemi.com/products/timing-synchronization-systems/csac#product-info
[24] Z. Dai, S. Knedlik, and O. Loffeld, “Toolbox for GPS-based
AttitudeDetermination: An Implementation Aspect” INTECH Open
AccessPublisher, pp. 391-395, 2010.
[25] G. Lu, G. Lachapelle, M.E. Cannon, P. Kielland, “Attitude
Determi-nation in a Survey Launch Using Multi-Antenna GPS
Technology,”Proceedings of the 1993 National Technical Meeting of
The Instituteof Navigation, San Francisco, CA, January 1993, pp.
251-259.
[26] P. Misra and P. Enge, Global Positioning System: Signals,
Measurements,and Performance, 2nd ed. Lincoln, MA: Ganga-Jamuna
Press, 2006
[27] Y.-H. Chen, J.-C. Juang, J. Seo, S. Lo, D. M. Akos, D. De
Lorenzo,and P. Enge, “Design and implementation of real-time
software radio foranti-interference GPS/WAAS sensors,” Sensors,
vol. 12, no. 10, pp.13417-13 440, 2012
[28] E. Kaplan, C. Hegarty, P. Ward, and J. Betz, “Chapter 5:
Satellite SignalAcquisition, Tracking, and Data Demodulation,”
Understanding GPS:Principles and applications 2nd ed., pp. 153-240,
Boston: Artech House,2006.
[29] P.W. Ward, “The Natural Measurements of a GPS Receiver,”
Proceed-ings of the 51st Annual Meeting of The Institute of
Navigation, ColoradoSprings, CO, June 1995, pp. 67-85.
[30] P.W. Ward, “Performance Comparisons Between FLL, PLL and
aNovel FLL-Assisted-PLL Carrier Tracking Loop Under RF
InterferenceConditions,” Proceedings of the 11th International
Technical Meeting ofthe Satellite Division of The Institute of
Navigation (ION GPS 1998),Nashville, TN, September 1998, pp.
783-795.
[31] P.W. Ward, T.D. Fuchser, “Stability Criteria for GNSS
Receiver TrackingLoops”, NAVIGATION, Journal of The Institute of
Navigation, Vol. 61,No. 4, Winter 2014, pp. 293-309.
[32] N. Ashby, and M. Weiss, “Global Position System Receivers
and Rel-ativity,” NIST Technical Note (Vol. 7385), Boulder,
Colorado: NationalInstitute of Standards and Technology, 1999
[33] Trimble, “Trimble NetR9 Geospatial,” Retrieved July 19,
2015 fromhttp://www.trimble.com/Survey/Trimble-Net-R9.aspx
[34] Internation GPS Service (IGS), “IGS Product Availability,”
RetrievedJuly 19, 2015 from
https://igscb.jpl.nasa.gov/components/prods cb.html
[35] Google, “My Maps,” Retrieved June 3, 2015 from
https://www.google.com/mymaps
[36] Antcom, “P/N: 3GNSSA4-XT-1,” Retrieved June 20, 2015
fromhttp://www.antcom.com/documents/catalogs/Page/3GNSSA4-XT-1
GNSSAntennas1.pdf
[37] GNSS SDR, “SiGe GN3S Sampler v2 USB front-end,” Retrieved
July20, 2015 from http://gnss-sdr.org/node/51
[38] Ettus Research, “USRP N210,” Retrieved June 20, 2015 from
http://www.ettus.com/product/details/UN210-KIT
[39] National Instruments, “NI GPS Simulator,” Retrieved July
20, 2015
fromhttp://sine.ni.com/nips/cds/view/p/lang/en/nid/206805
[40] Ettus Research, “DBSRX2 800-2300 MHz Rx,” Retrieved June
20, 2015from http://www.ettus.com/product/details/DBSRX2
[41] Microsemi, “QUANTUM Chip Scale Atomic Clock,” Retrieved
June 20,2015 from
http://www.microsemi.com/products/timing-synchronization-systems/csac#overview