GPS

The Global Positioning System (GPS) is a satellite navigation system which is funded and controlled by the U.S. Department of Defense (DOD). While there are many thousands of civil users of GPS world-wide, the system was designed for and is operated by the U. S. military.

GPS has proved to be a very useful system for a very wide variety of purposes, each with its own specific set of requirements for accuracy, reliability, price, ease of use, timeliness, size of equipment and so on. Therefore, GPS means rather different things to different groups of people, and naturally there are different companies catering to each section of the market, and many different GPS products available. Hence, while it is possible to get GPS equipment with millimetre accuracy, real-time fixes, good antijamming properties, 200 prices, hand-held portability, and other desireable qualities for specialist applications, it is not possible to satisfy all of these requirements at once. For caving use, the most likely applications are fixing radiolocated sites, logging entrances on expeditions, and general navigation to and from cave entrances in potentially very difficult terrain and poor visibility. Traditional techniques to deal with the first two problems are surface surveying, which can be time-consuming and tedious, and plotting locations on large-scale maps, which may not always be available or accurate for foreign expeditions. The traditional response to the third problem is to get lost. As a working estimate, I am assuming that position errors of 1-10m would be useful for the first two problems, and 20-30m for the third.

Everything I know about GPS I learned from reading material on the internet. GPS is a large topic and there is a huge amount of material available, so rather than try to cover everything, I have instead chosen to concentrate only on the techniques which appear relevant to cavers and to refer directly to some of the more useful information sources on the web. This has the disadvantage that this article will inevitably obselesce quite rapidly, given the dynamic nature of the web, but I hope the advantage gained by having a set of pointers to useful in-depth documents is worth it.

There are a couple of general web-sites which cover many aspects of GPS and are useful starting points for any question:
The Geographer's Craft pages have a good overview of GPS: http://www.utexas.edu/depts/grg/gcraft/notes/gps/gps.html
Sam Wormley's GPS resources are a very complete set of links to information about GPS http://www.cnde.iastate.edu/staff/swormley/gps/gps.html
Also, the Usenet newsgroup sci.geo.satellite-nav is dedicated to satellite navigation and is a good place to find knowledgeable individuals to answer questions.

How GPS works

Trimble manufacture survey-grade GPS equipment and have a nice tutorial to teach you about the system at http://www.trimble.com/gps/fsections/aa_f0.htm

In brief, there are satellites in space which transmit a signal which allows your receiver to measure a distance to each satellite. The satellites also transmit epherimides which are data that allow your receiver to know precisely where in space each satellite is located. Using this information the receiver solves a set of equations to determine its location and velocity. There are two types of service provided by the GPS: the Standard Positioning Service (SPS) which is available to anyone; and the Precise Positioning Service (PPS), which is only available to the US military and friends. The satellites actually transmit a Coarse/Aquisistion (C/A) code, which is used for navigation by the SPS and in the initialisation of PPS receivers, and a Precise (P) code which is normally encrypted to form the Y(P) code, and is only available to users of the PPS. The C/A code is transmitted on a carrier called L1, and the P code is transmitted both on L1 and also another carrier called L2.

In addition to denying SPS users the more accurate P code, the accuracy is further degraded by a process called Selective Availablilty (SA). This is an intentional degradation of system accuracy and can be controlled at the command of the US president, typically being kept at a low level in peacetime and turned up during conflict in order to deny hostile forces precise positioning ability. SA is implemented in two parts: dither, which is a pseudorandom noise added to the C/A bitstream; and epsilon, which is intentional errors in the satellite ephemeris data. PPS equiment with the correct cryptographic keys can remove the effects of SA. The time-correlation characteristics of the dither mean that it is generally not worthwhile to average your position for anything less than about 15minutes if you want to increase accuracy, and 30-120minutes will generally be required to gain significant improvements.

The US government has committed itself to phasing out SA by 2006, but it is not yet clear how or exactly when this will be done.

Without any special techniques to improve the performance the horizontal error of the SPS is specified (assuming certain conditions hold) as 100m (95%), meaning that the horizontal error will be better than 100m 95% of the time, and although the system generally seems to perform somewhat better than this in actuality it still does not satisfy the cavers' requirements outlined above so it is necessary to investigate the situation further to try to improve matters.

