Least Mean-Square Error (LMS) Adaptive Weights
Antennas (and antenna arrays) often operate in dynamic environments, where the signals (both desired and interfering) arrive
from changing directions and with varying powers. As a result, adaptive antenna arrays have been developed. These antenna arrays
employ an adaptive weighting algorithm, that adapts the weights based on the received signals to improve the performance of the array.|
In this section, the LMS algorithm is introduced. LMS stands for Least-Mean-Square. This algortihm was developed by Bernard Widrow in the 1960s, and is the first widely used adaptive algorithm. It is still widely used in adaptive digital signal processing and adaptive antenna arrays, primarily because of its simplicity, ease of implementation and good convergence properties.
The goal of the LMS algorithm is to produce the MMSE weights for the given environment. The definitions of all the terms used on this page follows that from the MMSE page, which should be understood before reading this page. The goal of the LMS algorithm is to adaptively produce weights that minimize the mean-squared error between a desired signal and the arrays output; loosely speaking, it tries to maximize reception in the direction of the desired signal (who or what the array is trying to communicate with) and minimize reception from the interfering or undesirable signals.
Just as in the MMSE case, some information is needed before optimal weights can be determined. And just as in the MMSE weighting case, the required information is the desired signal's direction and power. The direction is specified via the desired signal's steering vector () and the signal power is written as . Note that these parameters can vary with time, as the environment is assumed to be changing. The directions and power can be determined using various direction finding algorithms, which analyze the received signals at each antenna in order to estimate the directions and power.
Recall that the Mean-Squared Error between the desired signal and the array's output can be written as:
The gradient (vector derivative with respect to the weight vector) can be written as:
The LMS algorithm requires an estimate of the autocorrelation matrix in order to obtain weights that minimize the MSE. The LMS algorithm estimates the autocorrelation matrix () using only the current received signal at each antenna (specified by the vector X). The weights are updated iteratively, at discrete instances of time, denoted by an index k. The estimate of the autocorrelation matrix at time k, written with a bar overhead, is written as:
The LMS algorithm then approximates the gradient of the MSE by substituting in the above simple approximation for the autocorrelation matrix:
The adaptive weights will be written as W(k), where k is an index that specifies time. The LMS weighting algorithm simply updates the weights by a small amount in the direction of the negative gradient of the MSE function. By moving in the direction of the negative gradient, the overall MSE is decreased at each time step. In this manner, the weights iteratively approach the optimal values that minimize the MSE. Moreover, since the adaptive algorithm is continuously updating, as the environment changes the weights adapt as well.
The weights are updated at regular intervals, and the weight at time k+1 is related to time k by:
The parameter controls the size of the steps the weights make, and affects the speed of convergence of the algorithm. To guarantee convergence, it should be less than 2 divided by the largest eigenvalue of the autocorrelation matrix. Substituting in the estimate for the gradient above, the LMS update algorithm can be written as a simple iterative equation:
The algorithm simplicity is the primary reason for its widespread use. The above update equation does not require any complex math, it just uses the current samples of the received signal at each antenna (X).
Example of LMS AlgorithmAssume a linear array of antennas, with half-wavelength spacing and N=5 elements in the array. We'll assume the Signal-to-Noise Ratio (SNR) is 20 dB and that the noise is Gaussian and independent from one antenna to the next. Assume there are two interferers arriving from 40 and 110 degrees, with an interfering power of 10 dB (relative to the desired signal). The desired signal is assumed to come from 90 degrees.
The algorithm is starting assuming a weight vector of all ones (the starting weight vector ideally has no impact on the end results):
The convergence parameter is chosen to be:
Using random noise at every step, the algorithm is stepped forward from the initial weight. The resulting MSE at each time step is shown in the following figure, relative to the optimal MSE.
The LMS algorithm is fairly efficient in moving towards the optimal weights for this case. Since the algorithm uses an approximateion of the autocorrelation matrix at each time step, some of the steps actually increase the MSE. However, on average, the MSE decreases. This algorithm is also fairly robust to changing environments.
Several adaptive algorithms have expanded upon ideas used in the original LMS algorithm. Most of these algorithms seek to produce improved convergence properties at the expense of increased computational complexity. For instance, the recursive least-square (RLS) algorithm seeks to minimize the MSE just as in the LMS algorithm. However, it uses a more sophisticated update to find the optimal weights that is based on the matrix inversion lemma. Both of these algorithms (and all others based on the LMS algorithm) have the same optimal weights the algorithms attempt to converge to.