SenSpeed: Sensing Driving Conditions to Estimate Vehicle Speed in Urban Environments

SenSpeed: Sensing Driving Conditions to Estimate Vehicle Speed in Urban Environments


Acquiring instant vehicle speed is desirable and a corner stone to many important vehicular applications. This paper utilizes smartphone sensors to estimate the vehicle speed, especially when GPS is unavailable or inaccurate in urban environments. In particular, we estimate the vehicle speed by integrating the accelerometer’s readings over time and find the acceleration errors can lead to large deviations between the estimated speed and the real one. Further analysis shows that the changes of acceleration errors are very small over time which can be corrected at some points, called reference points, where the true vehicle speed can be estimated. Recognizing this observation, we propose an accurate vehicle speed estimation system, SenSpeed, which senses natural driving conditions in urban environments including making turns, stopping, and passing through uneven road surfaces, to derive reference points and further eliminates the speed estimation deviations caused by acceleration errors. Extensive experiments demonstrate that SenSpeed is accurate and robust in real driving environments. On average, the real-time speed estimation error on local road is 2:1km=h, and the offline speed estimation error is as low as 1:21 km/h. Whereas the average error of GPS is 5:0 and 4:5 km/h, respectively.



  • The existing studies utilizing Derivative Dynamic Time Warping (DDTW) algorithm introduces large overhead on collecting offline trace and prevents large-scale deployment. Also, the speed estimation accuracy of DDTWsuffers from the coarse-grained signal information.
  • In the existing work, there are two vehicle speed estimation mechanisms deployed on highways or main roads. One is employing the loop detectors, and the other is using traffic cameras. These solutions all rely on predeployed infrastructures that incur installation cost. The traffic camera could be installed in urban environments, but it suffers low accuracy, bad weather conditions and high maintenance cost.


  • GPS embedded in smartphones often suffers from the urban canyon environment, which could result in low availability and accuracy. In addition, the low update rate of GPS is not able to keep up with the frequent change of the vehicle speed in urban driving environments.
  • Moreover, continuously using GPS drains the phone battery quickly. Thus, it is hard to obtain accurate vehicle speed relying on GPS for applications requiring real-time or high-accuracy speed estimations.
  • The accelerometer readings are noisy and affected by various driving environments.
  • The speed estimation is not real-time and accurate.
  • The solution is not lightweight and computational not feasible on smartphones.


  • In this paper we consider a sensing approach, which uses smartphone sensors to sense natural driving conditions, to derive the vehicle speed without requiring any additional hardware.
  • The basic idea is to obtain the vehicle’s speed estimation by integrating the phone’s accelerometer readings along the vehicle’s moving direction over time. While the idea of integrating the acceleration values over time seems simple, a number of challenges arise in practice.
  • We propose to perform accurate vehicle speed estimation by sensing natural driving conditions using smartphone sensors.
  • We study the impact of the acceleration error on the speed estimation results obtained from the integral of the phone’s accelerometer readings.
  • We exploit three kinds of reference points sensed from natural driving scenarios to infer the vehicle speed at each reference point, which could be utilized to reduce the acceleration error that affect the accuracy of vehicle speed estimation.
  • We develop a vehicle speed estimation system, Sen-Speed, which utilizes the information obtained from the reference points to measure and eliminate the acceleration error and achieves high accuracy speed estimation.


  • Our system, SenSpeed, identifies unique reference points from the natural driving conditions to infer the vehicle’s speed at each reference point grounded on different features presented by these reference points. Such reference points include making turns, stopping (at a traffic light or stop sign or due to road traffic) and passing through uneven road surfaces (e.g., speed bumps or potholes).
  • Based on the speed inferred from the reference points, SenSpeed measures the acceleration error between each two adjacent reference points and eliminates such errors to achieve high-accuracy speed estimation.
  • The main advantage of SenSpeed is that it senses the unique features in natural driving conditions through simple smartphone sensors to facilitate vehicle speed estimation.
  • Furthermore, SenSpeed is easy to implement and computational feasible on standard smartphone platforms.


SenSpeed Sensing Driving Conditions to Estimate Vehicle


  • Obtain the vehicle speed
  • Sensing Turns
  • Sensing Stops
  • Sensing Uneven Road Surfaces
  • Sending data Alert SMS module


Obtain the vehicle speed

