A variable step-size LMS adaptive filtering algorithm for speech denoising in VoIP

There is a contradiction between convergence speed and steady-state error in the LMS algorithm. When the step size factor is too large, the convergence speed is fast, but the error is larger. Otherwise, the reverse. In view of this contradiction, based on the original LMS algorithm, consider from the correlation of the signal itself, has proposed a variable step size LMS algorithm based on DCT transform. This algorithm combined with the original DCT-LMS algorithm, through the introduction of Lorentzian function to achieve the change of step size factor, take full advantage of the relevant capacity of the DCT transform and Lorentzian function of the fast convergence ability. Simulation results show that the proposed algorithm has better convergence performance than the traditional adaptive filtering algorithm and DCT-LMS algorithm, and has better steady state error.


Introduction
Adaptive filtering technology [1] , as the current mainstream noise elimination module is widely used in communications, radar, automotive systems, medical and other fields, its theoretical model was first proposed in 1960s by Widrow and Hoff.As a specific application branch of the signal processing direction, it can adaptively improve the filtering parameters of the filter according to the system environment and noise characteristics, so that the filter can dynamically adjust the input signal, extract the useful signal to achieve the best dynamic filtering effect.The classical LMS algorithm mentioned in literature [2] is simple to calculate, but the fixed step in the algorithm cannot satisfy the contradiction between the convergence speed and the steady-state deviation.The NLMS algorithm mentioned in literature [3] overcomes the contradiction between the convergence rate and the steady-state deviation caused by the fixed step in the LMS algorithm, but its step size is affected by the signal noise.In literature [4], a variable step size LMS algorithm based on Sigmoid function is proposed.The algorithm can obtain faster convergence rate, small steady-state deviation, but it's much more complex than any other common algorithm and when the deviation is close to 0, there will be a larger step size adjustment.
In recent years, academia has put forward a variable step size LMS algorithm based on DCT, this algorithm decorrelation ability of DCT function.The algorithm combines the DCT and the Sigmoid function to further improve the filtering ability of the algorithm.In the beginning, this article analyses the performances of the traditional algorithm from the ways of stability, the convergence rate of the algorithm and the complexity of the algorithm.Then the paper carries on the simulation experiment for each algorithm, and then improves one of them.The improved algorithm is a kind of variable step LMS algorithm based on DCT transform, it bases on the DCT-LMS algorithm and absorbs the characteristics of its decorrelation, and introduces the Lorentzian function to improve the changing relationship of step size parameter , in order to achieve better convergence effect.

Traditional adaptive algorithm
Figure 1 is a block diagram of the adaptive filter.The signal d(n) which is from the signal source is introduced into the filter as the original desired signal.Due to the actual factors, the actual received signal is not only a useful signal, it is easy to be disturbed by the noise v(n).Therefore, the true input signal is the addition signal x(n) of noise and useful signal.y(n) is the output signal through the filter, e(n) is the error of output signal and the desired signal.

Fig.1 Frame diagram of adaptive filter
Put the signal x(n) that is superimposed by the useful signal and the noise into the adaptive filter, through compare the signal y(n) which is from adaptive filtering with the original expected signal d(n), can get the error e(n), using the feedback of error to modify the filtering parameter w(n) to gradually adjust the convergence of the adaptive filter.In an ideal condition, the output signal of adaptive filter will very close to the original expected signal, in other way the mean square value of e(n) will very close to 0, in this case, we consider it's a perfect filter.
In the VoIP system, we assume that the adaptive filter in figure 1 is FIR filter, the original input vector X(n) and adaptive parameter W(n) from the signal input terminal is set to: ) Among that, M is the order of filter, n is the current sampling point.LMS algorithm LMS algorithm is a linear adaptive filtering algorithm which is fixed step size, it coordinate the step based on the error's mean square value that from the useful signal and the actual output signal so that can improving the filter parameters, because of the variable step size each time step is a fixed value, so it is called the fixed step algorithm.The main steps of the LMS algorithm are as follows: 1) Initialize the algorithm: 0 (3) 2) Filter the actual input signal x(n), get the output signal y(n): ∑ (4) 3) By compare the expected signal with the output signal so that get the error: (5) 4) Through the error can adjust W(n)： 1 2 (6) Repeat 2 to 4 steps until the error e(n) tends to be 0 and stable.In the formula, is the step factor, which is a fixed constant value, and its convergence range is 0 1/ , 1/ is the maximum eigenvalue of the variance matrix of the input signal.is mainly used to control the convergence speed and steady-state error.
NLMS algorithm NLMS algorithm is a nonlinear adaptive filtering algorithm which is variable step size, it based on the contradiction of LMS algorithm, through contact the step factor with the input signal x(n) to change step size.The main steps are as LMS algorithm, just replace the that in the fourth step of LMS algorithm with a relationship of input signal, so that achieve the purpose of variable step size.The relationship is as follows: , 0 2 In the formula, is a fixed constant value, the range is 0 to 2. The constant value is mainly introduced to prevent the oversized W(n+1) caused by the smaller .

