A Variable Step Size Normalized Least-Mean-Square Algorithm Based on Data Reuse

: The principal issue in acoustic echo cancellation (AEC) is to estimate the impulse response between the loudspeaker and microphone of a hands-free communication device. This application can be addressed as a system identiﬁcation problem, which can be solved by using an adaptive ﬁlter. The most common one for AEC is the normalized least-mean-square (NLMS) algorithm. It is known that the overall performance of this algorithm is controlled by the value of its normalized step size parameter. In order to obtain a proper compromise between the main performance criteria (e.g., convergence rate/tracking versus accuracy/robustness), this speciﬁc term of the NLMS algorithm can be further controlled and designed as a variable parameter. This represents the main motivation behind the development of variable step size algorithms. In this paper, we propose a variable step size NLMS (VSS-NLMS) algorithm that exploits the data reuse mechanism, which aims to improve the convergence rate/tracking of the algorithm by reusing the same set of data (i.e., the input and reference signals) several times. Nevertheless, we involved an equivalent version of the data reuse NLMS, which provides the convergence modes of the algorithm. Based on this approach, a sequence of normalized step sizes can be a priori scheduled, which is advantageous in terms of the computational complexity. The simulation results in the context of AEC supported the good performance features of the proposed VSS-NLMS algorithm.


Introduction
The normalized least-mean-square (NLMS) algorithm is the workhorse in many practical applications of adaptive filtering [1][2][3]. The main reasons behind its popularity consist of its simple and efficient implementation, together with fairly reasonable performance, in terms of the convergence rate, tracking, and accuracy of the solution. Nevertheless, there is always a need to improve the performance features of the NLMS algorithm, especially in challenging scenarios, e.g., when using highly correlated input signals and/or dealing with long-length adaptive filters. In this framework, a very important application is acoustic echo cancellation (AEC) [4][5][6], where the input signal is mainly speech (i.e., a nonstationary and highly correlated sequence), while the impulse response of the acoustic echo path is usually of the order of hundreds or even thousands of coefficients.
In this short communication, we focused on the data reuse NLMS algorithm from a different perspective, showing how it can be exploited in order to develop an improved NLMS version with variable step sizes. As compared to other previous works related to the data reuse approach, the proposed VSS-NLMS algorithm uses a sequence of scheduled step size parameters. These values are a priori computed by exploiting the convergence modes of the data reuse NLMS algorithm. On the contrary, in [24], the variable step size (VSS) from [14] was used in conjunction with the data reuse NLMS algorithm from [21], thus resulting in a new version that was similar to an affine projection algorithm with VSS parameter. Furthermore, in [25], the data reuse approach was applied to an optimized least-mean-square algorithm, which behaves similar to a VSS version. In these previous works, the VSS parameter was evaluated within each iteration of the algorithm, which is fundamentally different as compared to the current proposed approach, where the step size parameters were a priori computed and scheduled within the algorithm.
Our main application framework was AEC [4], where the main goal was to estimate the impulse response between the loudspeaker and microphone of a hands-free communication device. Basically, we dealt with a system identification problem, which can be solved by using an adaptive filter. Currently, hands-free communication devices are involved in many popular applications, such as mobile telephony and teleconferencing systems. Due to their specific features, they can be used in a wide range of environments with different acoustic characteristics. In this context, an important issue that has to be addressed when dealing with such devices is the acoustic coupling between the loudspeaker and microphone. In other words, besides the voice of the near-end speaker and the background noise, the microphone of the hands-free equipment captures another signal (coming from its own loudspeaker), known as the acoustic echo. Depending on the environments' characteristics, this phenomenon can be very disturbing for the far-end speaker, which hears a replica of her/his own voice. From this point of view, there is a need to enhance the quality of the microphone signal by canceling the unwanted acoustic echo. The most reliable solution to this problem is the use of an adaptive filter that generates at its output a replica of the echo, which is further subtracted from the microphone signal [4][5][6]. Consequently, the adaptive filter has to model an unknown system, i.e., the acoustic echo path between the loudspeaker and microphone.
Even if the problem formulation is straightforward, the specific features of AEC represent a challenge for any adaptive algorithm. First, the acoustic echo paths have excessive lengths in time (up to hundreds of milliseconds), due to the slow speed of sound in the air, together with multiple reflections caused by the environment; therefore, longlength adaptive filters are required (hundreds or even thousands of coefficients), influencing the convergence rate of the algorithm. Second, the acoustic echo paths are time-variant systems (depending on the temperature, pressure, humidity, and movement of objects or bodies), requiring good tracking capabilities for the echo canceler. Third, the input of the adaptive filter (i.e., the far-end signal) is mainly speech, which is a nonstationary and highly correlated signal that can influence the overall performance of the adaptive algorithm.
Since the conventional NLMS algorithm uses a constant step size parameter to control its performances, a compromise should be made when choosing this value. It is known that a large value implies a fast convergence rate and tracking, while a small value leads to low misadjustment and good robustness features. Since in AEC, there is a need for all these performance criteria, the step size should be controlled; therefore, a VSS version represents a more reliable choice. In addition, for real-world AEC applications, it is highly desirable to use nonparametric algorithms, in the sense that no information about the acoustic environment is required. Nevertheless, we should note that the applications of the VSS-NLMS algorithms are not limited only to the framework of AEC. Different other application areas can be explored in the field of communication systems, such as the carrier phase recovery, e.g., see [26,27] and the references therein.
Following this Introduction, in Section 2, we present the data reuse NLMS algorithm, but using a computationally efficient method to exploit the data reuse process, thus keeping almost the same complexity as the conventional version. Then, in Section 3, we develop a VSS-NLMS algorithm based on the data reuse approach. Simulation results in the context of AEC are provided in Section 4 in order to support the performance of the proposed VSS-NLMS algorithm. Finally, several conclusions are summarized in Section 5. The acronyms used in this paper are provided in Table A1 in Appendix A, while the notation and symbols are summarized in Table A2 from the same section.

