Differential GPS Corrections Protocol (DGPS)
for the Caltrans TCFI Automatic Vehicle Location System Testbed
Spring, 2001 @ UCSB
As the title specifies, the Differential GPS Corrections Protocol for the Caltrans Automatic Vehicle Location System is designed to enhance the accuracy of the real-time DGPS data used to locate moving vehicles. The system mainly consists of three elements, the mobile Automatic Vehicle Location Unit (AVLU), the fixed Differential GPS Gateway, and the fixed Location Processing System (LP system). For instance, the AVLU serves as the client side in the communications architecture. When you have the AVLU in your vehicle, you can ask for a report of you current DGPS position by the AVLU. The LP system functions as the server that can provide you with the DGPS correction messages, map data, and track your position telescopically on screen. Both the AVLU/LP system and the GPS Gateway use the Cellular Digital Packet Data (CDPD) wireless communication protocol to send and receive the queries and the correction messages to each other. The GPS Gateway converts the correction messages of the DGPS data to packets used by AVL System.
Based on the equation "Distance = Rate x Time", the GPS receiver determines the vehicle position by calculating the "Time" it takes for the spread-spectrum signals to be transmitted from each satellite to the earth. The speed at which the spread-spectrum waves travel is the "Rate".
Since position accuracy depends on the receiver's ability to accurately calculate the time it takes for each satellite signal to travel to earth, there are primarily five factors that can cause the receiver's calculation error. The combination of these errors can limit GPS accuracy up to 100 meters 95% of the time and up to 300 meters 5% of the time. The factors are:
First, it determines the timing code errors in the satellite signals by measuring the ranges of each satellite using the signals received. Then it compares these measured ranges to the actual ranges calculated from its known position. The difference between the measured and calculated range is the total error, and this process has been dubbed Differential GPS (DGPS).
The error data for each tracked satellite should be formatted into a correction message before being transmitted to GPS users. This format follows the standard RTCM-SC104 that is established by the Radio Technical Commission for Maritime Services, Special Committee 104. The differential corrections are then applied to the GPS calculations to remove most of the satellite signal error and improve accuracy. This is one main function of the GPS receiver.
I am currently a graduate student of the MAT program. I have been working in the Caltrans TCFI lab about half a year. The TCFI (Testbed Center For Interoperability) lab is a joint venture between Caltrans and UCSB. It actively engages in the development, design and testing of both Intelligent Transportation Systems (ITS) and the National Information Infrastructure (NII). TCFI provides Caltrans and its partners with facilities that are properly equipped with the communications and distributed computing infrastructure required for this type of applied research. These facilities will include "field" elements that will be installed on state highways in the Santa Barbara area and "laboratory" elements consisting of communications and computer equipment that will reside at TCFI’s offices and at various facilities on the UCSB campus.
First, my task was to join the group that will set up the new TCFI web server, and to upgrade, design and maintain the website after it is set up. For some internal reasons, they postponed this plan and changed my task to do the analysis on the ALV system that was developed by TechnoCom, a private company that provides cost-effective wireless communications, automatic vehicle location (AVL) and E9-1-1 location solutions to its customers. To realize the objective of a statewide, integrated transportation high speed network and advanced wireless communications network, TCFI needs to document the AVL system in order to represent the entire program, which is written in multiple languages, in the UML (Universal Modeling Language) environment.
My report will include 5 parts: the system structure, communication, correct packet encoding, a brief review of the software, and the conclusion. Unfortunately, the flowchart of the DGPS program needs to be kept in the internal files of TCFI.
The AVL system has three types of elements:
- GPS receiver
- CDPD Modem
- AVLU processor
- Power supply circuitry
The receiver gets the actual latitude, longitude and altitude from the GPS antenna. After encapsulation, the data has a format of RTCM SC-104 Type message for the vehicle location correction. Then the gateway processor collects these messages and packetizes them into CDPD format and delivers them to the AVLU or the LP system.
- CDPD Modem
- DGPS reference receiver
- Gateway processor
Basically, it is an Internet –connected computer in the central office of the AVL system, running Win 95/ NT on which software programs are installed to provide the above services.
There are two kinds of communication within the AVL system.
--- To continuously get the new correction data, the AVLU units should send out the requests at a specified interval that is less than 120 seconds. This increases the traffic load. The number of simple request / respond interchanges occurring at the same time is limited by the bandwidth of the CDPD network.
--- Advantage: it can get the differential correction data of the moving AVLU constantly with the repetitive request/response of the AVLU.
--- The gateway only supports one logical stream at a time. This stream is directed to the most recent requestors by the LP system. Since each of these requests expires after 120 seconds, each unit should issue its request periodically.
--- Advantage: since it does not need to get the continuous correction request/response from the AVLUs, it relieves the traffic load created by the previous method.
Correction Packet Encoding
- It is sent either by the AVLU or LP System to request DGPS correction updates from a DGPS correction server or gateway.
- AVLU requests a single DGPS correction update from the gateway by specifying action = 0 at bit 16 ~ 31.
- LP System requests a stream of DGPS correction updates by specifying action = 2 at MSB and giving the update interval at bit 0 ~ 15. The interval value is on a 1-second base. The DGPS Gateway asks the intervals to be at least every two minutes (120 sec) to maintain the stream, otherwise the stream will be terminated. Also it can be canceled by the LP system by sending a request message whose update interval is 0.
- Bit 16 ~ 23 are left spare for future use.
Fig 4.1 the DGPS Correction Request Message Format
- It provides DGPS correction data for multiple satellites to pass information from RTCM SC-104 Type 1, Type 2 and Type 9 messages.
- The first 0 ~ 31 bits are used for the mod_z_count, station_health, and specifying RTCM type (from MSB to LSB).
- From the second 0 ~ 31 bits, every following 5 bytes contain DGPS correction information of one given satellite. It can contain corrections for up to 12 satellites until the end of the message. The use of every byte is specified by the DGPS Correction Message Encoding format below.
- When there are less than 12 corrections, the message must be stuffed with zeros to end on an even 32-bit word boundary.
This DGPS program is comprised of five archives. The first one is for the Gateway, the last archive is for the AVLU, and the other three archives are embedded in the LP system to provide different functions.
From this task, I got the first hand look at the sizable application using CDPD and DGPS technologies. It enhanced my industry experience, as well as my programming skill to integrate multiple languages into one program. This is valuable for my career development.
Last updated on June 10, 2001