DCT-LMS algorithm
The traditional LMS algorithm has been widely used because of the characteristics of low complexity and simple realization.But it also has a week point that the convergence speed of the algorithm is affected by the eigenvalue dispersion of the X(n) autocorrelation matrix, the excessive dispersion can lead to the decrease of the convergence speed of the LMS algorithm.So in order to improve the performance of the algorithm, the literature [5] proposed an idea about transformation domain, in order to achieve the purpose of removing the correlation，before the signal input filter, make the voice signal do the orthogonal transformation processing to reduce the self-correlation matrix eigenvalue dispersion, DCT-LMS is a typical transform domain LMS algorithm [6] .The principle of DCT is similar to that of DFT, for real signals, the DCT-LMS algorithm can represent a whole segment of the signal by fewer parameters, it performs better than the DFT-LMS algorithm [7] .Therefore, compared with the strong correlation between the sampled values of the time domain signal, the signal parameters in the frequency domain are relatively independent, which greatly reduces the correlation of the signal and can effectively reduce the dispersion of the eigenvalues of the input signal autocorrelation matrix, Thus increasing the convergence speed of the algorithm.
Compared with the traditional LMS algorithm, the main accomplished idea of DCT-LMS algorithm is unchanged, the difference is that before the actual filtering, the input signal is first transformed by DCT, and then the correlation signal is sent to the filter, the related formula is as follows: , √ 0 and 0,1, ⋯ , 1 0 1 and 0 1 ) In the above formula, D DCT is the DCT transformation matrix of the input signal, and Q(n) is obtained after transformation, The is a constant factor, and its range is 0 to 0.1.
The transformed weight coefficient after transform is: 1 (12) In the formula, is a fixed step size, is a diagonal matrix, its value is a reciprocal of the elements of P(n) add a constant value.With NLMS, the constant is mainly to prevent W(n+1) becomes too large.The algorithm uses the DCT transform to process the input signal to eliminate the correlation of the signal, so as to achieve the purpose of improving the convergence speed.Compared with the traditional LMS algorithm, the proposed algorithm has better convergence speed and more stable error, is a optimization algorithm of traditional fixed step algorithm.

An improved variable step size LMS algorithm based on DCT transform
Literature [8] has proposed a variable step size LMS algorithm based on Sigmoid function, it is on the basis of DCT-LMS algorithm.It is proposed that when the algorithm combines the correlation ability of DCT transform, through the Sigmoid function calculates the step size factor , which allows the algorithm to remove the input signal correlation through the DCT transform, while preserving and optimizing the fast convergence of the variable step size algorithm, its convergence speed and steady-state regulation is better than DCT-LMS algorithm and the traditional variable step size algorithm.The main steps are similar to those of the DCT-LMS algorithm.The difference is that the step factor is no longer a fixed value.The formula is as follows: ) Among them, 0 and 0 1/ , so that prevent the filter from diverging.But its algorithm is more complex, the convergence rate can also be further improved.Meanwhile, the algorithm has a steep step change curve when the convergence tends to steady-state and error tends to zero, which can produce a large step change when the error has a slight change, which affects the stability of the algorithm.In this paper, an improved algorithm based on the DCT-LMS algorithm is proposed.The Lorentzian function [9] is used to change the step size , as follow: 1 Among them, 0 1/ , is used to control the range of function, to prevent the filter divergence. is used to control the shape change of function.The relationship of Step size and error e(n) is shown in Figure 2(a) and (b): when the convergence error is large in the initial convergence, it can get a larger step size so that have a faster convergence speed and steady convergence; But in the period of convergence steady state error is small, it can have a relatively small step size to get slow convergence speed, fit in with convergence principle of algorithm.Also shown by the graph, the algorithm in the period of convergence steady state, when the error close to 0, the step gradient is relatively slow, so can make the step size change is not so big due to an accidental error agitation, consistent with the principle of stability.Because only when meet 0 1/ , the same as 1, the algorithm will convergence, so must meet this requirement.But not all and which meet the conditions can get a large step size in the initial convergence, get a small step size in the period of convergence steady state.As shown in Figure 2(a), if the error is 0.6 in the initial convergence, the group of 0.2 and 0.01 can get a rapid convergence speed in the initial convergence, and the group of 0.2and 0.4can't get a rapid convergence speed due to obtain a smaller step size.So in order to meet the demand of convergence, needs to be as small as possible.As shown in Figure 2(b), if the error is 0.6 in the initial convergence, the group of 0.9and 0.09can get a rapid convergence speed in the initial convergence, and the group of 0.1 and 0.09 can't get a rapid convergence speed.So in order to meet the demand of convergence, needs to be as small as possible.
The complete implementation steps of improved algorithm are as follows: 1) Initialize the algorithm: 0 (15) 2) DCT transform of the input signal: , √ 0 and 0,1, ⋯ , 1 0 1 and 0 1 3) By filtering the actual input signal x(n), get the output signal y(n): ∑ (19) 4) By comparing the desired signal and the output signal, get the error : (20) 5) the is adjusted by the error signal: 1 (21) There into, the formula of is shown in formula(14).Against the DCT-LMS algorithm, the formula add formula for calculating step length based on Lorentzian function, it contacts the change of step size with error, meet the basic criterion of variable step size.The definition of D DCT and in this algorithm is same as DCT-LMS algorithm.

