Keywords

1 Introduction

A vehicle navigational framework that combines GPS and INS measurements is gaining much importance and has become an important field of study. The performance of low cost GPS receiver together with low cost INS (or alternatively, inertial measurement unit -IMU) is therefore very important from navigational perspective [1, 2]. Detailed performance analyses of such sensors are likely to throw up new approaches that will greatly enhance the estimation accuracy in futuristic vehicles including the autonomous ones. Different sensors have different pros and cons. Also as mentioned by Gupta [2], for different conditions of use, the sensor measurement accuracy varies. Therefore in order to achieve precision, we need to “experimentally validate the estimates against high accuracy vehicle state estimators” [2]. However, GPS systems can fail in a few common locations (namely urban canyons, actual canyons, or forested road areas) due to non-availability of satellite signal or due to multi-path errors [2]. For such cases, one can fuse accelerometer measurements with GPS to derive accuracy.

Personally owned Smartphones are becoming the most popular choice in deploying sensors like accelerometers and gyroscopes, not just for the purpose of navigation but also for the purpose of introducing ‘driving style’ related applications. If personal phones can be utilized for accurate speed estimation, new solutions can be introduced to serve the consumers better. Also, such data can be used as the basis for sending feedback signals directed towards vehicle control and guidance [3]. Accelerometers are generally used to identify aggressiveness in driving [4, 5]. On the other hand, smartphones have an added advantage in being able to process the captured data and transmit them over communication network [6]. Two recent works on similar lines are related to the smartphone based sensing for identifying aggressive driving behaviour [7, 8]. Keeping the above stated synergy in mind, we decided to carry out extensive experiments using smartphones and data logging tools for the purpose of investigating the accuracy and reliability of vehicle speed estimation, in a moving vehicle. It is believed that significantly improved speed estimation accuracy under varying conditions, particularly for congested city drive, will make autonomous vehicles more reliable.

In this paper, we propose an approach to mitigate the issue of estimating the true speed of a moving vehicle, using primarily smartphone accelerometers. It is known that the accelerometers suffer from multiple noise effects. The noise level and the type may vary from phone to phone. In order to test the variability, authors have used Allan Variance method [9, 10] to estimate and compensate for the noise present in accelerometers. Authors compare different smartphone models in terms of the noise performance of their integrated accelerometers. After suitable compensation, the measured acceleration values are integrated to obtain the speed of the moving vehicle. These speed values are fused with GPS speed measurements to obtain robust overall speed estimation. Generally, Kalman filter is a popular choice for such sensor fusion. Kalman filter implementation is done for measurement i.e. pseudo-range and Doppler [2]. Kalman filter applications on measured data require robust model and works towards correcting speed in real-time. Here GPS plays a major role [2], as GPS measured speed “corrects the inertial estimate periodically”. Apart from Kalman, Monte Carlo based statistical filtering is also used in vehicle tracking and navigation application [11]. Such filtering is also known as particle filtering method. They are also used for vehicle trajectory generation [12]. Some available solutions use Sequential Importance Resampling (SIS) which assumes state dynamics and measurement functions to be known [13].

In this paper, we present a novel data driven approach that is computationally efficient and uses less resources. The purpose of this method (named Slope Check Algorithm -SCA) is to fuse GPS and accelerometer data appropriately so that the accuracy of speed estimation is greatly improved. Towards such objective, the GPS based speed measurements, at every ‘n’ sec interval, are used to correct the speed estimation obtained from acceleration measurements (at higher sampling rate). A new empirical fusion method of forward and backward speed estimation is proposed. It is seen that the proposed approach significantly improves the speed estimation. For comparison purposes, we have utilized the OBD2 based speed measurement (denoted by vOBD) as the true measure of the vehicle speed.

2 Motivation

Rapid progress in sensor technology has made it possible to deploy both INS and GPS receivers in modern day cars. GPS is primarily used for navigational purposes; thus in most cases, 1–5 s sampling interval for GPS data is deemed adequate. Also recreational (mobile phone based) and professional GPS units have different purposes and different levels of accuracy [14]. Low cost GPS loses accuracy if sampling rate is above 1 Hz.

