gps matlab toolbox review - constellconstell.org/downloads/gpsmatlab.article.pdf · digital signal...

6
50 GPS WORLD October 1998 www.gpsworld.com GPS MATLAB Toolbox Review Avram K. Tetewsky Arnold Soltz Draper Laboratory Simulate, as defined by the Concise Oxford Dictionary of Current English, means to “imitate conditions of (situation etc.) with model, for convenience or training.” Very often in the fields of science and engineering, we need to simulate a situation — just as the definition indicates — before it occurs to help us design or understand a system or its components. So it is with GPS. We can carry out GPS simulations using either hardware — which we briefly examined in a previous column — or software, which we’ll take a look at this month. Our discussion will take the form of a review of four GPS simulation packages that use the popular and versatile MATLAB programming language. Our reviewers are Avram K. Tetewsky and Arnold Soltz from the Draper Laboratory in Cambridge, Massachusetts. Tetewsky is a staff analyst in Draper Laboratory’s Electronic Design and Sensor Development Directorate. His current work involves GPS receivers and GPS simulators. He holds a B.S. from Rensselaer Polytechnic Institute and S.M. and E.E. degrees from the Massachusetts Institute of Technology. Soltz received a B.A. in mathematics from Johns Hopkins University in 1964 and an M.S. in mathematics from Northeastern University in 1969. He has designed, implemented, and tested real-time navigation and guidance systems at Draper Laboratory for more than 30 years. His most recent work includes a detailed MATLAB simulation of inertial and GPS sensors on a rapidly spinning vehicle. “Innovation” is a regular column featuring discussions about recent advances in GPS technology and its applications as well as the fundamentals of GPS positioning. The column tion, and then prototype the back-end naviga- tion algorithms. After that, you merely pump measurements into your new navigation algorithms and compare the navigation fixes with the truth models. The hurdles along this route are choosing a programming language, and writing, test- ing, validating, and maintaining your own software library. But just as the revolution in microcomputing hardware and new para- digms in such software as spreadsheets and Visual BASIC has made it possible for more people to create business applications, a sim- ilar revolution has been taking place with software targeted at scientists and engineers. Because GPS simulation requires a broad spectrum of tools covering matrix algebra, digital signal processing, control theory, and navigation algorithms, a high-level program- ming language is desirable. The MathWorks, Inc.’s MATLAB provides an easy-to-use matrix programming language that is both portable and third-party extendible (see the “What is MATLAB?” sidebar on page 55). Although other simulation tools and matrix languages exist, industry and academia rou- tinely use MATLAB for wide ranging analy- sis tasks in a variety of fields, including GPS. Software modules for carrying out a variety of related tasks are typically grouped together in “toolboxes.” A number of good GPS MATLAB tool- boxes for GPS and/or GLONASS simulation — complete with source code — have appeared. Their authors recently provided the following products for us to review (others may also be available): GNSS Toolbox. Orion Dynamics and Control Corporation developed its GNSS (Global Navigation Satellite System) Toolbox as an integrated collection of utilities designed to model, simulate, and analyze GPS, GLO- NASS, and Wide Area Augmentation Sys- tems (WAAS) for various navigation applications. The software includes masking for earth-fixed or body-fixed satellites or rockets and models satellite orbits and sig- nals, dilution of precision (DOP) parameters, and receiver noise. Constellation Toolbox. Constell Inc. offers Constellation Toolbox for analyzing and sim- ulating GPS, GLONASS, and WAAS as well as for other navigation and visibility applica- tions. The package is designed as a highly integrated and vectorized collection of utili- ties that enables users to model visibility masking in either fixed or mobile environ- ments. Utilities range from basic visibility analysis to simulation of DGPS, SA, tropo- spheric and ionospheric effects, and receiver clock errors. INNOVATION is coordinated by Richard Langley of the Department of Geodesy and Geomatics Engineering at the University of New Brunswick, who appreciates receiving your comments as well as topic suggestions for future columns. To contact him, see the “Columnists” section on page 4 of this issue. Suppose your boss asked you: “Will there be enough satellites visible on the date of our big test to ensure a successful demo?” or “Are the receiver autonomous integrity mon- itoring (RAIM) thresholds going to work?” or “Can you integrate this GPS receiver into our ship navigation system and tune the latency parameters to handle ‘short’ outages in differential GPS (DGPS) service?” or “How will interference from our new paging system affect GPS reception?” or “Can you simulate how our new GPS product is going to perform?” What do you tell her? As engineers design GPS into more prod- ucts, the demand for detailed GPS perfor- mance and integrity simulation will likely increase. Precise and repeatable “hardware” navigation simulations use a GPS simula- tor — a tool that generates actual radio- frequency (RF) signals that can fool a GPS receiver into thinking it is moving with a par- ticular velocity at any location in the world. Such a system typically costs from $50,000 to $300,000. With a good GPS simulator, you can control the truth models, inject known tropospheric, ionospheric, and even selective availability/antispoofing (SA/AS) errors, and then assess their impact. If you can’t afford a GPS simulator, or if that resource is already overcommitted, or if your receiver does not already exist, you could either use “canned” data collected from known locations or write your own simula- tion software. Unless you need to perform jamming or intricate multipath analysis, the detailed signal processing of code correlation and Doppler removal (also called Doppler wipe off or phase rotation) is not important; you need only create measurement data with known errors and additive thermal noise, fig- ure out which signals are visible at your loca-

