Differential GPS Corrections Protocol (DGPS)

for the Caltrans TCFI Automatic Vehicle Location System Testbed

Ying Yan

MAT 293

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.



GPS is a satellite-based global navigation system created and operated by the United States Department of Defense (DOD) in 1970s. One of today's most demanding applications of GPS technology is to track the remote vehicles, or AVL (Automatic Vehicle Location).

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:

  1. Ionosphere and troposphere delays on the radio signal
  2. Signal multi-path
  3. Receiver clock biases
  4. Orbital errors, also known as ephemeris errors of the satellite's exact location
  5. The intentional degradation of the satellite signal by the DOD. It is known as "Selective Availability (SA)" and is intended to prevent adversaries from exploiting highly accurate GPS signals and using them against the United States or its allies.
Fortunately, many of these errors can be reduced or eliminated through a technique known as "Differential GPS". DGPS works by fixing a high-performance GPS receiver at a known location and getting the comparative difference between the signal received and the fixed accurate position.

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. 

DGPS_brdcstSite.jpg (23814 bytes)
Fig 1.  the  DGPS Broadcast Structure
CDPD is a data transmission technology developed for cellular phone frequencies. It uses previously unlicensed cellular channels (in the 800- to 900-MHz range) to transmit data in packets. This system employs packet switching rather than circuit switching. The format of the CDPD's packets follows TCP/IP standard. Typically it still needs a TCP/IP protocol stack to reach the Internet. As a wireless extension to an IP network, it uses the four-octet ( address for connections.


My Task

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.


System Structure

The AVL system has three types of elements:

  1. AVLU: a mobile element normally fixed in a vehicle, using the attached GPS receiver antenna and CDPD modem antenna to connect with the GPS and CDPD networks for receiving and sending messages. In the client–server-based system, it functions as the client. It consists of six elements:
  1. DGPS Gateway: the gateway for message transmission between the AVLU to the LP system and the GPS. It consists of thee elements:
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.
  1. Location Processing System: a local server system providing services to the AVL system. It can process the received client queries, provide searches of map data, and display modified location information. It also communicates with the AVLU.
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.
dgps_c1.jpg (20277 bytes)
Fig 2.  the AVL system structure



There are two kinds of communication within the AVL system.

  1. Vehicle based: The AVLU units send the simple request/respond message to the GPS gateway directly for DGPS correction data.
--- 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.

    wpeA7.jpg (7322 bytes)
    Fig 3.1  the Vehicle based communication

  1. LP system based: The LP system requests a stream of correction data from the DGPS Gateway at a specific rate, then stores the latest data received as the internal data. When the LP system requests AVLU to report its position, the LP system also sends the latest internal correction data. The AVLU uses this data to calculate its new position and replies the result to the LP system.
--- 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.

    wpeBC.jpg (15007 bytes)
    Fig 3.2  the LP system based communication

Correction Packet Encoding

wpeBD.jpg (7071 bytes)

Fig 4.1  the DGPS Correction Request Message Format


wpeBE.jpg (19308 bytes)
Fig 4.2  the  DGPS Correction Request Message Encoding

wpeC2.jpg (27881 bytes)
Fig 4.3   the DGPS Corrections Message Format
wpeA9.jpg (56446 bytes)
Fig 4.4   the Corrections Message Encoding



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