Next Article in Journal
Variational Calculus Approach to Optimal Interception Task of a Ballistic Missile in 1D and 2D Cases
Previous Article in Journal
Hybrid MU-MIMO Precoding Based on K-Means User Clustering
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

An Optimized Differential Step-Size LMS Algorithm

by
Alexandru-George Rusu
1,2,
Silviu Ciochină
1,
Constantin Paleologu
1,* and
Jacob Benesty
3
1
Department of Telecommunications, University Politehnica of Bucharest, 1-3, Iuliu Maniu Blvd., 061071 Bucharest, Romania
2
Department of Research and Development, Rohde & Schwarz Topex, 014142 Bucharest, Romania
3
INRS-EMT, University of Quebec, Montreal, QC H5A 1K6, Canada
*
Author to whom correspondence should be addressed.
Algorithms 2019, 12(8), 147; https://doi.org/10.3390/a12080147
Submission received: 28 June 2019 / Revised: 17 July 2019 / Accepted: 21 July 2019 / Published: 24 July 2019

Abstract

:
Adaptive algorithms with differential step-sizes (related to the filter coefficients) are well known in the literature, most frequently as “proportionate” algorithms. Usually, they are derived on a heuristic basis. In this paper, we introduce an algorithm resulting from an optimization criterion. Thereby, we obtain a benchmark algorithm and also another version with lower computational complexity, which is rigorously valid for less correlated input signals. Simulation results confirm the theory and outline the performance of the algorithms. Unfortunately, the good performance is obtained by an important increase in computational complexity. Nevertheless, the proposed algorithms could represent useful benchmarks in the field.

1. Introduction

System identification is a widespread application, where an adaptive filter is used to identify the impulse response of an unknown system [1]. Using the same input signal, the main idea is to determine the coefficients of this filter so that its output generates a signal which is as close as possible to the output signal of the unknown system that must be identified. In many applications, the impulse response of the unknown system is characterized by a small percentage of coefficients with high magnitude, while the rest of them are almost zero. Consequently, the adaptive filter can exploit this sparseness feature in order to improve its overall performance (especially in terms of convergence rate and tracking). The basic idea is to “proportionate” the algorithm behavior, i.e., to update each coefficient of the filter independently of the others, by adjusting the adaptation step-size in proportion to the magnitude of the estimated filter coefficient. In this manner, the adaptation gain is “proportionately” redistributed among all the coefficients, emphasizing the large ones (in magnitude) in order to speed up their convergence. In other words, larger coefficients receive larger step-sizes, thus increasing the convergence rate of those coefficients. This has the effect that active coefficients are adjusted faster than the non-active ones (i.e., small or zero coefficients). On the other hand, the proportionate algorithms could be sensitive to the sparseness degree of the system, i.e., the convergence rate could be reduced when the impulse responses are not very sparse.
A typical application of these algorithms is the echo cancellation problem, with emphasis on the identification of sparse echo paths. Among the most popular such algorithms are proportionate normalized least-mean-square (PNLMS) [2], PNLMS++ [3], and improved PNLMS (IPNLMS) [4] algorithms. Furthermore, many algorithms have been designed in order to exploit the sparseness character of the unknown system [5,6,7], while their main focus is to improve both the convergence rate and tracking ability [8,9,10]. However, most of these algorithms have been designed in a heuristic manner. For example, in the case of the celebrated PNLMS algorithm [2], the equations used to calculate the step-size control factors are not based on any optimization criteria but are designed in an ad hoc way. For this reason, after an initial fast convergence phase, the convergence rate of the PNLMS algorithm significantly slows down. Nevertheless, following the PNLMS idea, other more sophisticated algorithms working on the same principle have been proposed with the ultimate purpose to fully exploit sparsity of impulse responses. Among them, the IPNLMS algorithm [4] represents a benchmark solution, which is more robust to the sparseness degree of the impulse response.
A connection could be established between proportionate algorithms and variable step-size adaptive filters. In terms of their purpose, both categories adjust the step-size in order to enhance the overall performance. While proportionate filters aim to improve the convergence rate by increasing the adaptation step-size of the larger coefficients, variable step-size algorithms target the well-known compromise between the convergence rate and misadjustment [1]. In both cases, the adaptation control rules should rely on some specific optimization criteria.
Based on the initial work reported in [11,12], in this paper, we propose a least-mean-square (LMS) algorithm controlled by a diagonal matrix, Y , instead of a usual scalar step-size. The elements of the matrix are adjusted at each iteration by considering the mean-squared deviation (MSD) minimization. Hence, following a stochastic model [13], we obtain an optimized differential step-size LMS (ODSS-LMS) algorithm, tailored by a state variable model. The theory has been driven on the model of an unknown system characterized by a time-varying behavior. The algorithm developed in [12], namely the optimized LMS algorithm with individual control factors (OLMS-ICF), represents only a particular case of the ODSS-LMS algorithm.
The motivation behind our approach can be summarized as follows. In many related works concerning optimized step-size algorithms, e.g., [14,15,16,17,18], the reference signal is considered the output of a time-invariant system corrupted by additive noise. However, in realistic scenarios, the system to be identified could be variable in time. For example, in acoustic echo cancellation, it can be assumed that the impulse response of the echo path is modeled by a time-varying system following a first-order Markov model [13]. In addition, it makes more sense to minimize the system misalignment (in terms of the MSD of the coefficients), instead of the classical error-based cost function. The reason is that, in real-world system identification problems, the goal of the adaptive filter is not to make the error signal goes to zero. The objective, instead, is to recover the additive noise (which corrupts the system’s output) from the error signal of the adaptive filter, after this one converges to the true solution. For example, in echo cancellation, this “corrupting noise” comes from the near-end and could also contain the voice of the near-end talker. Consequently, it should be delivered (with little or no distortion) to the far-end, through the error signal.
This paper is structured as follows. In Section 2, we describe the system model. Furthermore, the autocorrelation matrix of the coefficients error is introduced in Section 3. We develop the ODSS-LMS algorithm in Section 4, as well as a simplified version for a white Gaussian input. Simulations of the proposed algorithms are shown in Section 5. Finally, conclusions are discussed in Section 6.

