gps positioning using virtual pseudorange

11

Click here to load reader

Upload: ilsun-kim

Post on 05-Jul-2016

236 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GPS positioning using virtual pseudorange

Control Engineering Practice 6 (1998) 25—35

GPS positioning using virtual pseudorange

Ilsun Kim!, Chansik Park",s, Gyu-In Jee#, Jang Gyu Lee$,*

!Multimedia Lab., Corporate Technical Operations, Samsung Electronics Co., Suwon, 442-742, Korea"Enterprise Network Division, Samsung Electronics Co., Seoul, 135-090, Korea

#Department of Electronics Engineering, Kon Kuk University, Seoul, 133-701, Korea$Automatic Control Research Center, School of Electrical Engineering, Seoul National University, Seoul, 151-742, Korea

Received 7 February 1997; accepted 11 November 1997

Abstract

An algorithm to overcome the problem of an insufficient number of visible satellites in a satellite-based navigation system such asthe Global Positioning System (GPS) is proposed. It can also be used when the user-satellite geometry is not good enough to give theuser a position with sufficient accuracy. The suggested algorithm has a new concept, here designated as a virtual satellite, witha ‘virtual pseudorange’. This paper contains analyses and experimental results comparing the suggested method and the conventionalvariable-fixing method. ( 1998 Elsevier Science ¸td. All rights reserved.

Keywords: Global Positioning System; pseudorange; satellite positioning

1. Introduction

In satellite-based navigation systems such as the Glo-bal Positioning System (GPS), the satellite constellationis designed to provide at least four visible satellites thatcan be observed from the ground, and whose elevationangles are greater than 15 degrees to any terrestrial user,because the positioning algorithm used in GPS requiresat least four visible satellites. It often happens that thenumber of satellites a user can actually see is less thanfour, especially when the user is in an urban area ora mountainous region where the signals from satellitesare blocked by buildings or other obstacles. The usermust wait for a while to find his/her location again, untilthe receiver tracks at least four visible satellites.

There are several ways to overcome this problem of aninsufficient number of visible satellites. In certain integ-rated navigation systems such as INS (Inertial Navi-gation System)/GPS, the user position is obtained byusing INS alone when GPS fails (Siouris, 1993). While an

*Corresponding author. Tel.: #82 2 880 7308; fax: #82 2 878 8198;e-mail: [email protected].

sPresent address: School of Electrical and Electronics Engineering,Chungbuk National University, Cheongju, 361-763, Korea.

INS/GPS gives good performance, it is too expensive tobe applied in commercial navigation applications such asvehicle navigation for an Intelligent Transportation Sys-tem (ITS). Other less-expensive navigation aid sensorssuch as odometers, magnetic compasses, and low-accu-racy rate gyros might be integrated with a GPS receiverfor inexpensive commercial applications. This type ofintegration is likely to be popular in the future, but itneeds additional hardware, at extra cost, and is inher-ently vehicle-dependent. Simpler methods, such as fixingthe user clock bias or altitude to a previously knownvalue (Yiu et al., 1984) are normally used in stand-aloneGPS receivers. However, the positioning accuracy ofsuch a procedure depends on the accuracy of the fixedvariables — altitude or clock bias — and the relativegeometry between the satellites and the user. Anothertechnique, called ‘‘map matching’’, is widely used in ve-hicle navigation applications, where a digital map is usedto offer an approximate location of the user, but thisrequires the incorporation of a large amount of map dataand complex hardware. The use of a Kalman filter isanother alternative. Kalman filters are implemented inmany GPS receivers to handle the noisy and dynamicenvironment of the receivers. They enable the positioningto be determined, even if there are fewer than four visiblesatellites, by merely updating variables without receivingexplicit pseudorange measurements (the estimated ranges

0967-0661/98/$19.00 ( 1998 Elsevier Science Ltd. All rights reservedPII S 0 9 6 7 - 0 6 6 1 ( 9 7 ) 1 0 0 6 0 - 0

Page 2: GPS positioning using virtual pseudorange

from the user to each satellite). Although the Kalmanfilter is a mathematically efficient in-place algorithm,there are challenges involved in the proper modeling ofuser dynamics in terms of linear system models, and incorrectly obtaining the corresponding statistics. Statisticsof the user dynamics must be known in order to performKalman filtering properly, but it is almost impossible tofind the number values that describe the user dynamicsfor the various situations a user meets.

In this paper, a new way to resolve the problem of aninsufficient number of visible satellites is proposed. Itrequires no additional hardware, and finds all the neces-sary variables: three user coordinates and the receiverclock bias. The idea is based on the new concepts, ‘‘vir-tual satellite’’ and ‘‘virtual pseudorange’’. These new con-cepts are very useful when the user-satellites’ geometry isnot good enough to give a positioning solution withsufficient accuracy, for relatively short intervals. Theproposed method is analyzed and compared with theconventional variable fix-method in Section 2. The ex-periment using the method was performed by installinga GPS receiver and a computer on a motor vehicle. Theresults demonstrate its usefulness, as illustrated with ac-tual data in Section 3.

2. Virtual satellite and virtual pseudorange

The pseudorange is defined as the measured distancefrom the user to a satellite as determined by the user’sreceiver. A ‘‘virtual satellite’’ is a fictitious satellite whichis considered to exist at an arbitrary location in space.With these two definitions, the definition of a ‘‘virtualpseudorange’’ follows naturally as the distance fromthe virtual satellite to the user location. The nominalposition of the user is required, in order to find theline-of-sight to the virtual satellite and the virtualpseudorange. The most recently known user’s positioncould be used as the nominal position. This concept ofa virtual satellite and a virtual pseudorange is illustratedin Fig. 1.

Assume that there are less than four visible satellites,and that the user position is calculated every second.There are two ranges to be considered. One is the rangefrom the current user position to the virtual satellite, andthe other is that from the user’s previous position, foundone second earlier, to the virtual satellite. If the differencebetween these ranges is large, the concept of a virtualpseudorange is useless. However, the distance differencebetween these two ranges must be less than the distancethat the user has moved in a second. Considering that thedirection in which the user has moved and the line-of-sight to the virtual satellite are unlikely to be co-linear, itis even smaller than the distance the user has moved ina second. If the user moves relatively slowly, the virtualpseudorange will incur only a moderate error. For

Fig. 1. Concept of virtual satellite and virtual pseudorange.

example, the average speed of an ordinary land vehicle isgenerally near 40 km/h (approximately 11 m/sec) in ur-ban areas, and its top speed is around 100 km/h (approx-imately 28 m/sec). Therefore, the difference between thepseudorange and the virtual pseudorange reaches itsmaximum when the user moves towards or backwardsfrom the virtual satellite, and is at most 28 m in this case.Because the usual pseudorange measurement error ofa GPS receiver is normally less than 30 meters, the aboveerrors in the virtual pseudorange can be interpreted asone receiver channel condition being slightly worse thanthe others. Then the error in the virtual pseudorange isa function of the user’s speed and direction of movement.An analysis of the error caused by the virtual satellite willbe treated later.

The virtual satellite can be located anywhere in space,so it is desirable to locate it in the most appropriate place.GDOP (Geometric Dilution of Precision) is used asa performance index in this paper to find the best placefor the virtual satellite, since this is a factor that magnifiespseudorange errors into the consequent positioning er-rors, and is generally used as a measure of adequatesatellite geometry in GPS positioning.

y"

lT1

1

F F

lTn

1

x#l, l&(0, N)

"Hx#l (1)

xL "(HTN~1H)~1HTN~1y

"H~1y, if H is square. (2)

cov(xL )"(HTH)~1HTNH(HTH)~1

"(HTN~1H)~1, if H is square. (3)

GDOP"Jtr(HTN~1H)~1. (4)

The linearized pseudorange measurement equation inGPS positioning can be expressed as Eq. (1) above, where

26 I. Kim et al. /Control Engineering Practice 6 (1998) 25—35

Page 3: GPS positioning using virtual pseudorange

(HTN~1H)~1"H~1NH~T"H~1AI#C0 D

D 0— — — — —0 D

D k!1DBH~T"H~1H~T#H~1 C0 D

D 0— — — — —0 D

D k!1DH~T

"

(PT!rqT)~1(PT!rqT)~T#P~TrrTP~1

(1!qTP~Tr)2

DDDD

F

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

2

DDDD

qTP~TP~1q#1

(1!qTP~Tr)2

#

(k!1)P~TrrTP~1

(1!qTP~Tr)2

DDDD

F

— — — — — — — — — — — — — — — — — — —

2

DDDD

k!1

(1!qTP~Tr)2

(6)

y is the pseudorange measurement error vector, x is theposition error vector, l

iis the line-of-sight vector to

satellite i, and l is white Gaussian measurement noisewith zero mean and covariance N. Least-squares estima-tion yields an estimation of x as in Eq. (2), and itscovariance as Eq. (3). Note that GDOP (Geometric Dilu-tion of Precision) is defined as Eq. (4).

N"

1 0 0 0

0 1 0 0

0 0 1 0

0 0 0 k

, H"CPT

qT

r

1D (5)

where

k: ranging measurement error variance of the virtualsatellite

q: line of sight vector to virtual satelliter"[1 1 1]TP"[l

1DD l2

DD l3

].

Assume there are four satellites, where three of them arereal satellites and the remaining one is a virtual satellite.Then the associated measurement noise covarianceN and H are represented as Eq. (5).

GDOP2"tr(HTN~1H)~1

"tr M(PT!rqT)~1(PT!rqT)~TN

#trP~TrrTP~1

(1!qTP~1r)2#

qTP~TP~1q#1

(1!qTP~1r)2

#

(k!1)

(1!qTP~1r)2Mtr(P~TrrTP~1)#1N. (7)

Applying the Sherman-Morrison formula (Golub andVan Loan, 1983) to Eq. (5), Eq. (6) is obtained. NowGDOP can be found by using Eq. (6) as in Eq. (7).The first three terms represent the GDOP when every

channel has the same measurement noise uncertainty.The last two terms represent the degradation effectcaused by k, which is the uncertainty of the virtualpseudorange. This expression is also applicable to thecase when one channel has different noise characteristicsfrom the others, such as when three channels use DGPScorrection and one channel uses standard C/A code.Furthermore, Eq. (7) may be easily extended for the casewhen every channel has different noise characteristics.When using a virtual pseudorange, k is normally as-sumed to be greater than 1. This means that virtualpseudorange increases GDOP. But the value of P alsoaffects GDOP (Geometric Dilution of Precision), thusGDOP has the lower bound which is determined by thethree real satellites. Generally, the values of k and P aretime-varying and their quantative effect is difficult toevaluate exactly.

To find the exact location of a virtual satellite thatminimizes GDOP, a q minimizing Eq. (7) should befound. In practice, it is difficult to find q which minimizesEq. (7) in closed form, so a numerical optimization tech-nique has been adopted in this paper. The volume of thetetrahedron formed by four line-of-sight vectors from theuser to satellites is widely used as an alternative perfor-mance index instead of GDOP. It is well known that the

volume of the tetrahedron is approximately proportionalto 1/GDOP. The location of the virtual satellite whichmaximizes the volume of the tetrahedron can easily befound, and this could clearly reduce the computationalburden compared to the GDOP minimization, whichmust solve a constrained optimization problem at everystep.

»"

1

6detC

PT DD r

— — — — —qT D

D 1 D"1

6det [PT] det [1!qTP~Tr]

"

1

6(1!qTP~Tr) det[PT]. (8)

I. Kim et al. /Control Engineering Practice 6 (1998) 25—35 27

Page 4: GPS positioning using virtual pseudorange

The relationship between line-of-sight vectors to satel-lites and the enclosed volume of the tetrahedron is depic-ted in Eq. (8), where » is the volume of the tetrahedron.Eq. (8) reveals that maximizing » is equivalent to maxi-mizing (1!qTP~Tr). From Eqs. (7) and (8), it is clear thatthis is equivalent to maximizing the denominator ofGDOP2. Since the numerators of GDOP2 of Eq. (7) alsohave P and q, it is clear that maximizing the volume ofthe tetrahedron does not yield the same result as inGDOP minimization.

On the other hand, an optimization problem with anequality constraint must be solved to minimize GDOP2

of Eq. (7). Choosing an initial guess is always difficult inan optimization problem, but by using the result ofthe maximum volume method as an initial guess, theglobal minimum was always found by the numericalmethod for the data in this paper. According to a simu-lation which scans every possible solution domain,there are two stationary points and one singular planewhich satisfy (1!qTP~Tr)"0 in Eq. (7). The two sta-tionary points are located in each of the spaces separatedby the singular plane, and one of them yields the globalminimum.

For a case of only two visible satellites, two virtualsatellites should be found. But the positioning error re-sulting from two virtual satellites and two virtualpseudoranges will generally be larger than that witha single virtual satellite and virtual pseudorange.

Cym— —

ylD"C

Hu@m— — —

Hu@l

DDDD

Hf@m— — — —

Hf@lDC

xu— —

xLfD (9)

where

ym: measured pseudorange(s)

yl: lost pseudorange(s)

xu: unknown variable(s) to be found

xf: true value of fixed variable(s)

xLf: assumed value of fixed variable(s)

Hu@m

: elements of H relating xu

and ym

Hf@m

: elements of H relating xLf

and ym

Hu@l

: elements of H relating xu

and yl

Hf@l

: elements of H relating xLf

and yl.

The error within the conventional variable fix method isstrongly affected by the accuracy of the fixed variable(s)and the condition of the remaining measurements. Con-sider Eq. (1). If the number of measurements is insuffi-cient and some variables are fixed, H can be decomposedinto four sub-matrices as Eq. (9). Here the measurementnoise is ignored since the object of interest is the errormagnification effect caused by the fixed variable(s). Sub-scripts f, u, m, and l represent the fixed variable, unknownvariable, observed measurement, and lost measurement,respectively. Actually y

l, H

u@l, and H

f@lcannot be known,

but they are still expressed in (9) for convenience.

Hu@m

xu"y

m!H

f@mxLf, (10)

xLu"(H

u@m)~1 (y

m!H

f@mxLf) , (11)

xJu,xL

uDxf!xL

uDxL f

"(Hu@m

)~1Hf@m

