easy suite 2

Upload: muvvala-santosh-kumar

Post on 02-Jun-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/11/2019 Easy Suite 2

    1/2348 InsideGNSS M A R C H / A P R I L 2 0 0 9 www.insidegnss.com

    In 2003 I published a paper called Te GPS EASY Suite Matlab Code or the GPS Newcomer. Te paper consistedo 10 parts, which are cited in the accompanying sidebar,EASY Suite I opics. Each installment included a printed

    text and a file o related Matlab code or scripts (anM-file) thatcould be downloaded rom a designated web site.

    Each part contained an answer to ofen-asked questionsin my classes. I did not, however, only offer an answer to thequestions, but also a Matlab code that solves the problem. Tearticle became a tremendous success and remained the most

    downloaded paper rom the GPS Solutionssite or more thana year.

    Now, students love this sort o support. But I also receivedpositive reactions rom proessionals who used the code inresearch papers, which saved them a lot o coding efforts.

    Te original Matlab code also turned out to be the mostdownloaded file rom the Aalborg website. It resulted in numer-ous e-mails rom interested readers asking or more files. Teserequests now answered by the creation o eight additionalM-files. Some involve more complex problems and coding.

    Since 2003, I have received a steady flow o additional ques-tions rom readers o Gilbert Strangs and my book, Linear

    Algebra, Geodesy, and GPS. Last summer I decided to createanother set o common GPS problems/solutions and accompa-

    nying Matlab code EASY Suite II. Tese will be presented inserial ashion, as one or more exercises in this and orthcomingissues o Inside GNSS.

    Introducing the New SuiteEasy Suite II augments the set o basic computational tasks withthe ollowing topics:

    EASY11, stereographic sky plot o satellite orbits and plot otime when satellites are above a given local horizon

    EASY12, details o the LAMBDA method, explained

    through a small numerical exampleEASY13, receiver autonomous integrity monitoring

    (RAIM), horizontal protection level (HPL), and vertical pro-tection level (VPL)

    EASY14, sample o space-based augmentation system(SBAS) corrected positions and their presentation in Stanordplots

    EASY15, accuracy comparison between pseudorange basedstand-alone positions, baselines computed using pseudorangesalone, and pseudoranges and carrier phase observations

    EASY16, error analysis o a selected one-way observationEASY17, satellite orbits in inertial and Earth-centered,

    Earth-fixed (ECEF) systems, and curve defined by sub-satel-lite points

    GPS EASY Suite IIA Matlab Companion

    Many practitioners in the GNSS field are familiar with Matlab, a high-

    level technical computing language and interactive environment for

    algorithm development, data visualization, data analysis, and numeric

    computation. In this new series, a prominent Danish GNSS researcher

    uses Matlab to illustrate and explain a variety of common GPS issues.

    KAI BORREAALBORG UNIVERSITY

    ImageofGPSconstellationbasedonpublicdomainfile

    fromWikimedia

    Commons

  • 8/11/2019 Easy Suite 2

    2/23www.insidegnss.com M A R C H / A P R I L 2 0 0 9 InsideGNSS 49

    EASY18, computation o differential corrections at a basestation.

    Te original suite was thought o as comprising the base oran elementary course in GPS while, as reflected in the subjects,the new suite is o a more optional, topical character.

    In 2003 and later, many users encountered diiculty infinding the necessary files or running individual EASY-files.Tereore, I chose to copy all files needed into single directo-ries accessible online, so that each directory becomes sel-con-tained. Te price we pay is multiple copies o basicM-files.

    Te complete set o Easy Suite II Matlab codes can be oundin compressed (zipped) files at . Readers can find much o the theoretical backgroundor the EASY scripts in Chapters 14 and 15 o Linear Algebra,Geodesy, and GPS(see Additional Resources or details). How-ever, we have added some text that emphasizes certain issuesthat are central in the codes, but may be difficult to find in a

    textbook.

    EASY11: GPS Sky PlotsTe EASY-Suite starts with a polar plot o satellite orbits (seeFigure 1) as viewed rom a given location, a graph showing thenumber o visible satellites, and the period o time when theyare visible during 24 consecutive hours.

    EASY11 itsel is based on an almanac downloaded most eas-ily rom the National Geodetic Survey (NGS) website . Te actual file name isbrdc1550.08n.

    Te RINEX file has been reormatted into Matlabs binary

    ormat or satellite ephemerides using theM-file rinexe. Te userenters (,) or the position on the ground where the plot is to beused, and a value or the elevation mask to be set. Ten the azi-muth and elevation angles or all visible positions o the includedsatellites are computed and plotted as polar coordinates.

    Next ollows bookkeeping on how many and which satel-lites are visible during the day and the time periods when theycan be seen. Figures 2and 3show the resulting plots.

    Te Matlab code is simple, the result is impressive, and use-ul. In early GPS days when the constellation was incomplete,such plots were especially valuable or planning purposes to besure that enough satellites would be available or positioning.

    Except in the most severe terrain and urban canyons, receiverscan find plenty o GPS (and GLONASS) satellites around theclock, and this situation wil l become even more pronouncedwhen Galileo satellites are launched.

    EASY12: LAMDA MethodMost students find the theory behind the Least-squares AMBi-guity Decorrelation Adjustment (LAMBDA) or ambiguityresolution difficult to understand. We shall try to smooth thepath.

    First we describe in a subsection the linear algebra involved.Next we add an M-script that elucidates how the method works

    on a simple case with three ambiguities.

    Linear Algebra for LAMBDALet the vector bcontain the three components o the baselineand the vector acontain ambiguities or the L

    1requency and

    possibly or the L2requency. Te double differenced observa-

    tionsare collected in the vectory:

    Te normal equations are

    FIGURE 1 Sky plot including all GPS satellites for a period of 24 hours at agiven position. The elevation mask is 10 degrees.

    EASY Suite I TopicsThe original Easy Suite, which can be found online at , dealt with the following issues:

    EASY1, time conversion

    EASY2, computation of a satellites position from an ephemeris EASY3 computation of a receivers position from pseudoranges

    EASY4 computation of a baseline from pseudoranges alone

    EASY5 computation of a baseline from pseudoranges and

    phase observations using a least-squares solution

    EASY6 the same, but now using a Kalman

    filter for the baseline estimation

    EASY6e the same, but introducing down-

    weighting of older observations

    EASY7 estimation of receiver clock offset

    EASY8 check of cycle slips and receiver clock reset

    EASY9 various coordinate representations of a given baseline

    EASY10 estimation of ionospheric delay for the individual satellites

    0

    30

    60

    90

    120

    150

    180

    210

    240

    270

    300

    330

    0

    Skyplot for the position (,)= (57, 10)Elevation mask 10

    All PRNs except 1

  • 8/11/2019 Easy Suite 2

    3/2350 InsideGNSS M A R C H / A P R I L 2 0 0 9 www.insidegnss.com

    and the ormal solution is

    Te components o the solution vector are reals; however,we want a solution o integers! Hence, we find an integer vec-tor asuch that

    Afer the integer solution is ound we substitute it or . Con-sequently, the solution or changes to . In order to determine, we multiply the lower block row in (3) by and subtract

    rom the upper block row:

    Te upper block row gives:

    Te right side is known and constant. I we change to , then

    changes to and we have:

    or

    Te right side is known and is quickly ound.

    Minimizing a Quadratic Expression overIntegerTe LAMBDA method starts as other least-squares computa-tions by solving the normal equations (3). Te result is partly

    the vector o real-valued ambiguities and partly the pertinentcovariance matrix .

    Te core problem can be stated in a very clear orm

    In order to emphasize the integer nature o the problem we haveswapped the notation rom ato I.

    Tis is the problem we study, and in one case this is espe-cially simple. I is diagonal, the best vector comes romrounding each component o to the nearest integer.

    Te components are uncoupled when is diagonal. Tequadratic is purely a sum o squares . he

    minimum comes by making each term as small as possible. Sothe best is the integer nearest to .

    In practice the individual components are highly cor-related. Recalling that we ofen deal with 20 ambiguities, werealize that a search procedure to find the minimum is unre-alistic. Tereore, an idea about decorrelating the ambiguitiesas much as possible, beore starting the search, should lead toan effective procedure.

    his is just what the LAMBDA method does. It wasdescribed by Peter eunissen in 1993 and is, rom a theoreticalpoint o view, still considered to be the best method.

    Te first step consists in transorming such that its off-

    diagonal entries become numerically smaller. Tese entriesmeasure the correlation.

    We start by computing the LDLdecomposition o the givencovariance matrix

    Next we construct a matrix o integers Zrom Lby asequence o integer Gauss transformationsandpermutationssuch that

    is as diagonal as possible. Now the search defined by (4) is

    substituted by a search over integers I:

    EASY SUITE II

    14

    12

    10

    8

    6

    4

    2

    0

    Elevation mask 10

    #o

    fVisibleS

    atellites

    0 6 12 18 24

    GPS Time (hours)

    8

    16

    24

    32

    Solid Lines Indicate Visible Satellites

    PRNs

    0 6 12 18 24

    GPS Time (hours)

    FIGURE 2

    Number of visible satellites

    FIGURE 3 Time period when the visible satellites are 10 degrees or higher

    above the horizon

  • 8/11/2019 Easy Suite 2

    4/23www.insidegnss.com M A R C H / A P R I L 2 0 0 9 InsideGNSS 51

    Te choice o Zis based on integer elimination start-ing with the first row o L. Tis will certainly involverow exchanges and, thereore, Z will not be triangular.

    Te essential idea or this lattice basis reductionwasgiven by A. K. Lenstra et alia in 1982 (See AdditionalResources), and the algorithm is sometimes called L3. Forurther details see Strang and Borre, pages 495499.

    Te result o the search is the integer vector . Finally, istransormed back to the ambiguity space according to

    Note that both Zand Z-1must have integer entries. A con-sequence o this is that det(Z) = 1 as seen rom Cramers rule.Te condition on the determinant o Zmeans that the Ztrans-ormation preserves the search volume. At the end o this pro-

    cess, we have transormed a highly correlated space (elongatedellipses) into a sphere-like search space, which diminishes thesearch time tremendously.

    EASY12 illustrates the computational steps including a ewnumerical details. We choose a numerical example rom P. J. deJonge and C. C. J. M. iberius (1996). Further computationaldetails are well described in that report.

    A Numerical ExampleGiven the float ambiguities

    with covariance matrix

    We introduce integer shifs o in order to secure that -1 .

    In Figure 1 a horizontal line constraint is drawn to represent

    the protection level a. Note that, or small ailure magnitudes, itis possible or the accuracy specification not to be breached.In the event that the position error xexceeds a predefined

    protection level a, but |||| < R the residual threshold Rdeter-mined rom equation (7) a missed detectionhas occurred,case II, see Figures 1 and 4. Te corresponding probability isdefined as

    In general a condition between || || and ||x|| will exist. Wemust quantiy the degree o this correlation in order to demon-strate the integrity monitoring capability o RAIM-based ault

    detection. Te result is given later in equation (13).According to equation (2) the residual and the position

    error xwill scale proportionally, with the actor (AA)-1A.Hence, the normal condition (NC) confidence ellipse will slideup thefailure mode axiswith slope .

    In (2) the position error

    is deined in a 3-D Cartesian coordinate system (X,Y,Z).However, or practical use a local topocentric coordinatesystem x

    ENU= (e, n, u) is more appropriate. A position

    vector at (, , h) given in the (X,Y,Z) system can be trans-

    ormed into the east, north, up (e, n, u) system throughmultiplication by the orthogonal transormation matrix F:

    In the ollowing discussion we only consider the three coor-dinates (X,Y,Z). So we delete the last column oAand get a newmatrixA

    0=A(:, 1:3). Similarly we delete the last element o x

    and define x0= x(1:3); hence:

    Note that rows 1 and 2 o the 3 mmatrixMrelate to east-ing and northing. Finally we defineM

    0=M(1:2, 1:2).

    Imagine now afailureo magnitudein satellite i(isplaced as the ith component):

    We compute the norm squared or this special choice o e:

    FIGURE 1 Basic RAIM states

    FIGURE 2 Probability of a false alarm

    estimatederror

    || x||

    thresholdR

    protection level

    Threshold

    R

    16

    14

    12

    10

    8

    6

    4

    20 20 40 60 80 100

    Degrees of Freedom m n

    P(FA | NC) = 10-2

    P(FA | NC) = 10-5

    P(FA | NC) = 10-8

    Probabilities

  • 8/11/2019 Easy Suite 2

    8/2350 InsideGNSS J U L Y/ A U G U S T 2 0 0 9 www.insidegnss.com

    Te many zeros in esimplifies this to

    From (3) we recall = Sbor

    as SS = S. Te diagonal entry (i,i) o Sis called sii.Now

    Tis is the equation or a straight line through the originand with slope

    i. Te slope

    io the ailure mode axis related

    to satellite iis computed as

    Te slope values are computed or all i= 1, , m, and thecorresponding lines are depicted in Figure 3. Te PRNs in thisfigure are the ones included in easy2 (computation o a satel-lites position rom an ephemeris).

    he likelihood that the RAIM algorithm may detect anobservational error depends on the satellite geometry. A poorgeometry does not necessarily indicate observational errors,but i errors are present they may be difficult to detect.

    Te slope iprovides a measure o the difficulty in accu-

    rately detecting a ault in presence o noise: the larger the slope,the more difficult it is to detect the ault.Te ailure mode axes in Figure 3 through the origin with

    slope iare given exclusively rom the geometry determined by

    the satellites and the receiver. Te mode axis with maximumvalue o

    iis called

    maxand the HPL is defined as

    where 0is the standard deviation o the pseudoranges

    .

    At readers mayfind the ollowing definition o HPL: Te Horizontal ProtectionLevel is the radius o a circle in the horizontal plane with itscenter being at the true position which describes the region thatis assured to contain the indicated horizontal position.

    Te resulting RAIM ault detection algorithm is a simpleone: Check the residual statistic to see i it is larger than thethreshold R. I so, a system ailure is declared. Given this simplealgorithm, our outcomes are possible, reer to Figures 1 and4.

    Under a normal condition(NC), the position error ||x||does not exceed the protection level a, and the residual is small-

    er than the threshold R, as in case III. I the position error doesnot exceed the protection level a, but the residual is larger than

    the threshold R, afalse alarm(FA) has occurred, which is caseIV. When both protection level and residual threshold havebeen breached, a detection failure(DF) has occurred caseI. Finally, a missed detection(MD) happens when the positionerror ||x|| is larger than the protection level a, but the residual

    is smaller than the threshold R; that is case II.In the general case, o course, more than one ailure modeexists, that is, ein (11) has more than one non-zero compo-nent. However, this presentation does not deal with that case.In their book (see Additional Resources), R. G. Brown and P. Y.C. Hwang investigate RAIM in case o non-uniorm weightedobservations and multiple aults.

    Because the horizontal protection level depends on satellitegeometry, it must be computed or each epoch and each posi-tion. I the HPL is below the protection level, RAIM is said tobe available or that epoch.

    Reerring to Figure 4, we may introduce inequalities, which

    characterize each region in the figure. For notational reasons,in addition to the predefined protection level a, we introducethe obvious new variables x= |||| (norm o residuals) and y =||x

    EN|| (horizontal position error):

    case I upper part a < y < x lower part a < x < y case II y < a < x case III upper part y < x < a lower part x < y < a case IV x < a < y

    A desired result will plot in the case III area, upper part,which is called normal operation. Te oregoing description

    may be summarized into the ollowing procedure or deter-mining HPL:

    EASY SUITE II

    FIGURE 3 Characteristic slopes for seven visible satellites

    FIGURE 4 RAIM status, repeated. We aim at having plots in the gray area.

    Estimatedhorizontalposition

    error|| xEN||

    max

    PRN 25

    PRN 24

    PRN 20

    PRN 13PRN 1

    PRN 4

    PRN 7

    Estimated errorthresholdR

    protection level

  • 8/11/2019 Easy Suite 2

    9/23www.insidegnss.com J U LY /A U G U S T 2 0 0 9 InsideGNSS 51

    Input to RAIM:Te variance o a pseudorange observation,the coefficient matrixAo the linearized least-squares observa-tion equations, and the maximum allowable probabilities or aalse alarm P(FA) and a missed detection P(MD).

    Output of the algorithm:Horizontal protection level (HPL),

    which is the radius o a circle, centered at the true position thatis assured to contain the indicated horizontal position with thegiven probability o alse alarm and missed detection.

    Similarly or Vertical Protection Level (VPL). Again, an offi-cial definition (at ) is:Te vertical protection level is hal the length o a segment onthe vertical axis with its center being at the true position, whichdescribes the region that is assured to contain the indicated

    vertical position.

    Additional Resources

    The original Easy Suite can be found online at . The complete set of Easy Suite II Matlab codes can be found in com-pressed (zipped) files at .

    Brown, R. G., and P. Y. C. Hwang, Introduction to Random Signals and Applied

    Kalman Filtering, third edition, John Wiley & Sons, Inc., New York, 1997

    de Jong, K., Real-time integrity monitoring, ambiguity resolution and kine-

    matic positioning with GPS, Proceedings of 2nd European Symposium on

    GNSS98,Toulouse, France, pp. VIII07/1-VIII07/7, 1998

    Kaplan, E., and C. J. Hegarty (editors), Understanding GPS, Principles and

    Applications,second edition, Artech House, Boston and London, 2006

    Nikiforov I., and B. Roturier, Advanced RAIM algorithms: First results, ION

    GNSS2005, 18th International Technical Meeting of the Satellite Division of

    the Institute of Navigation, Long Beach, California, USA

    Pervan, B. S., Navigation Integrity for Aircraft Precision Landing Using theGlobal Positioning System.Stanford University, Stanford, California, USA,

    1996

    Author

    Originally graduated as a chartered surveyor, Kai Borre

    obtained his Ph.D. in geodesy from Copenhagen Uni-

    versity, and a Doctor of Technology degree from Graz

    University of Technology. He has been a full profes-

    sor in geodesy at Aalborg University since 1976.

    For more than 30 years Borre has conducted

    research and performed education in the area of

    satellite based positioning. In 1996 he established the Danish GPS Center

    and since 2000 has been head of a two-year international M.Sc. program in

    GPS technology.

    Borre is a coauthor of the widely used textbooks, Linear Algebra, Geodesy,

    and GPSandA Software-Defined GPSand Galileo Receiver; Single-Frequency

    Approach.

    Since the early 1990s Borre has published Matlab code for processing of

    GPS observations, and since 2003 he published Matlab code together with

    explanatory text, a very successful new pedagogical concept.

  • 8/11/2019 Easy Suite 2

    10/2362 InsideGNSS S E P T E M B E R / O C T O B E R 2 0 0 9 www.insidegnss.com

    S

    ome GPS applications generate long time series oposition estimates. Most ofen, an easy way o gettinga quick overview on the recorded data is to plot them.

    However, it may be difficult rom a plot to quantiy sta-tistical measures such as mean value, standard deviation,andcircular error probable(CEP).

    easy14 continues the aviation-oriented discussion begunin the July/August 2009 issue o Inside GNSS, drawing on useo the European Geostationary Navigation Overlay Service(EGNOS), a satellite-based augmentation system (SBAS). Tefiles or the corresponding MALAB codes can be ound on-line; details included in the Additional Resources section nearthe end o this article.

    Our demonstration sample uses data collected on August20, 2008, over a 4.2-hour period with a static GPS L1 receiver

    with 12 code and carrier channels and two optional SBASchannels, located at a site south o Aalborg, Denmark. Tisreceiver is a commercial one capable o handling EGNOS data.However, dedicated EGNOS receivers exist that exploit the dataoptimally and rom which better-looking plots can be gener-ated.

    Te EGNOS-corrected positions were computed by usinga MALAB implementation done at the Danish GPS Center(DGC). For a given alert limit a, EGNOS provides an integritymeasure that tells the user to use or not to use the position inquestion.

    Te EGNOS corrections can be obtained in several ways:

    directly via the geostationary satellites listed inTable 1, or roma service called Signal in Space through the Internet (SISNe),

    or through other services. In the present case we apply a post-processing mode which relies on the EGNOS Message Server(EMS) on-line at

    In polar regions users may have difficulties in receiving sig-nals rom the geostationary satellites and, hence, the Internet

    version becomes useul. However, the Internet is not availablenear the poles too ofen!

    We shall make a small digression to investigate the mag-nitude o the elevation angle ho a (geostationary) satelliteas a unction o the receiver site. Let a ground receiver havecoordinates (

    E,

    E)and let the sub-satellite coordinates o any

    satellite be (S,

    S). Te north pole, the receiver position E, and

    the sub-satellite point o Smake a spherical triangle on a unitsphere with sides 90 -

    E, 90 -

    S, and the intersecting angle

    E-

    S.

    Applying the spherical cosine law on this triangle yields theollowing expression or the latitude reduced to the merid-ian o E

    Specializing to a geostationary satellite with S=

    G= 0

    gives

    Our data are collected at (E,

    E)= (57, 10); i we received

    the EGNOS corrections rom the AOR-E (PRN 120) satellite,we would have

    or a reduced latitude = 60.6.

    GPS EASY Suite II easy14EGNOS-Aided Aviation

    In this installment of the series, the author uses Matlab to illustrates

    aspects of aviation navigation using EGNOS signals to augment GPS.

    KAI BORREAALBORG UNIVERSITY

    ImageofGPSconstellationbasedonpublicdomainfile

    fromWikimedia

    Commons

  • 8/11/2019 Easy Suite 2

    11/23www.insidegnss.com S E P T E M B E R / O C T O B E R 2 0 0 9 InsideGNSS 63

    Next we assume that our site Eand the geostationary satel-lite Gare in the same meridian plane. Te Earth radius is a

    E

    = 6700 kilometers and the distance between the geostationarysatellite and the Earth center is a

    G= 42486 kilometers. With

    reerence to Figure 1we get, in a spherical approximation, or

    triangle OPG

    Some rewriting involving the sum relation yields

    Te elevation angle hequals zero or = 80.9 ; or = 60.6we get h= 20.9, (reer to Figure 2).

    Te EGNOS inormation allows us to correct the observed

    pseudoranges or atmospheric delays and other error sources. Aast EGNOS correction is computed rom navigation messages25 that contain the so-called ast data set. Te message startswith the 2-bit issue o data PRN (IODP), an 8-bit preamble, a6-bit message type identifier (values can be 2, 3, 4, or 5), and a2 bit issue o data ast (IODF).

    Next ollows the ast data set or 13 satellites: 12 bits or theast pseudorange correction PRC and 4 bits or the user differ-ential range error indicator(UDREI). Te message ends with24 parity bits, in total 250 bits. Te ast data set or the next 13satellites is contained in the ollowing message and so orth.

    Te PRCvalue is given in the interval [-256.000, +255.875]

    with a resolution o meter.Te range-rate correction RRCo the ast correction is com-

    puted as the difference between the current PRCand the previ-ous one divided by the time interval between the two values.Te time o applicability t

    ois identical to the transmission time

    o the first bit in the message.Te ast correction to the pseudorange or a given satellite

    identified by its pseudorandom noise code number (PRN) is

    Te RRCcomputation must time-out i there is no PRCoreight seconds.

    he complete computation o the EGNOS correctioninvolves calculation o an ionospheric correction and a possibletropospheric correction. Te variance o the ith observation iscomposed o our variances: a ast and long term contribution

    , a tropospheric correction , an ionospheric correction, and finally receiver noise and multipath :

    ypical values or a satellite with high elevation are lt

    =0.26 m,

    tropo= 0.01 meter,

    iono= 0.21 meter, and

    air= 3.26

    meter, and or a low elevation satellite lt

    = 0.55 meter, tropo

    =0.10 meter,

    iono= 0.91 meter, and

    air= 3.28 meter.

    Figure 3shows the time series (deviations rom mean val-ues) or the three coordinates East, North, and Up (E, N, U) at

    the location E. Positions computed rom the raw pseudoranges(black line) plot as noisy curves.

    Next we applied a MALAB EGNOS correcting code, devel-oped at DGC, to the raw observations; the result is the less noisycurves (red). No smoothing is applied. A urther quantificationo the graphs in Figure 3are added asTable 2. Figure 4containsa plot o the corresponding horizontal positions.

    We have created a script easy141 that gives a recipe or com-puting horizontal protection levels(HPLs) and vertical protec-tion levels (VPLs) or aircraf approaches to airports. We startrom the coefficient matrixAor a single epoch

    P

    G

    90

    80

    70

    60

    50

    40

    30

    20

    10

    0

    -10

    Elevationa

    ngleh

    200 40 60 80 100

    Latitude

    FIGURE 1 Elevation angle hto geostationary satellites as seen from theEarths surface as a function of latitude, spherical approximation

    FIGURE 2 Plot of elevation angle hto geostationary satellites as seen fromthe Earths surface as a function of latitude

    Satellite Name Longitude lG PRN

    AOR-E 15.5 W 120

    Artemis 21.5 E 124

    IOR-W 25.0 E 126

    TABLE1. EGNOS geostationary satellites

  • 8/11/2019 Easy Suite 2

    12/2364 InsideGNSS S E P T E M B E R / O C T O B E R 2 0 0 9 www.insidegnss.com

    Te necessary details may be ound in the script.Te larger script easy14 starts rom a transormed version

    oA. Te main change is to observe that = cos eli cos azi

    where elimeans the elevation angle and azithe azimuth o PRNias seen rom the receiver position.

    Te first three columns contain the so-called Euler anglesbetween the line-o-sight and the (X,Y,Z)axes. However, weneed the corresponding angles between the line-o-sight andthe topocentric (E,N,U) system. Te three columns are trans-ormed rom (X,Y,Z)to (E,N,U)by post-multiplication with FT.For urther discussion o this point, see equation (9) in easy13.

    Te product B=A(:, 1 : 3) FT, augmented with a column oones, can also be computed directly as

    he next steps are described by simple expressions butinvolve heavy computational burdens. A weight matrix Worthe observed pseudoranges is defined in terms o the variances

    :

    Te 2 2 block matrix o the covariance matrix contain-

    ing the entries 11= , 22= , and 12= 21= 12constitutethe coefficients in a quadratic orm

    Tis quadratic orm defines a confidence ellipse. Te largesteigenvalue

    1o this quadratic orm is the semi-major axis o

    the confidence ellipse or the position solution

    Equation (9.78) in the book by G. Strang and K. Borre, listedin Additional Resources, provides urther context or the pre-

    ceding step.Te expression or

    1can be rewritten as

    Tis version is ound in the minimum operational peror-mance standards (MOPS) or GPS/Wide Area AugmentationSystem (WAAS) airborne equipment published in RTCA/DO-229C, page J.1.

    Te EGNOS standard defines two magnification actorsK

    H= 6 and K

    V= 5.33. Remember that

    33= and finally we

    obtain:

    EASY SUITE II

    5

    0

    -5Easterror[m]

    0 1h 2h 3h 4h

    5

    0

    -5Northerror[m]

    0 1h 2h 3h 4h

    20

    10

    0Uperror[m]

    0 1h 2h 3h 4h

    Time [h]

    Position error versus time, 4.20 hours

    GPS without correction EGNOS corrected

    6

    4

    2

    0

    -2

    -4

    -6

    Northerror[m]

    -6 -4 -2 0 2 4 6

    East error [m]

    Position error, 4.20 hours

    GPS without correction EGNOS correction

    CEP 50%

    [m]

    CEP 95%

    [m]

    sc

    [m]

    sn

    [m]

    meane

    [m]

    meann

    [m]

    Raw Pseudoranges 1.8 3.8 1.3 1.8 -0.2 -1.4

    DGC EGNOS-corrected 0.5 1.1 0.4 0.5 0.0 -0.7

    TABLE2. Circular errors probably (CEP), standard errors, and mean values ofposition for raw pseudoranges collected by a commercial receiver. Also shownare EGNOS corrections as computed by DGC MATLAB code. The numbers arederived from the 4.2-hour data series shown in Figure 3. The cut-off angle is 5elevation.

    FIGURE 3 4.2 hours of data collected by a static GPS/SBAS receiver. The

    figure shows east, north, and up as computed from raw pseudoranges(black) and from DGC EGNOS implemented correcting code (red)

    FIGURE 4 4.2 hours of data collected by a Thales DG16 receiver. The figureshows horizontal positions in meters as computed from raw pseudor-anges (black) and from DGC EGNOS implemented correct ing code (red)

  • 8/11/2019 Easy Suite 2

    13/23www.insidegnss.com S E P T E M B E R / O C T O B E R 2 0 0 9 InsideGNSS 65

    ypical values are: HPL = 15 and VPL = 6. Te EGNOSdocument also introduces its own non-precise HPL value,which is 1.03 times larger than the HPL used here. Everythingis implemented in easy141.

    Contemporary positioning theory uses the ollowing ourconcepts that enter into almost every aviation specification

    accuracy, integrity, continuity,and availability.Te first concept, accuracy, fits our intuition well as it mea-

    sures the difference between the (corrected) computed positionand the true position. An SBAS implementation is obliged toquantiy the accuracy o a wide-area differentially correctedposition solution. Accuracy may be estimated by the differencebetween a receiver position and the true position which, orCEP 95%, is only exceeded 5 percent o the time in the absenceo system ailures.

    Integrity risk is defined as the probability that the SBASexceeds either the horizontal or vertical alert limits (HALs orVALs) andthe system alert is silent beyond the time-to-alarm.

    EGNOS has been designed or a six-second time-to-alarm.Continuity and availability are expressed in global terms.

    I a user experiences a system outage due to signal blockage,rom a global perspective this is not a loss in continuity o thesystem it is a local phenomenon.

    Clearly, we need to distinguish between issues related toavailability and continuity and what is availability o the systemrom a users perspective.

    A sophisticated plot was developed at Stanord University in1998. Te histogram o Figure 5reports the horizontal systemmetrics provided by an EGNOS implementation done at DGCor at static user at Aalborg.

    Te EGNOS concept only involves an alert limit a. Know-ing the value o awe can draw a hal line rom origin through

    (a,a)which partly limits the white area in which the attractivebins must lie!

    Te horizontal axis indicates the error in theSBAS navigation solution with respect to the surveyed antennalocation. Te vertical axis indicates the protection level com-

    puted or each and every position solution.Each bin tabulates the number o occurrences o a specific

    pair (x,y)= (error, protection level), and the color indicates thetotal number o epochs in which that pair occurs. Note thatthe color scale is logarithmic and the bins are quantized into0.25-meter squares.

    In case the HPL is larger than the alarm limit a, we experi-ence an integrity ailure. Te true error should always be lessthan the HPL. Te long-term availability requirement o theSBAS is 99.9 percent and, hence, at least 999 out o 1,000 pointsshould lie within the Normal Operation (USE) region.

    In the Figure 5 results, the system maintained 99.7 per-

    cent availability in horizontal positioning and the system wasunavailable in 49 epochs out o 15,129 that is 0.3 percent; notethat (99.7 + 0.3) % = 100%.

    Availability can only be associated with geostationary satel-lites. For users employing the Internet to obtain the EGNOSinormation, everything changes. In the present study we useEMS and not the real-time service SISNe.

    Figure 6(on page 72) shows the vertical system perormancecorresponding to the horizontal data presented previously. TeSBAS correction in the vertical dimension has poorer peror-mance than the horizontal due to its weaker geometry; the alertlimits are a= 12, 20 meters. Te 12-meter level corresponds to

    Category I landing and the 20-meter level to instrument preci-sion with vertical guidance (IPV). In this scenario, the position-ing system met all three saety metrics (accuracy, integrity, andcontinuity) with an availability o 99.061 percent.

    AcknowledgmentKostas Dragnas added several changes to the original M-files vplstat and hplstat written by odd Walter o StanordUniversity. he iles are included in the Easy Suite II iles(see Additional Resources) with the permission o StanordUniversity. Users also need the bound2 file in the downloaddirectory.

    ManufacturersTe data in easy14 was generated using a Tales DG 16 GPSreceiver, rom Magellan Navigation S.A.S., Santa Clara, Cali-ornia, USA.

    Additional ResourcesThe original Easy Suite can be found online at . The complete set of Easy Suite II Matlab codes can be found in com-

    pressed (zipped) files at .

    RTCA, Inc. (formerly Radio Technical Commission for Aeronautics), RTCA/DO-

    229C, Minimum Operational Performance Standards for Global Positioning

    System/Wide Area Augmentation System Airborne Equipment,2001

    50

    40

    30

    20

    10

    0

    HPLEGNOS

    [m]

    102

    101

    100

    Numberofpointsp

    erpixel

    0 10 20 30 40 50

    Error [m]

    Horizontal Performance [15129 seconds]

    FIGURE 5 Positions depicted in Figure 3 are plotted versus horizontalprotection levels. Integrity fails in the region marked HMI, hazardouslymisleading information. In the upper area marked MI, integrity fails andthe system is unavailable. HPL failures happen in the lower area markedMI. In short: USEpositions depicted in the white area, DO NOT USEposi-tions depicted in colored areas

    GPS EASY Suite IIcontinued on page 72

  • 8/11/2019 Easy Suite 2

    14/2366 InsideGNSS S E P T E M B E R / O C T O B E R 2 0 0 9 www.insidegnss.com

    Strang, G., and K. Borre,Linear Algebra, Geodesy, and GPS,Wellesley-Cam-

    bridge Press, Wellesley, Massachusetts USA, 1997

    Corrections to easy13

    In the EASY Suite II installment in the July/August 2009 issue of Inside GNSS,in Figures 1 and 4, the expression protection level should have been pro-

    tection level a.

    In easy13.m the Matlab code is missing the F matrix (the transformation matrix

    from ECEF to ENU) in the expression for M. Hence the alpha values and HPL

    are wrong. Consequently Figure 3 is valid for xXY

    and not xEN

    as stated on

    the vertical axis.

    On page 49 of the article in the paragraph following equation (10), Mo=

    M(1:2,1:2) should be Mo= M(1:2,:).

    AuthorOriginally graduated as a chartered surveyor, Kai Borre

    obtained his Ph.D. in geodesy from Copenhagen Uni-versity, and a Doctor of Technology degree from Graz

    University of Technology. He has been a full profes-

    sor in geodesy at Aalborg University since 1976.

    For more than 30 years Borre has conducted

    research and performed education in the area of

    satellite based positioning. In 1996 he established the Danish GPS Center

    and since 2000 has been head of a two-year international M.Sc. program in

    GPS technology.

    Borre is a coauthor of the widely used textbooks, Linear Algebra, Geodesy,

    and GPSandA Software-Defined GPSandGalileo Receiver; Single-Frequency

    Approach.

    Since the early 1990s Borre has published Matlab code for processing of

    GPS observations, and since 2003 he published Matlab code together withexplanatory text, a very successful new pedagogical concept.

    EASY SUITE II

    25

    20

    15

    10

    5

    0

    VPLEGNOS

    [m]

    102

    101

    100

    Numberofpointsp

    erpixel

    0 5 10 15 20 25

    Error [m]

    Vertical Performance [15129 seconds]

    FIGURE 6 Positions depicted in Figure 10 are plotted versus vertical pro-tection levels. Integrity failures happen in the areas marked HMI. The20 m level corresponds to Instrument Precision with Vertical guidance(IPV). Cat I Oper. corresponds to horizontal and vertical accuracies forprecision landing for Category I (decision height 200 feet). The lowerand middle regions marked MI designate VPL failures. In the upperregion marked MI integrity and unavailability overlap

    GPS EASY Suite IIcontinued from page 65

  • 8/11/2019 Easy Suite 2

    15/2350 InsideGNSS J A N U A R Y / F E B R U A R Y 2 0 1 0 www.insidegnss.com

    Arequently asked question about GPS is: How accurateis a GPS-based position? Te experienced GPS userknows that a big difference lies between using pseu-doranges alone or combining pseudoranges and carrier

    phases.Te ollowing analysis is partly based on an idea raised in

    the book, Global Positioning System: Signals, Measurements,and Performance,by P. Misra and Per Enge (See AdditionalResources section at the end o this article).

    In order to get a quantitative answer to the question Kos-tas Dragnas, a research assistant at the Danish GPS Center

    and now an Aalborg University Ph.D. student, recorded datasimultaneously with a master and a rover receiver. In order to

    vary the receiver equipment, we used two dual-requency L1/L2GPS receivers that were different rom the models employedin previous EASY Suite field campaigns. Tese receivers storedata in a binary ormat called the GPS Receiver Interace Lan-guage (GRIL).

    Te ollowing message was sent to the receivers beore start-ing the observation session: dm

    em,,/msg/jps/GT,SI,R1,P1,R2,P2ime o start was 481,860 seconds and the final epoch was at

    484,395 seconds; so, 2,535 synchronous epochs o observationswere recorded with a one-second epoch interval. We deleted 95

    epochs because o missing data at either the rover or the master,or repeated estimation o ambiguities. Tis makes a continuousrecord o about 40 minutes.

    Te original observations were modified in several ways.Afer each ephemeris, the master receiver issued two subse-quent P2 (ull P/L2 carrier phases) messages (binary identi-cal), Subsequently, the rover receiver sometimes issued two GPSime (G) messages wnand tow (binary identical).

    easy15 assumes data arriving in real-time rom the tworeceivers. In reality. we read rom two files, 19jan07m.log and19jan07r.log, containing a mixture o observations and eph-

    emerides. Te baseline is about 1,509.3 meters long.Te actual reading o the log-files is done by the readGrilM

    and readGrilRunctions. We are using two similar codes orreading in each log-file in order to avoid too much bookkeep-ing about where to read binary data in the iles. A typicalreading contains inormation on time o week, tracked satel-lites (identified by pseudorandom noise codes or PRNs), andobserved pseudorange and carrier phase on the two requen-cies.

    Te reading is complicated by the act that new ephemeri-des may appear at any time in-between the observations. Teephemerides are stored in a global matrix, EPH. Any time a new

    version o an ephemeris arrives, it overwrites the old one.As mentioned, we read rom two stored files; thereore, we

    GPS EASY Suite IIeasy15Positioning Accuracy withPseudorange & Carrier Phase

    In this continuing series, the author describes and demonstrates

    the differences between position accuracy achieved using satellite-

    receiver pseudoranges and differential pseudoranges compared

    to the accuracy of carrier phaseaided positioning.

    KAI BORREAALBORG UNIVERSITY

    ImageofGPSconstellatio

    nbasedonpublicdomainfile

    fromWikimediaCommon

    s

  • 8/11/2019 Easy Suite 2

    16/23www.insidegnss.com J A N U A R Y/ F E B R U A R Y 2 0 1 0 InsideGNSS 51

    first have to determine the first epoch common to both receiv-ers. Next, we determine the number o tracked PRNs at bothmaster and rover sites or which we know the ephemerides.

    When the number o common PRNs is our or more, wecompute the master position using the recposRTKunction, and

    all elevation angles as seen rom here. We delete low-elevationPRNs and select a reerence PRN. Next all observations arerearranged so that master and rover data match each other the sequence o PRNs in the master and rover receivers arelikely to be different. Ambiguities are estimated using ClydeGoads method as described in the text by G. Strang and K.Borre, page 490, cited in Additional Resources.

    New PRNs most ofen rise at different epochs at the mas-ter and rover. Hence, we need to omit the observations romone receiver until the PRN appears with complete data at bothreceivers.

    We repeat the computation o the master position with good

    PRNs and find the ellipsoidal height hineeded or the latercomputation o tropospheric delay.We choose a Kalman filter where the state vectorxhas three

    components, namely, the baseline components (x,y,z). We ini-tialize the covariance matrices or the vector o observations

    e,k, or the system equations

    ,k, and or the state vector P

    0|0.

    Note: users should realize that a Kalman filter and its inno-vation vector may run smoothly and the baseline componentsmay still be wrong. A correct ambiguity estimation leads toexcellent estimates o the baseline components. Incorrectambiguity estimates definitely lead to incorrect estimates othe baseline components while the filter works intensively on

    obtaining small innovations that try to push the baseline com-ponents to the correct values.Next we read one epoch o data in the master file and in the

    rover file, prepare the double differenced observations, corrector tropospheric delays, and then set up the innovation vectorb-Ax. We update the filter, plot the result in an open figurewindow, and proceed to the next epoch.

    his code is the closest we get to a real-time kinematic(RK) code without having two receivers connected directlyto the laptop computers com port. I the receivers/laptop con-figuration can be achieved, then a user may set up the portsusing the I/O acility. For one port the ollowing code reads a

    data stream rom the receiver into the file legacy.tex:s = serial(COM2);s.OutputBufferSize = 512;s.InputBuffersize = 50000;fopen(s);s.BaudRate = 9600;set(s,TimeOut,1);s.RecordMode = index;s.RecordDetail = verbose;s.RecordName = legacy.tex;

    Figure 1 illustrates two levels o positioning accuracy

    obtained rom GPS in real-time with position errors rangingrom several meters to centimeters. Te norm o the position

    error is plotted or observations taken at one-second intervalsover a period o about 42 minutes.

    Te raw L1pseudorange position accuracy is typically a ewmeters. Access to concurrent pseudorange observations roma GPS master receiver (at a known location) does not reducethe errors significantly; possibly it eliminates some commontrends in the positions.

    Finally, the ull potential o the observational data isexploited by including both pseudoranges and carrier phaseobservations to obtain position estimates at the centimeter-level or better.

    Figure 2shows the variation over 42 minutes o master sta-tion coordinates as computed rom pseudoranges alone. ypi-cally, theXand Ycoordinates show a lesser variation than the

    Zcoordinate (or Aalborg, Denmark).

    FIGURE 1 A stand-alone position and a differential position based onpseudoranges alone have position errors of a few meters, while adding

    carrier phase observations brings the position error down to the centi-meter-level or below.

    FIGURE 2 Variation of master station coordinates during 42 minutes

    Real-Time Position Estimates

    Epochs [interval 1 s]

    0 500 1000 1500 2000 2500

    PositionError[

    m]

    102

    101

    100

    10-1

    10-2

    10-3

    10-4

    Epochs [interval 1 s]

    0 500 1000 1500 2000 2500

    CoordinateError[m]

    12

    10

    8

    6

    4

    2

    0

    -2

    -4

    EASY Suite IIcontinued on page 65

  • 8/11/2019 Easy Suite 2

    17/2352 InsideGNSS J A N U A R Y / F E B R U A R Y 2 0 1 0 www.insidegnss.com

    Manufacturer

    Positioning data was gathered using two Legacy E GNSS receiv-ers rom Topcon Positioning Systems,Pleasanton, Caliornia,USA.

    Additional Resources[1]Misra, P. and P. Enge, Global Positioning System: Signals, Measurements,

    and Performance,2nd edition, Ganga-Jamuna Press, Lincoln, Massachusetts,

    USA, 2006

    [2]Strang, G. and K. Borre, Linear Algebra, Geodesy, and GPS,Wellesley-

    Cambridge Press, Wellesley, Massachusetts, USA, 1997

    Author

    Originally graduated as a chartered surveyor, Kai Borre

    obtained his Ph.D. in geodesy from Copenhagen Uni-

    versity, and a Doctor of Technology degree from Graz

    University of Technology. He has been a full profes-

    sor in geodesy at Aalborg University since 1976. Formore than 30 years Borre has conducted research and

    performed education in the area of satellite based

    positioning. In 1996 he established the Danish GPS Center and since 2000 has

    been head of a two-year international M.Sc. program in GPS technology.Borre

    is a coauthor of the widely used textbooks, Linear Algebra, Geodesy, and GPS

    and A Software-Defined GPSandGalileo Receiver; Single-Frequency

    Approach. Since the early 1990s Borre has published Matlab code for process-

    ing of GPS observations, and since 2003 he published Matlab code together

    with explanatory text, a very successful new pedagogical concept.

    EASY SUITE II

    EASY Suite IIcontinued from page 51

  • 8/11/2019 Easy Suite 2

    18/2372 InsideGNSS J U N E 2 0 1 0 www.insidegnss.com

    Newcomers ofen have difficulties imagining what thesatellite orbits actually look like.

    We say that the constellation consists o some 30satellites orbiting in six different planes, all making

    an angle with the Equator o 55 degrees and rotated 60 degreescompared to the previous plane. Figure 1shows the situation as

    seen rom ar away in space, in what we call an inertialframe.However, things get less clear i the viewer is on the surace

    o the rotating Earth. How do the trajectories then look?Very weird is how.Te situation is depicted in Figure 2.Here we use the so-called Earth Centered Earth Fixed

    (ECEF) coordinate system. Te ECEF system is in a fixed rela-tionship with the rotating Earth. Tat is, a given physical point

    on the surace maintains its coordinates over time, except orpossible movements o the crust.

    Finally, Figure 3shows a curve made up o the sub-satellitepointso an arbitrary part o an orbit.

    Te curve is the intersection between the surace o theEarth and the line segment between the satellite and the ori-gin. Tis sub-satellite curve runs within a symmetric belt onboth sides o equator and is limited by northern and southernlatitudes equal to the inclination angle o the orbit with theequator.

    easy 18

    Once I was teaching GPS to control engineers working withair traffic. A need came up or computing range and range rate

    GPS EASY Suite IIeasy17Visualizing Satellite Orbitseasy18Computing Range and

    Range Rate Corrections

    In the final two installments in our series, the author describes what

    GPS orbits would look like from various perspectives and explains how

    to solve for range and range-rate corrections at a GPS base station.

    KAI BORREAALBORG UNIVERSITY

    ImageofGPSconstellationbasedonpublicdomainfile

    fromWikimediaCommons

    AuthorOriginally graduated as a chartered surveyor, Kai Borre

    obtained his Ph.D. in geodesy from Copenhagen Uni-

    versity, and a Doctor of Technology degree from Graz

    University of Technology. He has been a full profes-

    sor in geodesy at Aalborg University since 1976. For

    more than 30 years Borre has conducted research and

    performed education in the area of satellite based

    positioning. In 1996 he established the Danish GPS Center and since 2000 has

    been head of a two-year international M.Sc. program in GPS technology.Borre

    is a coauthor of the widely used textbooks, Linear Algebra, Geodesy, and GPS

    and A Software-Defined GPSandGalileo Receiver; Single-Frequency

    Approach. Since the early 1990s Borre has published Matlab code for process-

    ing of GPS observations, and since 2003 he published Matlab code togetherwith explanatory text, a very successful new pedagogical concept.

  • 8/11/2019 Easy Suite 2

    19/23www.insidegnss.com J U N E 2 0 1 0 InsideGNSS 73

    corrections at a base station. Here is thesolution.

    Letdenote the geometric distancebetween the satellite and the receiverantennas, dt

    idenote the receiver clock

    offset, dtkthe satellite clock offset, andTthe tropospheric delay. Ten the cor-rected range is computed as

    * = + cdti- cdtk+ T

    and the range correction as

    d = * - Pobs

    .

    Figure 4shows range and range rate

    corrections over 23 epochs using Sep-tember 4, 2001, data.

    he receiver clock oset pos(4,:)varies between 1.13 105and 1.15 105

    through the 23-second period o obser-vations.

    AcknowledgementsTe help received or the EASY Suite IIseries rom Kostas Dragnas at the Dan-ish GPS Center is greatly acknowledged.His help includes the sky plot, the Stan-ord plots, and data collection duringwinter time.

    My thanks also go to Proessor PerEnge or several invitations to stay at

    Stanord Universitys Center or Posi-tion, Navigation, and ime. I appreciated

    the wonderul acilities there, and all othe people I encountered. Tey showedso much kindness and helpulness, and

    made my stays comortable.Finally I am very grateul to Steve

    Hilla or his comprehensive help in con-verting the manuscript rom latex intoWord.

    FIGURE 4 Range and range rate corrections as generated at a base station

    4

    3

    2

    1

    0

    -1

    -2

    -3

    -4

    -5

    RangeCorrection[m]

    0 10 20 30

    Epochs [1 s]

    1.5

    1

    0.5

    0

    -0.5

    -1

    -1.5

    RangeRateCorrection[m/s]

    0 10 20 30

    Epochs [1 s]

    FIGURE 1 Satellite orbits as seen in inertialframe

    FIGURE 2 Satellite orbits as seen in Earth Cen-tered Earth Fixed frame

    FIGURE 3 Sub-satellite points for a selectedsatellite

  • 8/11/2019 Easy Suite 2

    20/2322 InsideGNSS M A Y 2 0 1 0 www.insidegnss.com

    W

    ith a given GPS receiver you get a certain position-

    ing accuracy. So, the first question you may ask is:can I do anything to improve it?

    Te answer most ofen is: yes, go and buy a bet-ter receiver! Most ranging errors are determined by physics andyou can do little to improve the situation.

    However, it is interesting to analyze the inormation youmay get rom a single one-way range, that is, a single set oobservables (P

    1,

    1, P

    2,

    2) related to an individual satellite seen

    by a single dual-requency receiver. By so doing you also obtainan insight into the nature o the error sources the ones thatdo matter and the ones that can be modeled or eliminated.

    From the ephemeris o the tracked satellite we can com-

    pute the elevation angle, the ionospheric delay is estimablebecause the data originate rom a dual-requency receiver, thetropospheric delay is computed rom a standard model, andthe remaining errors we call multipatherrors.

    Finally, we estimate the orbital errors by comparing satellitepositions computed rom broadcast and precise ephemerides.Te data sample illustrates these different error contributions

    very well, their variation over time, and, thereore, their depen-dency on elevation angle.

    We select a speciic one-way observation set that wasacquired at a station south o Aalborg on January 19, 2007.(Tis is rom the data set already used in easy15, published in

    the January/February 2010 issue o Inside GNSS.) We investi-gated PRN14 in the ull session length, that is, about 42 min-

    utes including the 95 epochs that we omitted in the easy15

    discussion because o missing data at either the rover or themaster, or repeated estimation o ambiguities.

    Te subplots in Figure 1depict the satellite elevationangle,which varies rom 18 to 33 degrees, and one-way errors in iono-sphere, troposphere, and multipath.

    When dealing with the ionospheric delay I, we assume thatwe have both pseudorange and carrier phase observations onL

    1and L

    2at our disposal. We estimate the delay Iaccording to

    the ollowing matrix equation:

    As usual we define the constant = (f1/f

    2)2= I

    2/ I

    1. First we

    estimate the ambiguities on L1and L

    2 N

    1and N

    2, respectively

    as reals; incorrect values or N1and N

    2just change the level

    or I.Next we estimate Ialone as

    For the tropospheric delay we use the Goad-Goodmanmodel. Te delay Tranges rom 7.4 m to 4.2 meters. I the sat-ellite passed zenith, the corresponding delay would have beenabout 2.5 meters.

    Multipath describes the situation where signals comingrom the satellite propagate along several paths to the receiv-

    GPS EASY Suite II easy16Comparing GPS Preciseand Broadcast Ephemerides

    In this installment of the series, the author demonstrates Matlab code for

    estimation of ionospheric delay, multipath, and ephemeris errors.

    KAI BORREAALBORG UNIVERSITY

    ImageofGPSconstellation

    basedonpublicdomainfile

    fromWikimediaCommons

  • 8/11/2019 Easy Suite 2

    21/23www.insidegnss.com M A Y 2 0 1 0 InsideGNSS 23

    er antenna. Te main part o thesignal radiates directly rom thesatellite, but part o the signal isrelected rom suraces near thereceiver.

    Multipath occurs when thesignal arrives at the antenna romthese relected suraces in addi-tion to the line-o-sight source.Te reflected signal is phase-shifedwith respect to the original trans-mission and appears as additivenoise at the antenna.

    Multipath depends on satellitegeometry and the antenna environ-ment, which makes multipath diffi-cult to model. For long observation

    periods 24 hours or more themultipath effects are partly reducedby averaging. However, observationperiods usually last or only a ewhours and ofen much less; this iswhy multipath is a problem.

    Because the antenna locationsare different, the multipath signa-

    FIGURE 1 One-way errors for PRN14

    34

    32

    30

    28

    26

    2422

    20

    18

    16

    Elevation

    angle[]

    0 500 1000 1500 2000 2500 3000

    4.8

    4.6

    4.4

    4.2

    4.0

    3.8

    3.6

    3.4

    3.2

    Ionospheric

    delayI[m]

    0 500 1000 1500 2000 2500 3000

    8

    7.5

    7

    6.5

    6

    5.55

    4.5

    4

    Troposp

    hericdealyT[m]

    0 500 1000 1500 2000 2500 3000

    5

    4

    3

    2

    1

    01

    -2

    IMu

    ltipathM[

    m]

    0 500 1000 1500 2000 2500 3000

    Epochs [interval 1 s] Epochs [interval 1 s]

  • 8/11/2019 Easy Suite 2

    22/2324 InsideGNSS M A Y 2 0 1 0 www.insidegnss.com

    ture at each antenna is unique and the error is not commonmode.

    Let the geometrical distance between satellite and receiverbe, let Ibe the ionospheric delay, andMthe code multipathincluding receiver noise. Te pseudoranges observed on L

    1and

    L2or PRN14 may then be expressed as

    Remaining errors are identified as multipath and receivernoise similarly or the phase observations:

    Te multipaths m1and m

    2on phase observations are so

    small that we subsequently put mi= 0. We want to ind anexpression orM

    1. We start by subtracting (5) rom (3):

    or

    and subtracting (6) rom (5) yields

    or

    We insert (9) into (7) and obtain

    or

    We can reasonably assume that E{M1}= 0. Te second term

    on the lef side o (11) is a constant; so, it is possible to reduce

    M1to such that E{ ]= 0:

    Analogously, by exchanging subscripts, we have or themultipath on L

    2:

    For all epochs with all our observations P1, P

    2,

    1, and

    2

    available, we compute multipath according to Equation (12).In the present case, the average error is below two meters and

    noisier at low satellite elevation angles. Te noisy character o theplot reflects the actual noise in any pseudorange observation.

    EASY SUITE II

    Finally we investigate the difference between precise andbroadcast ephemerides. Any file containing broadcast eph-emerides is specific to the site rom which the satellites weretracked. Tereore, we need to identiy the tracked satellites inthe time period during which we want to compare the preciseand broadcast ephemerides.

    Tis can be done by inspecting the corresponding observa-tion file in the PRN14 navigation message and getting the dateand the seconds o the week; next we find the correspondingJulian Day Number (jd). We find an epoch (modulo 15 minutes)60 minutes ahead ojd, which is counted in unit o day. (Te

    variablejdis a real number where the integer part is number owhole days and the decimal part is made up o hours, minutes,seconds and ractions o seconds all convert into ractions o aday). Finally the GPS week number is computed by the Matlabunction gps_time.

    he precise ephemerides that we used can be ound at, the number 1410 beingthe GPS week number. Te file extracts to igr14105.sp3, whichcontains precise ephemerides or January 19, 2007, in the SP3ormat. Te IGS SP3 files typically contain satellite positions(X,Y,Z) and clock offsets or each satellite every 15 minutes,rom 0:00 hours to 23:45. (Te SP3 file starts with some header

    lines, which or our purposes we can skip.)We read precise orbits or the interpolation period plus three

    times 15 minutes ahead o the observation period and threetimes 15 minutes afer the period, i.e., 13:15 hours, 13:30 hours,... , 15:15 hours in total nine sets. Te precise coordinates orall tracked satellites are stored in the matrixXp.

    In the ollowing discussion, we introduce a time scale withunits o 15 minutes. We could have chosen whole minutesinstead. Te first observation is rom 13.85 hours, and the lastobservation is taken at 14.55 hours. Te entire observation peri-od is 2,535 seconds = 42.25 minutes = 2.8 quarters o an hour.

    A Lagrange interpolation, one or each coordinate, o at least

    seventh order is used to compute the actual position. Te Mat-lab unction intp does an (n 1)th order polynomial Lagrange

    FIGURE 2 Difference in meters between precise and broadcast eph-emerides for PRN14 for individual vector components (X, Y, Z). Norm ofdifference vector marked by stars

    0 5 10 15 20 25 30 35 40 4510

    5

    0

    5

    10

    15

    Time [minutes]

    Differencebetweenbroadc

    astandpreciseephemerides

    Vectorcomponen

    ts(X,Y,Z)[m]

    Normo

    fdifferencevector

    markedbybluestars[m]

    X

    Y

    Z

    || ||

  • 8/11/2019 Easy Suite 2

    23/23

    Author

    Originally graduated as a chartered surveyor, Kai Borre

    obtained his Ph.D. in geodesy from Copenhagen

    University, and a Doctor of Technology degree from

    Graz University of Technology. He has been a full

    professor in geodesy at Aalborg University, Den-mark, since 1976.

    For more than 30 years Borre has conducted

    research and taught in the area of satellite-based positioning. In 1996 he

    established the Danish GPS Center and since 2000 has been head of a two-year

    international M.Sc. program in GPS technology.

    Borre is a coauthor of the widely used textbooks, Linear Algebra, Geodesy,

    and GPSandA Software-Defined GPSandGalileo Receiver; Single-Frequency

    Approach.

    Since the early 1990s, Borre has published Matlab code for processing of GPS

    observations. Since 2003 he has published Matlab code together with explana-

    tory text, a successful new pedagogical concept.

    interpolation. Letybe an n 1vector o data given at the dis-crete times x, (xis as well an n 1vector), (See the relevantdiscussion inMatrix Analysisby R. A. Horn and C. R. Johnson,Volume 1, pages 2930, cited in Additional Resources at theend o this article.)

    We want an interpolated precise position each minute;hence, we divide by 15 to keep units in quarters o an hour.Te first parameter in the intp procedure describes the abscis-sae or the points at which we know the satellite coordinates.Te second parameter contains these coordinates, and the thirdparameter describes the point set at which we want interpolated

    values all in units o quarter o an hour. Each coordinate isinterpolated separately!

    Figure 2shows the difference in satellite position as com-puted rom broadcast ephemerides given via the navigationfile, and the postprocessed satellite positions or PRN14. Whencomparing with broadcast ephemerides we assume the precisepositions to be the true ones.

    Te actual influence o the orbit error on the receiver posi-tion is given by the projection o the difference vector onto theline between the receiver and satellite. Let vector bbe the di-erence vector between the satellite positions computed romthe broadcast and the precise ephemerides, and ato be the vec-

    tor between the receiver and the satellite position as computedrom broadcast ephemerides. Ten the projected difference

    vectorponto vector ais given as

    Figure 3shows vectorpor PRN14. Te computed ephemeriserror varies in the range o 2 meters. Te discontinuities inthe error reflect the routine ephemeris updates at two-hourintervals.

    Additional Resources

    Horn R A and C R Johnson Matrix Analysis Cambridge University Press

    FIGURE 3 Length of difference vector between precise and broadcastephemerides as projected onto the line of sight

    0 5 10 15 20 25 30 35 40 451.8

    1.6

    1.4

    1.2

    1

    0.8

    0.6

    0.4

    0.2

    Time [minutes]

    Differenceinradialdirection

    betweenbroadcastandpreciseephemerides[m]