Basic techniques for filtering noise out of accelerometer data.
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) , an Uscented Kalman filter (UKF) , an Inderict Kalman filter (IKF) , a Particle filter (PF)  and an interacting multiple filter . On the other hand, these filters are difficult to implement. Only few papers are focused on using simple filters. Zhuang et al.  provided a comparison of simple moving average (SMA) and weight moving average (WMA). Elnahrawy and Nath  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.
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 .
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)  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.
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.
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.
 J Brown, Robert and Hwang, Patrick, Introduction to Random Signals and Applied Kalman Filtering, Third Ed., John Wiley and Sons, 1997.
 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.
 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.
 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.
 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.
 E. Elnahrawy and B. Nath. Cleaning and querying noisy sensors. In Proc. of MSWiM'03, pages 78-87, 2003
 Datasheet STEVAL-MKI124V1, http://www.st.com/web/en/resource/ technical/document/data_brief/DM00052740.pdf, 2013.
 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.
 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.
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 [mg] 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 Accelerometer 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 Gyroscope 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 dps/[degrees]C Noise density 0.03 dps/[square root]Hz Cross-axis Linearity 0.2 % FS Magnetometer 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 Barometer Full scale 260 - 1260 mbar Sensitivity 4096 LSB/mbar Min. zero level Zero level vs. temp Noise density Cross-axis Linearity
|Printer friendly Cite/link Email Feedback|
|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.|