Noise Reduction for MEMS Gyroscope Signal: A Novel Method Combining ACMP with Adaptive Multiscale SG Filter Based on AMA

In this paper, a novel hybrid method combining adaptive chirp mode pursuit (ACMP) with an adaptive multiscale Savitzky–Golay filter (AMSGF) based on adaptive moving average (AMA) is proposed for offline denoising micro-electromechanical system (MEMS) gyroscope signal. The denoising scheme includes preliminary denoising and further denoising. At the preliminary denoising stage, the original gyroscope signal is decomposed into signal modes one by one using ACMP with modified stopping criterion based on mutual information. Useful information is extracted while most noise is discarded in the residue at this stage. Then, AMSGF is proposed to further denoise the signal modes. Sample variance based on AMA is used to adjust the window size of AMSGF adaptively. Practical MEMS gyroscope signal denoising results under different motion conditions show the superior performance of the proposed method over empirical mode decomposition (EMD)-based denoising, discrete wavelet threshold denoising, and variational mode decomposition (VMD)-based denoising. Moreover, AMSGF is proven to gain a better denoising effect than some other common smoothing methods.


Introduction
The micro-electromechanical system (MEMS) gyroscope, featuring compactness, low cost, and low power consumption, is an important device for measuring the angular velocity of a moving object [1]. However, the accuracy of the MEMS gyroscope quickly degrades over time because of high-level noise emerging from the gyroscope outputs. Therefore, compensating the random drift of the MEMS gyroscope is essential [2].
Most gyroscope signals disobey superposition and scaling properties, and have a time-varying distribution parameter. In other words, gyroscope signals are usually non-stationary and nonlinear. Many methods for decomposing nonlinear and non-stationary signal, including wavelet transforms (WTs) [3][4][5], empirical mode decomposition (EMD) [6][7][8][9], and variational mode decomposition (VMD) [1,10,11], can be used to denoise gyroscope signals. WTs have very good decomposition ability; however, it is difficult to choose appropriate basis functions and decomposition scales according to specific circumstances. EMD as a widely used method in denoising gyroscope signals needs neither auxiliary function and prior knowledge; however, it has undesirable defects, such as noise-sensitive, mode mixing, and false modes. VMD is proven to outperform EMD in noise This reminder of the paper is organized as follows: Section 2 introduces how to extract useful information contained in the original gyroscope signal by ACMP with modified stopping criterion based on mutual information. Then, AMSGF for further denoising the obtained modes is proposed to improve the performance of the SG filter in Section 3. In Section 4, the denoising results of various real gyroscope experiments are illustrated and compared. Moreover, the denoising effect of AMSGF is presented separately to demonstrate its superiority. Execution time and time complexity are also analyzed in this section. The final conclusions are drawn in Section 5.

