A family of variable step-size affine projection adaptive filter algorithms using statistics of channel impulse response

This paper extends the recently introduced variable step-size (VSS) approach to the family of adaptive filter algorithms. This method uses prior knowledge of the channel impulse response statistic. Accordingly, optimal step-size vector is obtained by minimizing the mean-square deviation (MSD). The presented algorithms are the VSS affine projection algorithm (VSS-APA), the VSS selective partial update NLMS (VSS-SPU-NLMS), the VSS-SPU-APA, and the VSS selective regressor APA (VSS-SR-APA). In VSS-SPU adaptive algorithms the filter coefficients are partially updated which reduce the computational complexity. In VSS-SR-APA, the optimal selection of input regressors is performed during the adaptation. The presented algorithms have good convergence speed, low steady state mean square error (MSE), and low computational complexity features. We demonstrate the good performance of the proposed algorithms through several simulations in system identification scenario.


Introduction
Adaptive filtering has been, and still is, an area of active research that plays an active role in an ever increasing number of applications, such as noise cancellation, channel estimation, channel equalization and acoustic echo cancellation [1,2]. The least mean squares (LMS) and its normalized version (NLMS) are the workhorses of adaptive filtering. In the presence of colored input signals, the LMS and NLMS algorithms have extremely slow convergence rates. To solve this problem, a number of adaptive filtering structures, based on affine subspace projections [3,4], data reusing adaptive algorithms [5,6], block adaptive filters [2] and multi rate techniques [7,8] have been proposed in the literatures. In all these algorithms, the selected fixed step-size can change the convergence and the steady-state mean square error (MSE). It is well known that the steady-state MSE decreases when the step-size decreases, while the convergence speed increases when the step-size increases. By optimally selecting the step-size during the adaptation, we can obtain both fast convergence rates and low steady-state MSE. These selections are based on various criteria. In [9], squared instantaneous errors were used. To improve noise immunity under Gaussian noise, the squared autocorrelation of errors at adjacent times was used in [10], and in [11], the fourth order cumulant of instantaneous error was adopted.
In [12], two adaptive step-size gradient adaptive filters were presented. In these algorithms, the step sizes were changed using a gradient descent algorithm designed to minimize the squared estimation error. This algorithm had fast convergence, low steady-state MSE, and good performance in nonstationary environment. The blind adaptive gradient (BAG) algorithm for code-aided suppression of multiple-access interference (MAI) and narrow-band interference (NBI) in direct-sequence/codedivision multiple-access (DS/CDMA) systems was presented in [13]. The BAG algorithm was based on the concept of accelerating the convergence of a stochastic gradient algorithm by averaging. The authors shown that the BAG had identical convergence and tracking properties to recursive least squares (RLS) but had a computational cost similar to the LMS algorithm. In [14], two low complexity variable step size mechanisms were proposed for constrained minimum variance (CMV) receivers that operate with stochastic gradient algorithms and are also incorporated in the channel estimation algorithms. Also, the low low-complexity variable step size mechanism for blind code-constrained constant modulus algorithm (CCM) receivers was proposed in [15]. This approach was very useful for nonstationary wireless environment.
In [16], a generalized normalized gradient descent (GNGD) algorithm for linear finite-impulse response (FIR) adaptive filters was introduced that represents an extension of the NLMS algorithm by means of an additional gradient adaptive term in the denominator of the learning rate of NLMS. The simulation results show that the GNGD algorithm is robust to significant variations of initial values of its parameters.
Important examples of two new variable step-size (VSS) versions of the NLMS and the affine projection algorithm (APA) can be found in [17]. In [17], the step-size is obtained by minimizing the mean-square deviation (MSD). This introduced algorithms show good performance in convergence rate and steady-state MSE. This approach was successfully extended to selective partial update (SPU) adaptive filter algorithm in [18].
To improve the performance of adaptive filter algorithms, the adaptive filter algorithm was proposed based on channel impulse response statistics [19,20]. In [21] a new variable-step-size control was proposed for the NLMS algorithm. In this algorithm, the step-size vector with different values for each filter coefficient was used. In this approach, based on prior knowledge of the channel impulse response statistics, the optimal step-size vector is obtained by minimizing the mean-square deviation (MSD) between the optimal and estimated filter coefficients.
Another feature which is important in adaptive filter algorithms is computational complexity. Several adaptive filters with fixed step-size, such as the adaptive filter algorithms with selective partial updates have been proposed to reduce the computational complexity. These algorithms update only a subset of the filter coefficients in each time iteration. The Max-NLMS [22], the variants of the SPU-NLMS [23], and SPU-APA [24,25] are important examples of this family of adaptive filter algorithms. Recently an affine projection adaptive filtering algorithm with selective regressors (SR) was also proposed to reduce the computational complexity of APA [26][27][28]. In this algorithm, the recent regressors are optimally selected during the adaptation.
In this paper, we extend the approach in [21] to the APA, SPU-NLMS, SPU-APA, and SR-APA and four novel VSS adaptive filter algorithms are established. These algorithms are computationally efficient.
We demonstrate the good performance of the presented algorithms through several simulation results in system identification scenario. The comparison of the proposed algorithms with other algorithms is also presented.
What we propose in this paper can be summarized as follows: • The establishment of the VSS-APA.
• The establishment of the VSS-SPU-NLMS.
• The establishment of the VSS-SPU-APA.
• The establishment of the VSS-SR-APA.
• Demonstrating of the proposed algorithms in system identification scenario.
• Demonstrating the tracking ability of the proposed algorithms.
We have organized our paper as follows. In section 2, the NLMS and SPU-NLMS algorithms will be briefly reviewed. Then, the family of APA, SR-APA and SPU-APA are presented and the family of variable step-size adaptive filters is established. In the following, the computational complexity of the VSS adaptive filters is discussed. Finally, before concluding the paper, we demonstrate the usefulness of these algorithms by presenting several experimental results.
Throughout the paper, the following notations are adopted: |.| norm of a scalar ||.|| 2 squared Euclidean norm of a vector (.) T transpose of a vector or a matrix tr(.) trace of a matrix E[.] expectation operator 2 Background on family of NLMS algorithm

