Abstract: | OpenSourceGPS is open source code that runs on an IBM style of PC, which "talks" to a GPS hardware board using the Zarlink GP2010 and GP2021 chipset. Because the software is written entirely in C/C++ on the PC the user has complete control over what happens and complete visibility into the inner workings of a GPS receiver. The software goes all of the way from satellite acquisition, tracking to the decoding of the navigation message and producing raw pseudorange and delta-pseudorange measurements. Since a paper on OpenSourceGPS was presented at ION GPS 2002 10 new versions have been released. Many errors have been corrected, including the tracking loop error that caused the strange position fix results shown in the 2002 paper. In addition to correcting these errors, new features such as more pages of information for display, the recording of raw data bits from each satellite, and a simple 8 state Kalman filter have been added. The Portland State Aerospace Society (PSAS) has graciously set up a mailing list based at Portland State University. A link to it has been provided from the OpenSourceGPS home page at http://home.earthlink.net/~cwkelley. Source code is available at 3 locations on the Internet. The first is at the home web site for the project, http://home.earthlink.net/~cwkelley/SOURCE, as a sourceforge project "osgps" as *.ZIP packages at www.sourceforge.org and also in the sourceforge CVS repository. The code has been restructured into library components to make it more maintainable and extensible. One library that has been added outputs NMEA formatted messages on an RS-232 serial port. This allows another computer to incorporate the position data for other mapping and graphical displays. A Kalman filter has been added, made much easier by using a matrix and vector package developed by Alberto Perez. Upgrades to the software include continuous checks for new almanac and ephemeris message, new integrity checking for data bit synchronization in the pullin routine. The software has been configured to compile under Borland 5.02 C/C++, and Microsoft Visual C++ 1.5. The beginnings of coding of DJGPP have also been incorporated. Although problems with interrupt handling under DJGPP have not yet been resolved. Additional effort has gone into providing Open source documentation. One of the most difficult things to do is to get good documentation of software. While there are a number of good books describing GPS principles, none goes into the detail required to understand the complex interaction of acquisition, tracking and measurement generation in a real-time program. While this necessarily is quite specific to this chipset it also touches on the general issues as well. This documentation is a work in progress and is available in pdf format on the home website. Another program called regtest has been written to test the basic communications and functions of the chipset. Regtest checks the data bus and address bus connections between the computer and the GP2021 and reports any problems found. Douglas Baker has started a company; GPS Creations to produce and sell hardware that is designed to use OpenSource GPS. His product line consists of an RF board that has the GP2010 and GP2021 without any digital processing. The address and data lines are brought out to a connector. He also produces ISA and PCI interface cards that the RF board plugs into. The software has been configured to search for a PCI card, if it is not found it defaults to the ISA interface. This allows students and experimenters the freedom to build their own software and hardware interfaces. This paper will summarize the work done to date and present results for static and dynamic trajectories using actual satellites. For one real test of the program a data set of 52 hours with data taken every minute was recorded at a fixed site. The results were a CEP of 2.4 meters and an SEP of 4.5 meters. The last data set presented is a course around the winding, hilly streets of the Palos Verdes Peninsula in Southern Los Angeles County. |
Published in: |
Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005) September 13 - 16, 2005 Long Beach Convention Center Long Beach, CA |
Pages: | 2800 - 2810 |
Cite this article: | Kelley, Clifford, "OpenSource GPS Open Source Software for Learning about GPS," Proceedings of the 18th International Technical Meeting of the Satellite Division of The Institute of Navigation (ION GNSS 2005), Long Beach, CA, September 2005, pp. 2800-2810. |
Full Paper: |
ION Members/Non-Members: 1 Download Credit
Sign In |