A GPS measurement provides both the position and the speed of car, together with an accuracy measure (usually called Horizontal Accuracy). Such speed measurements can also be used for assessing the driving skills of the driver. But those applications usually require speed measurements at higher sampling rate. Thus, if acceleration (at higher resolution) can be fused with sparse measurement of GPS speed, it will enable a wide range of applications to be deployed in GPS-INS system; implemented through a distributed server-client application. As modern day smartphones include both INS and GPS and can communicate with a remote server, hence they can be used as internet connected sensors [6]. In this work, we primarily deal with acceleration-GPS fusion to obtain speed at higher resolution. Towards achieving that goal, noise analysis on smartphone based accelerometer is done. Then a fusion algorithm is proposed which reduces the effects of noisy measurements present in acceleration data and gives output speed at higher rate.

3 Accelerometer Noise Analysis

In this section, the different types of noise errors impacting an accelerometer measurement are investigated. An important concern regarding the noise effect is that they impact the speed evaluation vide the integration process. Thus it is important to know the difference in noise level and type of noise present in different smartphones. This will enable us to judge compatibility and accuracy across different smartphones.

A. Constant bias

The offset of the output value from the true value is called bias of an accelerometer (in \( {\text{m/s}}^{ 2} \)). A constant bias error of ε, when integrated to get speed, causes an error which grows proportionally with time. The total error in speed estimation is e(t) = 0.5.ε.t, where t is the time of integration [10].

B. White Noise/Velocity Random Walk

Accelerometer output generally contains some amount of white noise. Integration of the white noise produces a random walk with variance proportional to √t. Hence, white noise creates a velocity random walk [10]. This is measured in m/s/√s.

C. Rate Ramp

This is a deterministic error. Slow monotonic change of output over time is Rate Ramp. It can be described as: w(t) = R.t, where R is the slope of the ramp. This creates a line of slope +1 in Allan Deviation (AD) plot [9, 10]. R is the value of Allan Deviation at time = √2.

Other errors are briefly summarized in Table 1 [10].

Table 1 Summary of different errors

4 Allan Deviation Results for Different Phones

In this section we present the results on Allan Variance method applied to different phones. These phones have different accelerometer makes; in addition, they may be embedded differently in each smartphone. Thus, the Allan Variance method is applied on different phones to measure their noise characteristics.

Allan Variance is a time domain signal analysis technique that can be used on any signal to determine the character of noise in the system. Allan Variance is measured as a function of averaging time.

Hence Allan Variance calculation gives [t,AD(t)] pair where t = averaging time. AD(t) is the value of Allan deviation = √Allan variance. The technique to calculate AD is given in [9, 10] and for the sake of completion, we reproduce it, as below.

  1. 1.

    Divide a sequence of data it into sequence of length t. There must be enough data for at least 10 such sequences. Hence it is good practice to log data for a long time. This will enable user to detect different type of noise (if present) in signal.

  2. 2.

    The data in each bin is averaged to obtain a series of averages (a(t)1, a(t)2, …, a(t)n), where n is the number of bins.

  3. 3.

    The Allan Variance is then calculated using Eq. (1)

$$ AVAR(t) = \frac{1}{2*(n - 1)}\sum\limits_{i} {({\text{a(t)}}_{{{\text{i }} + { 1}}} {\text{ - a(t)}}_{\text{i}} )}^{2} $$
(1)

Allan Deviation, denoted by AD(t) is given in (2)

$$ AD(t) = \sigma (t) = \sqrt {\text{AVAR(t) }} $$
(2)

Then [t, AD(t)] pair is plotted in a log-log plot for identifying different noises. In the log-log scale plot, the different slope sections identify different types of noise which are orthogonal in nature. The process identification is followed by computing the numerical parameters directly from the AD plot [9, 10]. A typical plot of Allan deviation shows different errors in different sections of ‘t’. The slope of the line indicates type of noise and parameters of different noise can be computed from the AD curve. Value of different noise parameters can be calculated easily from the curve. Table 2 of reference [10] gives comprehensive steps to calculate different error terms (Fig. 1).

Table 2 White noise variance for different phones
Fig. 1
figure 1

Allan deviation plot for Samsung Google Nexus for all 3 axes

The error modelling, discussed as above, is now tested on different smartphones (iphone5, google nexus, LG nexus S and Samsung galaxy note 2). Results and plot for these 4 types of smartphones are presented in Figs. 2, 3, 4 and 5 and Table 2 and 3 respectively.

Fig. 2
figure 2

Allan deviation plot for Samsung Galaxy Note 2

Fig. 3
figure 3

Allan deviation plot for iPhone 5

Fig. 4
figure 4