Data Reuse NLMS Algorithm
The conventional NLMS algorithm [1,3] is defined by two main equations, which provide the error signal and the filter update, respectively, as follows: where e(n) is the a priori error signal at the discrete-time index n, d(n) is the desired (or reference) signal, x(n) = x(n) x(n − 1) · · · x(n − L + 1) T is a vector containing the most recent L time samples of the zero-mean input signal x(n), the superscript T denotes the transpose operator, is the adaptive filter (of length L) at the discrete-time index n, which is an estimate of the unknown impulse response, and α is the normalized step size parameter of the NLMS algorithm. Theoretically, the range for this parameter is 0 < α < 2, but practically, the recommended choice is 0 < α ≤ 1 [2]. For the sake of simplicity, we omitted in the developments the regularization parameter δ > 0 [28], which is usually added to the denominator in (2).
Based on the adaptive filter coefficients at the discrete-time index n, we may also define the a posteriori error signal as: Using (1) and (2) in (3), we can further develop the previous expression of the a posteriori error, which results in: It can be noticed that the a posteriori error is canceled for α = 1 (assuming that e(n) = 0). Now, let us consider that we perform multiple iterations for the NLMS algorithm using the same input data x(n) and reference signal d(n), i.e., performing the data reuse process [19][20][21][22][23][24][25]. Hence, in the first step (using (1), (2), and (4)), we have: Then, by repeating the process, we obtain: and so on. Using mathematical induction, it results that the kth-order a posteriori error is: and the kth-order update is given by: which is similar to the original update (2), but using the normalized step size: In other words, performing multiple iterations for the same set of data is equivalent to increasing the value of the normalized step size, thus leading to a faster convergence mode [1][2][3].
A few remarks can be outlined based on the previous results, as follows: (1) If α = 1, then e k (n) = 0 and α k = 1 for any value of k. This supports the well-known fact that the value of the normalized step size α = 1 provides the fastest convergence mode; (2) For any 0 < α < 1, e k (n)| k→∞ = 0; (3) For any 0 < α < 1, α k | k→∞ = 1. This is shown in Figure 1, where the parameter α k is plotted for different values of α. These curves can be interpreted as the data reuse convergence modes of the NLMS algorithm, for a certain value of α. In addition, based on (10), we can easily evaluate the number of data reuse iterations, k max , required to attain a certain (maximum) value of the normalized step size, α max , starting from a given value of α. Thus, we can write: which results in: where · denotes the ceiling function and log(·) stands for the natural logarithm.