(xf!xL

f). (12)

Expanding Eq. (9), Eq. (10) is found, and the estimation ofthe unknown variable is given in Eq. (11). If the fixedvariable xL

fis correct, Eq. (11) will give correct answers as

long as the numerical accuracy is sufficiently good. Now theestimation error of xL

uusing Eq. (11) is represented as Eq. (12).

ExJuE"E (H

u@m)~1H

f@m(x

f!xL

f)E

)E (Hu@m

)~1Hf@m

E ) Exf!xL

fE

)E (Hu@m

)~1E ) EHf@m

E ) Exf!xL

fE (13)

The magnitude bound of the above error in the sense ofa Frobenius-norm can be obtained from Eq. (13). As canbe seen in Eq. (13), the estimation error with the variablefix method is not only affected by the accuracy of thefixed variable, but also by the condition of the measure-ment matrix, i.e., the condition of the line-of-sight vectorsfrom the user to the satellites. If any norm in Eq. (13) islarge, the variable fix method may give an unreliableresult. This implies that the variable fix method maycause large numerical errors in some situations.

In contrast to the variable fix method, the virtualsatellite/virtual pseudorange method has the freedom tolocate the virtual satellite at any place in space so that thespecified performance index (GDOP in this paper) can beminimized. Since the virtual pseudorange is calculatedusing the user’s previous position, the accuracy of theestimated user position using virtual pseudorange de-pends on that position. The positioning error using thevirtual satellite/virtual pseudorange is cumulative overtime, and this effect will be analyzed next. The growth inthe error when positioning by virtual satellite/virtualpseudorange can be shown as follows, though it may besomewhat loose. Additional variables for this purposeare defined in Fig. 2. Lines with an arrow at one end andat both ends represent vector and scalar values, respec-tively. These variables are:

