How is Speed Calculated?

On the roadway there are various kinds of devices that measure the speed of the cars traveling by. The main device we rely on is the toll tag reader. We have placed toll tag readers all along the highway system. These readers NEVER charge your toll tag, instead only read toll tags. And to protect your privacy we encrypt the toll tag, so we never know who it is. Further the toll tag ID is discarded within 2 hours of reading it and never shared to anyone (and the ONLY information we ever had access to, is the encrypted toll tag ID). Toll Tag Readers are paired up into source destination pairs, so we can determine how long it is taking for cars to pass between them. When a toll tag is read by a toll tag reader (a destination reader), the application queries this toll tag reader's source, and tries to match this encrypted toll tag id on the source reader (i.e. if this car has passed 2 toll tag readers in succession). If it finds a match, we get a true ground speed reading between these readers (as the distance between the readers is known and the time this tag was read on both toll tag readers). We do this every 2 minutes with 100s of readings of cars (where we have higher penetration of toll tags we get more readings and matches). A complex algorithm is used to calculate an estimated speed. It uses an adaptive filtering technique, that is discussed later in this document.

How the Toll Tag Readers work:
A Car with a Toll Tag passes two Toll Tag Readers. The application matches the Toll Tag ID on both Readers and determines the Travel Time and Speed

Along with toll tag readers, we use a few other types of devices: the Side-fire Radar and the Automated Traffic Ramp Controller. The Automated Traffic Ramp Controller's (also known as ATR or Loop Detector or Ramp Meter) main job is to keep the traffic on the freeway system flowing by automatically regulating the traffic entry from the on-ramps. If you notice the next time you are on an on-ramp and there is a signal that allows 1-2 cars per lane onto the highway. That is being controlled automatically by an ATR device. The ATR has loop detectors on the highway, so they know how fast the cars are traveling on the roadway, so that they can regulate the ramps efficiently. We collect the data from the detectors on the highways and use it as input to determine the current speed, volume (count) and occupancy (% of time in the past two minutes the loop was occupied i.e. had a car on it) every 2 minutes. Keep in mind that the loops covers only on a small piece of roadway (as opposed to toll tag reader data that is a true travel time across the roadway segment/link), so the algorithm gives more weight to the toll tag readings when available.

How Ramp Meter works:

ATR are loops (about 20 feet long) cut into each lane on the road

The Side-fire Radar acts like an ATR, but can be installed on the side of the road and it simulates the physical loops on the roadway. It uses radar technology to measure the speed, volume and occupancy on a small part of a roadway. The TREX project, that you may be familiar with (expansion on I-25), put in many side-fire radar devices on I-25 that this application uses to calculate speed, volume and occupancy.

How Side-fire Radar works:
When a car passes through a 'virtual' loop, the Side-fire Radar measures Speed, counts the Volume and determines the Occupancy on the road (based on the number of cars in the past 2 minutes)

The application collects data from ATRs every minute, Side-fire Radars every 20 seconds, and instantly from Toll Tag Readers, and then calculates a speed (and volume and occupancy) every 2 minutes for these road segments. The system uses an algorithm, and attaches appropriate weights to the readings from these devices to calculate an overall segment speed. Why do some roads have speed data and some don't? If the piece of roadway doesn't have any speed devices or the device is malfunctioning or taken off-line for repairs, we cannot collect any information for that roadway. Hence it does not show a Speed, Volume or Occupancy.

The speed determines the color of the highways on the map. The ranges are:
  • Green - speed is over 50 mph (wide open and speeds are at or close to the speed limit)
  • Yellow - speed is between 25 - 50 mph (moderate congestion and can be slow)
  • Red - speed is between 15 - 25 mph (very congested and slow on the highway)
  • Black - speed is between 0 - 15 mph (traffic is basically at a stand still on the highway)
  • Grey - no data (means we have no working devices covering that part of the roadway)

Congestion on City Roads

Speed by itself is far more important on Highways than on city roads as an indicator of how the traffic is moving on it. On city roads such as Speer Boulevard (a.k.a arterials) the occupancy (how many cars are on the road at a time and the % loop is occupied during the past few minutes) is a very important criteria. Hence, the application uses both the speed and the occupancy to determine the congestion on the road. Briefly, each of these two criteria are given equal weightage in determining the congestion. However since they are inversely related (i.e. a bigger number for speed is a good thing, while a smaller number for occupancy is good), we calculate the speed health % by looking at the speed limit (say 45 mph) and the current expected speed determined by a similar algorithm as the Speeds for the highway (say 40 mph) and get 40/45 * 100 = 88%. For the occupancy, we set a threshold for a given segment of road (say at 40% -- which would be considered extremely congested or stopped) and use that with the current reported occupancy (say 10%) and arrive to (1-10/40) *100 = 75%. We take these two and get a combined congestion health status % of (88 + 75 / 2) = 81.5%. This translates to Green (Free Flow) status on the road. We do this every two minutes with the data readings we are getting from the devices in the field.

City roads congestion legend shows how we determine the status of the roadway using the congestion health %:

Routes and Segments

The entire highway / freeway system has been divided into smaller sections of roadway, called segments. A segment is a part of a road (such as I-25) between major intersections or exits (say, Belleview and Orchard) and has a direction (i.e. South). In this example the segment would be "I-25 South from Belleview to Orchard. We calculate the speed, volume and occupancy for all the segments in our system have devices. Currently, we have devices on most of the interstates in Denver and on I-70 to Vail. These segments and routes are updated every 2 minutes and presented on the map on the Speeds page.

Trip Travel Time on Overhead Message Signs

The application posts this expected (estimated) travel times to various destinations between Denver and Vail on I-70. Here is a typical message we post:

Message Sign on I-70 West at Bakerville (Mile-marker 223)

The trip travel times posted on the sign is an estimate only. Do keep that in mind. It is based on what the sensors on the road are currently reporting. The situation (congestion, weather, incident, etc.) can change dramatically, and we will update the time every 2 minutes and when you cross the next sign you will get the latest estimated (current) travel time.

The Algorithm

The algorithms used in the application are based on an algorithm developed by Francois Dion and Hesham Rakha, at the Virginia Tech Transportation Institute. Their paper is "Estimating Dynamic Roadway Travel Times using Automatic Vehicle Identification Data for Low Sampling Rates" (click here for the full paper). Very briefly, the algorithm used adaptive filtering for predicting roadway travel times. It works with low sample rates and on both freeway and arterial signalized roadways. It is designed to handle stable and changing conditions on the roadway. The algorithm uses a dynamic window for identifying valid data and can adjust very quickly by dropping its ceiling or floor when conditions change (i.e. a sudden slow down). Approximately 16 equations are used in the algorithm to process the data. We have been using it for the past 3 years at CDOT and it is very accurate. It allows us to post trip travel times for destinations that are a 100 miles away.

The software team at CDOT ITS
If you would like more information, please contact us