Variable Step Size NLMS Algorithm
Based on the previous considerations, we can design a simple VSS-NLMS algorithm, by implementing the previous approach in a "reverse" manner, using scheduled normalized step sizes. Thus, given the lower and the upper bounds for the normalized step size parameter, i.e., α and α max , respectively, the update equation that defines the proposed VSS-NLMS algorithm is: where the variable step size parameter µ(n) is evaluated as follows (using (10) and (12)): Step 2: µ(n) = α, for n > k max lL ; • Step 3: if σ 2 e (n) > ξσ 2 v (with 1 < ξ < 2) for n > k max lL , then go to Step 1; where σ 2 e (n) denotes the variance of the a priori error signal, σ 2 v is the power of the system noise (i.e., the external noise that usually corrupts the reference signal), and k max results based on (12), according to the values of α and α max .
In other words, in Step 1, the algorithm uses the normalized step sizes in the following order: α k max , α k max −1 , α k max −2 , . . ., α 1 . Each value is used for lL iterations, with 0 < l ≤ 1. For tracking purposes, in order to not stall the algorithm in Step 2 (i.e., when the lower bound of the normalized step size parameter α is used), the condition from Step 3 is introduced. The power estimates required in Step 3 can be recursively evaluated as: where λ = 1 − 1/(KL) and γ = 1 − 1/(QL), with K > 1 and Q > K [29]. The power estimate of the system noise can be roughly estimated from the error signal by using a larger smoothing parameter γ. By checking the condition from Step 3, we can identify the change of the system (in a system identification scenario) and reset the step size of the algorithm. Of course, more complex/performant detectors can be used in Step 3 [15], but this is beyond the scope of this paper.
The main parameters to be set are k max and l. The first parameter, k max , is related to the maximum value of the normalized step size, α max , as shown in (12). For example, if we consider α max = 0.99 (which is high enough and very close to the fastest convergence mode) and the lower bound α 1 (so that log(1 − α) ≈ −α), according to (12) we obtain: The second parameter, l (with 0 < l ≤ 1), determines how many iterations (i.e., lL ) the algorithm will use a certain value of the step size (see Step 1). As we can notice from Step 2, the algorithm will reach the lower bound of the normalized step size α after k max lL iterations; from this point of view, it is not recommended to set a very low value of α (e.g., α < 0.01), which leads to a high value of k max , according to (16). Since the convergence rate of the NLMS-based algorithms depends on the character of the input signal [1][2][3] (in terms of the condition number of the correlation matrix), the value of l should be chosen accordingly. For example, for white Gaussian inputs, we can choose a smaller value of l, e.g., l < 0.3. For more correlated inputs (such as autoregressive processes), the value of l should be increased, e.g., 0.3 ≤ l < 0.5. Furthermore, for more challenging signals such as speech (i.e., highly correlated and nonstationary), the value of l could be even higher, e.g., 0.5 ≤ l ≤ 1.
The computational complexity of the proposed VSS-NLMS algorithm is similar to the complexity of the conventional NLMS benchmark, since the values of the step size parameters of the VSS-NLMS algorithm are a priori computed and scheduled based on (10) and (12); thus, these values can be used directly in Steps 1 and 2 of the algorithm, as describe before. The only extra computational amount is required in Step 3 of the VSS-NLMS algorithm, which is mainly related to the power estimates from (14) and (15). Nevertheless, this step requires only 5 multiplications, 2 additions, and 1 comparison, which represents a negligible computational effort as compared to the overall complexity of the conventional NLMS algorithm that is proportional to O(L), especially for very large values of L as in the context of AEC.
In addition, the proposed VSS-NLMS does not require additional parameters from the environment, so it can be considered a nonparametric algorithm [14]. Of course, it would be very useful to find more practical ways to set (or adjust) the parameter l within the algorithm, based on the convergence status of the adaptive filter, but this will be the subject for future works.