P(ti): true user position vector at time t

iPK (t

i): estimated value of P (t

i)

d(ti),P(t

i)!PK (t

i)

m(ti),P (t

i)!P (t

i~1)

l(ti),P(t

i)!PK (t

i~1)

tM (ti): elevation angle of virtual satellite seen from PK (t

i~1)

t(ti): elevation angle of virtual satellite seen from P (t

i)

RVS

(ti): true range from P (t

i) to virtual satellite

RMVS

(ti): true range from PK (t

i~1) to virtual satellite

*RVS

(ti),RM

VS(ti)!R

VS(ti).

t(ti):tM (t

i) . (14)

28 I. Kim et al. /Control Engineering Practice 6 (1998) 25—35

Page 5: GPS positioning using virtual pseudorange

Fig. 2. Geometry between user, virtual satellite, and virtual pseudorange.

Since the distance between the true user position and theestimated position is small compared to the range of thevirtual satellite, the elevation angles at these two pointsare assumed to be equal as Eq. (14). It might be furtherassumed that approximation of Eq. (15) is possible.

*RVS

(ti):D l(t

i) D cost (t

i) (15)

l(ti)"m(t

i)#d(t

i~1) (16)

*RVS

(ti):Dm(t

i)#d (t

i~1) Dcost (t

i). (17)