2. System Model

We begin with the traditional steepest descent update equation [11]:
w ^ ( n ) = w ^ ( n 1 ) + μ E [ x ( n ) α ( n ) ] .
In Equation (1), we denote w ^ ( n ) = w ^ 0 ( n ) w ^ 1 ( n ) w ^ L 1 ( n ) T as the adaptive filter (of length L), where the superscript T is the transpose operator, μ is the fixed step-size, x ( n ) = x ( n ) x ( n 1 ) x ( n L + 1 ) T is a vector that contains the L most recent real-valued samples of the (zero-mean) input signal at the discrete time index n, α ( n ) is the a priori error signal, and E ( · ) is the statistical expectation. The goal of the adaptive filter is to estimate the impulse response of the unknown system denoted as w ( n ) = [ w 0 ( n ) w 1 ( n ) w L 1 ( n ) ] T . Using the previous notation, the a priori error is expressed as α ( n ) = d ( n ) x T ( n ) w ^ ( n 1 ) , where the desired signal, d ( n ) = x T ( n ) w ( n ) + v ( n ) , consists of the output of the unknown system corrupted by the measurement noise, v ( n ) , which is assumed to be a zero-mean Gaussian noise signal.
Then, by applying the stochastic gradient principle and substituting the fixed step-size with a diagonal matrix, Y ( n ) , the coefficients of the estimated impulse response can be updated as follows:
w ^ ( n ) = w ^ ( n 1 ) + Y ( n ) x ( n ) α ( n ) .
Considering a stochastic system model described by w ( n ) = w ( n 1 ) + δ w ( n ) , where δ w ( n ) is a zero-mean Gaussian random vector, the goal consists of finding the diagonal matrix, Y ( n ) , that minimizes at each iteration the MSD, m ( n ) = E [ c T ( n ) c ( n ) ] , where c ( n ) = w ^ ( n ) w ( n ) denotes the a posteriori misalignment. Thereby, the a posteriori error of the adaptive filter is
e ( n ) = d ( n ) x T ( n ) w ^ ( n ) .
Substituting the desired signal and the a posteriori misalignment in Equation (3), the a posteriori error becomes e ( n ) = v ( n ) x T ( n ) c ( n ) . Proceeding in the same manner with the a priori error, we obtain α ( n ) = x T ( n ) δ w ( n ) c ( n 1 ) + v ( n ) . Therefore, we can introduce (2) in the a posteriori misalignment to obtain the recursive relation:
c ( n ) = c ( n 1 ) + w ( n 1 ) w ( n ) + Y ( n ) x ( n ) α ( n ) .
Furthermore, we can process Equation (4) as follows:
c ( n ) = c ( n 1 ) δ w ( n ) + Y ( n ) x ( n ) α ( n ) = c ( n 1 ) δ w ( n ) + Y ( n ) x ( n ) { x T ( n ) δ w ( n ) c ( n 1 ) + v ( n ) } = [ I L Y ( n ) x ( n ) x T ( n ) ] [ c ( n 1 ) δ w ( n ) ] + Y ( n ) x ( n ) v ( n ) ,
where I L is the identity matrix of size L × L .

3. Autocorrelation Matrix of the Coefficients Error

In this framework, we assume that the input signal is wide-sense stationary. Therefore, its autocorrelation matrix is given by R = E [ x ( n ) x T ( n ) ] . The autocorrelation matrix of the coefficients error is
R c ( n ) E [ c ( n ) c T ( n ) ] .
In addition, we denote Γ ( n ) R c ( n ) + σ w 2 I L and γ ( n ) diag [ Γ ( n ) ] , where σ w 2 is the variance of the system noise and diag ( · ) defines a vector retaining only the main diagonal elements of Γ ( n ) . Going forward, Equation (5) is developed by applying the 2 norm and the statistical expectation, so that we can introduce the notation:
m ( n ) = E c ( n ) 2 2 = tr [ R c ( n ) ] ,
where tr ( · ) denotes the trace of a square matrix. Substituting (5) into (6), the autocorrelation matrix of the coefficients error results in
R c ( n ) = E { [ I L Y ( n ) x ( n ) x T ( n ) ] [ c ( n 1 ) δ w ( n ) ] × [ c T ( n 1 ) δ w T ( n ) ] [ I L x ( n ) x T ( n ) Y ( n ) ] + Y ( n ) x ( n ) x T ( n ) Y ( n ) v 2 ( n ) } .
At this point, we consider that δ w ( n ) is uncorrelated with the a posteriori misalignment at the discrete time index n 1 and with the input signal at the discrete time index n. In addition, we assume that c ( n 1 ) and x ( n ) are uncorrelated. The zero-mean measurement noise, v ( n ) , is independent of the input signal, x ( n ) , and of the system noise, δ w ( n ) . The variance of the additive noise is σ v 2 = E [ v 2 ( n ) ] . With these assumptions, the statistical expectation of the product term in (8) can be written as
E { [ I L Y ( n ) x ( n ) x T ( n ) ] [ c ( n 1 ) δ w ( n ) ] [ c T ( n 1 ) δ w T ( n ) ] [ I L x ( n ) x T ( n ) Y ( n ) ] }   = R c ( n 1 ) + I L σ w 2 [ R c ( n 1 ) + I L σ w 2 ] R Y ( n ) Y ( n ) R [ R c ( n 1 ) + I L σ w 2 ] + Y ( n ) Q ( n ) Y ( n ) ,
where
Q ( n ) E { [ x ( n ) x T ( n ) ] [ c ( n 1 ) δ w ( n ) ] [ c T ( n 1 ) δ w T ( n ) ] [ x ( n ) x T ( n ) ] } = E [ x ( n ) x T ( n ) p ( n ) p T ( n ) x ( n ) x T ( n ) ] = E [ p T ( n ) x ( n ) ] 2 x ( n ) x T ( n ) = E i , j = 0 L 1 p i ( n ) p j ( n ) x ( n i ) x ( n j ) R ^ ( n )
and
R ^ ( n ) = x ( n ) x T ( n ) ,
p ( n ) = δ w ( n ) c ( n 1 ) = [ p 0 ( n ) p 1 ( n ) p L 1 ( n ) ] T .
Including Equation (11) in (10), we can express the elements of the matrix Q ( n ) as
[ Q ( n ) ] r , l = i , j = 0 L 1 E [ p i ( n ) p j ( n ) ] E [ x ( n i ) x ( n j ) x ( n r ) x ( n l ) ] ,
for r , l = 0 , 1 , , L 1 . By applying the Gaussian moment factoring theorem [19], three terms can be defined as
[ Q 1 ( n ) ] r , l = i , j = 0 L 1 E [ p i ( n ) p j ( n ) ] x ( i j ) x ( r l ) = x ( r l ) i , j = 0 L 1 [ Γ ( n 1 ) ] i , j x ( i j ) = tr [ Γ ( n 1 ) R ] [ R ] r , l ,
[ Q 2 ( n ) ] r , l = i , j = 0 L 1 E [ p i ( n ) p j ( n ) ] x ( i r ) x ( j l ) = i = 0 L 1 R r , i j = 0 L 1 [ Γ ( n 1 ) ] i , j R j , l = [ R Γ ( n 1 ) R ] r , l ,
and
[ Q 3 ( n ) ] r , l = i , j = 0 L 1 E [ p i ( n ) p j ( n ) ] x ( i l ) x ( j r ) = [ Q 2 ( n ) ] r , l ,
with
Q ( n ) = Q 1 ( n ) + Q 2 ( n ) + Q 3 ( n ) = 2 R Γ ( n 1 ) R + R tr [ Γ ( n 1 ) R ] .
Finally, the statistical expectation of the last term in Equation (8) is
E [ Y ( n ) x ( n ) x T ( n ) Y ( n ) v 2 ( n ) ] = Y ( n ) R Y ( n ) σ v 2 .
Thus, we can summarize the autocorrelation matrix of the coefficients error as
R c ( n ) = Γ ( n 1 ) Γ ( n 1 ) R Y ( n ) Y ( n ) R Γ ( n 1 ) + Y ( n ) { 2 R Γ ( n 1 ) R + R tr [ Γ ( n 1 ) R ] } Y ( n ) + Y ( n ) R Y ( n ) σ v 2 .