2-1 Background on NLMS
The output y(n) of an adaptive filter at time n is given by where w(n) = [w 0 (n), w 1 (n), ..., w M-1 (n)] T is the M × 1 filter coefficients vector and X(n) = [x(n), x(n-1), ..., x(n-M+1)] T is the M × 1 of input signal vector. The NLMS algorithm is derived from the solution of the following constrained minimization problem [1] min w(n+1) Subject to w T (n + 1) X(n) = d(n) (2) where d(n) is the desired signal. The resulting NLMS algorithm is given by the recursion where μ is the step-size which is introduced to control the convergence speed (0 <μ < 2). Also, e(n) is the output error signal which is defined as

2-2 Selective Partial Update NLMS
By partitioning the filter coefficients and input signal vectors to the B blocks each of length L (note that B = M/L and is an integer), X(n) = [x 1 (n), x 2 (n), ..., x B (n)] T and w(n) = [w 1 (n), w 2 (n), ..., w B (n)] T , the SPU-NLMS algorithm for a single block update at every iteration minimizes the following optimization problem: where F = {j 1 , j 2 , ..., j S } denote the indices of the S blocks out of B blocks that should be updated at every adaptation and w F (n) = w j 1 , w j 2 , ..., w j S T [24]. Again by using the method of Lagrange multipliers, and defining

the update equation
for SPU-NLMS is given by: Indices of F correspond to S largest values of x j (n) 2 for 1 ≤ j ≤ B For M = B and L = 1, the SPU-NLMS algorithm in (6) reduces to which is the max-NLMS algorithm [22]. For M = B and L = B, the SPU-NLMS algorithm becomes identical to NLMS algorithm in (3).

