The procedure of the Normalized Least Mean Squares (NLMS) algorithm is the same as the LMS algorithm except for the estimation of the time-varying step-size μ(k).

The following equation defines a popular self-adjustable step-size μ(k) that you use in the NLMS algorithm:

μk=με+φk2

φk
represents the data vector. ε is a very small positive number that prevents the denominator from equaling zero when
φk2
2 approaches zero.

The step-size μ(k) is time-varying because the step-size changes with the time index k.

Substituting μ(k) into the parametric vector

wk
equation yields the following equation:

wk+1=wk+μkekφk

Compared to the Least Mean Squares (LMS) algorithm, the NLMS algorithm is always stable if the step-size μ(k) is between zero and two, regardless of the statistical property of the stimulus signal u(k).