Parts of system

There are three segments to the GPS, the Space Segment, the Control Segment (CS) and the User Segment. The space segment consists of a constellation of satellite vehicles (SVs), 24 being the minimum constellation, but currently there are several extra SVs to provide improved coverage and some redundancy in case of equipment failures. There are several models of GPS satellite, the differences mainly being in non-GPS functionality of the SV, relating to sensors for detecting nuclear detonations and such. From the SPS user's point of view the SVs are more or less equal. The CS consists of a network of ground antennas and monitoring stations and is responsible for keeping the GPS operating within parameters. The user segment is the equipment which is required by the user in order to get a position fix.

Number of Satellites for fix

Measuring the distance from the receiver to three different satellites would be sufficient to fix the location of the receiver, since three spheres intersect at a point. However, the GPS receiver does not contain an atomic clock, unlike the SV's, so it cannot directly calculate a range to each of the SV's from the timing information it gains from the signals. To get round this the receiver actually uses the timing information from 4 SV's to gain a 3d position fix and an accurate time fix at the same time, basically by shifting the offset of its clock until the 4 spheres intersect as close as possible to a single point. If only a 2d fix is required it is possible to get away with only 3 SV's in view and use a known altitude above the surface of the earth to gain a fix. If the dynamics of the platform on which the GPS receiver is located can be modelled, for example if it is in a car, then it may be possible to use Kalman filtering and other sensor inputs (such as accelerometers, gyros, altimiters, radar) and gain useful information from even a single SV, but this kind of thing is generally only used in military situations, where navigation systems are already tightly integrated with other aspects of the vehicle/plane.

Dilution of Precision

Dilution of Precision (DOP), sometimes called Geometric DOP (GDOP), is the name for the factor by which the accuracy to which the ranges to the SV's are known must be multiplied to give the accuracy of a figure of interest. It is an entirely geometric effect. For example if the only satellites in view are very close to each other in the sky, then the DOP will be bad (high number), whereas if they are spread out it will be good (low number). This is why it is important to have a clear view of the sky in order to get good fixes. Depending on the figure in question, there are different DOPs defined. For example, Horizontal DOP (HDOP), Vertical DOP (VDOP), Position DOP (PDOP), Along path DOP (ADOP), cross path DOP (XDOP), Northing DOP (NDOP), Time DOP (TDOP), and so on. The VDOP is generally worse than the HDOP, making GPS better for locating things in the horizontal plane than for finding heights. Typical values for PDOP are of the order of 4.

Measures of Error

When comparing performance of different receivers and techniques, it is important to be aware of the different ways of measuring errors. Root-mean-square (RMS) error is the value of one standard deviation (68%) of the error in one, two or three dimensions. Circular Error Probable (CEP) is the value of the radius of a circle, centered at the actual position that contains 50% of the position estimates. Spherical Error Probable (SEP) is the spherical equivalent of CEP, that is the radius of a sphere, centered at the actual position, that contains 50% of the three dimension position estimates. As opposed to 2DRMS, DRMS, or RMS figures, CEP and SEP are not affected by large blunder errors making them an overly optimistic accuracy measure. Needless to say, some GPS manufacturers can be rather misleading when it comes to choosing measures of error.

Sources of Error

Typical RMS Error in Meters (per satellite)
Standard GPS Differential GPS
Satellite Clocks 1.5 0
Orbit Errors 2.5 0
Ionosphere 5.0 0.4
Troposphere 0.5 0.2
Receiver Noise 0.3 0.3
Multipath 0.6 0.6
SA 30 0
Typical Position Accuracy
Horizontal 50 1.3
Vertical 78 2.0
3-D 93 2.8

There are a number of error sources for GPS. The table lists the most important ones and the second column gives typical magnitudes. It can be seen that other than SA, the main source of error is from the ionosphere. In fact, the SV's transmit a set of coefficients for a model of the ionosphere, but it is difficult to predict ionospheric conditions accurately around the globe and the residual error is quite high. PPS users can get around this problem because the combination of measurements on frequencies L1 and L2 allows the ionospheric effects to be cancelled. Some of the very high end civilian survey grade equipment is able to make measurements on L2 and get these benefits, without needing the cryptographic keys needed to access the PPS. According to one of the Trimble pages, the way they do this is so secret they'd have to kill you if they told you.

