StarFire came about after a meeting in 1994 among John Deere engineers who were attempting to chart a course for future developments. At the time, a number of smaller companies were attempting to introduce yield-mapping systems combining a GPS receiver with a grain counter, which produced maps of a field showing its yield. The engineers felt this was one of the most interesting developments in the industry, but the accuracy of GPS, then still using Selective Availability, was simply too low to produce a useful map. The various providers went bankrupt over the next few years.
In 1997, a team was formed to solve the problem of providing a more accurate GPS fix. Along with members of John Deere's engineering team, a small project at Stanford University also took part, along with engineers at the Jet Propulsion Laboratory. They decided to produce a dGPS system that differed fairly dramatically from similar systems like WAAS.
dGPS correct for these errors by comparing the position measured using GPS with a known highly-accurate ground reference, and then calculating the difference and broadcasting it to users. Some of these corrections apply to any location, the corrections to the clocks and ephemeris data for instance, but the billows cover only a certain portion of the sky so a correction measured at any one ground station is only really useful for receivers located nearby. To make the corrections accurate over a large area, one would need to deploy many ground reference stations and broadcast a considerable amount of data for finely divided locations. For instance, WAAS uses twenty-five stations in the continental US, developing a grid spaced 5x5 degrees.
StarFire instead uses an advanced receiver to correct for ionospheric effects internally. To do this, it captures the P(Y) signal that is broadcast on two frequencies, L1 and L2, and compares the effects of the ionosphere on the propagation time of the two. Using this information, the ionospheric effects can be calculated to a very high degree of accuracy, meaning the StarFire dGPS signal can ignore this correction. The second P(Y) signal is encrypted and cannot be used by civilian receivers directly, but StarFire doesn't use the data contained in the signal; it only compares the phase of the two signals instead. This is expensive in terms of electronics, requiring a second tuner and excellent signal stability to be useful, which is why the StarFire-like solution is not more widely used (at least when it was being created).
With the ionospheric correction handled internally, the StarFire dGPS signal is greatly reduced in the amount of information it needs to carry, which consists of a set of correction signals for the satellite data alone. Since these corrections are globally valid, and there are only 24 satellites in operation at any time, the total amount of information is quite limited. StarFire broadcasts this data at 300 baud, repeating once a second. The corrections are generally valid for about 20 minutes. In addition to ephemeris and clock corrections, the signal also contains information on the health of each satellite, offering quality-of-service data in near real-time, with about a 3 second delay in updating the signals from the ground station.
The newer system, SF2, was introduced in 2004. It dramatically improves accuracy, with a 1-sigma absolute accuracy of about 4.5 cm. In other words, StarFire will generally leave you within 5 cm of a particular geographical point, and will almost always be accurate to under 10 cm. The relative accuracy is likewise improved, to about 2.5 cm.
Even if the StarFire correction signal is lost for more than 20 minutes, the internal ionospheric corrections alone result in accuracy of about 3 m. StarFire receivers also receive WAAS signals, ignoring their ionospheric data and using their (less detailed) ephemeris and clock adjustment data to provide about 50 cm accuracy. In comparison, "normal" GPS receivers generally offer about 15 m accuracy, and ones using WAAS improve this to about 3 m.
Additional StarFire networks were later set up in South America, Australia and Europe, each run from their own reference stations and sending data to their own satellites. As use of the system grew, the decision was made to link the various "local area" networks into a single global one. Today the StarFire network uses twenty-five stations worldwide, calculating and uplinking data from the US stations as before. It should be noted that the data collected at these stations is not location-dependent, in contrast to most dGPS, and the large number of sites is used primarily for redundancy.