Review of the ACMP Algorithm
Non-stationary signals can be decomposed into several chirp modes, which are modeled as AM-FM signals. The signal model is expressed as the de-chirped form: with: where a m (t) is the amplitude of the m-th mode, f m (t) is the instantaneous frequency (IF), and ϕ m denotes the initial phase. α m and β m are two de-chirped signals, f m (t) is the frequency function for de-chirping. Based on the idea that the de-chirped signals α m (t) and β m (t) will have the narrowest frequency band when f m (s) equals f m (s), the optimization problem of the m-th signal component can be written as: min with: x m (t) = a m (t) cos(2π where the first two terms in Equation (4) constrain the two de-chirped signals α m (t) and β m (t) to be smooth, the third term represents the energy of the residual signal, τ > 0 is the penalty factor. The ACMP greedily finds the desired mode that can take away the most energy from the input signal. The signal is discretized in time t = t 0 , . . . , t N−1 with N samples. Equation (4) can be translated into discrete form as: where: with: C m = diag[cos(θ m (t 0 )) . . . cos(θ m (t N−1 ))], (8) where θ m (t) = 2π From Equation (6), y m can be updated iteratively using: The de-chirped signals are utilized to calculate the IF increment as: To prevent the IF from being influenced by noise, the IF increment should be smoothed to satisfy the low-pass property. Finally, the IF increment can be updated as: where µ controls the smooth degree of the IF increment. A smaller µ indicates a smoother IF curve.
The IF can be updated as: θ m (t), C m ,S m , K m can be updated with obtained f n+1 m , which are used to compute y n+1 m by Equation (10). The target signal mode is recovered as: The ACMP algorithm can be summarized as follows in Algorithm 1: The initial instantaneous frequencies can be estimated by detecting the ridge curves of a time-frequency distribution generated by short-time Fourier transform. Useful modes x n m can be extracted one by one from the gyroscope signal. To make sure all useful information is extracted out of gyroscope's output, we changed the stopping criterion in outer loop (line 3 in Algorithm 1).

Stopping Criterion
The original stopping criterion in the ACMP algorithm was based on the idea that the decomposition should stop when the ratio of the residue to the original signal is lower than ε. However, the criterion fails in some circumstances. An unsuccessful example is shown in Figure 1. The ratio of the residue to original signal was still up to 0.1527 when the present ACMP result already contained all the useful information of the raw signal. The original stopping criterion was unable to stop the ACMP decomposition duly according to the original stopping criterion, which led to over-decomposition. To avoid this situation, we replaced the original stopping criterion with mutual information. Mutual information measures the mutual dependence between two variables, which is good at identifying correlation degree. Formally, the mutual information of two discrete random variables X and Y can be defined as: where H(Y) is the entropy of variable Y, H(Y X) is the conditional entropy of variable Y when X is known. The weaker the correlation between X and Y, the larger H(Y X) is. Therefore, MI(X, Y) is small when the correlation between X and Y is weak. Whether or not the residue contains any important information of original gyroscope signal should become the stopping criterion for ACMP decomposition. We preprocessed the original gyroscope signal using AMSGF, proposed in Section 3.
The preprocessing result is denoted as x I . x I contains much less noise than the original signal does. Assuming we have already obtained k signal modes x i {i = 1, . . . , k}, the residue is expressed as:

Stopping Criterion
The original stopping criterion in the ACMP algorithm was based on the idea that the decomposition should stop when the ratio of the residue to the original signal is lower than . However, the criterion fails in some circumstances. An unsuccessful example is shown in Figure 1. The ratio of the residue to original signal was still up to 0.1527 when the present ACMP result already contained all the useful information of the raw signal. The original stopping criterion was unable to stop the ACMP decomposition duly according to the original stopping criterion, which led to overdecomposition. To avoid this situation, we replaced the original stopping criterion with mutual information. Mutual information measures the mutual dependence between two variables, which is good at identifying correlation degree. Formally, the mutual information of two discrete random variables X and Y can be defined as: H Y X is the conditional entropy of variable Y when X is known. The weaker the correlation between X and Y, the larger ( | ) H Y X is. Therefore, ( , ) MI X Y is small when the correlation between X and Y is weak. Whether or not the residue contains any important information of original gyroscope signal should become the stopping criterion for ACMP decomposition. We preprocessed the original gyroscope signal using AMSGF, proposed in Section 3. The preprocessing result is denoted as I x . I x contains much less noise than the original signal does.
Assuming we have already obtained k signal modes { } 1,..., , the residue is expressed as: The mutual information between the residue Ik r and I x is ( , ) MI r x is 0.0058 in Figure 1, which is lower than decomposition stopping threshold 0.02. By using the proposed stopping criterion, the ACMP decomposition can stop in timely manner.

Further Denoising Using AMSGF
The bandwidth parameter τ in the ACMP algorithm influences the denoising effect. A larger τ makes the modes noisier. However, it helps the algorithm decompose the signal into correct modes The mutual information between the residue r Ik and x I is MI(r Ik , x I ). We set 0.02 as the decomposition stopping threshold. When MI(r Ik , x I ) is lower than 0.02, we believe the residue rarely contains any useful information of original gyroscope signal. After ACMP, most of the noise is discarded as residue. MI(r Ik , x I ) is 0.0058 in Figure 1, which is lower than decomposition stopping threshold 0.02. By using the proposed stopping criterion, the ACMP decomposition can stop in timely manner.

Further Denoising Using AMSGF
The bandwidth parameter τ in the ACMP algorithm influences the denoising effect. A larger τ makes the modes noisier. However, it helps the algorithm decompose the signal into correct modes even if the initial IFs are far from the true IFs. There may be large estimation errors in the initial IFs, especially when the gyroscope signal is complicated. Therefore, a larger τ is preferable (1e −3 for all the experiments in this paper), which leads to inevitable noise. The denoising effect is not satisfactory enough, even though the ACMP result has much less noise than the original gyroscope signal, as shown in Figure 1. To reduce the noise contained in the ACMP results, the SG filter was introduced as our further denoising method.

Brief Review of the SG Filter
The SG filter is a classic data smoothing method based on local least-squares polynomial approximation. The signal at sample x is smoothed as follows: the K-order polynomial function is fitted into the signal in the range of [x − W, x + W], where W is the predefined window size, and x re-indexed as 0 is the center of the group of 2 W + 1 input samples: The mean-squared approximation error is minimized to obtain the coefficients of the polynomial as: where f (x) is the signal value at sample x.
The denoising result of the SG filter depends on the predefined polynomial degree K and window size 2 W + 1. The choice of the window size has to be particularly considered to avoid distortion of the signal. A non-stationary signal always entails both sharply changing regions and flat regions. A small window size should be applied to the former to ensure less distortion, while a large window size ensures less noise in flat regions. In that case, a fixed window size is unable to balance a smaller bias error with less noise. Based on the idea that the window size should be able to change adaptively in different kinds of regions, AMA was used to adjust the window size.

Sample Variance Based on AMA
The AMA technique is used to detect discontinuities in signal. It adjusts the window size of the moving average according to the rate of change of the signal [30].
AMA is expressed as follows: where The moving average process is repeated iteratively for p times, with Y t replacing X t in Equation (19) to get the final moving average result. The sample variance is finally obtained by: High sample variance means dramatically changing position in signal. For example, the gyroscope signal changes sharply at sample 1461, 2133, 3815, 4956, 6476, and 7431, as shown in Figure 2a, and the sample variance is high at the same position accordingly, as shown in Figure 2b. The moving average process is repeated iteratively for p times, with replacing in Equation (19) to get the final moving average result. The sample variance is finally obtained by: High sample variance means dramatically changing position in signal. For example, the gyroscope signal changes sharply at sample 1461, 2133, 3815, 4956, 6476, and 7431, as shown in Figure  2a, and the sample variance is high at the same position accordingly, as shown in Figure 2b.

AMSGF Based on AMA
High sample variance indicates the existence of a dramatic change in signal, while low sample variance relates to smoothness. Therefore, sample variance can help find the transition of the signal and adjust the window size of the SG filter for each sample adaptively. Large window size should be selected for high sample variance regions to get a better denoising effect and small window size for low sample variance regions to avoid signal distortion. If sample variance 2 t t h σ λ > , we assumed there was sudden change and decreased the window size correspondingly, where is the sample variance threshold to detect transition in gyroscope signal. We denoted samples with sample variance higher than as , samples with sample variance lower than th λ as l x . The proposed AMSGF can be depicted as: Step 1: Choosing max W , min W , th λ , M as the initial value. max 2 1 W + is the maximal window size; min 2 1 W + is the minimal window size. M is the order of polynomial function in Equation (17); Step 2: Calculating the sample variance ( ) (19) to Step 3: Adjusting the window size of SG filter at each sample according to using: where L W is the left half window size of the SG filter at sample i x ; R W is the right half window size of SG filter at sample i x .

AMSGF Based on AMA
High sample variance indicates the existence of a dramatic change in signal, while low sample variance relates to smoothness. Therefore, sample variance can help find the transition of the signal and adjust the window size of the SG filter for each sample adaptively. Large window size should be selected for high sample variance regions to get a better denoising effect and small window size for low sample variance regions to avoid signal distortion. If sample varianceσ 2 t > λ th , we assumed there was sudden change and decreased the window size correspondingly, where λ th is the sample variance threshold to detect transition in gyroscope signal. We denoted samples with sample variance higher than λ th as x h , samples with sample variance lower than λ th as x l . The proposed AMSGF can be depicted as: Step 1: Choosing W max , W min , λ th , M as the initial value. 2W max + 1 is the maximal window size; 2W min + 1 is the minimal window size. M is the order of polynomial function in Equation (17); Step 2: Calculating the sample variance V(x i ) of each sample x i from Equations (19)-(25); Step 3: Adjusting the window size of SG filter at each sample x i according to V(x i ) using: where W L is the left half window size of the SG filter at sample x i ; W R is the right half window size of SG filter at sample x i . W L + W R + 1 the total window size at sample x i ; Step 4: Calculate the smoothed result at x i using Equations (17) and (18). The K-order polynomial function is fitted into the signal in the range of [ As Equations (26) and (27) show, samples considered to be at smooth regions were processed with a large window size so that noise could be eliminated to the greatest extent. Meanwhile, samples considered to be at dramatically changing regions were processed with a small window size to prevent signal distortion. The window size was adjusted between 2W min + 1 and 2W max + 1 adaptively according to the value of sample variance.
We compared AMSGF with a fixed window size SG filter to test its improvement. The denoising results of different methods are shown in Figure 3a. As we can see from Figure 3b that there are obvious differences in the transition of the signal around 1.19 × 10 4 and 1.28 × 10 4 . The fixed window size SG filter produced serious distortion in dramatically changing regions when obtaining the same denoising effect as AMSGF, while AMSGF resulted in small distortion without the compromising good denoising effect. The window size selection results based on sample variance for AMSGF are shown in Figure 3c. The window size declined sharply near the transition of signal. In conclusion, compared to the fixed window size SG filter, AMSGF can get both good noise-reduction effect and signal preservation effect. Step 4: Calculate the smoothed result at using Equation (17) and Equation (18). The K-order polynomial function is fitted into the signal in the range of [ ( ), As Equation (26) and Equation (27) show, samples considered to be at smooth regions were processed with a large window size so that noise could be eliminated to the greatest extent. Meanwhile, samples considered to be at dramatically changing regions were processed with a small window size to prevent signal distortion. The window size was adjusted between min 2 1 W + and max 2 1 W + adaptively according to the value of sample variance.
We compared AMSGF with a fixed window size SG filter to test its improvement. The denoising results of different methods are shown in Figure 3a. As we can see from Figure 3b that there are obvious differences in the transition of the signal around . The fixed window size SG filter produced serious distortion in dramatically changing regions when obtaining the same denoising effect as AMSGF, while AMSGF resulted in small distortion without the compromising good denoising effect. The window size selection results based on sample variance for AMSGF are shown in Figure 3c. The window size declined sharply near the transition of signal. In conclusion, compared to the fixed window size SG filter, AMSGF can get both good noise-reduction effect and signal preservation effect.    A flow chart for the proposed algorithm is summarized as depicted in Figure 4. First, the original gyroscope signal is processed with ACMP to obtain modes that mainly contain useful information. As the signal is decomposed into modes one by one, the mutual information is calculated to decide whether or not the decomposition should stop. After ACMP, most noise is discarded in the residue. However, there is still more or less unexpected noise remaining in the modes. Then, each mode is denoised further using AMSGF. The window size is chosen adaptively according to the sample variance based on AMA for each sample. Finally, all denoised modes are summed up to constitute the denoising gyroscope signal. A flow chart for the proposed algorithm is summarized as depicted in Figure 4. First, the original gyroscope signal is processed with ACMP to obtain modes that mainly contain useful information. As the signal is decomposed into modes one by one, the mutual information is calculated to decide whether or not the decomposition should stop. After ACMP, most noise is discarded in the residue. However, there is still more or less unexpected noise remaining in the modes. Then, each mode is denoised further using AMSGF. The window size is chosen adaptively according to the sample variance based on AMA for each sample. Finally, all denoised modes are summed up to constitute the denoising gyroscope signal.

Results and Discussion
In this section, practical gyroscope rate experiments in different motion states are performed to verify the effectiveness of the proposed denoising method. The experimental setup consisted of a triaxial micro-electromechanical system (MEMS) gyroscope MTi-100 made by Xsens Technologies (Ernshard, Holland), precision rate turntable (Zolix, Beijing, China), and moving platform (AllController, Nanjing, China), as shown in Figure 5. The gyroscope rate data were collected in a static state, regular multiple-rate state, and arbitrary multiple-rate. We compared the denoising results of our proposed algorithm with those of the empirical mode decomposition soft interval thresholding (EMD-SIT) denoising method, wavelet threshold denoising method, and VMD-based denoising, which are the most widely used methods for off-line denoising. Here, we used the consecutive mean square errors (CMSE) proposed in [33] to determine the M1 and similarity measure between the probability density functions of intrinsic mode functions (IMFs) proposed in [34,35] to determine M2 for choosing EMD-SIT parameters [36]. The wavelet threshold denoising method used as a comparative method was described in [37] with noise variance estimation based on Gaussian mixture model classification. VMD-based denoising was described in [11], which combined VMD with the detrended fluctuation analysis.

Results and Discussion
In this section, practical gyroscope rate experiments in different motion states are performed to verify the effectiveness of the proposed denoising method. The experimental setup consisted of a triaxial micro-electromechanical system (MEMS) gyroscope MTi-100 made by Xsens Technologies (Ernshard, Holland), precision rate turntable (Zolix, Beijing, China), and moving platform (AllController, Nanjing, China), as shown in Figure 5. The gyroscope rate data were collected in a static state, regular multiple-rate state, and arbitrary multiple-rate. We compared the denoising results of our proposed algorithm with those of the empirical mode decomposition soft interval thresholding (EMD-SIT) denoising method, wavelet threshold denoising method, and VMD-based denoising, which are the most widely used methods for off-line denoising. Here, we used the consecutive mean square errors (CMSE) proposed in [33] to determine the M1 and similarity measure between the probability density functions of intrinsic mode functions (IMFs) proposed in [34,35] to determine M2 for choosing EMD-SIT parameters [36]. The wavelet threshold denoising method used as a comparative method was described in [37] with noise variance estimation based on Gaussian mixture model classification. VMD-based denoising was described in [11], which combined VMD with the detrended fluctuation analysis.
Moreover, AMSGF was compared with common smoothing methods separately to illustrate its superiority in denoising a non-stationary gyroscope signal. Comparative methods included FLP, AWSGF, and non-local means filter. Here, we chose the step-size of FLP and the half width of non-local means to achieve their best denoising results with acceptable signal distortion.
Moreover, AMSGF was compared with common smoothing methods separately to illustrate its superiority in denoising a non-stationary gyroscope signal. Comparative methods included FLP, AWSGF, and non-local means filter. Here, we chose the step-size of FLP and the half width of nonlocal means to achieve their best denoising results with acceptable signal distortion.

Static Motion Experiments
The denoising results of different methods for static gyroscope data are shown in Figure 6. The corresponding signal to noise ratio (SNR) results are listed in Table 1. Our proposed method was shown to acquire the optimal results as compared to the reference algorithms. The SNR increased from −0.47 dB to 19.3 dB after the original gyroscope signal being denoised by our proposed method, which testifies that our proposed method can effectively reduce the random error contained in gyroscope signals.

Regular Multiple-Rate Motion Experiments
The precision rate turntable moved at a piecewise constant rate with the gyroscope connected to it. The denoising results are shown in Figure 7. As we can see from Figure 7a, the signal was less noisy after being processed by ACMP. The characteristics of the sample variances of regular multiple rate motion were obvious, especially the values of sample variances with rate change, which were large enough, as depicted in Figure 7b. Therefore, the window size was small at the moments of rate change and large at flat regions, as shown in Figure 7c. Further denoising results obtained by AMSGF are shown in Figure 7d.

Static Motion Experiments
The denoising results of different methods for static gyroscope data are shown in Figure 6. The corresponding signal to noise ratio (SNR) results are listed in Table 1. Our proposed method was shown to acquire the optimal results as compared to the reference algorithms. The SNR increased from −0.47 dB to 19.3 dB after the original gyroscope signal being denoised by our proposed method, which testifies that our proposed method can effectively reduce the random error contained in gyroscope signals.
Moreover, AMSGF was compared with common smoothing methods separately to illustrate its superiority in denoising a non-stationary gyroscope signal. Comparative methods included FLP, AWSGF, and non-local means filter. Here, we chose the step-size of FLP and the half width of nonlocal means to achieve their best denoising results with acceptable signal distortion.

Static Motion Experiments
The denoising results of different methods for static gyroscope data are shown in Figure 6. The corresponding signal to noise ratio (SNR) results are listed in Table 1. Our proposed method was shown to acquire the optimal results as compared to the reference algorithms. The SNR increased from −0.47 dB to 19.3 dB after the original gyroscope signal being denoised by our proposed method, which testifies that our proposed method can effectively reduce the random error contained in gyroscope signals.

Regular Multiple-Rate Motion Experiments
The precision rate turntable moved at a piecewise constant rate with the gyroscope connected to it. The denoising results are shown in Figure 7. As we can see from Figure 7a, the signal was less noisy after being processed by ACMP. The characteristics of the sample variances of regular multiple rate motion were obvious, especially the values of sample variances with rate change, which were large enough, as depicted in Figure 7b. Therefore, the window size was small at the moments of rate change and large at flat regions, as shown in Figure 7c. Further denoising results obtained by AMSGF are shown in Figure 7d.

Regular Multiple-Rate Motion Experiments
The precision rate turntable moved at a piecewise constant rate with the gyroscope connected to it. The denoising results are shown in Figure 7. As we can see from Figure 7a, the signal was less noisy after being processed by ACMP. The characteristics of the sample variances of regular multiple rate motion were obvious, especially the values of sample variances with rate change, which were large enough, as depicted in Figure 7b. Therefore, the window size was small at the moments of rate change and large at flat regions, as shown in Figure 7c. Further denoising results obtained by AMSGF are shown in Figure 7d. From Figure 7e and its local enlarged image Figure 7f, it can be easily seen that our proposed algorithm can effectively reduce the noise in a gyroscope signal. Our proposed method clearly obtains the best denoising results in the smooth region without distortion in signal transition because of the adjustment of AMSGF's window size. Figure 7g and its local enlarged image Figure 7h prove that AMSGF performed better than FLP and AWSGF in flat regions, and the non-local means filter in changing regions. The signal processed by FLP still had a lot of unexpected fluctuations. The non-local means filter had a much better performance in the smooth region than the sharply changing region. AWSGF can get good denoising results when the gyroscope is static. However, its denoising effect degrades when the gyroscope moves. The main reason is that noise contained in static gyroscope output is uncorrelated, so it satisfies the AWSGF's assumption. However, noise contained in the moving gyroscope's output cannot satisfy the uncorrelated assumption. The SNR results of signal denoised by different methods are listed in Tables 2 and 3, which illustrate that our proposed method gained the best denoising effect among all these methods and AMSGF can get better SNR results than comparative smoothing methods.

Arbitrary Multiple-Rate Motion Experiments
The gyroscope fixed to the precision rate turntable was placed upon the moving platform. The platform moved randomly to generate an arbitrary multiple-rate gyroscope signal. As shown in Figure 8a, the noise contained in the gyroscope signal was greatly reduced after being processed by ACMP. Figure 8b depicts the sample variance, which was evidently lower in smoothly changing regions. Different window size selection for different samples for AMSGF is shown in Figure 8c. As we can see, a small window size was used at sharply changing regions to avoid distortion, while a large window size was selected for smoothly changing regions for noise reduction. Figure 8d displays further denoising effects of AMSGF. The denoising results of different methods are shown in Figure 8e. The local magnified image of denoising results in Figure 8f shows the effectiveness of the proposed methods in denoising the gyroscope signal. From Figure 8f, it can be seen that the proposed method led to a better denoising effect, especially when the rate changed slowly. The reason is that AMSGF uses a longer window size instead of the fixed window size used by other smoothing methods to smooth gyroscope data to eliminate the noise when the rates change slowly. The denoising results in Figure 8g,h also illustrate this point. methods to smooth gyroscope data to eliminate the noise when the rates change slowly. The denoising results in Figure 8g,h also illustrate this point. methods to smooth gyroscope data to eliminate the noise when the rates change slowly. The denoising results in Figure 8g,h also illustrate this point.

Execution Time
For each n-length signal, we took the mean of ten tests as our final execution time result. All tests were run on matlab 2014. The execution time is shown in Table 4. The time complexity of the proposed method is O(n). The proposed method was more time-consuming than Wavelet and EMD-SIT, but it was much more time-efficient than VMD-based denoising. The proposed method combined ACMP with AMSGF. The time spent on AMSGF took up a great proportion of the whole

Execution Time
For each n-length signal, we took the mean of ten tests as our final execution time result. All tests were run on matlab 2014. The execution time is shown in Table 4. The time complexity of the proposed method is O(n). The proposed method was more time-consuming than Wavelet and EMD-SIT, but it was much more time-efficient than VMD-based denoising. The proposed method combined ACMP with AMSGF. The time spent on AMSGF took up a great proportion of the whole execution time. For n = 2 14 , getting the initial value of ACMP consumed 0.53 s; signal decomposition using ACMP consumed only 0.12 s. AMSGF was much slower than FLP and a bit slower than non-local means in our tests. The reason is that AMSGF needs to calculate the AMA of each point in advance and find the window size of each point based on AMA while smoothing the signal. AMSGF was much faster than AWSGF, as we expected. AWSGF needs extremely inefficient computational implementation because it smooths the data gradually, increasing filter length.

Conclusions
In this paper, a hybrid method combining ACMP with an adaptive multiscale SG filter was proposed. The proposed method is suitable for denoising off-line non-stationary gyroscope rate signals. ACMP decomposes the signal into signal modes one by one with the mutual information used to determine whether or not the decomposition should stop. Most of the noise contained in the gyroscope signal is discarded as decomposition residue. We applied an improved SG filter, a further smoothing method, to denoise the signal modes. The fixed window size SG filter usually has poor performance in balancing noise reduction with signal preservation. To overcome this drawback of the SG filter, we introduced sample variance based on AMA to adjust the window size of the SG filter adaptively at different signal samples. AMSGF was proposed by modelling the sample variance with the window size.
Practical data collected from MEMS gyroscope were used to evaluate the performance of the proposed method. The experiments of different motion forms (single rate motion, regular multiple rates motion, and arbitrary multiple rates motions) demonstrated that the proposed method is suitable for off-line signal noise reduction, not only in a static state or low dynamic state but also a highly dynamic state. Besides, AMSGF was proven to be superior to the reference smoothing methods. Further work needs to concentrate on more efficient computational implementation, optimal selection of the maximum window size, minimum window size, sample variance threshold, and the filter order in AMSGF. Moreover, this paper only considered gyroscope signal denoising. Experiments will be done to test the proposed method's denoising effect with other types of signals in the future.

Conflicts of Interest:
The authors declare no conflict of interest.