Printer Friendly

Basic techniques for filtering noise out of accelerometer data.

1. Introduction

Precise indoor localization and navigation is the important aspect for the wide range of industrial processes, emergency situations and in everyday life. Therefore, this area has attracted an increasing variety of researchers and companies dealing with the navigation systems. The major problem of these systems is the accuracy. The accuracy depends on the quality of the parts; especially on the inertial sensors which are used to keep track of the moving object by dead reckoning. However, these sensors are not accurate enough for the autonomous dead reckoning for long period of time. The main problem is bias instability and drift of accelerometer resulting in an accumulating position error. These errors have a huge influence of the measured data and calculated velocity and position. Table 1. shows the impact of the error on the position.

A suitable way to address this problem is to apply filtration algorithms. The most common filtration techniques for the filtering the noise out of sensor data are an Extended Kalman filter (EKF) [1], an Uscented Kalman filter (UKF) [2], an Inderict Kalman filter (IKF) [3], a Particle filter (PF) [4] and an interacting multiple filter [9]. On the other hand, these filters are difficult to implement. Only few papers are focused on using simple filters. Zhuang et al. [5] provided a comparison of simple moving average (SMA) and weight moving average (WMA). Elnahrawy and Nath [6] suggested a Bayesian approach combining prior knowledge of the true sensor readings, the noise characteristics of the sensor and the observed noisy readings.

This presented research paper discusses a construction of a low-cost localization system using only inertial sensors and three different simple filters, namely simple moving average, exponential moving average and simple Kalman filter. After the application of the filters, the performance was evaluated. This evaluation allows us to assess which filtration technique is appropriate for indoor localization systems.

The remainder of this paper is organized as follows. In Section II is briefly introduced the hardware and the software used in the experiments. The filtration techniques are described in Section III. Finally, the experimental results are given in Section IV.

2. Equipment

This section provides an overview of the measurement chain. This chain includes control unit, inertial measurement unit (IMU) and software for data collection.

2.1. Control unit

The control unit STEVAL-MKI109V2, also known as "eMotion", is primarily designed to provide platform for the evaluation of STMicroelectronics' MEMS modules. This board consists of DIL24 socket to connect MEMS modules, other passive parts like LED diodes for signalization of its own inner states and "jumpers" to set the specific configuration, etc.

The board is controlled by the STM32F103RET6 high-performance 32-bit microcontroller based on ARM technology with 512 kB Flash memory functioning as bridge between the MEMS modules and a PC with graphical user interface (GUI) or dedicated software routines for customized applications.

The board also includes:

* 16 MHz crystal oscillator

* Low noise voltage regulator lds3985xx30

* Low-capacity surge protector of USB interface

* Separating and impedance operational amplifiers for the signal adjustment of the MEMS modules

2.2. Inertial measurement unit

The STEVAL-MKI124V1 is a 10-axis module with IMU including three-axis gyroscope with intern thermometer (L3GD20), 3D accelerometer and 3D magnetometer (LSM303DLHC), and barometer (LPS331AP). All of these sensors are based on MEMS technology and factory tested and trimmed, so no additional calibration is necessary.

Several different configurations allow for settings regarding specific usage. Sensor specifications are given in Table 2. and [7].

2.3. Software for data collection

The last part of the measurement chain is software Unico STSW-MKI109W. This software is used for interaction with sensors and provides:

* GUI for data collection and transfer

* subsystems for the storage and interpretation of the collected data in graphical or numerical format

* configuration of all the registers and the advanced features

* drivers for the data interpretation from the corresponding sensor

* drivers for the communication interface of the host computer

3. Filtration techniques

3.1. Simple Moving Average (SMA)

The simple moving average calculates the average value from a constant number of values (window) that moves with time. So the old readings are deleted and then replaced with new readings. The smoothness is controlled by window size.

a[X.sub.fli] = a[X.sub.i] + a[X.sub.i-1] + a[X.sub.i-2] + ... + a[X.sub.i-(n -1)]/n (1)

The main disadvantage is that this method requires sufficient historical data and it is also less sensitive to changes when the parameter of window size n increases.

3.2. Exponential Moving Average (EMA)