One other potential problem of which one should be aware is in final conversion of the position solution to local coordinates. There is a potential for errors ranging from centimeteres to kilometers here. There is a large number of different "geodetic datums" defined, each being used by different agencies for different purposes. A geodetic datum can be viewed as a definition of a coordinate system - generally it specifies an ellipsoidal (2-parameter) model for the earth's shape, and in general can also involve a 7-parameter transformation (3 rotations, 3 translations and a scale factor) to get from one datum to another. Geodetic datums define the relation of different definitions of longitude and lattitude to one another: to plot positions on a map you need to "project" this 3d representation onto a 2d surface, and there are a number of different ways to do this, again with different agencies such as national surveying organisations, choosing different ways to do it. The GPS is defined internally using the WGS-84 datum, which is a well-defined datum with international recognition and transformations for most other datums into WGS-84 are known. Many GPS units claim to be able in firmware to convert between WGS-84 and other common datums, but generally they don't specify the formulae and parameters used in the conversion. It is possible to use less accurate formulas in order to simplify the maths, for example 3-parameter transformations instead of the full 7-parameter versions, which are accurate over a limited range of positions. Also, many GPS units allow selection of grid projections, but similar trade-offs exist here. In general, unless you can find out the equations used by your particular unit, or can verify them yourself, for accurate work it's probably better to stick to WGS-84 and long/lat, and do any conversions using a more powerful software tool - the built-in transformations may be satisfactory for the normal use of the unit but inaccurate once you have found a way to improve the accuracy.

There is free, open-source, multiple platform, grid-/datum-conversion software called Geotrans at ftp://oak.tec.army.mil/pub/geotrans/ and there is a commercial, windows-only program called Tralaine at http://www.mentorsoftwareinc.com/products/tralaine.htm. You can download a demo version of Tralaine for free which can do everything the full version can do, except batch processing of conversions. Both programs have a large library of the standard transformations, but if you want to do something unusual then they'll let you define your own parameters. If your map doesn't have the full details of the datum and grid on its margin then a useful website is MapRef, at http://www.geocities.com/CapeCanaveral/1224/mapref.html, which has the parameters for most European countries.

Technical details

I won't go into the precise details of the transmitted GPS signal because it is unlikely you would want to try to decode it yourself, given the ready availability of GPS receivers and chipsets from a variety of sources, and the difficulty of doing it yourself. However, all the relevant information is there in fascinating detail at the US Coast Guard (USCG) Navigation Centre, http://www.navcen.uscg.mil/gps/geninfo/gpsdocuments/ and is well worth a read from an academic standpoint, to see the complexity of the system. The only reason I can think why you might want to try to build your own GPS receiver (apart from the huge challenge, perhaps), would be because there are a number of conditions in the signal specification which may not be passed through by a monolithic chipset, for example the specification allows the SV's to give status/health indications in a variety of ways, and you might want to be able to interpret these yourself, rather than using a much less helpful linear scale of satellite health provided many chipsets.

Differential GPS

The key to improving the accuracy of GPS measurements is to use Differential GPS (DGPS). The concept is very simple: you have one GPS receiver at a fixed, known location, generally called the "base station", and one moving between unknown locations, called the "roving station". Since the location of the base station is known precisely, it can calculate the error in the SV's transmitted range signals, whether this comes from SA or other sources, and the roving station can apply these corrections to its measured ranges and get an improved result. The exact amount of improvement, as with anything to do with GPS, depends on a number of factors, but the third column in the table gives some typical values. In order for the DGPS to work well, the two stations must have a sufficient number of common satellites. In order for the atmospheric errors to cancel, the distance between the two receivers, termed the baseline, should be as small as possible.

There are a number of different ways of using DGPS, depending on accuracy requirements and other considerations. The biggest split is in whether the DGPS-corrected fixes are available immediately in the field, for which real-time techniques are necessary; or if they can only be calculated at a later time, for which post-processed techniques are acceptable. For logging cave entrances and radiolocations, either technique is acceptable, but for navigating back to cave entrances real-time capability is necessary.