Upload: vonguyet

Post on 06-Feb-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: GPS MATLAB Toolbox Review - Constellconstell.org/Downloads/gpsmatlab.article.pdf · digital signal processing, control theory, and navigation algorithms, a high-level program-ming

50 GPS WORLD October 1998 www.gpsworld.com

GPS MATLABToolbox ReviewAvram K. TetewskyArnold Soltz

Draper Laboratory

Simulate, as defined by the Concise OxfordDictionary of Current English, means to“imitate conditions of (situation etc.) withmodel, for convenience or training.” Veryoften in the fields of science and engineering,we need to simulate a situation — just as thedefinition indicates — before it occurs to helpus design or understand a system or itscomponents. So it is with GPS.

We can carry out GPS simulations usingeither hardware — which we briefly examinedin a previous column — or software, whichwe’ll take a look at this month. Our discussionwill take the form of a review of four GPSsimulation packages that use the popular andversatile MATLAB programming language.Our reviewers are Avram K. Tetewsky andArnold Soltz from the Draper Laboratory inCambridge, Massachusetts.

Tetewsky is a staff analyst in DraperLaboratory’s Electronic Design and SensorDevelopment Directorate. His current workinvolves GPS receivers and GPS simulators.He holds a B.S. from Rensselaer PolytechnicInstitute and S.M. and E.E. degrees from theMassachusetts Institute of Technology.

Soltz received a B.A. in mathematics fromJohns Hopkins University in 1964 and an M.S.in mathematics from Northeastern Universityin 1969. He has designed, implemented, andtested real-time navigation and guidancesystems at Draper Laboratory for more than30 years. His most recent work includes adetailed MATLAB simulation of inertial andGPS sensors on a rapidly spinning vehicle.

“Innovation” is a regular column featuringdiscussions about recent advances in GPStechnology and its applications as well as thefundamentals of GPS positioning. The column

tion, and then prototype the back-end naviga-tion algorithms. After that, you merely pumpmeasurements into your new navigationalgorithms and compare the navigation fixeswith the truth models.

The hurdles along this route are choosinga programming language, and writing, test-ing, validating, and maintaining your ownsoftware library. But just as the revolution inmicrocomputing hardware and new para-digms in such software as spreadsheets andVisual BASIC has made it possible for morepeople to create business applications, a sim-ilar revolution has been taking place withsoftware targeted at scientists and engineers.

Because GPS simulation requires a broadspectrum of tools covering matrix algebra,digital signal processing, control theory, andnavigation algorithms, a high-level program-ming language is desirable. The MathWorks,Inc.’s MATLAB provides an easy-to-usematrix programming language that is bothportable and third-party extendible (see the“What is MATLAB?” sidebar on page 55).Although other simulation tools and matrixlanguages exist, industry and academia rou-tinely use MATLAB for wide ranging analy-sis tasks in a variety of fields, including GPS.Software modules for carrying out a varietyof related tasks are typically groupedtogether in “toolboxes.”

A number of good GPS MATLAB tool-boxes for GPS and/or GLONASS simulation— complete with source code — haveappeared. Their authors recently provided thefollowing products for us to review (othersmay also be available):

GNSS Toolbox. Orion Dynamics and ControlCorporation developed its GNSS (GlobalNavigation Satellite System) Toolbox as anintegrated collection of utilities designed tomodel, simulate, and analyze GPS, GLO-NASS, and Wide Area Augmentation Sys-tems (WAAS) for various navigationapplications. The software includes maskingfor earth-fixed or body-fixed satellites orrockets and models satellite orbits and sig-nals, dilution of precision (DOP) parameters,and receiver noise.

Constellation Toolbox. Constell Inc. offersConstellation Toolbox for analyzing and sim-ulating GPS, GLONASS, and WAAS as wellas for other navigation and visibility applica-tions. The package is designed as a highlyintegrated and vectorized collection of utili-ties that enables users to model visibilitymasking in either fixed or mobile environ-ments. Utilities range from basic visibilityanalysis to simulation of DGPS, SA, tropo-spheric and ionospheric effects, and receiverclock errors.

I N N O V A T I O N

is coordinated by Richard Langley of theDepartment of Geodesy and GeomaticsEngineering at the University of NewBrunswick, who appreciates receiving yourcomments as well as topic suggestions forfuture columns. To contact him, see the“Columnists” section on page 4 of this issue.

Suppose your boss asked you: “Will there beenough satellites visible on the date of ourbig test to ensure a successful demo?” or“Are the receiver autonomous integrity mon-itoring (RAIM) thresholds going to work?”or “Can you integrate this GPS receiver intoour ship navigation system and tune thelatency parameters to handle ‘short’ outagesin differential GPS (DGPS) service?” or“How will interference from our new pagingsystem affect GPS reception?” or “Can yousimulate how our new GPS product is goingto perform?” What do you tell her?

