Assisted-GNSS is an interesting field to work in at present. Demand for accurate location is increasing and new satellites and signals are coming online through the GPS modernization program and the emergence of new GNSSs.
This book is a practical exploration of A-GNSS with particular focus on A-GPS. It provides some theoretical background, but mainly concentrates on the design and implementation from the server’s point of view. It explores all of the practical aspects of the server-side A-GPS from messaging protocols, assistance data preparation and generation, and the position calculation. Aspects of positioning that are unique to the server-side position calculation, such as hybrid location and GPS time recovery, are also discussed.
This book contains the implementation of key aspects of the algorithms with the remaining code accompanying this book. The software on the accompanying CD is written in the Java™ programming language and contains more complete code and example applications that can be used to enhance learning. Java has significant advantages for implementing A-GNSS software. Its primary advantage is its simplicity and, hence, maintainability. It has the power of an object-oriented language with a very fast write-build-run cycle. It runs on many different platforms with high performance. In addition, there are many development tools available that were used during development of the code for this book.
This work was conceived in late 2007 when Mark Walsh at Artech House wrote to me after my presentation at ION GNSS 2007 in Fort Worth. After replying to Mark requesting some initial information, I became bogged down helping out with designing and implementing software related to encoding, decoding, and reassembling segmented SCCP messages over SIGTRAN SS7 protocol for our SAS product. Several items of correspondence were exchanged, I lifted my head out of the details of the SCCP messaging, and eventually this project was launched, thanks to Mark’s persistence and the support of my wife and family.
Most of the other detailed work in the Assisted-GPS field is focused on the engineering aspects of handset development and how the handsets operate. There is some coverage of the server side, but most of the information is focused on how the handsets work and ways of improving their operation.
Understanding how the server works allows buyers to make informed purchasing decisions, engineers to make educated decisions when implementing their A-GPS capable handsets, and students to gain a good understanding of the field. This work is also helpful for software engineers who are interested in applied Java.