Algorithm simulation
In order to analyses the convergence ability of improved variable step size LMS algorithm and the influence of and on the convergence of the algorithm.The Matlab simulation tool is used to simulate the steady-state error and convergence rate of the improved algorithm.Select the original desired signal 2 /10 , noise is additive white noise, the range of n 0 to 100, the order of the filter is 8.After 100 independent simulation experiments, the average value of the error is taken as the final standard of steady state error.
Figure 3(a) is a convergence curve of fixed 0.1 and different values, it can be seen from the figure, with the increase of value, the convergence speed of the algorithm gradually improve, so the value should be as large as possible.But is not greater than 1, if more than 1 , algorithm will diverge.In the experimental conditions, when the 0.9, algorithm sometimes is not convergent, so the best value of this experiment is about 0.8.
Figure 3(b) is a convergence curve of fixed 0.4 and different values, it can be seen from the figure, with the decrease of value, the convergence speed of the algorithm gradually improve, so the value should be as small as possible.However, the value is not the smaller the better, larger convergence will bring large steady error.As shown in Figure 4 is a convergence curve of two groups of fixed 0.4, 0.01 and 0.1, it can be seen that when the 0.01, the steady-state error is bigger than 0.1.So in the condition of this experiment, the optimum value is 0.1.
(a)the same η,the different ξ (b)the same η,the different ξ Fig. 3 The convergence curves of the same η and different ξ Fig. 4 The convergence curves of the same η and two groups of ξ Use the new algorithm to compare with several traditional algorithms, and at the experimental result compare with the steady-state error and convergence rate.Choose the original desired signal 2 /10 , noise is additive white noise, the range of n is 0 to 100, the order of the filter is 10.According to the references of the parameter analysis, setting the parameters for the algorithm: 0.015, 0.025, 0.001, 0.05.Under these parameters, the filter performs well, which meets the requirements of the experiment.After 100 independent simulation experiments, the average value of the error is taken as the final standard of steady-state error.5 gives the waveform of the desired signal d(n) and the original input signal x(n), it can be seen that the desired signal's waveform distortion after adding noise.Figure 6 is the waveforms that the original input signal after filtering by four algorithms, it can be seen that the LMS algorithm and NLMS algorithm have been carried out a series of improvements to the original input signal, the signal has been reduced to a certain extent.The filtering effect of the DCT-LMS algorithm based on Sigmoid function and the improved algorithm is quite, compared to the LMS algorithm and NLMS algorithm, the waveform curve smoother.Figure 7 shows the error curves of each algorithm in different SNR.It can be seen that in the overall situation, the DCT-LMS algorithm based on Sigmoid function and the DCT-LMS algorithm based on Lorentzian function are superior to LMS algorithm and NLMS algorithm, they has faster convergence speed and the steady-state error is similar.In the case of low and middle SNR, the convergence speed of DCT-LMS algorithm based on Lorentzian function is obviously larger than that of DCT-LMS algorithm based on Sigmoid function.In the case of high SNR, the convergence speed of DCT-LMS algorithm based on Lorentzian function is slightly larger than that of DCT-LMS algorithm based on Sigmoid function, the steady-state error is approximate.Therefore, the DCT-LMS algorithm based on Lorentzian function is more suitable than the DCT-LMS algorithm based on Sigmoid function in low SNR, and the improved algorithm is better than the old one.relationship, make the convergence speed become further improved, but also make the steady-state error of the algorithm smaller.The next step is to further improve the structure of the formula, in order to obtain the algorithm step slow change in the case of low error, this can make the stability of the algorithm has been further improved, and improve the convergence speed of the algorithm in the case of high SNR, meet the principle of improving algorithm.

Fig. 2
Fig.2 Graph of the relationship of Error and step size

Fig. 5
Fig.5 Waveform of desired signal and original input signal

Fig. 7
Fig.7 Error curve of 4 filtering algorithms at the different SNR