4. ODSS-LMS Algorithm

Let us define Y ( n ) = mdiag [ y ( n ) ] , where mdiag ( · ) denotes a diagonal matrix, having on its main diagonal the elements of the vector y ( n ) . If the input argument is a matrix A , then B = mdiag ( A ) returns a diagonal matrix B , retaining only the elements of the main diagonal of A .

4.1. Minimum MSD Value

Replacing Γ ( n 1 ) and using (19), the MSD can be rewritten as
m ( n ) = tr [ R c ( n 1 ) + σ w 2 I L ] { I L R Y ( n ) Y ( n ) R + σ x 2 R tr [ Y 2 ( n ) ] + 2 R Y 2 ( n ) R } + tr σ v 2 R Y T ( n ) Y ( n ) ,
where σ x 2 is the variance of the input signal, x ( n ) . The last term in (20) can be easily computed as
tr σ v 2 R Y T ( n ) Y ( n ) = σ x 2 σ v 2 y T ( n ) y ( n ) .
Therefore, the product term of (20) results in
tr R c ( n 1 ) { I L R Y ( n ) Y ( n ) R + σ x 2 R tr [ Y 2 ( n ) ] + 2 R Y 2 ( n ) R } = m ( n 1 ) 2 y T ( n ) diag [ R R c ( n 1 ) ] + σ x 2 tr [ R c ( n 1 ) R ] y T ( n ) y ( n ) + 2 y T ( n ) mdiag [ R R c ( n 1 ) R ] y ( n )
and
tr σ w 2 { I L R Y ( n ) Y ( n ) R + σ x 2 R tr [ Y 2 ( n ) ] + 2 R Y 2 ( n ) R } = σ w 2 { L 2 y T ( n ) r + L σ x 4 y T ( n ) y ( n ) + 2 y T ( n ) mdiag [ R 2 ] y ( n ) } ,
with r diag ( R ) . Based on (20), (21), and (23), the MSD becomes
m ( n ) = m ( n 1 ) 2 y T ( n ) diag [ R R c ( n 1 ) ] + σ x 2 tr [ R c ( n 1 ) R ] y T ( n ) y ( n ) + 2 y T ( n ) mdiag [ R R c ( n 1 ) R ] y ( n ) + σ w 2 { L 2 y T ( n ) r + L σ x 4 y T ( n ) y ( n ) + 2 y T ( n ) mdiag [ R 2 ] y ( n ) } + σ x 2 σ v 2 y T ( n ) y ( n ) .

4.2. Optimum Step-Size Derivation

Taking the gradient of MSD with respect to y ( n ) , it results in
y ( n ) [ m ( n ) ] = 2 diag [ R R c ( n 1 ) ] + 2 σ x 2 tr [ R c ( n 1 ) R ] y ( n ) + 4 mdiag [ R R c ( n 1 ) R ] y ( n ) + σ w 2 [ 2 r + 2 L σ x 4 y ( n ) + 4 mdiag ( R 2 ) y ] + 2 σ x 2 σ v 2 y ( n ) .
Solving the quadratic form of (25), we obtain the general optimal solution:
y o ( n ) = σ x 2 I L { tr [ Γ ( n 1 ) R ] + σ v 2 } + 2 mdiag [ R Γ ( n 1 ) R ] 1 diag [ R Γ ( n 1 ) ] .
In brief, (19), (24), and (26) represent the main equations of the optimized differential least-mean-square “general” (ODSS-LMS-G) algorithm.