Allan deviation plot for LG Nexus

Fig. 5
figure 5

Experimental set-up displaying Bluetooth OBDII device and Tab as data logger

Table 3 Bias instability for different phones

The analysis of the Samsung Google Nexus AD plot (as shown in Fig. 1) displays the presence of white noise for all three axes and additionally a bias instability for X axis. The value of white noise variance is the value at t = 1 on the approximate line with slope −1/2. Clearly for x, y, z axis the value of σ at t = 1 are 0.019, 0.018, 0.02 respectively. Hence, these are the standard deviation of white noises for the given axis. The values of different types of error coefficient can be calculated as indicated in Table 2. Only for the X axis, the Allan deviation curve shows a flat portion from t = 7 to 25 s. Hence bias instability for X axis BX = 0.0065/0.664 = 0.0098.

For Samsung Note 2, the Allan deviation plot is shown in Fig. 2. Bias instability (portion with slope = 0 in time zone 7—10 s.) is present in the X axis only with value Bx = 0.0006/0.664 = 0.0009, which is 10 times smaller than Samsung Google Nexus (refer Fig. 2). Thus, it is seen that the accelerometer performance in Samsung Note 2 is better than Samsung Google Nexus phone. Similar comparisons can be made from Allan deviation plots to obtain noise characteristics and determine different noise coefficients (as listed in Table 3 and 4).

Table 4 Sample data from experimental setup

Allan deviation plot for iPhone 5 is given in Fig. 3. The plot shows the presence of white noise and bias instability (flat region in the AD curve) on each the axis. The curve of Z-axial accelerometer in iphone plot (Fig. 3) indicates a correlated noise and/or sinusoidal noise in time interval 10–36 s. All the noise parameters found with method described in this note using Table 2 are summarized in Table 3.

AD curve for LG Nexus in Fig. 4 shows presence of white noise for all 3 axes, bias instability for X axis only. Presence of Rate Ramp is observed only in case of LG nexus (Fig. 4) for Z axis in the region t = 5−40 s. (slope of AD curve in Fig. 4 is +1) and measurement for this noise can be measured by fitting a straight line through the slope and reading value at \( {\text{t }} = \sqrt 2 \) . Hence for that Rate ramp \( {\text{RZ}} = \sigma (\sqrt 2 ) = 0.000 4 \). White noise parameters for LG nexus are summarized in Table 3.

Now from the presented AD figures the white noise parameter \( \left( {{\text{m/s/}}\sqrt {\text{s}} } \right) \) of these 4 phones are given in Table 2.

In Table 3 bias instability (in \( {\text{m/s}}^{ 2} \)) for different phones is consolidated.

5 Experimental Setup and Speed Calculations

Our work is based on experiment conducted over 2 months. As experimental set-up Samsung Galaxy Note 2 and Kiwi Bluetooth OBD2 device is used. Entire setup is presented on Fig. 5. Kiwi Bluetooth connects through the on board diagnostic port (OBD2/CAN) in cars [15]. The data is logged using Torque Pro Android App which is used to log the OBD2 speed along with GPS measurements [16]. In this case, the OBD2 based speed of vehicle is collected at 1 Hz sampling rate and the accelerations are also logged using the smartphone at 1 Hz sampling rate. The experimental setup is activated when vehicle starts moving.

Data collection is done in Kolkata, India. For data collection phone is kept at constant position although this may not be possible in real life scenario. Thus the need for orientation correction for acceleration is needed. This setup is used for ongoing works related to GPS speed and accuracy also [17]. To validate our approach, we logged GPS data at different rates and then fused with acceleration data to obtain speed at acceleration sampling rate (i.e. 1 Hz). These fused speeds are then compared with OBD speed. OBD speed is taken as true speed of the vehicle. Accuracy of fused speed is measured by its deviation from true OBD speed. Data are collected in csv format. A sample data is given in Table 4.

In the given sample, GPS is collected at 1 Hz rate. For the experimental purpose, GPS sampling rate can be configured at less than 1 Hz. (for e.g. 1 sample every t seconds t = 2, 3, 4…). Our algorithm fuses accelerometer data at FsA Hz to GPS speed at FsGPS Hz to obtain fused speed output at FsA Hz. In the context of this paper FsA = 1. The phone (shown in Fig. 5) is harnessed in a fixed orientation, yet there is a small tilt of the axes of measurement. Moreover, car vibrations continue to affect the phone and hence it is necessary to measure and intermittently compensate for this tilt. The orientation measurement and correction scheme is discussed in Sect. 5.1.