As engineers design GPS into more prod-ucts, the demand for detailed GPS perfor-mance and integrity simulation will likelyincrease. Precise and repeatable “hardware”navigation simulations use a GPS simula-tor — a tool that generates actual radio-frequency (RF) signals that can fool a GPSreceiver into thinking it is moving with a par-ticular velocity at any location in the world.Such a system typically costs from $50,000to $300,000. With a good GPS simulator, youcan control the truth models, inject knowntropospheric, ionospheric, and even selectiveavailability/antispoofing (SA/AS) errors, andthen assess their impact.

If you can’t afford a GPS simulator, or ifthat resource is already overcommitted, or ifyour receiver does not already exist, youcould either use “canned” data collected fromknown locations or write your own simula-tion software. Unless you need to performjamming or intricate multipath analysis, thedetailed signal processing of code correlationand Doppler removal (also called Dopplerwipe off or phase rotation) is not important;you need only create measurement data withknown errors and additive thermal noise, fig-ure out which signals are visible at your loca-

Page 2: GPS MATLAB Toolbox Review - Constellconstell.org/Downloads/gpsmatlab.article.pdf · digital signal processing, control theory, and navigation algorithms, a high-level program-ming

www.gpsworld.com GPS WORLD October 1998 51

SatNav Toolbox. Designed to simulate satel-lites, the propagation environment, receivermeasurements, and data processing, SatNavToolbox from GPSoft supports navigationapplications for both standalone and DGPSpositioning. The package can emulate a pairof receivers with proper decorrelation of data— one as reference, one (or more) as a rover.Differential carrier phase is also explicitlysupported through ambiguity resolution fordifferential carrier-phase applications. Bysimulating the GPS navigation system, thispackage is said to cut down on the number ofiterations needed to carry out a GPS naviga-tion experiment.

GPS Signal Simulation Toolbox. Navsys Corpora-tion has developed the GPS Signal Simula-tion Toolbox as part of its GPS Data AnalysisTools to simulate the GPS signals and theeffects of signal degradation and dynamicson a receiver. The software simulates thereceiver’s code and carrier tracking loops,and users can observe the tracking noise, loss of lock, and cycle slippage. This tool can assist in testing and evaluating GPSreceivers, surpassing the abilities of conven-tional RF simulators, which fail to provideinsight into why various receivers performdifferently.

OUR APPROACHAlthough no single package should beexpected to solve all GPS problems for allpeople (at a finite cost), we quickly ascer-tained each package’s efficacy by analyzingits quality and breadth of coverage. To beginour review, we provide a brief overview ofeach toolbox in Table 1, which covers theplatforms and the number of library, tutorial,and demo functions each product delivers. Inthe next section and in Table 2, we examinethe software’s organization and the supplieddocumentation, which includes the user’smanual, organizational aids (indices), andon-line help. Table 3 summarizes how welleach package is structured, including howwell the MATLAB programming language isused to implement the various functions andwhether the core coordinate routines areWorld Geodetic System of 1984 (WGS 84)compatible.

Our fourth set of tables addresses our eval-uation of each package’s performance. Tomore easily compare these products, wedecided to evaluate the toolboxes using threecriteria: how well they executed their GPSfunctions, how adaptable and efficient theindividual tools were at simulating arbitraryGPS problems, and the correctness of selectcore routines with respect to the InterfaceControl Document, ICD-GPS-200. To exam-

I N N O V A T I O N

VectorizedError checksOutages and gapsDocument tricksChunking/memoryCorrect ECEF,WGS 84Platform+ver test

MATLAB version Platforms

Library m-filesTutorial m-filesDemo m-files Space (32kB blocksize)Support

CopyrightUpgrades

Note: Subcategories that no vendors currently supportbut are of interest to the community include global controls and self version test.

* At the time of this review, a chunking/memory demowas not shipped with the package but was available onthe web site.

Orion GNSSToolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

YYYY-WD

Y

Y-WDY-WDYY-WD Y *YY

Y

Y

Y

Y

Orion GNSS Toolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

Table 1. Toolbox overview

Table 3. Implementation

Purpose/problems Programming tutorialConventionsGPS theoryCalling tree summaryOn-line help

Input/outputsAlgorithm referenceContents.mLook for 1st H-lineSee-also

Reference organizationAlphabeticalSubjectIndexes

YY-WDY

Y

YYY

Y

Y

YY-WDY

Y

YYY-WD

Y

Y

YY-WD

Y

YY

Y

Y

Y

YY

Y

Y

Orion GNSS Toolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

Table 2. Organization and documentation

ine these aspects, we selected several genericproblems that users might wish to study.Solving each of these scenarios requires a setof GPS toolbox features, which we willbriefly introduce in the article text and havelisted in the summary feature table corre-sponding with each particular problem.

Table Abbreviations. In all of the tables, weindicate whether the product provides a givenfunction with a “Y” for yes. If the particularfunctions have special fidelity for details ofgeometry, physics, or data processing, thenwe noted that as “Y-WD” for “yes, welldone.” No entry indicates the package did notsupply that function. To further clarify which