4.3. Simplified Version

At this stage, we can define the main equations for the optimized differential least-mean-square “white” (ODSS-LMS-W) algorithm, in the scenario of a white Gaussian noise signal as input. This algorithm is similar to the OLMS-ICF algorithm presented in [12], which was developed based on the same simplified assumption.
Considering that R = σ x 2 I L , we can rewrite (19), (24), and (26) as
R c ( n ) = Γ ( n 1 ) σ x 2 Γ ( n 1 ) Y ( n ) σ x 2 Y ( n ) Γ ( n 1 ) + σ x 4 Y ( n ) { 2 Γ ( n 1 ) + I L tr [ Γ ( n 1 ) ] } Y ( n ) + σ x 2 σ v 2 Y 2 ( n ) ,
m ( n ) = [ m ( n 1 ) + L σ w 2 ] [ 1 + σ x 4 y T ( n ) y ( n ) ] 2 σ x 2 γ T ( n 1 ) y ( n ) + 2 σ x 4 y T ( n ) mdiag [ γ ( n 1 ) ] y ( n ) + σ v 2 σ x 2 y T ( n ) y ( n ) ,
and
y o ( n ) = σ x 2 I L [ m ( n 1 ) + σ w 2 ( L + 2 ) ] + 2 σ x 2 mdiag [ R c ( n 1 ) ] + σ v 2 I L 1 γ ( n 1 ) .
Based on (27), we can define the recursive equation of γ ( n ) as
γ ( n ) = γ ( n 1 ) + σ w 2 1 L × 1 + 2 σ x 2 [ σ x 2 y o ( n ) 1 L × 1 ] γ ( n 1 ) y o ( n ) + σ x 2 { σ x 2 tr [ Γ ( n 1 ) ] + σ v 2 } y o ( n ) y o ( n ) ,
where 1 L × 1 denotes a vector with all its elements equal to one and ⊙ represents the Hadamard product. In order to verify the stability condition, let us define
M ( n ) σ x 2 I L [ m ( n 1 ) + σ w 2 ( L + 2 ) ] + 2 σ x 2 mdiag [ R c ( n 1 ) ] + σ v 2 I L ,
which leads to y o ( n ) = M 1 ( n ) γ ( n 1 ) .
If the system is assumed to be time-invariant, i.e., σ w 2 = 0 , then
m ( n ) = m ( n 1 ) + y T ( n ) [ σ x 4 m ( n 1 ) I L + 2 σ x 4 R c ( n 1 ) + I L σ x 2 σ v 2 ] y ( n ) 2 σ x 2 γ T ( n 1 ) y ( n ) = m ( n 1 ) + σ x 2 y T ( n ) M ( n ) y ( n ) 2 σ x 2 γ T ( n 1 ) y ( n ) = m ( n 1 ) σ x 2 γ T ( n 1 ) M 1 ( n ) γ ( n 1 ) .
Since M ( n ) is a diagonal positive definite matrix, m ( n ) < m ( n 1 ) , therefore,
m ( n ) = l = 0 L 1 γ l ( n 1 ) [ 1 σ x 2 μ l ( n 1 ) γ l ( n 1 ) ] ,
where γ l ( n ) denotes the lth element of the vector γ ( n ) and
μ l ( n 1 ) 1 m ( n 1 ) σ x 2 + 2 σ x 2 γ l ( n 1 ) + σ v 2 .
Based on (33) and (34), we can outline that
σ x 2 γ l ( n 1 ) 2 σ x 2 γ l ( n 1 ) + σ v 2 + σ x 2 i = 0 L 1 γ i ( n 1 ) < 1 ,
which guarantees the convergence. At the same time, the stability condition is verified, i.e., 0 < m ( n ) < m ( n 1 ) .

4.4. Practical Considerations

The ODSS-LMS-G and ODSS-LMS-W algorithms are depicted in Algorithms 1 and 2, respectively. From a practical point of view, the variance σ x 2 of the input signal could be estimated with a 1-pole exponential filter, or using σ x 2 = ( 1 / L ) x T ( n ) x ( n ) . In practice, the autocorrelation matrix of the input signal is not known and it can be estimated with a weighting window as R x ( n ) = λ R x ( n 1 ) + ( 1 λ ) x ( n ) x T ( n ) , where λ = 1 1 / ( P L ) , with P > 1 . The noise power σ v 2 could be estimated in different ways as in [20,21]. The influence of the system noise variance σ w 2 is analyzed in Section 5. Moreover, in order to obtain accurate estimates for some parameters, we suggest using an initialization algorithm such as the normalized LMS (NLMS) [11]. With the purpose to estimate the matrix R c ( n ) in the initial stage of the algorithm, we suppose that c ( n ) w ^ ( n ) w ^ ( n 1 ) , so that we can approximate it with the update term u ( n ) defined in Algorithms 1 and 2.
In terms of computational complexity, the matrix operations lead to a high computational complexity. Therewith, the matrix inversion operation is involved and contributes to the complexity increase. Taking into account once the terms that appear several times in multiple equations (i.e., Γ ( n 1 ) R x ( n ) , R x ( n ) Γ ( n 1 ) ), the computational complexity is summarized as follows. For the ODSS-LMS-G algorithm, the computation of the M ( n ) matrix requires 2 L 3 + 2 L + 1 multiplications and 2 L 3 2 L 2 + 2 L additions, while its inversion consists of L divisions of the form 1 / x . Then, computation of the differential step-size y o ( n ) consists of L 3 + L multiplications and L 3 L 2 additions. The update term u ( n ) contributes with 2 L multiplications. Thereto, because the Y ( n ) matrix is diagonal, the computation of the R c ( n ) matrix requires 8 L multiplications and 5 L additions. In addition, the computation of Γ ( n ) matrix requires L additions and the estimation of the R x ( n ) matrix imposes 2 L 2 + 2 L 1 multiplications and L 2 additions. In case of the ODSS-LMS-W algorithm, several matrix operations disappear and the computational complexity decreases. Thus, the computation of the M ( n ) matrix requires only 2 L + 1 multiplications and 2 L + 1 additions. While M ( n ) matrix is diagonal, the computational complexity of its inversion involves L divisions. Therefore, the differential step-size y o ( n ) requires only L multiplications. In addition, the computation of the vector γ ( n ) contributes with 5 L + 2 multiplications and 5 L additions. Furthermore, the MSD is obtained for L additions, while the update term u ( n ) adds 2 L multiplications. Some equations are required in both algorithms. The coefficients update equation requires L additions and the a priori error computations consist of L multiplications and L additions. Last but not least, the initialization process of both algorithms involves 3 L 2 + 2 L + 2 multiplications, L 2 + L + 3 additions, and one division. In brief, without the complexity of the initialization process, the ODSS-LMS-G algorithm involves 3 L 3 + 2 L 2 + 16 L multiplications, 3 L 3 2 L 2 + 9 L additions, and L divisions, while ODSS-LMS-W consists of 10 L + 3 multiplications, 10 L + 1 additions, and L divisions. Note that the computational complexity analysis is based on the standard way of inverting and multiplying matrices, so that the computational complexity of the ODSS-LMS-G algorithm is O ( L 3 ) . One of the first approaches regarding the reduction of matrix multiplication computational complexity is the Strassen algorithm [22], which is slightly better than the standard matrix multiplication algorithm, with a computational complexity of O ( L 2.807 ) . Going forward, the Coppersmith–Winograd algorithm [23] could be used to reduce the matrix multiplication computational complexity to O ( L 2.375 ) .
Algorithm 1: ODSS-LMS-G algorithm.
 Initialization:
 • w ^ ( 0 ) = 0 L × 1
 • R c ( 0 ) = c I L , where c is a small positive constant
 • R x ( 0 ) = 0 L × L
 • Γ ( 0 ) = R c ( 0 ) + σ w 2 I L
 Parameters σ x 2 , σ v 2 , σ w 2 , known or estimated