Simulation Results
Simulations were performed in the context of AEC, in a single-talk scenario [4][5][6]. In this case, the microphone (reference/desired) signal results in: where h contains the coefficients of the acoustic impulse response (of length L), x(n) contains the last L time samples of the far-end signal (i.e., the input signal), v(n) is the background noise, and y(n) = h T x(n) represents the echo signal. In this framework, the main goal is to identify the acoustic echo path, h, with an adaptive filter, h(n).
In our experiments, it was considered that v(n) is a white Gaussian noise, so that the echo-to-noise ratio (ENR) was 20 dB. The ENR is defined as σ 2 y /σ 2 v , where σ 2 y denotes the variance of the echo signal. The acoustic echo path h was obtained from a measured acoustic impulse response using L = 512 coefficients (depicted in Figure 2a and available at www.comm.pub.ro/plant, accessed on 24 February 2022), and the same length was used for the adaptive filter, using a sampling rate of 8 kHz. Three types of input signals were considered: (i) a white Gaussian noise, (ii) a first-order autoregressive process, referred to as AR(1), which was obtained by filtering a white Gaussian noise through a first-order autoregressive model with a pole at 0.8, and (iii) a recorded speech sequence (depicted in Figure 2b); for a longer simulation time (as needed in some experiments), this voice signal can be simply repeated several times. The experimental framework is summarized in Table A3 in Appendix A. In the middle of some simulations, an echo path change scenario was simulated by shifting the acoustic impulse response to the right by 12 samples, in order to assess the tracking capabilities of the algorithms. The performance measure used in all the experiments was the normalized misalignment (in dB), which is evaluated as: where · denotes the Euclidean norm. The parameters of the proposed VSS-NLMS algorithm were set as follows. Based on (16), we set k max = 5/α , using different values for the lower bound of the normalized step size parameter α. The power estimates from (14) and (15) were computed using K = 2 for the white Gaussian input and K = 6 for the AR(1) process or speech sequence [14]; also, we used Q = 3K and ξ = 1.5 [29]. The main parameters of the algorithms used in comparisons are provided in Table A4 in Appendix A, while their main values are summarized in Table A5 from the same section.
First, we evaluated the influence of the parameter l on the performance of the proposed algorithm (using the lower bound α = 0.05), for different types of input signals. The results are given in Figures 3-5, using white Gaussian noise, the AR(1) process, and the speech signal, respectively. These results supported the discussion from Section 3, concerning the influence of the parameter l (and the recommended choices). Consequently, in the following simulations, we use l = 0.1 for white Gaussian inputs, l = 0.3 for the AR(1) process, and l = 0.5 for the speech signal.
Next, the performance of the VSS-NLMS algorithm was evaluated for different values of the lower bound of the normalized step size parameter, i.e., α = 0.1, 0.05, 0.03, and 0.01. The results are given in Figure 6, using a white Gaussian noise as the input. It can be noticed that the algorithm was efficient for different values of α. However, as was explained in Section 3, it is not recommended to choose a very small value of this lower bound.     In the following experiments, the nonparametric VSS-NLMS (NPVSS-NLMS) algorithm proposed in [14] is introduced for comparison, assuming that the true power of the system noise, σ 2 v , is available for this algorithm. The update of the NPVSS-NLMS algorithm is: where: and σ 2 e (n) was evaluated similar to (14). Furthermore, a very small positive constant should be added to the denominator of µ(n), in order to avoid any potential division by zero related to the estimation of σ 2 e (n). It should be outlined that the NPVSS-NLMS algorithm is usually considered as a benchmark (for many VSS-NLMS algorithms), due to its good performance and practical features. In the following experiments, the proposed VSS-NLMS algorithm uses the lower bound value α = 0.03. In order to test the tracking capabilities of the algorithms, an echo path change scenario was considered. All three types of input signals were used, i.e., white Gaussian noise, the AR(1) process, and speech; the results are provided in Figures 7-9, respectively. It can be noticed that the NPVSS-NLMS algorithm outperformed the proposed VSS-NLMS algorithm in the case of the white Gaussian input. However, the proposed algorithm performed better for the AR(1) process and speech inputs. Finally, a variation of the ENR was considered, in order to assess the robustness of the algorithms. In Figure 10, the ENR decreased from 20 dB to 10 dB after 120 s. In this experiment, the input signal was speech. Here, we considered that the initial value of σ 2 v was available for the NPVSS-NLMS algorithm, but not the new one (i.e., after the decrease of the ENR). As expected, the proposed VSS-NLMS algorithm reacted similar to the NLMS algorithm with the smaller normalized step size, outperforming the NPVSS-NLMS algorithm.

