| Literature DB >> 36236349 |
Zimin Huo1,2, Fuchao Wang3, Honghai Shen3, Xin Sun1,2, Jingzhong Zhang4, Yaobin Li1,2, Hairong Chu1.
Abstract
Errors in microelectromechanical systems (MEMS) inertial measurement units (IMUs) are large, complex, nonlinear, and time varying. The traditional noise reduction and compensation methods based on traditional models are not applicable. This paper proposes a noise reduction method based on multi-layer combined deep learning for the MEMS gyroscope in the static base state. In this method, the combined model of MEMS gyroscope is constructed by Convolutional Denoising Auto-Encoder (Conv-DAE) and Multi-layer Temporal Convolutional Neural with the Attention Mechanism (MultiTCN-Attention) model. Based on the robust data processing capability of deep learning, the noise features are obtained from the past gyroscope data, and the parameter optimization of the Kalman filter (KF) by the Particle Swarm Optimization algorithm (PSO) significantly improves the filtering and noise reduction accuracy. The experimental results show that, compared with the original data, the noise standard deviation of the filtering effect of the combined model proposed in this paper decreases by 77.81% and 76.44% on the x and y axes, respectively; compared with the existing MEMS gyroscope noise compensation method based on the Autoregressive Moving Average with Kalman filter (ARMA-KF) model, the noise standard deviation of the filtering effect of the combined model proposed in this paper decreases by 44.00% and 46.66% on the x and y axes, respectively, reducing the noise impact by nearly three times.Entities:
Keywords: Kalman filter; MEMS gyroscope; Particle Swarm Optimization algorithm; attention mechanism; convolutional denoising autoencoder; temporal convolutional network
Year: 2022 PMID: 36236349 PMCID: PMC9573235 DOI: 10.3390/s22197249
Source DB: PubMed Journal: Sensors (Basel) ISSN: 1424-8220 Impact factor: 3.847
Figure 1The overall structure of a denoising autoencoder.
Figure 2The detailed structure of the denoising autoencoder used in the experiment.
Details of Conv-DAE model.
| Layer | Kernel Number | Kernel Size | Stride | Activation Function | Output Size | Padding |
|---|---|---|---|---|---|---|
| Conv1D | 8 | 5 | 1 | Relu | 20 × 8 | Same |
| MaxPooling | — | 2 | — | — | 10 × 8 | — |
| Conv1D | 16 | 5 | 1 | Relu | 10 × 16 | Same |
| MaxPooling | — | 2 | — | — | 5 × 16 | — |
| Conv1D_Trans | 16 | 5 | 1 | Relu | 5 × 16 | Same |
| UpSampling1D | — | 2 | — | — | 10 × 16 | — |
| Conv1D_Trans | 8 | 5 | 1 | Relu | 10 × 8 | Same |
| UpSampling1D | — | 2 | — | — | 20 × 8 | — |
| Conv1D_Trans | 1 | 5 | 1 | — | 20 × 1 | Same |
Figure 3Basic structure of temporal convolutional networks.
Figure 4Attention mechanism structure diagram.
Figure 5Multi-layer deep learning network combination model structure diagram.
Figure 6Particle swarm optimization algorithm: (a) the basic principle diagram of PSO; (b) basic flow chart of PSO.
Figure 7Structure of Kalman filter based on particle swarm optimization.
Figure 8Equipment testing device. (a) STIM300 IMU; (b) static IMU data collection system; (c) data acquisition procedure.
Equipment specifications of STIM300 gyroscope.
| Parameter | Normal | |
|---|---|---|
| Gyro | Input Range |
|
| Bandwidth (−3 dB) |
| |
| Bias Instability (Allan Variance @25 °C) |
| |
| Angular Random Walk (Allan Variance @25 °C) |
| |
| General | Sample Rate |
|
| Power Supply |
| |
| Operating Temperature |
| |
| RS422 Transmission Bit Rate |
|
Figure 9Raw gyroscope data under static conditions. (a) X-axis raw signal; (b) Y-axis raw signal.
Details of Normal-DAE.
| Layer | Units | Activation Function | Output Size |
|---|---|---|---|
| Dense | 128 | Relu | 20 × 128 |
| Dense | 64 | Relu | 20 × 64 |
| Dense | 32 | Relu | 20 × 32 |
| Dense | 64 | Relu | 20 × 64 |
| Dense | 128 | Relu | 20 × 128 |
| Dense | 1 | Tanh | 20 × 1 |
Comparison of denoising autoencoder results.
| Axis | Method | Noise Variance (×10−4(°/s)2) | Noise Standard Deviation (×10−2°/s) | Percentage |
|---|---|---|---|---|
| Raw | 76.029 | 8.7194 | — | |
| Normal-DAE | 44.608 | 6.6789 | 76.59% | |
|
|
|
|
| |
| Raw | 61.028 | 7.8120 | — | |
| Normal-DAE | 31.007 | 5.5684 | 71.28% | |
|
|
|
|
|
Figure 10Denoising autoencoder training results: (a) DAE training loss; (b) X-axis raw DAE results; (c) Y-axis raw DAE results.
Basic settings for network training.
| The output dimension of dense layer | 1 |
| Activation function of dense layer | Tanh |
| Batch size | 512 |
| Training epoch | 100 |
| TCN Kernel Size | 4 |
| TCN No. Blocks | 1 |
| TCN Padding | Causal |
MultiTCN architectures depending on the input data step (number of hidden layers = 4).
| Input Data Step | MultiTCN Model Architecture | Noise Standard Deviation | Time/Epoch | |
|---|---|---|---|---|
| Kernel Number | Dilations | |||
| 5 | 64 | [1,2,4,8,16] | — | — |
| 10 | 64 | [1,2,4,8,16] | 4.7156 | 41 s |
| 15 | 64 | [1,2,4,8,16] | 4.6185 | 65 s |
|
|
|
|
|
|
| 25 | 64 | [1,2,4,8,16] | 4.5910 | 101 s |
| 30 | 64 | [1,2,4,8,16] | 4.7347 | 140 s |
| 40 | 64 | [1,2,4,8,16] | 4.8120 | 176 s |
MultiTCN architectures depending on the Kernel number (number of hidden layers = 4).
| MultiTCN Model Architecture | Input Data Step | Noise Standard Deviation | Time/Epoch | |
|---|---|---|---|---|
| Kernel Number | Dilations | |||
| 16 | [1,2,4,8,16] | 20 | — | — |
| 32 | [1,2,4,8,16] | 20 | 4.8256 | 23 s |
| 64 | [1,2,4,8,16] | 20 | 4.5121 | 80 s |
|
|
|
|
|
|
| 256 | [1,2,4,8,16] | 20 | — | — |
MultiTCN architectures depending on the dilations (number of hidden layers = 4).
| MultiTCN Model Architecture | Input Data Step | Noise Standard Deviation | Time/Epoch | |
|---|---|---|---|---|
| Dilations | Kernel Number | |||
|
|
|
|
|
|
| [1,2,4,8] | 128 | 20 | 4.8256 | 83 s |
| [1,2,4,8,16] | 128 | 20 | 4.4920 | 116 s |
MultiTCN architectures depending on number of hidden layers.
| Number of | MultiTCN Model Architecture | Noise Standard Deviation | Time/Epoch | |
|---|---|---|---|---|
| Kernel Number | Dilations | |||
| 1 | 128 | [1,2,4] | — | — |
| 2 | 128 | [1,2,4] | — | — |
| 3 | 128 | [1,2,4] | 4.6564 | 55 s |
|
|
|
|
|
|
| 5 | 128 | [1,2,4] | 4.6110 | 85 s |
| 6 | 128 | [1,2,4] | 4.7920 | 139 s |
| 7 | 128 | [1,2,4] | — | — |
Details of MultiTCN-Attention model.
| Layer | MultiTCN-Attention Model Architecture | ||||
|---|---|---|---|---|---|
| Kernel Number | Kernel Size | No. Blocks | Dilations | Padding | |
| TCN1 | 128 | 4 | 1 | [1,2,4] | causal |
| TCN2 | 128 | 4 | 1 | [1,2,4] | causal |
| TCN3 | 128 | 4 | 1 | [1,2,4] | causal |
| TCN4 | 128 | 4 | 1 | [1,2,4] | causal |
| Attention | unit = 20 | ||||
| Dense | unit = 1, activation = tanh | ||||
Figure 11MulitTCN-Attention and other neural network training results: (a) training loss; (b) the percentage of attention mechanism; (c) X-axis training results; (d) Y-axis training results.
Comparison of X-axis results between MultiTCN-Attention and other neural networks.
| Axis | Method | Noise Variance | Noise Standard Deviation | Percentage |
|---|---|---|---|---|
| Raw | 76.029 | 8.7194 | — | |
| Conv-DAE | 23.309 | 4.8280 | 55.37% | |
| LSTM | 21.786 | 4.6675 | 53.53% | |
| MultiTCN | 20.014 | 4.4737 | 51.31% | |
|
|
|
|
|
Comparison of Y-axis results between MultiTCN-Attention and other neural networks.
| Axis | Method | Noise Variance | Noise Variance | Percentage |
|---|---|---|---|---|
| Raw | 61.028 | 7.8120 | — | |
| Conv-DAE | 23.124 | 4.8088 | 61.56% | |
| LSTM | 21.362 | 4.6219 | 59.16% | |
| MultiTCN | 16.271 | 4.0337 | 51.63% | |
|
|
|
|
|
Details of ARMA-KF model.
| Method |
| B | H | Q | R |
|---|---|---|---|---|---|
|
|
|
|
|
| |
|
|
|
|
|
|
Figure 12Iterative process of particle swarm optimization algorithm.
Details of PSO-KF model.
| Axis | Method |
| H | Q | R |
|---|---|---|---|---|---|
| Raw-PSO-KF | 0.8687 | 0.9617 | 0.1283 | 0.5465 | |
| MultiTCN-Attention-PSO-KF | 0.8871 | 0.9502 | 0.0343 | 0.7973 | |
| Raw-PSO-KF | 0.8689 | 0.9618 | 0.1284 | 0.5466 | |
| MultiTCN-Attention-PSO-KF | 0.8239 | 0.9217 | 0.0279 | 0.7547 |
Comparison of Kalman filtering results in the X-axis.
| Axis | Method | Noise Variance | Noise Standard Deviation | Percentage |
|---|---|---|---|---|
| Raw | 76.029 | 8.7194 | — | |
| Raw-ARMA-KF | 33.312 | 5.7717 | 66.19% | |
| Raw-PSO-KF | 12.376 | 3.5179 | 40.35% | |
| MultiTCN-Attention | 13.317 | 3.6493 | 41.85% | |
|
|
|
|
|
Comparison of Kalman filtering results in the Y-axis.
| Axis | Method | Noise Variance | Noise Standard Deviation | Percentage |
|---|---|---|---|---|
| Raw | 61.028 | 7.8120 | — | |
| Raw-ARMA-KF | 30.089 | 5.4854 | 70.22% | |
| Raw-PSO-KF | 9.935 | 3.1520 | 40.34% | |
| MultiTCN-Attention | 10.821 | 3.2895 | 42.11% | |
|
|
|
|
|
Figure 13Kalman filtered effect: (a) X-axis raw data filtering results; (b) X-axis combined model filtering results; (c) Y-axis raw data filtering results; (d) Y-axis combined model filtering results.