λ = 1 1 P L , with  P 1
 
 For time index n = 1 , 2 , :
 • α ( n ) = d ( n ) x T ( n ) w ^ ( n 1 )
 • R x ( n ) = λ R x ( n 1 ) + ( 1 λ ) x ( n ) x T ( n )
 
 If time index n < K L , with  K 1 :
    • μ ( n ) = μ x T ( n ) x ( n ) + δ (i.e., step-size of the NLMS algorithm)
    • u ( n ) = μ ( n ) x ( n ) α ( n )
    • R c ( n ) = λ R c ( n 1 ) + ( 1 λ ) u ( n ) u T ( n )
 else:
    • M ( n ) = σ x 2 I L { tr [ Γ ( n 1 ) R x ( n ) ] + σ v 2 } + 2 mdiag [ R x ( n ) Γ ( n 1 ) R x ( n ) ]
    • y o ( n ) = M 1 ( n ) diag [ R x ( n ) Γ ( n 1 ) ]
    • u ( n ) = y o ( n ) x ( n ) α ( n )
    • Y ( n ) = mdiag [ y o ( n ) ]
    • R c ( n ) = Γ ( n 1 ) Γ ( n 1 ) R x ( n ) Y ( n ) Y ( n ) R x ( n ) Γ ( n 1 ) + Y ( n ) { 2 R x ( n ) Γ ( n 1 ) R x ( n ) + R x ( n ) tr [ Γ ( n 1 ) R x ( n ) ] } Y ( n ) + Y ( n ) R x ( n ) Y ( n ) σ v 2
 • w ^ ( n ) = w ^ ( n 1 ) + u ( n )
 • Γ ( n ) = R c ( n ) + σ w 2 I L
Finally, the overall computational complexity of the NLMS [1], IPNLMS [4], and JO-NLMS [24] algorithms is summarized for comparison. The NLMS algorithm consists of 2 L + 2 multiplications, 2 L + 3 additions, and 1 division, while the IPNLMS algorithm involves 5 L + 2 multiplications, 5 L additions, and two divisions. The JO-NLMS algorithm has a computational complexity similar to that of the NLMS algorithm, which is based on 2 L + 3 multiplications, 2 L + 4 additions, and one division. Notice that the computational complexity of these algorithms has been reported by considering σ x 2 , σ v 2 , and σ w 2 parameters known, while their estimation depends on the implementation (e.g., in literature, different estimation methods are available). Of course, these algorithms do not involve matrix operations and the computational complexity is O ( L ) . At this point, it can be highlighted that the computational complexity of the ODSS-LMS-W algorithm is comparable with the complexity of the NLMS, IPNLMS, or JO-NLMS algorithm.
Even if the proposed algorithms present a high computational complexity, they are more affined to “benchmark” type algorithms and their performance is outlined in Section 5.
Algorithm 2: ODSS-LMS-W algorithm.
 Initialization:  
 • w ^ ( 0 ) = 0 L × 1   
 • m ( 0 ) = ϵ > 0   
 • γ ( 0 ) = c 1 L × 1 , where c is a small positive constant  
 • R c ( 0 ) = c I L   
 • Γ ( 0 ) = R c ( 0 ) + σ w 2 I L   
 Parameters σ x 2 , σ v 2 , σ w 2 , known or estimated   