The exponential moving average is a type of low-pass filter which belongs to the group of infinite impulse response (IIR) filter. The output of the filter is a weighted sum of the new measured sensor value and the old filtered output. The filter applies smoothing factor a which represents the degree of weighting decrease. The smoothing factor is subjectively chosen in range from 0 to 1.

a[X.sub.filt] = (1 - [alpha]) x a[X.sub.filt-old] + [alpha] x a[X.sub.raw] (2)

The larger smoothing factor gives less smoothing and vice versa.

3.3. Simple kalman filter

Kalman filter (KF) [8] is a modern and complex technique widely used in the inertial navigation systems to estimate the bias and drift.

[P.sub.i] = [P.sub.i-1] + [Q.sub.i] (3)

The equation (3) represents the prediction of the Kalman filter where [P.sub.i] is a state covariance, [P.sub.i-1] is the estimated covariance and [Q.sub.i] is process noise covariance.

The state estimate [x.sub.i] is calculated as:

[x.sub.i] = [x.sub.i-1] + K x (a[X.sub.raw] - [x.sub.i-1]) (4)

where K is the Kalman gain expressed as:

K = [P.sub.i]/[P.sub.i] + R (5)

where R is the measurement noise.

The state covariance is adjusted during the process by this equation:

[P.sub.i+1] = (1 - K) x [P.sub.i] (6)

4. Experimental results

The experiment is divided up into three parts. The first part covers the compare of measured data and simple moving average method. The exponential moving average method is used in the second part of the experiment. And the third part includes the simple Kalman filter.

Fig. 2 shows the raw accelerometer data which were measured in a train between two rail stations. The data are very noisy because of the vibrations.

4.1. Simple moving average

The simple moving average method was used in the first set of results. First, we set the window size to 10, which means we average 10 samples each time. As we can see in Fig. 3 (a), this method filtered data quite well; even though, this method is not appropriate for indoor localization due to the lag between measured data and filtered data. This problem can be solved by decreasing the window size n; however, this causes that the data are not filtered as much as we need (Fig. 3 (b)).

4.2. Exponential moving average

In the second set of results, we used exponential moving average method. This method eliminates the lag between the signals; nevertheless, the smoothing factor is still set subjectively. So this leads to the same problem for proper setting of the smoothing factor as in SMA method.

If the smoothing factor is set higher than the 0.5 (Fig. (a)), then there is almost no filtration. We can apply more filtering by lowering the smoothing factor (b)); at the same time, it takes more time to reach the steady area.

4.3. Simple kalman filter

The Kalman filter solves the problem with setting the smoothing factor. This factor is called Kalman gain and it is recalculated during the process until it gets the optimal value.

The initial value of state covariance is not very important since it is adjusted during the process. However, the values for the process noise and sensor noise are essential to get cleaner output signal. The lower is the value of the process noise, the cleaner the output signal is and also the signal starts to lag behind the measured data. The value of the sensor noise works in the opposite way.

For the localization systems, more smooth output signal is needed. So, the process noise value is set to 0.05 and the value of sensor noise is set to 20.

5. Conclusion

In this paper, we presented and assessed the localization system using three different filtration techniques to minimize the impact of errors in the accelerometer data. The performance of the algorithms was evaluated on the same set of data. The experimental results showed that the proposed filtration techniques have their advantages and disadvantages. Although, the Kalman filter is the most suitable technique because it has a wider range of calibration for

the data filtration.

In the future work, the calibration algorithms for the inertial sensors will be applied to gain further improvements.

DOI: 10.2507/26th.daaam.proceedings.158

6. Acknowledgements

This work was supported by Internal Grant Agency of Tomas Bata University in Zlin under the project No. IGA/FAI/2015/012.

I would like to thank my colleague Tomas Urbanek for motivation and assistance with the research.

7. References

[1] J Brown, Robert and Hwang, Patrick, Introduction to Random Signals and Applied Kalman Filtering, Third Ed., John Wiley and Sons, 1997.

[2] R. Ashkar, M. Romanovas, V. Goridko, M. Schwaab, M. Traechtler, and Y. Manoli, "A low-cost shoe-mounted inertial navigation system with magnetic disturbance compensation," in 2013 International Conference on Indoor Positioning and Indoor Navigation, IPIN 2013, 2013.