functions truly addressed the specified simu-lation problem, we list an “S” for “solvable”next to those features that contribute to thesolution. We also indicate whether we couldsolve the problem with only “trivial modifi-cations” to the supplied demo programs (S-TM). Any functions we felt were importantto solve the given problem, but that no ven-dor addressed, we have listed in a footnote tothe appropriate table.

In the final section of our review, wedescribe our experiences, further addresshow well the packages lived up to ICD-GPS-200 in select core areas, and rationalize oursubjective recommendations.

4.2c, 5.x graphicsPC, can coerce for

Mac/Unix687342.88 MB1 year, free, e-mail

repay each copycall(tutorial anddemos were in separate directories)

4.2c, 5.x graphicsPC, can coerce for

Mac/Unix687342.88 MB1 year, free, e-mail,webrepay each copycall(tutorial and demos were in separate directories)

4.2c, 5.xPC, can coerce for

Mac/Unix30 m files26 m filesx266 kB1 year, free, email

repay each copycall(all in one directory, examples started with ex)

4.2CPC, can coerce for

Mac/Unix1189111.29 MB1 year, free, e-mail

unknowncall(three subdirectories: geo for coordinates, sat for satellites, andsignal for the rest)

Page 3: GPS MATLAB Toolbox Review - Constellconstell.org/Downloads/gpsmatlab.article.pdf · digital signal processing, control theory, and navigation algorithms, a high-level program-ming

52 GPS WORLD October 1998 www.gpsworld.com

Y Y Y Y

Y-WD S-TMS-TM

Y S-TMY S-TMY-WD S-TM

Y-WD S-TMS-TM

Y S-TMY S-TMY-WD S-TM

YYY

Y S-TMY S-TM

Y-WD S-TMY-WD S-TM

Y S-TMY S-TM

Y-WD S-TMY-WD S-TM

Y S-TMY S-TM

Y

YY

YY

Y-WD S-TMY-WD S-TMY-WD S-TMY-WD S-TMY-WD S-TM

Y-WD S-TMY-WD S-TMY-WD S-TMY-WD S-TMY-WD S-TM

Y S-TM

Y S-TM

YYYY

Y-WD S-TM Y-WD S-TM Y

Y

Y-WD S-TMY-WD S-TM

Y-WD S-TMY-WD S-TMY-WD

Y S-TM Y

Y S-TMY-WD S-TMY S-TMY S-TMY-WD S-TMY-WD S-TMY S-TMY S-TM

Y-WD S-TMY S-TMY S-TMY

Y S-TMY-WD S-TMY S-TMY S-TMY-WD S-TMY-WD S-TMY S-TMY S-TM

Y-WD S-TMY S-TMY S-TMY

Y S-TM

S-TMY S-TMY-WD S-TMY-WD S-TMY S-TMY S-TMYY S-TMY S-TMY S-TMY

Y

Y

GPS constantsHardwiredGPS coordinatesECEF,ECI,LLA Local-levelwander azimuth

Body-framesAzi & elevation anglesTimeGPS Time Week, TOWJulian Day GPS UTC GPSY2K compliantGPS Time sim timeSV orbit toolsApprox. circularAlm-based GPSEphm-based GPS GLONASS circularGLONASS actualTrajectory toolsFile P, V, BodyAtt

& acc, AttRatesMotion generationVisibility, masksEarth blockVehicle blockSpace capableMeasurement SimulationLOS rangeUser Clock & driftDoppler (Velocity)Carrier PhaseSA DitherSA EpsIonosphereTroposphereMultipathScalar LADGPSSingle-diff CDGPSDouble-diff CDGPSGLONASS versions

Table 4.1. GPS scenario simulation — Problem 1

Note: Subcategories that no vendors currently support but are of interest to the community include lever arm(t), cg(t);antenna frames; SV rotation; profgen formats; simulator formats; user antenna; terrain masking; SV clock and drift; lightspeed transit; LOS acceleration; LOS jerk; vector WADGPS; attitude, n ants; C/No dB Hz; phase wrap up; and L2 versions.

Orion GNSS Toolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

Thus, if you don’t know the arcane eight-let-ter filename of the function you need, youhave to wade through the forest to find it.Despite this shortcoming, though, these tool-boxes are truly useful and actually makemastering their learning curves a goodinvestment.

SIMULATION CHALLENGESAs mentioned, we chose several potentialsimulation activities or problems (P1–6) forthe packages to address: P1) GPS scenariosimulation; P2) GPS measurement selection,navigation accuracy, and algorithm develop-ment; P3) fault monitoring; P4) readingrecorded data; P5) total GPS receiver RF,digital signal processing (DSP), navigation,and modeling simulation test tools; and P6)presentation quality graphics. Tables 4.1

through 4.6 detail the functions necessary toachieve the solutions described in the follow-ing paragraphs. They also indicate whichproducts supply the capability using the pre-viously explained abbreviations.

