Figure 2. Conventional GPS position estimate process
A generalized form of GPS position estimate processors
has independent parallel estimators for each. That is, no
use is made of the fact that the delays
i
may be correlated
by the geometry of the transmission paths. Most present
GPS receivers are included in this class. So the generic
GPS receiver encountered frequently the situation where
the signal-to-noise ratio of each individual signal is too
small to process independently (i.e., below threshold).
0 1000 2000 3000 4000 5000 6000 7000
-150
-100
-50
0
50
100
150
DLL Code Tracking Error (Pseudorange Error) [m]
0 1000 2000 3000 4000 5000 6000 7000
-80
-60
-40
-20
0
20
40
60
80
100
DLL Code Tracking Error (Pseudorange Error) [m]
(a)1 weak signal (b) 2 weak signals
Figure 3. Tracking Error of Generic Tracking Loop
Figure 3(a) and (b) represent the code tracking error. We
can see that the channels with lower signal strength cannot
remain in lock.
EKF BASED CODE TRACKING LOOP
The second form of processor estimates the position
directly without an independent intermediate delay
estimate. This estimator may also produce an estimate of
delay, because with GPS a delay estimate is needed for
recovery of the navigation data.
2879 ION GPS/GNSS 2003, 9-12 September 2003, Portland, OR
Then the estimation can be represented as following
equation and figure:
[ ( )]
a a
x F r x =
(1)
Position Estimate
Processor
( , ) r t x x
Position
Estimate
Figure 4. EKF based GPS position estimate process
The received baseband signal summed all satellites signals
is the function of user position directly.
As we know, not all of their delay measurements are truly
independent because the geometry of the satellite-user
paths depends on the motion of satellite and user. That is,
delay time of each channel is changed simultaneously as
user or satellite is moving and is correlated with user
dynamics.
This means that all of delay times have to be estimated in
a single vector-processing loop, the vector DLL. This loop
contains the delay time estimation processor for all
satellites in view using the estimated position rate vector.
This form was defined as the vector delay lock loop
(VDLL) by the author of [1].
The VDLL is a further generalization of the extended
Kalman filter (EKF) and is a quasi-optimal extension of
the EKF estimation process.
To derive the VDLL configuration, it can be written the
Taylors series expansion for the signal from satellite i as
follows:
| |
( ( )) ( ( )) ( ( )) ( )( ) ,...
T
i i i i i i i
s t x t s t x s t x g t x x = + +
(2)
where
, , ,
T i i i i
i
g
x y z B
| |
|
\ .
,
| | ( )
i i
i i
s
s t x
x x
=
,
( ) ( )
i
i i i
i
s
s t t
Using the Jacobian geometric matrix
i j
x G =
to
obtain an approximation for observation equation and the
following linearized observation matrix equation is
produced.
1 1 1
2 2 2
( ) ( ) ( )
( ) ( ) ( )
( )
( ) ( ) ( )
k
k
d
N N N k
r t s t g t
r t s t g t
v t P
r t s t g t
( (
( (
( (
( ( = +
( (
( (
( (
" "
" "
k
A n+, ...,
1 1 1 1
2 2 2 2
d
N N N N
x y z b
x x
y y
x y z b P n
z z
b b
x y z b
(
(
( (
( (
( (
+
( (
( (
( (
(
(
k
A
# # # #
(3)
where
/ 1
k k k k
x x
=
is the user position vector error. And
rewrite above equation in discrete time notation as
follows;
1 1
2 2
/ 1
( ) ( )
( ) ( )
( ) ( )[ ]
( ) ( )
d k k k k k
N N
r t s t
r t s t
v t P G t x x n
r t s t
(
(
(
( = +
(
(
(
"
"
k
A
(4)
where the noise samples are independent in time, and the
noise has a covariance matrix
[ ]
T
k j k jk
E n n R =
.
This equation is now in the form where we can easily
generate the standard Kalman estimator by assuming the
following process and measurement equation:
1 k k k k
x F x w
= +
/ 1
/ 1
[ ]
k d k k k k k
k k k k k k
v P A G x x n
H x n H x
= +
= +
(5)
where we define
d k k k
P A G H =
. The Kalman estimator
equation can then be written as follows.
Predictor :
1/ /
k k k k k
x F x
+
=
Correction update :
| |
/ / 1 / 1
k k k k k k k k k
x x K v H x
= +
Kalman gain :
1
/ 1 / 1
T T
k k k k k k k k k
K P H R H P H
( = + +
GG
G
-
G
-
D
Integrate
( ) [ ( )] ( )
i i i
r t a s t t n t = +
k
x
1
( )
X
F p
2
( )
X
F p
3
( )
X
F p
+
1 1
( ) s t
1 1
( ) s t
1 1
( ) s t
LPF
LPF
LPF
( ) t ( ) t
1
x
i
m
EKF
O
b
s
e
r
v
a
t
i
o
n
V
e
c
t
o
r
Figure 5. Structure of EKF-based Vector DLL
The NCOs act as the integrators in the VDLL.
There are several advantages of this VDLL receiver if the
number of satellites exceeds the number of dimensions to
be estimated. In principle, the use of signals from N>4
satellites in parallel may provide enough total signal
power to track successfully and to obtain accurate position
estimates using the VDLL receiver under same conditions
where the signal strength from each individual satellite is
so low that none of the individual conventional (scalar)
DLL can remain in lock when operating independently.
There are variations in this vector delay lock receiver
depending on the dimensionality of the user state vector,
and the dimensionality of the measurements; e.g.,
pseudoranges or pseudoranges plus Doppler/rate of
change measurements on the carrier and other sensor
inputs.
2880 ION GPS/GNSS 2003, 9-12 September 2003, Portland, OR
0 1000 2000 3000 4000 5000 6000 7000
0
1
2
3
4
5
6
x 10
6 DLL Code Lock Indicator
0 2000 4000 6000 8000 10000 12000 14000
-30
-20
-10
0
10
20
30
40
50
60
VDLL Code Tracking Error (Pseudorange Error) [m]
(a) Signal Strength (b) Tracking error
Figure 6. Case I: 1 weak signal exists
0 2000 4000 6000 8000 10000 12000 14000
0
1
2
3
4
5
6
7
x 10
6 VDLL Code Lock Indicator
0 2000 4000 6000 8000 10000 12000 14000
-30
-20
-10
0
10
20
30
40
50
60
VDLL Code Tracking Error (Pseudorange Error) [m]
(a) Signal Strength (b) Tracking error
Figure 7. Case II: 2 weak signals exist
Figure 6 and 7 represent the results of EKF based code-
tracking loop. Although some of received signals are weak
as we can see in the bottom of figure 6(a), 7(a), the
tracking errors of weak signals are stable and are similar
in variance to the other normal signals.
But it is impossible to wipe out the tracking errors
perfectly and as we know, total performance of tracking
loop can be seriously affected by the error or fault
occurred in one of the measured data from channels. In
addition, the loop still suffers from the high-dynamic
stress caused by the user motion. This problem made us
used the inertial measurement unit (IMU), the inertial
navigation systems (INS) and the distributed Kalman
filters; the federated Kalman filters.
FKF BASED CODE TRACKING LOOP
Generally, it is assumed that the measurement random
vectors from different sensors are uncorrelated, since the
measurements are obtained from different sensors.
But when we discussed about vector DLL, we assumed
that the delays
i
1 1
, I Q
2 2
, I Q
,
n n
I Q
Code DCO
, ,
e n u
a a a
, ,
n e d
V V V
a
B
,
i user
X
Figure 8. FKF based GPS Tracking & Navigation Process
In this model, the local filters estimate
i
using the
sampled I and Q measurements and external aiding
information from INS. The master filter estimate
i
and
user position and update or reset local filters with the rule
of information sharing theory. And this is the reduced
order model.
Local Filters
Code Generator Code Generator
E
I
Digital
IF
x
x
x
x
x
x
x
x
SIN COS
Carrier
NCO
Clock
Code
NCO
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
( )
Local
Filter
Loop
Filter
sin cos
I
Q
P
I
L
I
E
Q
P
Q
L
Q
Code,
Carrier
Error
,
i i
P
ned
a
G
Figure 9. Designed Local Filter
First, the received GPS signal can be written as
mathematical model:
2881 ION GPS/GNSS 2003, 9-12 September 2003, Portland, OR
( ) ( ) ( ) 2 ( ) sin[ ( )]
( ) cos[ ( )] ( )
c d
n c n T
s t D t C t P t t t
J t t t n t
= +
+ + +
(6)
where,
( ) D t : data modulation
( ) C t
: code modulation
( ) P t
: signal power
c
: carrier frequency
( = + +
=
,
.
( )
disc
S DLL
DLL
D
K
=
(12)
.
. .
. .
( )
disc
disc S disc
dopp sat user
f F f f = = +
(13)
. . . .
. .
,
disc disc disc true disc
user dopp sat user user n
f f f f f f = = +
(14)
Because this value contains the Dopper component by
satellite movement, it may be removed. And if we know
the user dynamics
R
a V =
G
from INS, the Doppler effect
can be derived as following equations.
1
( )
INS S T true INS
dopp INS user n
f H V n f f
= + = +
(15)
The noise components
.
,
disc INS
n n
f f
of these measurements
are zero mean white-noise random process.
Then the measurements for local filters are below.
. . disc INS disc INS
user user user user
z f f or z = =
(16)
By using these measurements, we can easily generate the
standard Kalman estimator by following equations.
State time propagation:
, , , 1| 1
, 1,...,
i k i k i k k
x x i n
= =
(17)
Covariance time propagation:
, , , 1| 1 ,
T T
i k i k i k k i k i
P P GQG
= +
(18)
Kalman gain calculation:
1
1
, , ,
T T T
i i k i i i k i i i k i i
K P H H P H R P H R
( = + =
(19)
State measurement update:
| |
, | ,
i k k i i i k i i
x I K H x K z = +
(20)
Covariance measurement update:
1 1 1
, | ,
T
i k k i k i i i
P P H R H
= +
(21)
where i is the index of i
th
local filter and the state
,
[ ]
i k
x =
is the input of the master filter.
Master Filter
The master filter received the estimated delay times, error
covariance matrix, and estimated velocity information
from INS. The basic structure of master filter is similar to
the EKF model discussed in above section.
The state vector of master filter is the 3-D position vector
and the estimate of i
th
delay time is calculated using the
results of master filter. The master filter is almost same of
the EKF based code-tracking loop. The difference is that
the error covariance of the measurement in master filter is
the combination of the error covariance of local filters.
2882 ION GPS/GNSS 2003, 9-12 September 2003, Portland, OR
Master Filter
(VDLL)
Vector
DLL
Positioning
Error Corrections
1 1
, p
2 2
, p
,
n n
p
, ,
n e d
V V V
,
i user
X
INS Filter
for IMU
INS Filter
for IMU
Code DCO
DCO commands
Local
Filters
Loop Filter
2
n
1
Figure 10. Master Filter Block Diagram
The idea of this combination is based on the rule of
information sharing. We defined the distribution ratio as
i
of local filters is 1.
0
1 1
1, 0 1
n
i i i
=
=
(22)
By this principle, we can determine the distribution ratio
from the geometry matrix from satellite and user.
If we have the unity LOS vector and users motion vector
at time
k
t
, then we can achieve the distribution ratio
vector by following equation.
0
1
1
k k
k
R s
n
t t
R
i i
t
V
V
=
=
G G
G
(23)
This equation represents that user motion during every
master filter cycle is defined as a unity value and is used
to share the information of the estimated output of master
filter for local filters. The master filter also produces the
estimated user velocity and which is used for INS error
correction.
There are several operation modes of federated Kalman
filter. Among them are the federated no-reset (FNR) and
the federated zero-reset (FZR). The federated no-reset
(FNR) filter is not a good method for this application,
because it requires the local filters to maintain the
accumulated system information. Here the local filters are
simple low-order filters, and are not capable of retaining
the accumulated system information. On the other hand,
the FZR filter is ideally suited for this purpose, because in
the FZR mode the master filter maintains the accumulated
system information. In this paper, we considered FZR
mode only.
PROCESSES OF GPS/INS INTEGRATION
USING FKF
The filter cycles of the master filter and the local filters
are different. The local filters operate every 1ms to act as
the signal tracking loops. The master filter operates every
20ms (general accumulation time) or 32ms (Builders
accumulation time) to measure the delay time of satellite
signal and to calculate the user position. Summary of
operation steps is below:
1. Estimate delta delay time in E-L discriminator
using I and Q sampled data.
2. Estimate special Doppler components for local
filters caused by user dynamics using the INS
velocity changes and the output of discriminator.
3. Process each local filter with 1ms filter cycle,
however, the integration process in local filter
using both GPS and INS measurements is
operated with 10ms filter cycle.
4. The master filter estimates the position change
using the set of estimated delta delay time from
local filters and calculates the filtered delta delay
times for each signal tracking loop.
5. The master filter calculates the information
distribution ratio using the normalized user
position rate at every master filter cycle and
feeds back the distribution ratio and the filtered
delta delay time to the local filters.
6. The master filter also sends the user motion data
to the INS filter.
7. The INS filter processes the inertial navigation
algorithm using the measurements from IMU
and estimates the biases and drifts of accelero-
meters.
8. The local filter receives new I and Q sampled
data and corrected user dynamics information
from INS.
PERFORMANCE EVALUATION
Generally, the performance of tracking loop is evaluated
by the code tracking error. There are two types of tracking
errors; one is thermal noise error, another one is the
dynamic stress error. Total tracking error is the sum of
these errors.
First, the thermal noise error of tracking can be calculated
by the following equation.
0 0
2
1 ( )
2 / /
L
tDLL C
C
B
T meters
C N T C N
| |
= +
|
\ .
(24)
where
C
T
: time interval of a C/A code chip
L
B
: bandwidth of loop filter
0
/ C N
: signal-to-noise ratio
Second error term is the dynamic Stress Error, which is
expressed by following equation for second-order loop
filter.
(2)
2
1
( )
L
R t
=
(25)
2883 ION GPS/GNSS 2003, 9-12 September 2003, Portland, OR
where
(2)
: second derivative of user motion
L
: loop gain (
0 d
K K =
)
(a) Conventional DLL (b) EKF DLL
(c) FKF DLL (d) INS-aided DLL
Figure 11. Thermal Noise Error 1-
The above figures show the thermal noise errors of the
conventional DLL, EKF-based DLL, FKF-based DLL and
INS-aided DLL using FKF. These figures represent that
the performance of tracking error of the proposed ultra-
tightly coupled DLL using FKF is best with respect to the
SNR. Figure 12 depicted the probability density function
comparison of dynamic stress errors. The pdf of FKF
based DLL is closer to zero than those of others.
Figure 12. PDF of Dynamic Stress Errors
The total tracking error in 3- code tracking noise error is
the sum of these errors, and is lower than half of chip
spacing d.
3 3
2
DLL tDLL e
d
R = +
(26)
Then 1- code tracking noise error is below.
3 6
e
DLL tDLL
R d
= +
(27)
The following two figures are 3- total tracking errors of
the EKF-based DLL and FKF-based DLL. Top and left
figures of both figure 13 and figure 14 are the results of
the weak satellite signal tracking errors and similar to
those of other satellites.
0 2000 4000 6000 8000
0.4
0.6
0.8
1
PRN= 1
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 4
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 8
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 10
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 14
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 22
Figure 13. Tracking Loop Jitters: EKF based Model.
0 2000 4000 6000 8000
0.4
0.6
0.8
1
PRN= 1
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 4
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 8
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 10
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 14
0 2000 4000 6000 8000
0.31
0.32
0.33
0.34
PRN= 22
Figure 14. Tracking Loop Jitters: FKF based Model.
(a) EKF-based w/o INS (b) FKF-based w/o INS
(c) EKF-based with INS (b) FKF-based with INS
Figure 15. Pseudorange Estimation Errors
2884 ION GPS/GNSS 2003, 9-12 September 2003, Portland, OR
The pseudorange (PR) estimation errors of EKF-based and
FKF-based DLL are shown in figure 15. The figures
represent the pdf of PR errors. Figure 15 (a) and (b) are
the results of non-INS aiding, and figure 15 (c) and (d) are
the results of INS aiding. The best result is in figure 15 (d).
The following figures show the results of the estimated
Doppler using the proposed INS-aided FKF-based DLL.
In these figures, the Doppler value was converted to the
delta-tau (delay time) in meter.
Figure 16. The Estimated Doppler of the Proposed DLL
Figure 17. Tracking Errors of the Proposed DLL
Although there is the unstable initial transient time in
figure 16 and figure 17, all channels track well the
changing satellite signals as user moves. And although
there are two weak signals, the pseudorange tracking
errors are close to zero and stable.
CONCLUSIONS
In this paper, we proposed new integration type of GPS
and INS. The proposed method is based on the vector
delay lock processing, the tracking level INS-aiding and
the federated Kalman filtering techniques. We called it as
the ultra-tightly coupled GPS/INS integration using FKF.
The performance of the proposed method was evaluated
by simulation, which generate user path, GPS IF signals
and the output INS sensors. The results were depicted in
lots of figures and compared with the results of the
conventional DLL, EKF-based DLL with/without INS-
aiding. Many figures show that the proposed method is the
best and it is possible to track the weak signals and
provide the position in bad environment, especially indoor.
As a further work, a prototype ultra-tightly coupled
GPS/INS integration system will be constructed with
Mitel GPS receiver using this method and its performance
will be evaluated using the software GPS technique
developed by ourselves. Furthermore, these results will be
combined with other integrated navigation system.
ACKNOWLEDGMENTS
This work is supported by KISTEP National Research
Laboratory program. The authors wish to thank for their
technical and financial supports.
REFERENCES
[1] Bradford W. Parkinson and James J. Spilker Jr.,
Global Positioning System: Theory and Applications
Volume 1 & II, AIAA, Washington, 1996.
[2] Elliott D. Kaplan, Understanding GPS Principles and
Applications, Artech House, London, 1996.
[3] Peter S. Maybeck, Stochastic Models, Estimation and
Control Vol.I, Navtech Book & Software Store, 1994.
[4] R. G. Brown and P. Y. C. Hwang, Introduction to
Random Signals and Applied Kalman Filtering 3
rd
Edit., John Wiley & Sons, Boston, 1997.
[5] G. Minkler and J. Minkler, Theory and Application of
Kalman Filtering, Magellan Book Co., Palm Bay, FL,
1993.
[6] D. H. Titterton and J. L. Weston, Strapdown Inertial
Navigation Technology, IEE Radar, Sonar,
Navigation and Avionics Series 5, 1997.
[7] S. Alban, D. M. Akos S. M. Rock and D. Gebre-
Egziabher, Performance Analysis and Architectures
for INS-aided GPS Tracking Loops ION-NTM 2003,
pp. 611-622, 2003.
[8] D. J. Jwo, Optimisation and sensitivity analysis of
GPS receiver tracking loops in dynamic
environments, IEE Proc.-Radar, Sonar Navig., pp.
241-250, 2001.
[9] GPS Builder Designers Guide, GEC Plessey
Semiconductors, GPS Group, Wiltshire, United
Kingdom, Nov. 1994.
[10] Neal A. Carlson, Federated Filter for Distributed
Navigation and Tracking Applications, ION 58
th
AM,
pp340 353, 2002.
[11] G. -I. Jee, H. S. Kim, Y. J. Lee, C. G. Park, A GPS
C/A Code Tracking Loop Based on Extended
Kalman Filter with Multipath Mitigation, ION GPS
2002, pp 446-451, 2002.
2885 ION GPS/GNSS 2003, 9-12 September 2003, Portland, OR