[3] S. Lamy-Perbal, M. Boukallel, and N. Castaneda, "An improved pedestrian inertial navigation system for indoor environments," in IEEE International Conference on Intelligent Robots and Systems, 2011, pp. 2505-2510.

[4] G. Glanzer, T. Bernoulli, T. Wiessflecker, and U. Walder, "Semi-autonomous indoor positioning using MEMS-based inertial measurement units and building information," 2009 6th Work. Positioning, Navig. Commun., 2009.

[5] Yongzhen Zhuang; Lei Chen; Wang, X.S.; Jie Lian, "A Weighted Moving Average -based Approach for Cleaning Sensor Data," in Distributed Computing Systems, 2007. ICDCS '07. 27th International Conference on, vol., no., pp. 38-38, 25-27 June 2007.

[6] E. Elnahrawy and B. Nath. Cleaning and querying noisy sensors. In Proc. of MSWiM'03, pages 78-87, 2003

[7] Datasheet STEVAL-MKI124V1, technical/document/data_brief/DM00052740.pdf, 2013.

[8] Xia Zhang; Chunpeng Kang, "Study on Kalman filtering for noise filtration in INS," in System Simulation and Scientific Computing, 2008. ICSC 2008. Asia Simulation Conference - 7th International Conference on , vol., no., pp.827-830, 10-12 Oct. 2008.

[9] Seong Cho, "IM-filter for INS/GPS-integrated navigation system containing low-cost gyros," in Aerospace and Electronic Systems, IEEE Transactions on Aerospace and Electronic Systems, vol.50, no.4, pp.2619-2629, October 2014.

Ales Kuncar

Tomas Bata University in Zlin, Faculty of Applied Informatics, Nad Stranemi

4511, Zlin 760 05, Czech Republic

Caption: Fig. 1 Inertial measurement unit STEVAL-MKI124V1

Caption: Fig. 2. Measured data with noise

Caption: Fig. 3. (a) Simple moving average method with window size n set to 50 and (b) window size n set to 25

Caption: Fig. 4. (a) Exponential moving average method with smoothing factor a set to 0.8 and (b) smoothing factor a set to 0.2

Caption: Fig. 5. Results of Kalman filter
Table 1. Noise impact on position error

Sensor error               Position error
                 1 s      10 s     60 s     1 hr

0.025          0.13 mm   12 mm    0.44 m   1.6 km
0.3            1.5 mm    150 mm   5.3 m     19 km
3               15 mm    1.5 m     53 m    190 km
125            620 mm     60 m    2.2 km   7900 km

Table 2. Sensor characteristics


Full scale             [+ or -] 2g - [+ or -] 16g
Sensitivity            1 - 12 mg/LSB
Min. zero level        [+ or -] 60 mg
Zero level vs. temp    [+ or -] 0.5 mg/[degrees]C

Noise density          220 [micro]g/[square root]Hz
Cross-axis Linearity


Full scale             250 - 2000 dps
Sensitivity            8.75 - 70 mdps/LSB
Min. zero level        [+ or -] 10 - [+ or -] 75 dps
Zero level vs. temp    [+ or -] 0.03 - [+ or -] 0.04
Noise density          0.03 dps/[square root]Hz
Cross-axis Linearity   0.2 % FS


Full scale             [+ or -] 1.3 - [+ or -] 8.1 gauss
Sensitivity            230 - 1100 LSB/gauss
Min. zero level
Zero level vs. temp

Noise density
Cross-axis Linearity   [+ or -] 1 %FS/gauss


Full scale             260 - 1260 mbar
Sensitivity            4096 LSB/mbar
Min. zero level
Zero level vs. temp

Noise density
Cross-axis Linearity
COPYRIGHT 2015 DAAAM International Vienna
No portion of this article can be reproduced without the express written permission from the copyright holder.
Copyright 2015 Gale, Cengage Learning. All rights reserved.

Article Details
Printer friendly Cite/link Email Feedback
Author:Kuncar, Ales
Publication:Annals of DAAAM & Proceedings
Article Type:Technical report
Date:Jan 1, 2015
Previous Article:Knowledge in healthcare.
Next Article:Locomotion control method for patients verticalization with regard to their safety and comfort.

Terms of use | Privacy policy | Copyright © 2020 Farlex, Inc. | Feedback | For webmasters