| Literature DB >> 29642412 |
Jiaying Du1,2, Christer Gerdtman3, Maria Lindén4.
Abstract
Motion sensors such as MEMS gyroscopes and accelerometers are characterized by a small size, light weight, high sensitivity, and low cost. They are used in an increasing number of applications. However, they are easily influenced by environmental effects such as temperature change, shock, and vibration. Thus, signal processing is essential for minimizing errors and improving signal quality and system stability. The aim of this work is to investigate and present a systematic review of different signal error reduction algorithms that are used for MEMS gyroscope-based motion analysis systems for human motion analysis or have the potential to be used in this area. A systematic search was performed with the search engines/databases of the ACM Digital Library, IEEE Xplore, PubMed, and Scopus. Sixteen papers that focus on MEMS gyroscope-related signal processing and were published in journals or conference proceedings in the past 10 years were found and fully reviewed. Seventeen algorithms were categorized into four main groups: Kalman-filter-based algorithms, adaptive-based algorithms, simple filter algorithms, and compensation-based algorithms. The algorithms were analyzed and presented along with their characteristics such as advantages, disadvantages, and time limitations. A user guide to the most suitable signal processing algorithms within this area is presented.Entities:
Keywords: MEMS gyroscope; drift; motion analysis; motion sensors; noise/error reduction; signal processing algorithms; systematic review
Mesh:
Year: 2018 PMID: 29642412 PMCID: PMC5948938 DOI: 10.3390/s18041123
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.576
Figure 1Research method: Flow diagram of the search and review procedure.
Figure 2Proportions of the four types of algorithms in the reviewed results. (Kalman-filter-based algorithms 27.6%; Adaptive-based algorithms 44.8%; Simple filter algorithms 13.8%; Compensation-based algorithms 13.8%).
Figure 3Estimation process of the discrete Kalman filter.
Figure 4Structure of the Kalman filter algorithm for drift/offset estimation.
Figure 5Structure of the Kalman-filter-based position estimation algorithm.
Figure 6Structure of the LMS adaptive filter.
Figure 7Indirect adaptive sliding mode control for an MEMS gyroscope. (W is the indirect sliding mode controller with an adaptive law).
Figure 8Main structure of the adaptive bandpass filter.
Figure 9Main structure of the sensor fusion approach using accelerometer and magnetometer data.
Figure 10Structure of the DOC.
Figure 11Structure of the enhanced DOC.
Figure 12Structure of the compensation method with temperature.
Reviewed algorithms with references.
| Algorithm Group | Algorithms | Characteristics/Functions with References | Number of Papers | Supplements/Requirements | Applications | |||
|---|---|---|---|---|---|---|---|---|
| Limited Calculation Time | Real Time/on- or off-Line | Working Environment | Need for Combination | |||||
| Kalman-filter-based algorithm | Kalman filter (KF) | Noise reduction; signal prediction and estimation: human tremor estimation and modeling [ | 3 | - 1 | Real-time estimation of tremor parameters | MATLAB | Together with the WFLC algorithm to estimate the instantaneous tremor frequency; together with a compensation method to compensate for the drift | Tremor motion extraction from voluntary movement (hand motion/wrist rotation) estimation with MEMS gyroscope; |
| Discrete KF in an optimal way | Optimal estimation of the bias drift and noise from MEMS gyroscopes signals [ | 1 | Simplification of KF implementation | Real-time processing | Digital signal processor (DSP) | Without needing other sensor’s information | MEMS gyroscope (not human motion in the article, but with potential to be used in human motion analysis) | |
| Simplified basic Kalman filter | Noise reduction [ | 3 | Within limited calculation time | Real time | MATLAB and DSPs | Can be used alone | Gyroscopic head-borne computer mouse | |
| KF based position estimation algorithm | Yaw correction during position estimation [ | 1 | - 1 | Real time | MATLAB | Need additional accelerometer and magnetometer/compass data | Hand motion and hand position estimation | |
| Adaptive-based algorithm | Least Mean Square (LMS) | Noise reduction [ | 2 | Within limited calculation | Real time | MATLAB and DSPs | Can be used alone | Gyroscopic head-borne computer mouse |
| Adaptive slide mode controller | Fabrication imperfection compensation, external disturbances reduction [ | 1 | - 1 | Real time | MATLAB/Simulink | Need a reference model (ideal oscillator) | Oscillatory motion by MEMS z-axis vibrating gyroscope system (with potential to be used in human motion analysis) | |
| Adaptive bandpass filter | Typical noise/pathological tremor reduction [ | 1 | Simple and easy to implement | Real time | MATLAB Simulink | Both gyroscope and accelerometer | Volitional hand movement | |
| WFLC | Noise reduction [ | 4 | Within limited calculation time | Real time | MATLAB and DSPs | Can be used alone | Gyroscopic head-borne computer mouse | |
| BMFLC | Human tremor frequency tracking [ | 2 | - 1 | Real time | MATLAB | Can be used alone | Tremor motion extraction from voluntary movement (hand motion/wrist rotation) estimation with MEMS gyroscope | |
| Sensor fusion | Integration drift error reduction and error propagation reduction during orientation/position estimation [ | 3 | Developed with shorter computation time (than rotation matrix) | Real time [ | MATLAB; Mobile phone API, IoT | Need to exploit accelerometer and magnetometer aiding sensors, and need reference data | 3D human movement analysis; rehabilitation application, monitoring dynamic changes of movement for clinical prognosis | |
| Simple filter algorithm | Low-pass filter | Noise reduction [ | 1 | Within limited calculation time | Real time | MATLAB and DSPs | Can be used alone | Gyroscopic head-borne computer mouse |
| High-pass filter | Drift/offset reduction [ | 2 | Within limited calculation time | Real time | MATLAB and DSPs | Can be used alone | Gyroscopic head-borne computer mouse | |
| TWD | Noise reduction around zero within the threshold [ | 1 | Within limited calculation time | Real time | MATLAB and DSPs | Followed with other algorithms to obtain better results | Gyroscopic head-borne computer mouse | |
| Compensation-based algorithm | Drift and offset compensator (DOC) | Drift/offset compensation [ | 1 | Low computational demands | Real time | DSPs and FPGAs | Based on encoder measurement. Combination of encoder and even MEMS accelerometer | Demanding robotic and mechatronic systems; parallel or serial kinematic machines such as industrial manipulators (with the potential to be used in human motion analysis) |
| Compensation method with temperature | Noise reduction and drift compensation (including bias due to temperature) [ | 1 | - 1 | Real time | Android | Combination of Median filter, Kalman filter | Drift compensation for MEMS gyroscope in mobile devices that are in motion, static, or with temperature variance. | |
| Compensation method with accelerometer and magnetometer | Noise reduction and angle estimation [ | 1 | Required less computation | Real time | Microprocessor | Need to combine with MEMS accelerometer and magnetometer data | Capture real time body movement with a mini wearable wireless sensor system for rehabilitation | |
| IMU calibration method | Absolute error reduction; calibration parameter estimation [ | 1 | Robust and easy to implement | Real time | MATLAB | An IMU consists of a tri-axial MEMS gyroscope, an accelerometer and often a magnetometer. Does not require other external equipment | Low-cost IMU sensors equipped on smartphones and similar devices for motion analysis of robotics. It is possible to use it for human motion analysis | |
1 ‘-’ indicates that no information could be found in the original paper.
Summary of error reduction algorithms in groups with corresponding functions, advantages, and disadvantages.
| Main/Common Functions | Advantages | Disadvantages | Number of Studies | |
|---|---|---|---|---|
| Kalman-filter-based algorithm | Noise reduction including tremors Signal prediction and estimation Offset/drift error estimation Yaw correction | One of the most common signal processing algorithms for the MEMS gyroscope Can be implemented in real time Can be simplified for limited calculation capacity | Sometimes requires information from another sensor, e.g., MEMS accelerometer or magnetometer or must work together with other algorithms for specific applications, e.g., with WFLC for tremor motion extraction | 8 |
| Adaptive-based algorithm | Noise reduction Tremor modeling and estimation Tremor modeling and estimation Drift compensation | The most common signal processing algorithm for the MEMS gyroscope Can be implemented in real time Can be simplified for limited calculation capacity | Some algorithms (e.g., sensor fusion) must be combined with other sensors, e.g., accelerometer or magnetometer Or require a reference model | 13 |
| Simple filter algorithm | Noise reduction Or offset/drift reduction, integration drift reduction | Simple to implement Can be implemented in real time | Usually for a single simple function Need to be combined with other algorithms for a better result Some algorithms need to be combined with other sensors, e.g., MEMS accelerometer Common in practical applications but not in research publications | 4 |
| Compensation-based algorithm | Offset/drift compensation Noise reduction Angle estimation | Can be implemented in real time Can demand low computation | Usually combined with other hardware, e.g., encoder, accelerometer, or magnetometer Combined with other algorithms, e.g., median filter, Kalman filter The accuracy of the calibration method strongly depends on the reliability of the classification between static and motion intervals | 4 |