5.1 Orientation Correction Calculations

The accelerations reported by the phone sensors are provided in phone coordinate system and they need to be rotated to vehicular coordinate system before further analysis [18, 19]. Hence, the phone orientation needs to be derived. However, the phone inertial sensors are noisy and an accurate stable value of orientation is not derived directly from them [20]. Hence, some corrective measures need to be applied. It is known that the directional component of the GPS measurement or the bearing is quite accurate. Similarly, while using accelerometers, the gravity vector can give accurate direction of the normal reaction force. If ‘GPS bearing’ and ‘gravity’ are orthogonal, they can be combined to provide the vehicle coordinate system where the positive ‘Y’ axis is given by the direction of vehicle movement and the positive ‘Z’ is given by the normal reaction on the vehicle. This is depicted in Fig. 6.

Fig. 6
figure 6

Vehicle coordinate system

To achieve this rotation, a quaternion rotation matrix is created using the above mentioned axes and the accelerometer space upgraded to homogeneous coordinate system [x, y, z, 1], is multiplied to the same to achieve the rotation. However due to sensor noise, the rotation matrix itself becomes noisy, making the measurements unstable. To achieve stability in the system the orientation values need to be corrected. We have used the balance filter [21] to correct orientation. Additionally, a smoothing algorithm is developed—based on sub-sampling followed by low-pass filtering to achieve smoother results for trajectories as shown in results section. The orientation experiment was conducted by keeping the phone static in a fixed known azimuth angle for 10 min and studying the values obtained from the filter. The phone used for experimentation was a LG Nexus 5. The second experiment involved a ‘Z’ like trajectory with two 90° turns.

For orientation related experiment described as above, it is seen that after applying the balance filter the orientation values converge to the ground-truth value of orientation in a specified amount of time. Further smoothing can be done by applying a low-pass filter to remove the high-frequency jitter. This is shown in Fig. 7.

Fig. 7
figure 7

Orientation values after applying our algorithm (in red)

The mean and standard deviation of original and filtered output is shown in Table 5.

Table 5 Mean and standard deviation of original and filtered signal

Further, in Fig. 8, we show a trajectory which forms a Z, and show how our algorithm is able to smooth out the orientation values.

Fig. 8
figure 8

Orientation value after applying our algorithm

The stability achieved in orientation deduction using the balance filter implies that further processing on the same can be applied and the solution may be used for a better GPS-INS fusion by using the accelerometer data only along the vehicle major axis for velocity estimate. Using this technique, the tilt in the phone was identified on a second-by-second basis. It was seen that the tilt of the phone with respect to Z axis ranges from 5.8° to 6.2°.

5.2 Speed Calculations

For the above mentioned experimental setup, we define,

n = 1/FsGPS,:

delay between 2 consecutive GPS data in seconds

N = n. FsA :

No of speeds calculated from accelerometer and GPS data

From GPS we speed values: v1, vN+1, and so on. Then using the GPS and accelerometer fusion algorithm, we calculate v1, v2, …, vN+1 that is we compute speeds at finer resolution (1/FsA seconds apart). The speed computation is described as below.

For purpose of analysis, we consider that the overall trip is segmented where the jth segment corresponds to the journey between two consecutive GPS speed measurements, v(j−1)N+1 and vjN+1 . Then the speed is calculated by application of Eq. 1.

$$ v(t_{2} ) = v(t_{1} ) + \int\limits_{{t_{1} }}^{{t_{2} }} {a(t).dt} $$
(1)

Where a(t) denotes acceleration at time t, v(t1) is the initial speed.

For forward speed correction, we use the initial speed value as v(j−1)N+1 and continue to compute the speeds at subsequent time samples using the measured acceleration at that time sample.

Thus, we calculate v2, v3,…,vN. These are forward speed (F speed) as shown in Eq. 2.

$$ \hat{v}((j - 1)N + i) = \hat{v}((j - 1)N + i - 1) + \int\limits_{(j - 1)N + i - 1}^{(j - 1)N + i} {a.(t)dt} $$
(2)

Now time reversal is applied whereby the initial speed considered is vjN+1 and intermittent speed values are computed backwards in time, as shown in Eq. 3.

$$ \hat{v}(N - i) = \hat{v}(N - i + 1) - \int\limits_{N - i}^{N - i + 1} {a.(t)dt} $$
(3)

Using Eq. (3) we calculate \( {\hat{\text{v}}}_{ 2}, {\hat{\text{v}}}_{ 3} , \ldots ,{\hat{\text{v}}}_{\text{N}} \), called backward speed (B speed). Throughout this paper vi denotes F speed and \( {\hat{\text{v}}}_{\text{i}} \) denotes B speed.

Once these basic calculations are done for a segment, the proposed SCA is applied to obtain a major improvement in speed estimation as compared to the one illustrated in [22].

5.3 Slope check algorithm (SCA)

For each segment, we have two GPS speed measurements at n (sec) intervals; hence we can calculate speed change in kmph/s as slope

$$ S_{j} = {\raise0.7ex\hbox{${(v_{(j - 1)N \, + \, 1} - v_{jN + 1} )}$} \!\mathord{\left/ {\vphantom {{(v_{(j - 1)N \, + \, 1} - v_{jN + 1} )} n}}\right.\kern-0pt} \!\lower0.7ex\hbox{$n$}} $$

Thus for each segment we calculate the slope value in kmph/s. These are then categorized as follows.

  • Case I: If Sj > 4 kmph/s—categorized as increasing

  • Case II: If Sj < −4 kmph/s—categorized as decreasing

  • Case III: Else – categorized as average

Hence for any segment there are 3 possibility categories: Increasing (denoted by I), Decreasing (denoted by D) and Average (denoted by A). For a given segment we categorize the slope of that segment as well as the previous segment. Now in speed correction flow occurs as follows:

The Slope Check Algorithm flowchart is given in Fig. 9.

Fig. 9
figure 9

Slope check algorithm flow chart

The three conditions namely CaseMax, CaseMin and CaseDefault are described in detail in 5.3.ac.

5.3.1 CaseDefault

In default mode we take weighted average of the F speed and B speed (which are calculated using Eqs. 2 and 3) to infer speed estimate FB speed (referred as Forward-Backward speed) of the vehicle. In default mode, let vi denotes F speed, \( {\hat{\text{v}}}_{\text{i}} \) denotes B speed for the ith estimate (in a segment). Then the ith speed estimate (denoted by \( {\bar{\text{v}}}_{\text{i}} \)) is calculated using Eq. 4.

$$ {\bar{\text{v}}}_{\text{i}} = \frac{{(N - i + 1)v_{i} + (i - 1){\hat{\text{v}}}_{\text{i}} }}{N},\; 1\le {\text{i}} \le {\text{N}} + 1 $$
(4)

For each segment, these weights are dependent on N. Table 6 illustrates example of weights for N = 10.

Table 6 Sample data from experimental setup

At the time instance when GPS reading (time instance 1, 11 in Table 7) is done, the output speed is same as the measured GPS speed. The intermittent values are inferred based on slope check algorithm Default Case as shown in Table 6.

Table 7 Experimental results comparing SCA with default result (FsA = 1)

5.3.2 CaseMax

Output FB speed (i.e. ith speed) estimate is given by Eq. 5

$$ {\bar{\text{v}}}_{\text{i}} = \hbox{max} \{ v_{i} ,{\hat{\text{v}}}_{\text{i}} \} ,\;\; 1< {\text{i}} < {\text{N}} + 1 $$
(5)

5.3.3 CaseMin

Output FB speed (i.e. ith speed) estimate is given by Eq. 6

$$ {\bar{\text{v}}}_{\text{i}} = \hbox{min} \{ v_{i} ,{\hat{\text{v}}}_{\text{i}} \} ,\;\; 1< {\text{i}} < {\text{N}} + 1 $$
(6)

The implementation can be configured to use different values of N. For our purpose N = 5 was used. The experimental results are given in Sect. 6. Analysis of obtained speed is compared to OBD speed of the car in order to determine accuracy of the speed estimation.

6 Experimental Results

Once the data is collected, the acceleration measurements are compensated for orientation and noise corrections. Subsequently SCA is applied on the compensated acceleration data to estimate the speed. In our previous work [22] the estimation method offers reasonably good accuracy. But that approach relies on simple averaging of F speed and B speed. Now SCA is applied to improve the estimation further. As reference, we reproduce the result (Fig. 10) given in [22].

Fig. 10
figure 10

Estimated speed using INS/GPS simple average and compared with OBD2 speed

Further improvements are achieved by using slope SCA. It is observed that there is a decrease in speed estimate error when the SCA dependant FB speed is compared with OBD speed. Table 7 gives the r.m.s and maximum absolute error for slope check algorithm and simple averaging method.

The results in Table 7 indicates that for identical GPS sampling rate, SCA consistently performs better. Also, if we want to keep a fixed threshold for r.m.s. error, GPS sampling rate can be made lower by use of SCA. SCA with N = 10 gives better result than simple averaging for N = 8. Thus SCA can replace simple averaging as a better alternative. Figure 11 displays SCA output (i.e. FB speed) and OBD speed comparison for N = 8.

Fig. 11
figure 11

Estimated speed using INS/GPS fusion (SCA) and compared with OBD2 speed

As expected, the derived speed follows the OBD speed but with occasional high error peaks. Further investigation is done on error analysis as well as the fusion time interval n.

$$ e_{i} = \, \overline{{ ( {\text{v}}_{\text{i}} }} {\text{ - v}}_{\text{OBD}} ) $$
(7)

The error analysis is carried out only for those segments of journey that represent a moving vehicle. Results for the error analysis are shown in Table 8.

Table 8 Experimental results for error with varying fusion time interval

From Table 8 it is quite clear that increase in time gap (i.e. fusion time interval) increases the estimate error. But such increase in both r.m.s error and standard deviation of error is linear with the fusion time interval. Figures 12 and 13 displays the variation of r.m.s error and standard deviation of error with respect to fusion time interval.

Fig. 12
figure 12

Rms error variation with fusion time interval

Fig. 13
figure 13

Standard deviation of error variation with fusion time interval

Additionally the pdf plot for the estimate error shows that though the spread of the error curve vary with change in fusion time interval but nature of pdf curve is similar. Figure 14 displays obtained result for a journey. All statistical analysis is done using R tool [23].

Fig. 14
figure 14

Plots of probability distribution of error in speed for different fusion intervals. a N = 5; b N = 7; c N = 9; d N = 10

The above analysis shows that for a desired level of accuracy, the fusion time interval can be suitably chosen by scaling the error measurements done at one fusion interval. To obtain the range of the estimated error, the 5th and the 95th percentile of the error is computed for different values of n (fusion time delay). Table 9 displays the relevant percentile values.

Table 9 Experimental results for percentile of error

It can be seen that the percentile error varies linearly with fusion interval. It is very important to observe the variation of 5th and 95th (shown in Fig. 15) percentile.

Fig. 15
figure 15

Plots of 5th and 95th percentile of error in speed for different fusion intervals

From Fig. 15, the linear variation of error with fusion interval is approximately established. Hence error can be characterize as O(n), where n denotes fusion interval. Also as it observed that mean of GPS speed is less than that of OBD speed. Hence errors for fusion speed (SCA) have a nonzero mean but that is expected as SCA corrects speed using GPS speed. GPS speed has nonzero mean for GPS speed error (defined as GPS speed—OBD speed).

7 Conclusion

Smartphone market is increasing at a rapid pace. With technological progress the usage of smartphones in large scale sensor deployment and analysis is gaining much prominence. Phone based sensors like accelerometers and GPS can be easily deployed in vehicle tracking solutions; however, such solutions are affected by the professed lack of measurement accuracy as compared to professional grade units. A GPS based speed estimation method requires high sampling rate, to obtain accuracy. Thus, for a typical long duration vehicle trip, the power consumption will be heavy. Accelerometer based speed estimation can become a much preferred method provided the sensor errors are properly compensated for. In this paper, we attempt to analyze a few categories of smartphones (as sensor and computation units) from the perspective of noise. Further, we apply an innovative fusion algorithm (SCA) to get a much better estimate of vehicle speed using primarily accelerometer measurements. Also using statistical analysis it is verified that error grows linearly with fusion interval. Thus tuning of fusion interval to contain error within a predefined limit can be very useful. Use of such adaptive scheme can empower higher accuracy at low power rate and cost. Also tracking speed of a vehicle in a zone where GPS is not available (like tunnel or a shadow zone) is possible. Thus SCA with a configurable fusion interval can serve as an improved tool for calculating car speed with an acceptable accuracy. SCA will generate output speed from a non-uniform GPS sampling, thus eliminating the need for a fixed GPS sampling rate algorithm. SCA is easily adaptable for such purpose.