λ = 1 1 P L , with  P 1   
    
  For time index n = 1 , 2 , :  
 • α ( n ) = d ( n ) x T ( n ) w ^ ( n 1 )   
    
  If time index n < K L , with  K 1 :   
    • μ ( n ) = μ x T ( n ) x ( n ) + δ (i.e., step-size of the NLMS algorithm)   
    • u ( n ) = μ ( n ) x ( n ) α ( n )   
    • R c ( n ) = λ R c ( n 1 ) + ( 1 λ ) u ( n ) u T ( n )   
    • Γ ( n ) = R c ( n ) + σ w 2 I L   
 else:   
    • M ( n ) = σ x 2 I L [ m ( n 1 ) + σ w 2 ( L + 2 ) ] + 2 σ x 2 mdiag [ γ ( n 1 ) ] + σ v 2 I L   
    • y o ( n ) = M 1 ( n ) γ ( n 1 )   
    • γ ( n ) = γ ( n 1 ) + σ w 2 1 L × 1 + 2 σ x 2 [ σ x 2 y o ( n ) 1 L × 1 ] γ ( n 1 ) y o ( n ) + σ x 2 { σ x 2 tr [ Γ ( n 1 ) ] + σ v 2 } y o ( n ) y o ( n )   
    • Γ ( n ) = mdiag [ γ ( n ) ]   
    • m ( n ) = tr [ Γ ( n ) ] L σ w 2   
    • u ( n ) = y o ( n ) x ( n ) α ( n )   
    
  • w ^ ( n ) = w ^ ( n 1 ) + u ( n )

5. Simulation Results

The experiments are performed in the context of echo cancellation configuration using an acoustic impulse response and a sparse echo path from ITU-T G168 Recommendation [25] (padded with zeros). The echo paths have 512 coefficients and the same number is used for the adaptive filter, i.e., L = 512 . The sparseness measure based on the 1 and 2 norms [26] of the acoustic echo path is ξ 12 = 0.6130 , while for the network echo path it is ξ 12 = 0.8969 . The impulse responses used in our simulations are shown in Figure 1. In these scenarios, the sampling rate is 8 kHz. In this context, the unknown system is the echo path and the adaptive filter should estimate it. The output signal is corrupted by an independent white Gaussian noise with the signal-to-noise ratio (SNR) set to SNR = σ y 2 / σ v 2 = 20 dB , where σ y 2 = E [ y 2 ( n ) ] . We assume that the power of this noise, σ v 2 , is known. The input signal, x ( n ) , is either a white Gaussian noise, an AR(1) process generated by filtering a white Gaussian noise through a first-order system 1 / ( 1 β z 1 ) , with β = 0.8 , 0.9 , or a speech sequence. The performance measure is the normalized misalignment in dB, defined as 20 log 10 [ w ( n ) w ^ ( n ) 2 / w ( n ) 2 ] . The proposed algorithms are compared with the IPNLMS algorithm [4] (since, in general, it outperforms the NLMS algorithm) and also with the JO-NLMS algorithm [24] (using constant values of the parameter σ w 2 ).
In the first experiment, the acoustic echo path is involved. The system is considered time-invariant with σ w 2 = 0 . The ODSS-LMS-W and ODSS-LMS-G algorithms are compared with the IPNLMS algorithm in Figure 2, where the input signal is a white Gaussian noise. Thus, we confirm that relations (19), (24), and (26) are equivalent to (27), (28), and (29), respectively, in case of white Gaussian noise as an input signal. For the same convergence rate as the IPNLMS algorithm, the normalized misalignment of the proposed algorithms is definitely much lower.
In the context of acoustic echo cancellation, the tracking capability of the algorithm is an important aspect. Unfortunately, the acoustic path can rapidly change during the communication. Therefore, in Figure 3, the ODSS-LMS-G algorithm is analyzed for different values of σ w 2 in a scenario where the input signal is a white Gaussian noise. The echo path change has been simulated by shifting the impulse response to the right (by 10 samples) in the middle of the experiment. In this scenario, the importance of the variance σ w 2 is highlighted. The misalignment is much lower for low values of σ w 2 and is dimmed for high values of this parameter (e.g., σ w 2 = 10 10 ). Moreover, the variance of system noise indicates the need of a compromise between low misalignment and tracking capability (e.g., for σ w 2 = 0 , the ODSS-LMS-G algorithm tracks the optimal solution in a slow manner).
Furthermore, we analyze the behavior of the ODSS-LMS-G algorithm for the identification of the sparse network echo path. Figure 4 outlines that the convergence rate is much faster than in the acoustic echo cancellation scenario, and the normalized misalignment decreases with at least 12 dB for all values of σ w 2 as well.
Beyond this, the simulations are performed considering a stationary correlated input signal. In the context of acoustic echo cancellation configuration, Figure 5 shows the performance of the IPNLMS, JO-NLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms in a scenario where the input signal is an AR(1) process, with β = 0.9 . It can be observed that, for high values of σ w 2 , it takes control in Equations (19), (24), (26) and (27)–(29) through Γ ( n ) , and both ODSS-LMS algorithms behave similarly.
Next, the ODSS-LMS-G and ODSS-LMS-W algorithms are analyzed for different values of σ w 2 in a tracking scenario, where the input signal is an AR(1) process, with β = 0.8 . In Figure 6, the unknown system is represented by the sparse network path. The echo path changes in the same manner as in Figure 3. Up to a certain point, the ODSS-LMS-G algorithm deals better with correlated signal as input. We can remark on the lower normalized misalignment in case of ODSS-LMS-G algorithm for low values of σ w 2 , while the tracking capability is affected due to the lack of the initial estimation process. Even so, the tracking could be improved if the variance of the system noise is increased.
In Figure 7, we compare the IPNLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms for different values of σ w 2 in an acoustic echo cancellation scenario, where the input signal is an AR(1) process with β = 0.9 . As in the scenario from Figure 6, the effect of σ w 2 is attenuated with its increase. Therefore, the need of a variable σ w 2 parameter arises. Low values of σ w 2 will lead to a good compromise between fast initial convergence and low misalignment, while high values will keep alive the tracking capability. This issue will be addressed in future works, by targeting a variable parameter to this purpose.
Finally, in Figure 8, we compare the ODSS-LMS algorithms in a network echo cancellation scenario, where the input signal is a speech sequence. Again, we remark on the good performance of the ODSS-LMS-G algorithm with a highly correlated (and nonstationary) input signal.

6. Conclusions

