Complete Communications Engineering

The normalized least mean squared (NLMS) algorithm is a specialized version of the least mean squared method which attempts to account for signals with time-varying average power. This is useful for applications whose parameters are nonstationary, such as speech. Using the NLMS algorithm allows for the filter taps to be updated in such a way that they reflect the changes in the energy level of the signal, which improves the convergence behavior of the algorithm. Because nonstationary signals have time-varying average power, NLMS can be a more ideal choice than LMS for certain applications such as echo cancellation, where the eigenvalue spread of the autocorrelation matrix R may be large.

Changes in the adaptive coefficients in a stationary state are dependent on two factors: step size, and signal energy. Hence, in NLMS the step size is reduced (normalized) in cases where the signal energy influences the filter tap weight coefficients in a harmful way. When compared to conventional LMS, NLMS is relatively less susceptible to problems caused by eigenvalue spread because of its ability to adjust its step-size each based on the signal energy.

Recall the basic iterative procedure for the conventional LMS algorithm below. The filter coefficients H are computed as follows:

\mathbf{H}_{k+1}(n) = \mathbf{H}_{k}(n) + \mu*e(n)\mathbf{X}(n))

This formula can be modified to NLMS with the following adjustment:

\mu = \frac{\mu_{norm} }{\alpha + \mathbf{X}^{T}\mathbf{X}(n)}

where \alpha is a small valued constant, \alpha << \mathbf{X}^{T}(n)\mathbf{X}(n) and \mu_{norm} is some chosen value with a convergence bound \mu_{norm}<2 In cases where signal energy \mathbf{X}^{T}(n)\mathbf{X}(n) is very small, a value of \alpha = 1 may be used. The \mu_{norm} constant controls the rate of convergence, as well as the amount of misadjustment in the algorithm. A typical application may use a \mu_{norm} value of \mu_{norm}= 0.5


NLMS is a common algorithm for adaptive echo cancellation applications. A block diagram displaying this application is shown in the figure below.

 NLMS adaptive filter for echo cancellation
Figure 1: NLMS adaptive filter for echo cancellation