From the definition, Eq. (16) holds and the ranging errorto the virtual satellite can be modeled as Eq. (17). Theerror bound of the horizontal positioning caused by theranging error can be found by using HMAX, defined in(Lee, 1988). Though Lee (1988) only defined HMAX fora horizontal error bound, this can be extended for a 3-dimensional or geometric error bound. It can be furtherextended for the virtual satellite/virtual pseudorangeproblem, and is denoted here by VGMAX.

Dd (ti) D4»GMAX ) D*R

VS(ti) D (18)

where

»GMAX,A4+i/1

4+j/1

D aijDB

1@2

A"MaijN"[(HTH)~1HT]T[(HTH)~1HT].

Assuming every channel has a ranging error boundwhich is smaller than that of the virtual pseudorange, the

positioning error bound using the virtual satellite/virtualpseudorange can be expressed as Eq. (18).

D*RVS

(ti) D:Dm (t

i)#d (t

i~1) D Dcost (t

i) D

4( Dm(ti) D#»GMAX )*R

VS(ti~1

) Dcost (ti) D

4Dm(ti) D Dcost (t

i) D

#»GMAX ) Dm (ti~1

) D Dcost(ti) D Dcost (t

i~1) D

2

#»GMAXi~1 ) Dm(ti) D Dcost (t

i) D2 Dcost (t

i) D (19)

*RVS

(ti)4MM1#»GMAX#2#»GMAXi~1N

"M1!»GMAXi

1!»GMAX(20)

Dd (ti) D4»GMAX ) D *R

VS(ti) D

"M )»GMAX1!»GMAXi

1!»GMAX. (21)

The ranging error to the virtual satellite grows with time,and its bound is depicted as Eq. (19) using VGMAX.Assume Dm(t

i) D4M, where M is a positive constant, for

all i. This implies that the user movement is bounded, i.e.,Eq. (19) is bounded as Eq. (20). From Eq. (19), it isexpected that if the user does not move, or if the virtualsatellite is positioned at the zenith or nadir, the measure-ment error in the virtual pseudorange is negligible.

I. Kim et al. /Control Engineering Practice 6 (1998) 25—35 29

Page 6: GPS positioning using virtual pseudorange

Combining Eq. (18) and Eq. (20), the horizontal position-ing error using the virtual satellite/virtual pseudorange isbounded as Eq. (21). The right-hand side of Eq. (21) isincreasing with time because VGMAX is always greaterthan 1 for four satellites. This shows that the positioningerror caused by the virtual satellite/virtual pseudorangealso grows with time. This bound is very loose because ofthe assumption that every channel has a ranging errorequivalent to the virtual pseudorange, and because theeffect of cost (t

i) in Eq. (19) is ignored. Since VGMAX is

determined by the location of the virtual satellite, the fasterror accumulation rate of Eq. (21) may be mitigated. Inexperiments, the error-accumulation effect caused by thevirtual satellite/virtual pseudorange is not serious forshort periods. While the positioning error caused by thevirtual satellite/virtual pseudorange increases with time,the variable fix method may even give a diverging posi-tioning solution although it has no error-accumulationcharacteristics. Again, both methods have been devisedto overcome the problem of an insufficient number ofvisible satellites, not for precise positioning.

3. Test results using raw GPS data

The proposed algorithm was applied and tested usingraw data from NovAtel’s 12-channel L1 C/A code PWR-PAK 3151R GPS receiver. The receiver and a com-puter were installed on a mini van. The road aroundSeoul National University was chosen as a test trackbecause it constitutes a closed trajectory, and a precisemap is available as a truth reference. The track isabout 800 m by 1000 m and the distance along thetrack is approximately 4 km. Because the altitude dif-ference along the track is about 100 m and the track issurrounded by mountains and buildings, it offers asimilar environment for the GPS experiment to anurban area with many obstacles that block the satellitesignals. Positioning results obtained by the receiver, andthe raw data from the receiver, were stored on the PC forpost-processing. The test was performed several timesand the results showed consistency. The results of onespecific test are given here to illustrate the performance ofthe proposed virtual satellite/virtual pseudorangemethod. Only the altitude fix method is adopted for thevariable fix method because the estimate of user clockbias has a greater error than the altitude estimate ingeneral.

The results are divided into three situations for con-venience. Situations 1 and 2 were designed to test thepositioning performance of both the variable fix andvirtual satellite/virtual pseudorange methods. Somesatellites were discarded intentionally in the post-pro-cessing, in order to compare the performance of the twomethods. However, this procedure should never exag-gerate the relative performance of the two methods.

Situation 3 was designed to investigate the proposedmethod’s capability to overcome any excessive GDOPincrement caused by bad user-satellite geometry, which isgenerally called the ‘‘GDOP chimney’’.

Situation 1 is obtained by retaining only three satellitesbetween epochs 31 and 85, as illustrated in Fig. 3(a). Notethat the GDOP with three visible satellites grows up to400 in Fig. 3(b). Also note that the post-processed DGPSpositioning result almost exactly coincides with the roadin the digital map, and is therefore used as the truthreference throughout the paper. Positioning results ob-tained by both methods are shown in Figs. 4 and 5.

Fig. 3. Number of satellites and GDOPs of Situation 1.

30 I. Kim et al. /Control Engineering Practice 6 (1998) 25—35

Page 7: GPS positioning using virtual pseudorange

Fig. 4. Positioning of Situation 1 in the horizontal plane.

Fig. 5. Altitude of Situation 1.

I. Kim et al. /Control Engineering Practice 6 (1998) 25—35 31

Page 8: GPS positioning using virtual pseudorange

Fig. 6. Number of satellites and GDOPs of Situation 2.

Figs. 4 and 5 show the results in the horizontal andvertical planes, respectively. The positioning result ob-tained by the altitude fix method diverges, while thatfrom the virtual satellite/virtual pseudorange method

does not, as shown in Fig. 4. This could be ex-plained because the GDOP obtained using the virtualsatellite is in the moderate range, as in Fig. 3(c).The altitude fix method gives bad results becausethe geometry of the three visible satellites during ep-ochs 31 through 85 is extremely bad. But the proposedmethod, which places a virtual satellite in an appro-priate location in space, gives a much better resultthan that provided by the altitude fix method. Thoughthe fixed value of the altitude in Fig. 5 is closer to thereal value than that found by the virtual satellite/virtual pseudorange in Fig. 4, the accuracy of the posi-tioning solution is much better when obtained bythe virtual satellite/virtual pseudorange method. Thiscan be explained by the fact that Situation 1 has baduser-satellite geometry conditions for finding the inversein Eq. (13).