Starting from the LMS algorithm, we developed an optimized differential step-size algorithm in order to update the adaptive filter coefficients. Our approach is developed in the context of a state-variable model and follows an optimization criterion based on the minimization of MSD. We derived a general algorithm valid for any input signal, ODSS-LMS-G, together with a simplified version for white Gaussian input signal, ODSS-LMS-W. The ODSS-LMS-G algorithm presents a high complexity (e.g., O ( L 3 ) ) due to matrix manipulations, while the complexity of the ODSS-LMS-W algorithm is O ( L ) . Nevertheless, they can be considered as benchmark versions for performance analysis. Their performance is highlighted in Section 5, emphasizing the features of the optimized step-size. An important parameter of the algorithm is σ w 2 , which should be tuned to address the compromise between low misalignment and fast tracking. In this context, it would be useful to find a variable parameter. Experiments demonstrate that the ODSS-LMS-G algorithm can be a benchmark in system identification, while the ODSS-LMS-W algorithm could be a possible candidate for field-programmable gate array (FPGA) applications, if the input signal is less correlated.

Author Contributions

Conceptualization, A.-G.R.; Formal analysis, S.C.; Software, C.P.; Methodology, J.B.

Funding

This research received no external funding.

Conflicts of Interest

The authors declares no conflict of interest.

References

  1. Widrow, B. Least-Mean-Square Adaptive Filters; Haykin, S.S., Widrow, B., Eds.; Wiley: Hoboken, NJ, USA, 2003. [Google Scholar]
  2. Duttweiler, D.L. Proportionate normalized least-mean-squares adaptation in echo cancelers. IEEE Trans. Speech Audio Process. 2000, 8, 508–518. [Google Scholar] [CrossRef]
  3. Gay, S.L. An efficient, fast converging adaptive filter for network echo cancellation. In Proceedings of the Conference Record of Thirty-Second Asilomar Conference on Signals, Systems and Computers (Cat. No.98CH36284), Pacific Grove, CA, USA, 1–4 November 1998; pp. 394–398. [Google Scholar]
  4. Benesty, J.; Gay, S.L. An improved PNLMS algorithm. In Proceedings of the 2002 IEEE International Conference on Acoustics, Speech, and Signal Processing, Orlando, FL, USA, 13–17 May 2002. [Google Scholar]
  5. Deng, H.; Doroslovački, M. Proportionate adaptive algorithms for network echo cancellation. IEEE Trans. Signal Process. 2006, 54, 1794–1803. [Google Scholar] [CrossRef]
  6. Das Chagas de Souza, F.; Tobias, O.J.; Seara, R.; Morgan, D.R. A PNLMS algorithm with individual activation factors. IEEE Trans. Signal Process. 2010, 58, 2036–2047. [Google Scholar] [CrossRef]
  7. Liu, J.; Grant, S.L. Proportionate adaptive filtering for block-sparse system identification. IEEE/ACM Trans. Audio Speech Lang. Process. 2016, 24, 623–630. [Google Scholar] [CrossRef]
  8. Gu, Y.; Jin, J.; Mei, S. 0 norm constraint LMS algorithm for sparse system identification. IEEE Signal Process. Lett. 2009, 16, 774–777. [Google Scholar]
  9. Loganathan, P.; Khong, A.W.H.; Naylor, P.A. A class of sparseness-controlled algorithms for echo cancellation. IEEE Trans. Audio Speech Lang. Process. 2009, 17, 1591–1601. [Google Scholar] [CrossRef]
  10. Li, Y.; Wang, Y.; Sun, L. A proportionate normalized maximum correntropy criterion algorithm with correntropy induced metric constraint for identifying sparse systems. Symmetry 2018, 10, 683. [Google Scholar] [CrossRef]
  11. Rusu, A.G.; Ciochină, S.; Paleologu, C. On the step-size optimization of the LMS algorithm. In Proceedings of the 42nd International Conference on Telecommunications and Signal Processing, Budapest, Hungary, 1–3 July 2019; pp. 168–173. [Google Scholar]
  12. Ciochină, S.; Paleologu, C.; Benesty, J.; Grant, S.L.; Anghel, A. A family of optimized LMS-based algorithms for system identification. In Proceedings of the 2016 24th European Signal Processing Conference (EUSIPCO), Budapest, Hungary, 29 August–2 September 2016; pp. 1803–1807. [Google Scholar]
  13. Enzner, G.; Buchner, H.; Favrot, A.; Kuech, F. Acoustic echo control. In Academic Press Library in Signal Processing; Academic Press: Cambridge, MA, USA, 2014; Volume 4, pp. 807–877. [Google Scholar]
  14. Shin, H.-C.; Sayed, A.H.; Song, W.-J. Variable step-size NLMS and affine projection algorithms. IEEE Signal Process. Lett. 2004, 11, 132–135. [Google Scholar]
  15. Benesty, J.; Rey, H.; Rey Vega, L.; Tressens, S. A nonparametric VSS-NLMS algorithm. IEEE Signal Process. Lett. 2006, 13, 581–584. [Google Scholar] [CrossRef]
  16. Park, P.; Chang, M.; Kong, N. Scheduled-stepsize NLMS algorithm. IEEE Signal Process. Lett. 2009, 16, 1055–1058. [Google Scholar] [CrossRef]
  17. Huang, H.-C.; Lee, J. A new variable step-size NLMS algorithm and its performance analysis. IEEE Trans. Signal Process. 2012, 60, 2055–2060. [Google Scholar] [CrossRef]
  18. Song, I.; Park, P. A normalized least-mean-square algorithm based on variable-step-size recursion with innovative input data. IEEE Signal Process. Lett. 2012, 19, 817–820. [Google Scholar] [CrossRef]
  19. Isserlis, L. On a formula for the product-moment coefficient of any order of a normal frequency distribution in any number of variables. Biometrika 1918, 12, 134–139. [Google Scholar] [CrossRef]
  20. Iqbal, M.A.; Grant, S.L. Novel variable step size NLMS algorithms for echo cancellation. In Proceedings of the 2008 IEEE International Conference on Acoustics, Speech and Signal Processing, Las Vegas, NV, USA, 31 March–4 April 2008; pp. 241–244. [Google Scholar]
  21. Paleologu, C.; Ciochină, S.; Benesty, J. Variable step-size NLMS algorithm for under-modeling acoustic echo cancellation. IEEE Signal Process. Lett. 2008, 15, 5–8. [Google Scholar] [CrossRef]
  22. Strassen, V. Gaussian Elimination is not Optimal. Numer. Math. 1969, 13, 354–356. [Google Scholar] [CrossRef]
  23. Coppersmith, D.; Winograd, S. Matrix multiplication via arithmetic progressions. J. Symb. Comput. 1990, 9, 251–280. [Google Scholar] [CrossRef] [Green Version]
  24. Ciochină, S.; Paleologu, C.; Benesty, J. An optimized NLMS algorithm for system identification. Signal Process. 2016, 118, 115–121. [Google Scholar] [CrossRef]
  25. ITU. Digital Network Echo Cancellers, ITU-T Recommendation G 168; ITU: Geneva, Switzerland, 2002. [Google Scholar]
  26. Hoyer, P.O. Non-negative matrix factorization with sparseness constraints. J. Mach. Learn. Res. 2001, 49, 1208–1215. [Google Scholar]