3-1. Affine projection algorithm (APA)
Now, define the M × K matrix of the input signal and K × 1 of the desired signal as: where K is a positive integer (usually, but not necessarily K ≤ M). The family of APA can be established by minimizing relation (2) but subject to d(n) = X T (n) w(n +1). Again, by using the method of Lagrange multipliers, the filter vector update equation for the family of APA is given by: where e(n) = [e(n), e(n-1), ..., e(n-K+1)] T is the output error vector, which is defined as: 3-2 Selective Regressor APA (SR-APA) In [26], another novel affine projection algorithm with selective regressors (SR), called (SR-APA), was presented. In this section, we briefly review the SR-APA. The SR-APA minimizes relation (2) subject to: where G = {i 1 , i 2 , ..., i p } denote the P subset (subset with P member) of the set {0, 1, ..., K-1}.
is the M × P matrix of the input signal and: is the P × 1 vector of the desired signal. Using the method of Lagrange multipliers to solve this optimization problem leads to the following update equation: The indices of G are obtained by the following procedure: 1. Compute the following values for 0 ≤ i ≤ K -1: 2. The indices of G correspond to P largest values of (17).

3-3. Selective Partial Update APA (SPU-APA)
The SPU-APA solves the following optimization problem [24]: Subject to X T (n) w(n + 1) = d(n) (18) where F = {j 1 , j 2 , ..., j S } denote the indices of the S blocks out of B blocks that should be updated at every adaptation. Again, by using the Lagrange multipliers approach, the filter vector update equation is given by: (19) where is the SL × K matrix and: is the L × K matrix. The indices of F are obtained by the following procedure: 1. Compute the following values for 1 ≤ i ≤ B: 2. The indices of F correspond to S largest values of relation (22).