First Things First. To solve problem 1 (seeTable 4.1), the package must generate all ofthe data necessary to evaluate navigationaccuracy in P2. Thus, the product must beable to generate the line-of-sight pseudo-range and carrier-phase truth and intentionalerror data as well as their rates for each satel-lite or space vehicle (SV) visible to a movinguser; the received power levels and interfer-ence levels (caused by thermal noise or inten-tional jamming); these same two types ofdata for one or more differential or wide-areadifferential reference stations; and the scalaror vector differential corrections that the dif-ferential base station broadcasts.

The product must also ensure that the tem-poral and spatial correlations are correct. Ifthey are not, it should be documented as towhat they don’t do. By carefully keeping thedata separated into truth and error terms, andwith good control options, the user can thenexplore the effects of different error sources.Ultimately, the package should faithfullygenerate the input data so that single- anddouble-differenced pseudorange and carrier-phase data for multi-antenna systems can befed into kinematic differential carrier-phasenavigation algorithms. Because many of thepackages simulate ephemeris, SA, ionos-phere, troposphere, and user clock models,several of these packages actually achievemost of these goals, at least for earth-basedgeometries.

Problem Two. A package that can solve P2should supply several algorithms for select-ing which satellite measurements to process,several types of typical navigation algo-rithms, and the tools to manage and build upnew algorithms. (As reviewers, we didn’texpect to find a product with all possiblealgorithms, but the more a toolbox supplies,the better the value.)

Typical starting points for identifyingdesirable features in a simulation package areselection of satellites based on DOP,weighted DOP, and robust DOP (robust indi-cates that the package can select the bestnumber of satellites greater than four suchthat the loss of a satellite does not drasticallyalter DOP); point position and time fix; pointvelocity and drift fix; and local-area DGPS(LADGPS) fixes using scalar correctionsbroadcast from a single reference station.Enhancements include carrier-phase smooth-ing of pseudo-range, various Kalman filtercomponents, some complete PVT (position,

I N N O V A T I O N

THE REVIEW First, we would like to thank the vendors forparticipating in this review. This articlewould not have been possible without theircooperation. We are also happy to report thateach of the four packages touched on almostevery possible GPS modeling requirement,providing users with the necessary breadth ofcoverage for today’s varied GPS applicationareas.

We also discovered, however, that thewide variety of simulation topics led to onedownside — most toolboxes had similarorganizational flaws. Most of the softwareprogrammers dumped roughly 50 MATLABfunctions in their main GPS toolbox subdi-rectories to which the products’ documenta-tion only has an alphabetical referencesection and/or no index or topical index.

Page 4: GPS MATLAB Toolbox Review - Constellconstell.org/Downloads/gpsmatlab.article.pdf · digital signal processing, control theory, and navigation algorithms, a high-level program-ming

54 GPS WORLD October 1998 www.gpsworld.com

velocity, and time) and/or carrier-phase–assisted Kalman filter models, vector differ-ential GPS algorithms for wide-area DGPS(WADGPS), and single- and double-differ-enced kinematic navigation solutions (seeTable 4.2).

Challenge Three. A package should deliver afew basic RAIM routines that can detect andisolate bad measurement data to solve P3(Table 4.3). RAIM routines with tuning para-meters and thresholds to detect differenttypes of bad data — biases, noise-like errors,and so forth — enhance a package’s value.You will note in Table 4.3, although somevendors supplied functions that could helpsolve this problem, none contributed signifi-cantly to such a solution.

Pinning Down P4. The reading-of-recorded-data problem, P4, can be solved by a packagethat at least supplies Receiver IndependentExchange (RINEX) and National MarineElectronics Association (NMEA) data pars-ing routines so users can easily process actualreceiver data (see Table 4.4). Becausereceivers tend to store interesting auxiliarydata in the manufacturer’s own binary for-mats, a toolbox vendor would be justified incharging additional money for receiver-spe-cific translators.

The Key to Five. To solve P5 (Table 4.5),detailed simulation of an entire GPS receiver,a package should generate base-band in-phase (I) and quadrature (Q) error signals at2-kHz sample rates. These data mimic theintegrate and dump outputs of the DSP chipfound in all modern GPS receivers. Thepackage should also provide some sampletracking-loop models. If it generates theactual sample values using a 4-MHz band-width for C/A-code and 40 MHz for P(Y)simulation, which includes the front-endautomatic gain control (AGC) and quantizer,this would be very valuable. Simulink, aproduct for block-diagram design of dynamicsystems for use with MATLAB, is probably agood implementation option when combinedwith MEX files for speed.

Last But Not Least. Finally, to solve P6, thepackage should supply some routines thatallow the user to visually display results. It isdesirable for the software package to dosome interactive graphic scaling and to intel-ligently handle large data sets with scatteredoutages (see Table 4.6).

We had also considered a seventh problemregarding geodesy, which could have beensolved by software that provides severaldatum conversion routines such that mapdata or geoid models could be handled.Unfortunately, none of the software offeredfunctions that addressed this particular task.

YY

Y-WD S

Y SY SY SY SYYY

Y-WD SYY WD SY WD