Figure 1. Echo paths used in simulations. (a) acoustic echo path and (b) network echo path (which is adapted from G168 Recommendation [25].)
Figure 1. Echo paths used in simulations. (a) acoustic echo path and (b) network echo path (which is adapted from G168 Recommendation [25].)
Algorithms 12 00147 g001
Figure 2. Normalized misalignment of the IPNLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms, where σ w 2 = 0 , the input signal is a white Gaussian noise, L = 512 , and SNR = 20 dB. The unknown system is the acoustic echo path.
Figure 2. Normalized misalignment of the IPNLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms, where σ w 2 = 0 , the input signal is a white Gaussian noise, L = 512 , and SNR = 20 dB. The unknown system is the acoustic echo path.
Algorithms 12 00147 g002
Figure 3. Normalized misalignment of the IPNLMS and ODSS-LMS-G algorithms for different values of σ w 2 . Echo path changes at time 10 s. The input signal is a white Gaussian noise, L = 512 , and SNR = 20 dB. The unknown system is the acoustic echo path.
Figure 3. Normalized misalignment of the IPNLMS and ODSS-LMS-G algorithms for different values of σ w 2 . Echo path changes at time 10 s. The input signal is a white Gaussian noise, L = 512 , and SNR = 20 dB. The unknown system is the acoustic echo path.
Algorithms 12 00147 g003
Figure 4. Normalized misalignment of the IPNLMS and ODSS-LMS-G algorithms for different values of σ w 2 . Echo path changes at time 10 s. The input signal is a white Gaussian noise, L = 512 , and SNR = 20 dB. The unknown system is the network echo path.
Figure 4. Normalized misalignment of the IPNLMS and ODSS-LMS-G algorithms for different values of σ w 2 . Echo path changes at time 10 s. The input signal is a white Gaussian noise, L = 512 , and SNR = 20 dB. The unknown system is the network echo path.
Algorithms 12 00147 g004
Figure 5. Normalized misalignment of the IPNLMS, JO-NLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms for different values of σ w 2 . The input signal is an AR(1) process, with β = 0.9 , L = 512 , and SNR = 20 dB. The unknown system is the acoustic echo path.
Figure 5. Normalized misalignment of the IPNLMS, JO-NLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms for different values of σ w 2 . The input signal is an AR(1) process, with β = 0.9 , L = 512 , and SNR = 20 dB. The unknown system is the acoustic echo path.
Algorithms 12 00147 g005
Figure 6. Normalized misalignment of the IPNLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms for different values of σ w 2 . Echo path changes at time 10 s. The input signal is an AR(1) process, with β = 0.8 , L = 512 , and SNR = 20 dB. The unknown system is the network echo path.
Figure 6. Normalized misalignment of the IPNLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms for different values of σ w 2 . Echo path changes at time 10 s. The input signal is an AR(1) process, with β = 0.8 , L = 512 , and SNR = 20 dB. The unknown system is the network echo path.
Algorithms 12 00147 g006
Figure 7. Normalized misalignment of the IPNLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms for different values of σ w 2 . Echo path changes at time 10 s. The input signal is an AR(1) process, with β = 0.9 , L = 512 , and SNR = 20 dB. The unknown system is the acoustic echo path.
Figure 7. Normalized misalignment of the IPNLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms for different values of σ w 2 . Echo path changes at time 10 s. The input signal is an AR(1) process, with β = 0.9 , L = 512 , and SNR = 20 dB. The unknown system is the acoustic echo path.
Algorithms 12 00147 g007
Figure 8. Normalized misalignment of the IPNLMS, JO-NLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms. The input signal is a speech sequence, L = 512 , and SNR = 20 dB. The unknown system is the network echo path.
Figure 8. Normalized misalignment of the IPNLMS, JO-NLMS, ODSS-LMS-G, and ODSS-LMS-W algorithms. The input signal is a speech sequence, L = 512 , and SNR = 20 dB. The unknown system is the network echo path.
Algorithms 12 00147 g008

Share and Cite

MDPI and ACS Style

Rusu, A.-G.; Ciochină, S.; Paleologu, C.; Benesty, J. An Optimized Differential Step-Size LMS Algorithm. Algorithms 2019, 12, 147. https://doi.org/10.3390/a12080147

AMA Style

Rusu A-G, Ciochină S, Paleologu C, Benesty J. An Optimized Differential Step-Size LMS Algorithm. Algorithms. 2019; 12(8):147. https://doi.org/10.3390/a12080147

Chicago/Turabian Style

Rusu, Alexandru-George, Silviu Ciochină, Constantin Paleologu, and Jacob Benesty. 2019. "An Optimized Differential Step-Size LMS Algorithm" Algorithms 12, no. 8: 147. https://doi.org/10.3390/a12080147

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop