In "normalized" LMS, the gradient step factor
μμ is normalized by the energy
of the data vector:
μ
NLMS
=αXkHXk+σ
μ
NLMS
α
X
k
H
X
k
σ
where
αα is usually
12
1
2
and
σσ is a very small number
introduced to prevent division by zero if
XkHXk
X
k
H
X
k
is very small.
W
k
+
1
=
W
k
+1XHX
e
k
Xk
W
k
+
1
W
k
1
X
H
X
e
k
X
k
The normalization has several interpretations
- corresponds to the 2nd-order convergence bound
- makes the algorithm independent of signal scalings
- adjusts
W
k
+
1
W
k
+
1
to give zero error with current input:
W
k
+
1
X
k
=
d
k
W
k
+
1
X
k
d
k
- minimizes mean effort at time
k+1
k
1
NLMS usually converges
much more quickly than LMS at very little
extra cost; NLMS is
very commonly used.
In some applications, normalization is so universal that
"we use the LMS algorithm" implies normalization as well.
"A good introduction in adaptive filters, a major DSP application."