Y-WD SYY-WD SY-WD

Y Y

Y

PresentationBasicMercatorQualityInteractive scale

Orion GNSS Toolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

Orion GNSS Toolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

Y-WD S-TM Y-WD S-TMData InterchangeNMEA

Orion GNSS Toolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

Note: Neither RINEX nor any other data interchange format functions were supplied with any of the packages.

Note: Subcategories that no vendors currently support but are of interest to the community include gaps, chunking,and prune points. Other categories of interest include simulator utilities (subframe databits and trajectory), pseudolites, and jamming models.

Table 4.6. Presentation quality graphics — Problem 6

Table 4.5. Total GPS receiver RF, digital signal processing, navigation, andmodeling simulation — Problem 5

Table 4.4. Reading recorded data — Problem 4

Y-WDY-WD

YPost FixPoint RAIM WADGPS CoverageCEP, drms, . . .

Orion GNSS Toolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

Table 4.3. Fault monitoring — Problem 3

Table 4.2. GPS measurement selection, navigation accuracy, and algorithmdevelopment — Problem 2

Y-WD S-TM Y-WD S-TM Y Y

Y WD S-TMY WD S-TMY S-TM

YY

Y-WD S-TMY-WD S-TMY S-TM

YY

Y S-TMY S-TMY S-TMYYY SY S-TM*

Note: Subcategories that no vendors currently support but are of interest to the community include weighted DOP;robust DOP; vector WADGPS; attitude fix; carrier phase K.F. PV; and K.F.+sensors.* available on request

Orion GNSS Toolbox 2.05

Constell Constella-tion Toolbox 3.02

GPSoft SatNavToolbox v. Feb 98

Navsys GPS SignalSimulation Toolbox

I N N O V A T I O N

Meas Select ToolsDOPsNav Fix ToolsPoint pos & timePoint vel & driftScalar LADGPSCarrier-phase smoothSingle-diff CDGPSDoubl-diff CDGPSK.F. PV PVT model

Receiver SimulationExact C/A I/QTracking loops

DLLPLL,FLLSNRLock detector

Generate C/AGenerate C/A corrPredict ROCNote: Subcategories that no vendors currently support but are of interest to the community include rule of thumb; linear 2kHz I/Q; analytical quant; analytical AGC; exact P I/Q; tracking loops — bit sync, frame sync; variable I/D; tracking moding; search; receiver management; and n channels.

Page 5: GPS MATLAB Toolbox Review - Constellconstell.org/Downloads/gpsmatlab.article.pdf · digital signal processing, control theory, and navigation algorithms, a high-level program-ming

www.gpsworld.com GPS WORLD October 1998 55

OUR EXPERIENCESDuring our review, we developed some engi-neering intuition about each of these prod-ucts. All of the vendors knew that we werereviewers, so we can’t tell you what type ofsupport a nonreviewer is going to get. Wecan, however, convey our general impres-sions and specific experiences regarding eachproduct.

All of the packages had a minor installa-tion flaw when it came to modifying theMATLAB file path to include the new tool-box. They had the wrong advice, that of mod-ifying the Matlabrc.m file, a file that changesfrom version to version of the program. Allfour should have recommended having aGPS startup.m file for each GPS folder. Butonce we got past that minor hurdle, the pro-grams ran as documented.

Comments and Suggestions. The following sec-tions will provide a few summary commentsregarding our evaluations of the variouspackages. Please note, all comments took thepackages’ prices into account. For higher-end products, therefore, we made more sug-gestions. Before we start this final part of ourreview, though, we also need to note some-thing about the companies Orion and Con-stell. If their products look almost identical,that is because, until recently, they were onecompany and one product. The products arestarting to diverge, but at the time of thisreview, there were only subtle variations. Wehave, therefore, grouped our comments abouttheir packages into one section.

Orion and Constell. Each of these products ispresented as a highly integrated set of utili-ties for modeling, simulating, and analyzingGPS, GLONASS, and WAAS, and webelieve that they met most of their claims,with the exception of WAAS. We liked thedocumentation, coding style, input variablechecking, and the demos. We liked Con-stell’s improved centralized error handlingand the “chunking” demo with DGPS versusstandalone GPS. We also felt the Constellstaff knew its subject matter and the MAT-LAB language quite well and provided out-standing technical support.

Both packages could benefit from severaladditional items: an antenna frame and someantenna pattern routines; changes to the routine utc2gps to handle four-digit years;changes to the online utc2gps help to document how two-digit years of 50 andbelow are wrapped to years above 1999; andsome improvements to the simulation ofpseudo-range and carrier-phase data. Thespecific recommended improvements for the pseudorange and carrier phase are sug-gested to enable the addition of satellite

Cleve Moler, chairman and chief scientist of The MathWorks Inc., and a former professor ofmathematics and computer science, conceived of MATLAB, short for Matrix Laboratory. Heaimed to create a computer language that would give scientists and engineers a way tonaturally transform equations with complex matrix algebra into working computer programs.He also wanted it to have the appeal and simplicity of BASIC (Beginners All-purpose SymbolicInstructional Code — an easy-to-learn, highly flexible computer language invented at Dart-mouth College in 1964 and still in wide use in a variety of offshoots) so that engineers andscientists with only novice programming ability could use it. The program also needed tosupport graphics and encourage users to write reusable function libraries.

Moler created the MATLAB programming language such that the mathematical operators + - * ^

obeyed the rules of complex matrix algebra. He even included both left, \, and right, /, matrixinverse operators. But, he also recognized the need for traditional “do loop” actions thatoperated on matrices element by element. Thus, Moler defined the mathematical operatorsymbols

.+ .- .* ./ .^to carry out element by element addition, subtraction, multiplication, division, and powers. If xand y are matrices, possibly with complex entries, z=x*y performs the appropriate matrixmultiplication assuming compatible dimensions, while z=x.*y performs an element by elementmultiplication assuming x and y have the same dimensions. The symbol ´ performs the com-plex transpose of a matrix.

Because MATLAB is interpreted rather than compiled and executed, the output variable zneed not be defined; it is created on-the-fly. Although interpreters can be slow, MATLABsupports vectorization. If users structure the code to employ intrinsic vector operations suchas the dot product or element by element operations while avoiding explicit do-loops, theprogram can execute very quickly.

Moler published the first user’s manual for a FORTRAN-based MATLAB implementation inAugust 1980. During the next 15 years, several companies implemented the MATLAB lan-guage for mainframes, minicomputers, and microcomputers. MathWorks, however, was thefirst company to port the MATLAB interpreter to the C programming language and fieldversions on DOS, Windows, MAC-OS, UNIX, and DEC VMS computer operating systems.Moler ultimately joined MathWorks.

Today, MathWorks’s implementation of MATLAB delivers a powerful interpreter thatunderstands complex arithmetic, matrix algebra, element by element operations, hosts ofprimitive math functions, and traditional for, while, if-then-else, global, and case constructs. Inaddition, the MATLAB language has powerful indexing functions so that one can find all valuesin a matrix satisfying certain conditions and then use those indices to directly manipulate thedesired elements.

MATLAB version 5.x recently introduced objects with more than two dimensions, C-likestructures, and C++-like classes. When necessary, one can also create links from the MATLABinterpreter to compiled C and FORTRAN functions using MATLAB’s MEX external interfaceprogramming convention. Novice programmers can still work with a simplified subset of thelanguage and quickly write small programs that solve complex equations.

The basic MATLAB package comes with several built in toolboxes (libraries) that covertopics including linear algebra, cubic-splines, special functions, indexing, and basic signalprocessing. Engineers and scientists can quickly write scripts, functions, or combinations ofboth and then build up more complex programs. Because MATLAB comes with a powerful setof graphic functions, one can rapidly create professional looking plots and movies. There iseven a real-time Vx-Works extension for digital signal processing boards as well as Simulink, ablock diagram GUI (graphical user interface) driven simulation package.

MathWorks also has a formal partner program, MATLAB Connections, to support third-party vendors, which MathWorks lists on its web site <http://www.mathworks.com/>. MATLABalso offers source code portability and binary file interoperability across PC, UNIX, andMacintosh systems (only up to Version 5.2 for the Mac because of Apple’s small marketpresence, although this could change). Finally, there is a low-cost university version of MAT-LAB with restrictions on matrix size. The combination of this edition and the program’s 18-yearhistory has led to a recent spate of textbooks that offer companion MATLAB code (see the“Further Reading” sidebar for some GPS-relevant examples.)

What is MATLAB?

I N N O V A T I O N

clock errors, specifications of receiver andantenna identification (ID), and to allowselected line biases as a function of receiverand antenna ID.

If you can afford them and don’t needmore than standalone PVT and LADGPSnavigation algorithm options (or you canwrite them yourself), these two packages are

Page 6: GPS MATLAB Toolbox Review - Constellconstell.org/Downloads/gpsmatlab.article.pdf · digital signal processing, control theory, and navigation algorithms, a high-level program-ming

56 GPS WORLD October 1998 www.gpsworld.com

probably the top choice. At this time, theConstell package has the definitive edgebecause of the chunking and superior techni-cal support as well as the recent 4.0 releasethat appears to have addressed these previ-ously mentioned concerns. (The release ofversion 4.0 fell outside our review period,which ended in May.)

GPSoft. This simulation package promisesto cut down on the number of iterations it

charts for each of the major subsystemswithin the receiver simulation and adding anoption to use a linear 2-kHz DSP model as asubstitute for the 4-MHz model. This secondoption would be useful when the linear front-end model works (usually when the totalnoise plus jamming is Gaussian). If youabsolutely need the 4-MHz model and canmake do with one channel modeling, there isno MATLAB competition at this time. Interms of the other geographical and satelliteorbit routines and compared to the otherpackages, however, what this package reallyneeds is more demos to show how to use thetoolboxes. It does have one really uniquecapability — an exact, high-fidelity MonteCarlo model of a GPS DSP chipset — but italso costs an order of magnitude more thanthe other packages.