Situation 2 is obtained by retaining only three satel-lites between epochs 91 and 145. The basic data canbe found in Fig. 6. In Situation 2 both the altitudefix method and the virtual satellite/virtual pseudorangemethod have a GDOP of around 3 when there arethree visible satellites. However, the two methods givequite different results. The positioning in the hori-zontal plane of the altitude fix method in Fig. 7(a)has a large bias, while that of the virtual satellite/virtual pseudorange method in Fig. 7(b) exhibits littlebias. Situation 2 shows that if the value of the fixingvariable is biased as in Fig. 8(a), then the final solutioncan also be biased, although the satellite geometry isquite good.

Situation 3 shows another important aspect of thevirtual satellite/virtual pseudorange method. WhenGDOP arises in GPS positioning, even with four ormore visible satellites, the positioning result may havea large error. It can be seen that though the numberof visible satellites is equal to or larger than four asin Fig. 9(a), the GDOP might be as large as 10 or 15,as in Fig. 9(b). The positioning result by C/A code inthe horizontal and vertical planes of Figs. 10 and 11shows some undesired peaks. By adding an additionalvirtual satellite at the nadir when the GDOP is largerthan 5, the GDOP is suppressed as in Fig. 9(c). Thecorresponding positioning results, marked with ‘o’ inFigs. 10 and 11 have no jumps when GDOP rises onlywith real satellites. Here, a virtual satellite is positioned atthe nadir to minimize the positioning error, as indicatedin Eq. (19).

Note that in this paper, the GDOP (GeometricDilution of Precision) is used as a performance indexjust for convenience. If one were interested only inthe 2D positioning or the vertical error, theHDOP (Horizontal Dilution of Precision) or VDOP(Vertical Dilution of Precision) might be used asthe performance index to focus on, instead of theGDOP.

32 I. Kim et al. /Control Engineering Practice 6 (1998) 25—35

Page 9: GPS positioning using virtual pseudorange

Fig. 7. Positioning of Situation 2 in the horizontal plane.

Fig. 8. Altitude of Situation 2.

I. Kim et al. /Control Engineering Practice 6 (1998) 25—35 33

Page 10: GPS positioning using virtual pseudorange

Fig. 9. Number of satellites and GDOPs of Situation 3.

4. Conclusion

The concept of a virtual satellite and a virtualpseudorange for GPS positioning with fewer than fourvisible satellites is introduced. The proposed methodis shown to be effective when there are an insufficient

Fig. 10. Positioning of Situation 3 in the horizontal plane.

Fig. 11. Altitude of Situation 3.

34 I. Kim et al. /Control Engineering Practice 6 (1998) 25—35

Page 11: GPS positioning using virtual pseudorange

number of measurements of GPS positioning, or whenthe GDOP becomes high with four or more visible satel-lites. The effect of a virtual satellite on GDOP has beenanalyzed mathematically and tested with real data. Theexperimental results show that the accuracy of position-ing using the virtual satellite method is as good as thatobtained by the variable fix method, and is applicableto C/A code GPS receivers. The proposed method alsoshows a promising improvement in positioning accuracywhen the GDOP has a high value even with four or morevisible satellites. When using the proposed algorithmwith real data, an optimization problem is solved at everystep to find the optimal location for the virtual satellite.The proposed method requires no additional hardware

and it would be very useful where only simple hardwareis allowed, such as in stand-alone GPS receivers used inurban areas.

References

Golub, G.H., Van Loan, C.F., 1983. Matrix Computations. The JohnsHopkins University Press.

Lee, Y.C. 1988. New concept for independent GPS integrity monitor-ing. Navigation, 35, 2, 239—254.

Siouris, G.M. 1993. Aerospace Avionics Systems — A Modern Synthesis.Academic Press, San Diego, CA.

Yiu, K.P., Crawford, R., Eschenbach, R. 1984. A low-cost GPS receiverfor land navigation. Global Positioning System, Vol. II., The Insti-tute of Navigation Alexandria, VA.

I. Kim et al. /Control Engineering Practice 6 (1998) 25—35 35