Another split in techniques is whether the measurements are single-frequency, using just L1, or dual-frequency, using L1 and L2. Dual-frequency measurements are much more accurate because they can eliminate ionospheric effects, but to use dual-frequency equipment at the roving station is well out of most cavers' budgets.

Another split is between code-phase measurements, which use the transmitted ranging-code signal to determine ranges and carrier-phase measurements, which make measurements on the carrier directly. Since the carrier frequency is about 1000 times higher than the code frequency, carrier-phase measurements will be much more accurate. However, there is a problem in that one carrier-cycle looks exactly like any other, so there will be an integer ambiguity in the solution. It is possible to get around this in several ways, but care and special procedures are needed in the field in order to avoid accidental loss of lock or cycle slips. Carrier-phase equipment is typically expensive and only used by professional surveyors, but there are some low-price receivers which can provide carrier-phase information.

Finally, there is a split between whether the roving station is actually moving, which is called "kinematic", or stationary, which is termed "static". One combination which is frequently used is Real Time Kinematic (RTK) surveying, which is invariably done by carrier-phase methods.

There is sometimes a distinction between "short baseline" and "long baseline" techniques, but what exactly counts as a short or long baseline depends greatly on the situation. For carrier phase techniques like RTK, the cutoff is around 15km. For some other techniques, the cutoff is about 200km, the point at which it becomes better to use the ionospheric model rather than assume the ionospheric conditions are identical at the two stations. Techniques using long baselines, atmospheric modelling, and carrier-phase, are sometimes called Very Long Baseline Interferometry (VLBI) and are used for measuring geodetic parameters like the deformation of the earth's crust and movements due to plate tectonics.

I shall discuss both real time and post-processed DGPS, limiting the discussion to systems which might be relevant to cavers.

Real Time Methods

Most consumer-grade GPS units bill themselves as "DGPS-ready". What this actually means is that they are capable of receiving DGPS corrections from an external source. In every case I have seen, the format of the source is the one chosen by the Radio Technical Commision for Maritime Services Special Committee 104 (RTCM-SC104), currently at version 2.1, which is a serial format with extensive parity information, suitable for noisy radio links. It is designed to be transmitted at low bit-rates, of the order of 100bits/sec, and hence has to be a little clever regarding the way it sends the corrections. Since the SA error changes quite rapidly, making corrections become out-of-date over less than a minute, the RTCM-SC104 format actually sends both the corrections and rates of change with time for the corrections, to make them valid for longer. Unfortunately the RTCM-SC104 standard is a copyrighted document, and you have to pay to obtain a paper copy from the RTCM itself, for about $50.

While I'm on the subject of interface standards, as well as taking RTCM-SC104 for DGPS input, many receivers can output position data in a digital form, and of those that can, many use a format designed by the National Marine Electronics Association (NMEA), called NMEA-0183. This is a general format for communication between navigation equipment, for example between an electronic compass and an autopilot. The specification is online at http://vancouver-webpages.com/peter/ and it is another serial protocol which PC's can speak using their serial port.

Sources of Real-Time Corrections

Poor Man's DGPS

Once people hear about DGPS many assume all they need to do is buy two seperate GPS receivers and subtract the displayed position of one from that of the other. This is commonly called "poor man's DGPS". Unfortunately this is unlikely to work very well for a number of reasons. The two receivers will probably not have the same set of SVs visible; even if the same SVs are visible the two receivers may not be using the same SVs in their solutions; even if they are using the same SVs they may not be using the same edition of the ephemeris data for those SVs; even if they are using the same SVs and ephemerides, unless the two receivers are exactly the same (same manufacturer, model, firmware version) they may not weight the different SVs equally in producing the final position solution. Having made all these discouraging remarks, poor man's DGPS can sometimes be useful. It is often possible to get the receivers to output the set of satellites in use as NMEA messages, and only to perform the subtraction when the two sets match. This way, modest improvements in accuracy can be obtained, and you will never get a worse fix than you would have without DGPS, but you need to be willing to accept that sometimes you won't be able to get an improvement without returning to the site you were trying to survey, and hoping that this time the two GPS units use the same set of satellites.

