Minimum MeanSquare Error (MMSE) Weights
In this section, I'm going to move on to a (relatively) more advanced weighting scheme, one that
is statistically based instead of deterministic. This weighting method minimizes the Mean Square Error (MSE)
between the desired output (a known signal) and what the array actually outputs. To do this, it is required that
the direction of arrival of the desired signal and its expected power are known. These can be estimated (the
direction can be determined via direction finding algorithms, which are a little tricky).
We'll require some probability theory to understand this method,
but don't worry if you don't, its not vital to understanding antenna arrays in general. Lets start with an arbitrary array of N elements, which can be a 1, 2, or 3dimensional array of arbitrary geometry (the array does not need to be uniformly spaced). We'll assume the desired signal is specified as s(t), with a direction and frequency specified by its wavevector, . We'll now assume there is noise at each antenna, specified as . The noise does not need to follow a particular statistical distribution (i.e. Gaussian). We will write the noise at each antenna as a vector:
In addition to noise, we'll assume that there are G interfering signals, which we will write as , each with a corresponding wavevector , for a=1,2,...,G. The resulting signals at each antenna can be written in vector notation using steering vectors as:
Note that each term in the above equation is also oscillating at frequency f, but this is not needed in the analysis. We've now defined the signals that are present at the terminals of the N antennas in the array. We now want to determine a set of weights that will yield the desired signal s(t) as closely as possible. The desired output is simply the desired signal:
The actual output is the antenna signals X multiplied by the weights and added together:
In the above, H is the Hermitian operator (conjugate transpose). The error in the actual output and the desired output is simply:
The meansquared error (MSE) can be written as:
In the above, the * operator represents complex conjugate. The E[] operator represents the expected value operator (this basically returns the average value of what is inside  with the averages weighted by which values are statistically more likely to occur). Our goal is to find weights that minimizes the above equation. First we'll substitute in the error definition above along with the specified terms:
YOu may have noticed we are in the middle of a somewhat long derivation. To recap, we have an arbitrary N element array, and we're trying to find weights minimize the MSE between the desired output of the array and the actual output of the array. We'll continue this on the next page.