4-1. Variable
Step-Size NLMS algorithm using statistics of channel response Consider a linear system with its input signal X(n) and desired signal d(n) are related by where h = [h 0 , h 1 , ..., h M-1 ] T is the true unknown system with memory length M, X(n) = [x(n), ..., x(n-M+1)] T is the system input vector, and v(n) is the additive noise.
The filter coefficients of VSS-NLMS are updated by [21] w(n where the step-size matrix is defined as To quantitatively evaluate the mis-adjustment of the filter coefficients, the MSD is taken as a figure of merit, which is defined as where the weight error vector is given by Note that at each iteration, the MSD depends on μ i (n), and by using the independent and identically distributed (i.i.d) sequence for input signal, we have The optimal step-size is obtained by minimizing the MSD at each iteration. Taking the first-order partial derivative of Λ(n+1) with respect to μ i (n)(i = 0, ..., M-1), and setting it to zero, we obtain and We can estimate E[e 2 (n)] by a moving average approach of e 2 (n): where 0 < λ < 1 is the forgetting factor. Also, the initial value for E w 2 i (0) is given by the second-order statistics of the channel impulse response, i.e. E h 2 i .

4-2. Variable
Step-Size Selective Partial Update NLMS algorithm using statistics of channel response The filter coefficients in SPU-NLMS are updated by Approximating e(n) with and substituting (31) into (32), we obtain and where and I SL is the SL × SL identity matrix. For obtaining the MSD, we can write where wḞ(n) are the weights that are not selected to update and we know Combining (34), (36) and (37) we have Combining (38) and (39), we get Taking the first-order partial derivative of Λ(n+1) with respect to μ i (n)(I = 0, ..., M-1), and setting it to zero for j F we have Therefore, To update w 2 j (n) , we use the following equation obtained by taking the mean square of the j th entry in (34): From (32), we can write and Also, E(e 2 (n)) is obtained according to (30).

4-3. Variable
Step-Size APA using statistics of channel response Suppose X(n), and d(n) are defined similar to Section 3-1, and is the noise vector, X(n) is the input signal matrix and d(n) is the desired signal vector which are related by The filter coefficients in VSS-APA are updated by Combining (11) and (47), we rewrite the estimation error signal in (11) as Substituting (49) into (48), we obtain and I M is the M × M identity matrix. The MSD is defined as relation (26) and combining it with (50), we have Similar to [21], we assume that the entries of X(n) and v(n) are zero-mean independent and identically distributed (i.i.d) sequence with variance σ 2 x and σ 2 v , respectively; w(n), X(n) and v(n) are mutually independent. Therefore, we obtain from (51), Combining (52) and (53), we get The optimal step-size is obtained by minimizing the MSD at each iteration. Taking the first-order partial derivative of Λ(n+1) with respect to μ i (n)(i = 0, ..., M-1), and setting it to zero, we obtain To update w 2 i (n) , we use the following equation obtained by taking the mean square of the i th entry in (50): We obtain from (49) E e(n) 2 Substitution of (57) into (56) leads to It is straightforward to estimate E[||e(n)|| 2 ] by a moving average of ||e(n)|| 2 :

4-4. Variable
Step-Size Selective Regressor AP algorithm using statistics of channel response The filter coefficients in VSS-SR-APA are updated by Assuming d G (n) = X T G (n)h + v G (n) and combining it with (16), we have where Substituting (61) into (60), we obtain and where Combining MSD and (65) we have From (66), we can write Combining (66) and (67), we get Taking the first-order partial derivative of Λ(n+1)with respect to μ i (n)(i = 0, ..., M-1), and setting it to zero we have Therefore, To update w 2 i (n) , we use the following equation obtained by taking the mean square of the j th entry in (64): From (61), we can write Therefore, It is straightforward to estimate E[||e G (n)|| 2 ] by a moving average of ||e G (n)|| 2 :

4-5. Variable
Step-Size Selective Partial Update AP algorithm using statistics of channel response The filter coefficients in VSS-SPU-APA are updated by and substituting (76) into (75), we obtain and where Combining MSD and (78) we have From (79), we can write Combining (81) and (80), we get Taking the first-order partial derivative of Λ(n+1) with respect to μ i (n)(i = 0, ..., M-1), and setting it to zero for j F we have Therefore, for j F we have To update w 2 i (n) , we use the following equation obtained by taking the mean square of the j th entry in (78): From (76), we can write E e(n) 2 Also E[||e(n)|| 2 ] is obtained according to (59).

Computational complexity
The computational complexity of the VSS adaptive algorithms has been given in Tables 1 and 2. The computational complexity of the APA and NLMS is from [4]. The SPU-NLMS needs 3SL+1 multiplications. This algorithm needs 1 additional multiplication and B log 2 S +O(B) comparisons. Comparing the updated equation for NLMS and VSS-NLMS shows that the VSS-NLMS needs 4M + 3 additional multiplication and M division due to variable step-size. In VSS-SPU-NLMS, the additional multiplication and additional division is respectively 4SL + 3 and SL. Also, this algorithm needs B log 2 S +O(B) comparisons. It is obvious that the computational complexity of VSS-SPU-NLMS is lower than VSS-NLMS. The number of reductions in multiplication and division for VSS-SPU-NLMS is respectively 3(M-SL)-1 and M-SL.
The SPU-APA needs (K 2 +2K)SL+K 3 +K 2 multiplications. This algorithm needs 1 additional multiplication and B log 2 S+O(B) comparisons. The SR-APA needs (P 2 +2P)M +P 3 +P 2 multiplications and K divisions. This algorithm needs (K-P)M+K+1 additional multiplications and K log 2 P +O(K) comparisons. Comparing the updated equation for APA and VSS-APA shows that the VSS-APA needs Table 1 The computational complexity of NLMS, SPU-NLMS, VSS-NLMS, and VSS-SPU-NLMS algorithms KM 2 +3M+K+1 additional multiplications and M divisions due to variable step-size. In VSS-SPU-APA, the additional multiplication is KS 2 +L 2 +3SL+K+1 and additional division is SL. Also, this algorithm needs B log 2 S+O(B) comparisons. It is obvious that the computational complexity of VSS-SPU-APA is lower than VSS-APA. The number of reductions in multiplication and division for VSS-SPU-APA is respectively (K 2 +2K+4)(M-SL)+K(M 2 -S 2 L 2 ) and M-SL. In VSS-SR-APA, the additional multiplication is 3M+P+1 and additional division is M compared with SR-APA. Also this algorithm needs K log 2 P+O(K) comparisons. It is obvious that the computational complexity of VSS-SR-APA is lower than VSS-APA.

Experimental results
We presented several simulation results in system identification scenario. The unknown impulse response is generated according to h i = e iτ r(i), i = 0, ..., M-1, where r(i) is a white Gaussian random sequence with zero-mean and variance σ 2 r of 0.09 [20]. The length of impulse responses were set to M = 20, and 50 in simulations. Also, the envelope decay rate τ was set 0.04. The filter input is a zero-mean i.i.d. Gaussian process with variance σ 2 x = 1. Another input signal is colored Gaussian signal which is generated by filtering white Gaussian noise through a first-order autoregressive (AR (1)) system with the transfer function: The white zero-mean Gaussian noise was added to the filter output such that the SNR = 15dB.
In all simulations, the MSD curves are obtained by ensemble averaging over 200 independent trials. Figure 1 shows the MSD curves of APA, VSS-APA in [17], proposed VSS-APA, ES [19] and GNGD algorithm [16] for colored Gaussian input and M = 20. The parameter K was set to 4 and different values for μ were used in APA. As we can see, by increasing the step-size, the convergence speed increases but the steady-state MSD also increases. The VSS-APA in [17] has both fast convergence speed and low steady-state MSD. The proposed VSS-APA has faster convergence speed and lower steady-state MSD than VSS-APA in [17], and classical APA.
In Figure 2 we presented the MSD curves for colored Gaussian input and M = 50. In this simulation, the parameter K was set to 10. The results are also compared with APA with different values for the step-size and VSS-APA proposed in [17]. As we can see the performance of proposed VSS-APA has both fast convergence speed and low steady-state MSD features.  [16] (f) ES [19] (a) (b) (c) Input : Colored Gaussian signal M=20, K=4 (e) (f) (d) Figure 1 Comparing the MSD curves of APA with high and low step-sizes, variable step-size proposed in [17], proposed VSS-APA, GNGD [16]and ES [19]algorithms with M = 20, K = 4 and colored Gaussian signal as input.  [17] (d) Proposed-VSS-APA (e) GNGD, 0 =0.5, =0.15 [16] (f) ES [19] (a)

Shams Esfand Abadi and AbbasZadeh Arani
Input : Colored Gaussian signal M=50,K=10 Figure 2 Comparing the MSD curves of APA with high and low step-sizes, variable step-size proposed in [17], proposed VSS-APA, GNGD [16]and ES [19]algorithms with M = 50, K = 10 and colored Gaussian signal as input. for the step-size have been used in SPU-APA. The simulation results show that the VSS-SPU-APA has good performance compared with SPU-APA. Also, the proposed VSS-APA, and VSS-SPU-APA have close performance. But the computational complexity of VSS-SPU-APA is lower than VSS-APA. Figure 5 compares the MSD curves of SPU-NLMS, VSS-NLMS in [21], proposed VSS-SPU-NLMS, ES [19] and GNGD algorithms [16]. The parameters B, and S were set to 4, and 2 respectively. Various values for the step-size have been used for SPU-NLMS. The simulation results show that the proposed VSS-SPU-NLMS has fast convergence speed and low steady-state MSD features. Also this algorithm has close performance to VSS-NLMS in [21]. Good performance can be seen for proposed VSS-SPU-NLMS. This fact can be seen in Figure 6 for M = 50.  [16] (f) VSS-NLMS proposed in [17] (g) ES [19] (c) (d) (e) (a) Input : Colored Ggaussian signal M=20 (f) (g) (b) Figure 5 Comparing the MSD curves of SPU-NLMS with high and low step-sizes, VSS-NLMS proposed in [17], VSS-NLMS proposed in [21], proposed VSS-SPU-NLMS, GNGD [16]and ES [19]algorithms with M = 20 and colored Gaussian signal as input.  Figure 7 compares the MSD curves of SR-APA, proposed VSS-SR-APA, and VSS-APA for colored Gaussian input signal. The parameter K was set 4. Again, large and small values for step-size have been used in SR-APA. As we can see, the proposed VSS-SR-APA has good convergence speed and low steady-state MSD. This figure shows that the proposed VSS-APA has better performance than proposed VSS-SR-APA. In Figure   8, we presented the results for M = 50, and colored Gaussian input signal. Comparing the MSD curves show that the VSS-SR-APA has also good performance in this case. Figure 9 compares the MSD curves of proposed VSS-SPU-APA with S = 2 and S = 3, proposed-VSS-APA, ES [19], GNGD algorithm [16] and VSS-APA proposed in [17] with M = 20, K = 4 for colored  [21] (d) Proposed-VSS-SPU-NLMS (e) GNGD, 0 =0.3, rho=0.15 [16] (f) VSS-NLMS, proposed in [17] (g) ES [19] (a) (b) (c) (d) (e) (f) Input : Colored Gaussian signal M=50 (g) Figure 6 Comparing the MSD curves of SPU-NLMS with high and low step-sizes, VSS-NLMS proposed in [17], VSS-NLMS proposed in [21], proposed VSS-SPU-NLMS, GNGD [16]and ES [19]algorithms with M = 50 and colored Gaussian signal as input. Gaussian signal input. The simulation results show that the proposed VSS-APA has better performance than proposed VSS-APA in [17]. Also the performance of proposed VSS-SPU-APA for S = 3 is close to proposed VSS-APA. Figure 10 compares the MSD curves of proposed VSS-SPU-NLMS with S = 1 and S = 2 and S = 3, proposed VSS-NLMS, ES [19], GNGD algorithm [16], and VSS-NLMS proposed in [17] with M = 20, K = 4 for colored Gaussian signal input. This figure shows that the proposed VSS-NLMS has better performance than VSS-NLMS in [17]. Also by increasing the parameter S, the MSD curves of VSS-SPU-NLMS will be closed to VSS-NLMS. Figure 11 presents the MSD curves of proposed VSS-SR-APA with P = 1 and P = 2 and P = 3 and  [16] (f) ES [21] Input : colored Gaussian signal M=20, K=4 Figure 9 Comparing the MSD curves of proposed VSS-SPU-APA with S = 2 and S = 3, proposed-VSS-APA, VSS-APA proposed in [17], GNGD [16]and ES [19]algorithms with M = 20, K = 4 and colored Gaussian signal as input.
proposed VSS-APA, ES [19], GNGD algorithm [16], and VSS-APA proposed in [17] with M = 20, K = 4 for colored Gaussian signal input. This figure shows that the performance of VSS-SR-APA is better than VSS-APA in [17]. Also, by increasing the parameter P, the performance of VSS-SR-APA will be closed to VSS-APA.

Conclusions
In this paper, we presented the novel VSS adaptive filter algorithms such as VSS-SPU-NLMS, VSS-APA, VSS-SR-APA and VSS-SPU-APA based on prior knowledge of the channel impulse response statistic. These algorithms exhibit fast convergence while reducing the steady-state MSD as compared to the ordinary SPU-NLMS, APA, SR-APA and SPU-APA algorithms. The presented algorithms were also computationally efficient. We demonstrated the good performance of the presented VSS adaptive algorithms in system identification scenario.