Beacons

The USCG run a network of transmitter beacons on the 283.5-325kHz marine frequency and the International Association of Marine Aids to Navigation and Lighthouse Authorities (IALA) http://www.beta.ialahq.org/pages/english/p1.htm manage a similar network of beacons for coastlines worldwide. The big advantage of these systems is that it is completely free for you to use the signals.

A listing of beacons, with frequencies and nominal ranges is at http://www.csi-dgps.com/dgps/b-list.htm and graphical coverage maps are available from http://www.csi-dgps.com/dgps/b-maps.htm. It is worth bearing in mind that these beacons are mainly intended for ships to use to navigate along coastlines, and any reception inland is a bonus, not guaranteed. The ranges seem to be rather optimistic therefore for inland use, and Hiretec report that they are only able to receive the Hook of Holland beacon intermittently at their site in Great Yarmouth, despite being well within it's nominal range, and Lowe Electronics tell me that they were unable to pick up any signal whatsoever in Matlock.

Most of the commercial beacon receiver systems are, unsurprisingly, intended for marine use. If you want to put one in your rucksack and carry it around on the hillside then you will need to think about power supplies, and will have to get an H-field antenna, which is more expensive than the standard E-field version, but does not require earthing.

A popular 300kHz beacon receiver is the Garmin GBR-21, which is best used with Garmin GPS units because the receiver tuning is performed using a proprietry Garmin-specific protocol. Effective Solutions ( http://www.effective-solutions.co.uk/) sell the GBR-21 for 287, an H-field antenna for an additional 63, and the ESP-1, a system including a rechargable SLA battery, cables and mounting system to use the above two items in a back-pack, for another 180 (prices exclude VAT). I have heard from a few sources that the GBR-21 actually performs quite badly, especially in weak-signal situations, and that the units from CSI ( http://www.csi-dgps.com/home/toc.htm) are greatly superior. These are sophisticated units, with two independent receiver channels, so that one can be scanning for the strongest signal while the other provides corrections. This seems to come at a price, however, since the units start at 635. If you are willing to do a bit of work, they sell an OEM card version (minus box, power supply, antenna, for 196). CSI units can be purchased in the UK via TDC ( http://www.tdc.co.uk/gpswire/), amongst others.

If you want to build your own beacon receiver, there is a design at http://home.san.rr.com/bix/DGPS_Project.htm for a unit with an estimated parts cost of $120, and some designs at http://home1.gte.net/clseng/DGPS_index.htm for units varying in price from $25 to $100 depending on functionality, including a nice pocket-sized, H-field, low power - 60hrs off one 9v battery - version (you can even buy a PCB).

RDS

It is possible to send corrections using the Radio Data System (RDS). This is an international standard for sending digital data embedded into a subcarrier of FM radio transmissions, and is the mechanism that allows modern car radios to display the station name, automatically switch to traffic updates and so on. Differential Corrections Inc (DCI) ( http://www.dgps.com/) of the USA has created a scheme for sending differential correction data via RDS which can be turned into RTCM-SM104 at the receiver (due to the characteristics of the RDS channel it is not appropriate to send the RTCM-SM104 directly). Many countries around the world have gone into partnership with DCI (Australia, Israel, Belgium, Luxembourg, Denmark, Slovakia, Finland, Sweden, Great Britain, Switzerland, Holland, Taiwan, Hungary, Turkey) and offer compatible services. In Britain the service is operated by focus FM ( http://www.cmt.co.uk/focusfm/focusfmmain.html). All these DCI-type services are subscription services, where you must pay a license fee in order to receive the signals. In the UK there are two possible services: the basic service, offering 10m accuracy, and the premium service which offers 1-2m accuracy (assuming you use a sufficiently accurate GPS receiver). Receivers for the corrections start at about 315 (and go up to 700 for rugged IP67 units). I haven't been able to discover prices for the subscriptions, but I know that you can subscribe one, two or three years at a time and that they are quite expensive (probably too expensive to be useful for cavers' purposes). The focus FM corrections are broadcast on the RDS subcarrier of INR1, which is currently licensed to Classic FM. There is a UK coverage map at http://www.tdc.co.uk/gpswire/images/products/dgps/fm_map.jpg, but it is worth bearing in mind that sometimes areas which ought to be covered are not, or are patchy. In general if you can pick up Classic FM with a good strong signal and good stereo separation at a site, you will probably be able to receive differential corrections.

RDS - RASANT

While most countries have adopted a DCI-style RDS system, the Satellite Positioning Service (SAPOS) of the German National Survey put together a similar, but incompatible, system called Radio Aided Satellite Navigation Technique (RASANT). There is an overview of the system at http://home.t-online.de/home/bgalitzki/rasantus.pdf. The stated accuracy is 1-5m 2DRMS. The main notable difference from the DCI system is that you don't have to pay an annual subscription fee. Instead you pay a one-off license fee of around 30 which is included in the price of the receiver and distributed to the signal providers. There are 11 public broadcasting stations in germany broadcasting RASANT and the coverage is apparently good. Recently Spain has decided to adopt this system, with corrections being broadcast on the equivalent of classic FM (Radio Clasica, or RNE2). Initially coverage was limited to Catalonia, but a large part of the country is now included. RASANT hardware is available from several small companies, a typical units being the RDS-66 from ertec (http://www.ertec.com), and the TGPS-2 from tecnogps ( http://www.tecnogps.com/rasant_eng.htm), which costs $355.

Satellite corrections

A nice idea for receiving corrections to a satellite navigation system is to transmit them from a satellite. OmniSTAR is a system which does just that. The technique is described at http://www.omnistar.nl/omniSTAR%20Differential%20GPS-system%20design.htm and is rather clever. They have a network of many base stations around the globe, and transmit corrections from geostationary satellites. The receiver for these signals weights the measurements depending on how close they are, and does some tricky atmospheric corrections, and finally generates an RTCM-SC104 message which is completely optimised for the user's location. They call this system Virtual Base Station (VBS) and they claim sub-metre accuracy worldwide. The main disadvantage of OmniSTAR is the price of the subscription, which is of the order of 800 for a year, although they do offer cheaper alternatives, which are restricted to a particular continent or to an area of a few hundred kilometers radius. They also sell subscriptions by the hour - your receiver has a counter which ticks down as you use it. The minimum purchase is 100hours and I do not know what the prices are for this service.

Landstar is another satellite-based system similar to OmniSTAR. There is a website for it at http://www.racal-landstar.com/index3.htm.

DGPSip

Wolfgang Rupprecht has written some software to distribute RTCM-SC104 over the internet. It's called DGPSip and is available free under the GNU Public License (GPL) for both UNIX and windows at http://www.wsrcc.com/wolfgang/gps/dgps-ip.html. To use it you just get (or write) a client for your internet-connected computer, and hook your GPS up to the serial port. DGPSip measurements are currently being taken at three locations, all in North America, and distributed this way. This is not very useful to people elsewhere in the world because it is unlikely that they would share many common satellites in view with these base stations, but it ought to be easy to set up your own DGPSip station by connecting a marine beacon receiver to a PC with a permanent internet connection. The bandwidth requirements for doing this would be very small, since the beacon datastreams are only of the order of 200bits/sec. Perhaps someone with connections at a university near to a beacon transmitter would like to do this as a service for people all over Europe?

DIY

Fully-featured DGPS base stations are available but far too expensive for most cavers, and most consumer GPS units are unable to output the raw pseudorange information. I don't know why they can't, since they clearly have the information available and it would be very useful, but they don't. However, it is apparently possible to use an undocumented mode on Garmin 12-channel receivers to get the information. (See the discussion of GRINGO below). Also the Delorme Earthmate can provide the relevant information given the correct software. The best option is probably to use one of a number of OEM GPS receiver boards from several manufacturers which can provide raw measurements. There is a list of such boards, with a comparison of features on Sam's Raw Data Pages at http://home-2.worldonline.nl/~samsvl/. Prices are about 100-200 and some of them can even do carrier-phase measurements. Sam also has a lot of information about how to go about doing the processing of the data (including actual code) and how to test the accuracy of your GPS hardware.

The Tuscon Amateur Packet Radio Corp have put together a design for a DGPS base station based around the Motorola Oncore VP OEM GPS receiver board http://www.tapr.org/tapr/html/Fdgps.html, and sell kits of parts for a board to convert the motorola binary format into RTCM-SC104.

Once you have got your range-corrections, you will need to find some way to transmit them to your roving station, using a radiomodem or something similar. If you are resorting to DIY DGPS the chances are that you are in a pretty remote area. If this is the case then you'll have to bring lots of batteries or a solar panel to keep the base station and transmitter running.

Postprocessed DGPS

If you don't mind waiting a day or several to get your precise fixes then you can use postprocessed DGPS. The procedure to follow in this case is relatively straightforward:
1) Store raw pseudoranges from your GPS unit;
2) Obtain raw pseudoranges from another site;
3) Obtain precise ephemerides (optional); and
4) Combine these data to arrive at a solution.