Conclusions
In this short communication, we developed a simple VSS-NLMS algorithm from a data reuse perspective. The analysis of the data reuse process in conjunction with the NLMS algorithm revealed the convergence modes of this algorithm. As a consequence, a sequence of normalized step sizes can be a priori scheduled to further design a VSS mechanism. Therefore, the resulting VSS-NLMS algorithm based on this approach had almost the same computational complexity as the conventional NLMS algorithm. Simulations were performed in the context of acoustic echo cancellation, and the results indicated the good performance of the proposed algorithm, in terms of its convergence rate, tracking capability, and accuracy of the estimate. In future works, we plan to implement and assess the performance of the proposed VSS-NLMS algorithm in a real-world experimental framework of an AEC application. In addition, we aim to extend the solution toward the affine projection algorithm, targeting further performance improvements, especially in terms of the convergence rate and tracking.

Acronym Definition
AEC acoustic echo cancellation AR autoregressive AR (1) first-order autoregressive process ENR echo-to-noise ratio NLMS normalized least-mean-square NPVSS-NLMS nonparametric variable step size normalized least-mean-square VSS variable step size VSS-NLMS variable step size normalized least-mean-square Table A2. Notation, symbols, and parameters.

Notation Definition
T transpose of a vector or a matrix · 2 (Euclidean) norm E[·] mathematical expectation log(·) natural logarithm log 10 (·) decimal logarithm · ceiling function n discrete-time index L length of the filter λ = 1 − 1/(KL) weighting parameter, with K ≥ 1 γ = 1 − 1/(QL) weighting parameter, with Q = 3K ξ specific threshold, with ξ = 1.5 α normalized step size parameter of the NLMS algorithm (lower bound of the VSS-NLMS algorithm) µ(n) variable step size parameter of the VSS-NLMS algorithm µ(n) variable step size parameter of the NPVSS-NLMS algorithm h impulse response of the unknown system (echo path) h(n) impulse response of the adaptive filter h k (n) impulse response of the adaptive filter in the kth data reuse iteration k max maximum number of data reuse iterations α max maximum value of the normalized step size q specific step of the data reuse iteration, with q = 1, 2, . . . , k max l specific parameter of the VSS-NLMS algorithm, with 0 < l ≤ 1 x(n) input signal (far-end signal) x(n) vector containing the most recent L time samples of the input signal d(n) reference or desired signal (microphone signal) y(n) output signal of the unknown system (echo signal) e(n) a priori error signal e 1 (n) a posteriori error signal e k (n) kth-order a posteriori error signal v(n) additive noise signal (background noise) σ 2 v variance of the noise signal σ 2 y variance of the output (echo) signal σ 2 e (n) power estimate of the error signal σ 2 v (n) power estimate of the noise signal

Filter Length
Echo-to-Noise Ratio Input Signal L = 512 ENR = 20 dB white Gaussian noise AR(1) process speech Table A4. Main parameters of the algorithms.