We first describe how to obtain the vehicle speed from smartphone sensors. The vehicle’s acceleration can be obtained from the accelerometer sensor in the smartphone when a phone is aligned with the vehicle. Suppose the accelerometer’s y-axis is along the moving direction of the vehicle. We could then monitor the vehicle acceleration by retrieving readings from the accelerometer’s y-axis. The vehicle speed can then be calculated from the integral of the acceleration data over time.

Although the basic idea of using smartphone sensors to estimate vehicle speed is simple, it is challenging to achieve high-accuracy speed estimations. The most obvious problem is that the noise from sensor readings cause serious errors in the estimation results. Such sensor readings are affected by various noise encountered while driving such as engine vibrations, white noise, etc. And the estimation errors are accumulated when integrating the accelerometer’s readings over time.

In this module, we present the design of our proposed system, SenSpeed, which estimates vehicle speed accurately through sensing driving conditions in urban environments. SenSpeed does not depend on any pre-deployed infrastructure and additional hardware.

Sensing Turns

The vehicle speed can be estimated by integrating of acceleration data over time. However, the accumulative error from the biased accelerations causes large deviations between the true speed and the estimated speed. In order to realize an accurate vehicle speed estimation, SenSpeed senses the natural driving conditions to identify the reference points, then uses the information of the reference points to measure the acceleration error and further eliminates accumulative error.

Our system identifies three kinds of references points, making turns, stopping, and passing through uneven road surfaces, by sensing natural driving conditions based on smartphone sensors.

A vehicle usually undergoes plenty of turns in urban environments. The vehicle speed can be inferred according to a principle of the circular movement when a vehicle makes a turn. When a vehicle makes a turn, it experiences a centripetal force, which is related to its speed, angular speed and turning radius. Thus, by utilizing the accelerometer and the gyroscope, we can derive the tangential speed of a vehicle.

Sensing Stops

A vehicle stops frequently in urban environments because of stop signs, red traffic lights or heavy traffic. When a vehicle stops, the vehicle speed is determined to be zero. The vehicle speed decreases to zero when a vehicle stops, so we can obtain the exact speed at a stop reference point. Based on our observation, the data pattern of the acceleration on the vehicle’s z-axis for stop is remarkably different from that of moving. It plots the readings from the accelerometer’s z-axis when the vehicle is moving and stops. It can be seen that the jitter of the acceleration on z-axis is almost disappeared and the standard deviation of the acceleration on z-axis remains low while the vehicle stops. Thus, the standard deviation of the acceleration on z-axis can be used to detect stop reference points. The standard deviation of the acceleration collected by smartphone is calculated in a small sliding window

Sensing Uneven Road Surfaces

Speed bumps, potholes, and other severe road surfaces are common on urban roads. The accelerometer’s readings from smartphones can be utilized to infer the vehicle speed, when a car is passing over uneven road surfaces. Speed bumps, potholes, and uneven road surfaces are common in urban environments. When a car is passing over uneven road surfaces, the accelerometer’s readings from smartphones can also be utilized to infer the vehicle speed. It shows the accelerations on the car’s z-axis, when a car is passing over a speed bump. The front wheels hit the bump first and then the rear wheels.

Sending data Alert SMS module

In this module, based on the variation of directions an alert messages is sent to the Owner (The number which is saved in app default, which can be changed) with a data say car number or any etc. The module, is triggered when it crosses the threshold limit of the Reference points. The mobile should have sufficient balance to send the SMS.



  • System : Pentium Dual Core.
  • Hard Disk : 120 GB.
  • Monitor : 15’’ LED
  • Input Devices : Keyboard, Mouse
  • Ram : 1 GB


  • Operating system : Windows 7.
  • Coding Language : Android,JAVA
  • Toolkit : Android 2.3 ABOVE
  • IDE :         Eclipse


Jiadi Yu, Member, IEEE, Hongzi Zhu, Member, IEEE, Haofu Han, Yingying (Jennifer) Chen, Senior Member, IEEE, Jie Yang, Member, IEEE, Yanmin Zhu, Member, IEEE, Zhongyang Chen, Guangtao Xue, Member, IEEE, and Minglu Li, “SenSpeed: Sensing Driving Conditions to Estimate Vehicle Speed in Urban Environments”, IEEE TRANSACTIONS ON MOBILE COMPUTING, VOL. 15, NO. 1, JANUARY 2016.

About the Author

Leave a Reply