For item 1) there is a standard for storing the raw pseudoranges, called Receiver Independent Exchange Format (RINEX) currently at version 2. The format is described at http://www.ngs.noaa.gov/CORS/Rinex2.html. As described above, most consumer GPS units do not make the raw pseudoranges available. However, the Institute of Engineering Surveying and Space Geodesy (IESSG) of the university of Nottingham ( http://www.nottingham.ac.uk/~iszwww/isghome.html) have written a program called GPS RINEX Generator (GRINGO), which claims to be able to use undocumented features of Garmin 12-channel receivers to obtain both code-phase and carrier-phase information from the units. It is commercial software with an annoying copy-protection scheme, and costs 65+VAT for a code-phase only version, and 100+VAT for the full carrier-phase version. As well as GRINGO your money also gets you a fairly simple post-processor called P4. To check that it all works and gives acceptable performance you can download a demo of the code-phase versions of GRINGO and P4 which work for a minute at a time. While it sounds great I would be wary of this method since it relies undocumented features, which may only be valid for certain models and firmware revisions (even though they have tested it on several Garmin 12-channel units). Also, they do not publish any performance figures or before and after graphs, so it is difficult to say how well it works. A final problem is that because it is written in Visual Basic 5, it requires a windows-95 PC which must be fairly powerful, such as a pentium-90. A cross-platform solution would be nicer so you could use a palmtop device or lower-spec laptop. If you don't use GRINGO then you can use any of the OEM GPS boards described above and either write your own software to convert to RINEX, or hope the manufacturer has already done this task.

Regarding item 2), to gain RINEX data for a base station, you could just use the same technique from the previous paragraph with a second GPS unit and laptop, but this will be fairly expensive and require lots of batteries to keep it going full-time. A better method is to download RINEX data for a nearby observatory from the web. There are several networks providing RINEX data online for free, which are used for various academic and commercial purposes:
in North America there are the Continuously Operating Reference Stations (CORS) at http://www.ngs.noaa.gov/CORS/cors-data.html;
in Europe there is a system called EUREF http://homepage.oma.be/euref/eurefhome.html; and
for the rest of the world there is the International GPS Service (IGS) http://igscb.jpl.nasa.gov/.
Find a site near you and you should have very high quality data available, with carrier phase measurements on both L1 and L2, using the highest quality receivers and antennae, etc. The sites will generally not be terribly close, but they should be close enough for our purposes. The latency for these data becoming available online is about 24hours.

The third item on the list is obtaining precise ephemerides. This is possible because people like the IGS make very precise measurements of the GPS constellation and can calculate very precisely where the satellites actually were at any given time. These data are also available for free online from the above sites, with predicted data for the next 2 days available, a "rapid" processing of the last couple of weeks with a latency of 15hours or so, and a "precise" reprocessing of everything older than that with a latency of a fortnight. Using the precise ephemerides instead of the broadcast values may not make a lot of difference to the solution, but it certainly won't make it less accurate.

The final step on the list is to combine all the data and arrive at a solution. This is easier said than done as there is a lot of subtlety involved, especially if carrier-phase measurements are involved. As I said above, GRINGO comes with a program called P4, which is simple but appears to do the job. Much more fully featured programs are available from Waypoint Consulting http://www.waypnt.com/index2.html but I expect these will be too expensive for our purposes. The Waypoint website has lots of interesting technical reports about using postprocessing in a variety of situations, including comparing cheap receivers like the OEM boards against expensive geodetic units, single-frequency versus dual frequency comparisons, precise ephemeris versus broadcast ephemeris comparisons, short versus long baselines and so on. Their software is able to log data from a variety of receivers, including some of the OEM boards mentionned earlier, and the datalogging part of the suite is able to run on DOS, windows and WinCE equipment.

An open-source multiplatform postprocessing program would be a useful thing, and the first steps in this direction are happening at http://www.wombat.ie/gps/downloads.shtml, which is released under the GPL, but things are not yet too well advanced there.

Conclusion

In conclusion, here is what appears to me to be the best way to improve the accuracy of GPS for caver's uses: If the 300kHz beacons are available in your area, use them, or if you are in Spain or Germany and have RASANT reception, use it. Both these methods use only standard consumer GPS units, plus an extra receiver. Otherwise, if you don't mind postprocessing, collect RINEX from your receiver and download RINEX and precise ephemerides from the internet. This requires a special GPS receiver (but not more expensive) and a laptop or PDA for datalogging. If you really need real-time capability and can get a TCP/IP link to your roving receiver (using a mobile phone, satellite phone or whatever), then use DGPSip, but you might have to set up your own DGPSip server if you are not in the USA. This requires a standard consumer GPS and a computer with a TCP/IP link. If none of the above methods is practical and you still want real-time corrections then buy some OEM receivers, laptops, and radio-modems and expect to spend a lot of money. This requires two special GPS receivers, two laptops, and a variety of power-hungry and expensive equipment.

Finally, if none of the above approaches is feasible, then bear in mind that you can always hire equipment for a specific project. Hiretec ( http://www.hiretec.co.uk/Default.asp) is a UK company and seems to have most things you might want to hire.

Bear in mind that GPS is a rapidly developing area, and people are dreaming up new uses for it all the time. What is state-of-the-art now, might be hopelessly out-of-date next year, so it is probably not worth investing a lot of money into GPS equipment if you could get away with spending less and waiting a year or so. Developments on the horizon are: SA being switched off by 2006, giving greatly improved accuracy to non-differential GPS; GLONASS, which is a Russian satellite navigation system very similar to GPS. The constellation is still not yet complete, but there are already receivers which can incorporate GLONASS measurements into their GPS fixes to give improved accuracy or better performance in poor sky-view conditions; improvements to infrastructures for providing DGPS corrections on both national and international levels, for purposes such as instrument-only landings of aircraft.

Further research

Some further research which would be useful would be:
Find out exact prices for the different commercial DGPS services described above; Discover how good the coverage of the UK is with the 300kHz transmissions when using sensitive beacon receivers and good aerials, or the DIY beacon receivers;
Measure some accuracies using GRINGO and P4;
Find other cheap or free postprocessing software, or contribute to the GPL effort described above, and measure accuracies using different models of OEM receiver board;
Set up some additional DGPSip servers elsewhere in the world, which should simply be a case of getting a copy of the server software and a beacon receiver attached to a computer with permanent net access;
Experiment with extensions to DGPSip to make it more useful. The OmniSTAR web pages suggest that DGPS data are still of some use with baselines up to 1500km. Beyond that the problem is mainly that the two stations do not have enough common satellites in view. By combining DGPSip data from more than one source, it ought to be possible to synthesise RTCM-SC104 messages which are optimised for any given site, similar to OmniSTAR's VBS but without the cunning atmospheric corrections. This would probably allow fixes to 5-10m accuracy worldwide from a relatively small number of base stations, and would have excellent fault tolerance. I expect that it will be quite hard, if not possible to implement this, however, because RTCM-SC104 was only designed to carry corrections from a single base station. There might be issues to do with synchronisation of clocks between different beacons, and the information in the RTCM-SC104 stream might be insufficient to generate the VBS corrections, at least for it to be done quickly enough that they are still relevant. However, if it could be done it has the potential to be very useful so I think this is worth pursuing.

Copyright (C) 2000 Lev bishop. (Comments/criticism of this article welcome).

Back to Lev's homepage