OVERALL SUGGESTIONSThe one technical recommendation we wouldgive to all vendors is to think about adding anoption to the prange generation function sothat the truth data contains the effect of finiteGPS signal propagation speed and earth rotation such that users are generating data that a receiver would actually output. Thisenhancement would allow one to drive stand-alone GPS data processing software withdata generated by a MATLAB software simulation.

All of the vendors are promising new ver-sions (Constell’s 4.0 has already beenreleased) and prices change rapidly, so westrongly advise contacting each vendor tofind out what has changed since this reviewwas written. Finally, we would like to thankall of the GPS vendors for being forthrightwith information, providing us with reviewcopies, and providing us with technical sup-port. Please note that the opinions expressedin this article are those of the authors and donot necessarily represent the views of GPSWorld or Draper Laboratory.

Interested readers can access this review’stables and a detailed explanation of theentries at <http://gauss.gge.unb.ca/gpsworld/gpsmatlab.html>. ■

MANUFACTURERS

The companies participating in this reviewincluded Constell, Inc. (Longmont, Colorado);GPSoft LLC (Athens, Ohio); Navsys Corporation(Colorado Springs, Colorado); and OrionDynamics and Control Corporation (Boulder,Colorado).

takes to carry out a GPS navigation experi-ment. It meets this goal with the exception ofrestrictive use of circular orbit approxima-tions and a single representative constella-tion. This package had the best variety ofback-end navigation algorithms, with theexception of RAIM, and the most discussionof GPS theory. It was the only package tohave a double-difference baseline navigationfix algorithm. In addition, we felt this vendoralso knew its subject matter and offered out-standing technical support.

We do, however, have several recommen-dations. The package needs real orbit andGPS time utilities and could use some moreexamples that call the navigation routinesand show how the Kalman filter routine han-dles outages during constant and nonconstantvelocities. The Kalman filter should also berewritten to incorporate measurementssequentially, one at a time. This would solvethe problem of what to do when there arefewer than four visible (or in-track) satellites.

The prange function could be improved tobetter handle both receiver and antenna IDswith appropriate line bias terms and toaccount for satellite clock errors. The currentRAIM algorithm is not complete and needsto have a geometry check, prescaling, andRAIM thresholds. The demos that use dou-ble-differencing techniques should at leastcontain references that document the algo-rithms being used, or there should be a sepa-rate “read me” text file. Overall, this packageoffers a useful product for its price range, ifyou are willing to work with only the circularorbits or are willing to combine this packagewith your own orbital routines.

Navsys. Offered as the only package that canexplain why a receiver failed to track, thisproduct meets that goal whenever a single-channel analysis suffices. The Navsys pack-age is the only one that does a one-channelMonte Carlo receiver simulation (in whichthe software runs a large number of trials withrandomly added errors). In addition, it is theonly program that faithfully models the front-end digital signal correlation and carrier con-version processing. However, you need areally fast computer to run this package (forexample, a 400-MHz Pentium II) and youhave to be prepared to really work with thispackage in its current form. If a receiver isfailing because of bad decisions on whichsatellites to track, or failing to navigate well,you would have to clone multiple versions ofthis package and add your own back-endreceiver code complete with satellite selec-tion logic and position fix algorithms.

Our recommended improvements includea comprehensive user manual with more flow

Further ReadingFor the official GPS signal description,see

n Interface Control Document, NavstarGPS Space Segment / Navigation UserInterfaces, ICD-GPS-200, Revision C(IRN-200C-002), published on behalf ofthe Department of Defense by ARINCResearch Corp., El Segundo, California,1997. This document is available as aPDF file from the U.S. Coast Guard’sWeb site at <http://www.navcen.uscg.mil/gps/geninfo/gpsdocuments/icd200/icd200c.pdf>.

For details about GPS receiveroperation, observables, and coordinateframes, see

n Global Positioning System: Theoryand Applications, edited by B.W. Parkin-son and James J. Spilker Jr., publishedby the American Institute of Aeronauticsand Astronautics, Inc., Washington, D.C.,as Vol. 163 and 164 of Progress in Astro-nautics and Aeronautics, 1996.

n Understanding GPS: Principles andApplications, edited by E.D. Kaplan, pub-lished by Artech House, Inc., Norwood,Massachusetts, 1996.

For discussions about GPS observ-able analysis with sample MATLABcodes, see

n Linear Algebra, Geodesy, and GPS,by G. Strang and K. Borre, published byWellesley-Cambridge Press, Wellesley,Massachusetts, 1997.

n Introduction to Random Signals andApplied Kalman Filtering: With MatlabExercises and Solutions, 3rd edition, by R.G. Brown and P. Y. C. Hwang, publishedby John Wiley & Sons, Inc., New York,1996.

For more information about thecompanies and products mentioned inthis review, consult their web sites at

n Constell, Inc. <http://www.constell.org/>

n GPSoft LLC <http://www.gpsoftnav.com/>

n Navsys Corporation <http://www.navsys.com/>

n Orion Dynamics and Control Corpo-ration <http://www.sni.net/oriondc/>

I N N O V A T I O N