In this section, we show how the channel estimates and data decisions are exploited to perform DOA estimation. To this end, we denote by
the data decisions and by
the estimates of the channel frequency responses. We begin by computing the following quantities during the m th received block:
Substituting (1)-(2) into (7) and assuming
and
yields
where we have set
which is valid for PSK constellations. Letting
, from (6) we see that
can also be written as
It is worth noting that apart from thermal noise, only the contribution of the k th user is present in the right-hand side (RHS) of (9). This amounts to saying that the quantities
are MAI-free and, therefore, they can be used to estimate the DOAs of the k th user. In this way, DOA estimation is performed independently for each active user instead of jointly and the complexity of the overall estimation process is significantly reduced.
As mentioned in Section 2.2, measuring
is equivalent to measuring the DOA
. Without loss of generality, in this section we concentrate on the first user and aim at estimating
based on the observation of
. Since the ML estimation of
is prohibitively complex as it involves a numerical search over a multidimensional domain, in the sequel we discuss two practical DOA estimators based on the SAGE and ESPRIT algorithms. For notational simplicity, we drop the subscript identifier for the first user.
3.1. ML Estimation
During the m th received block, the quantities
are arranged into P-dimensional vectors
We assume slow channel variations so that
can be considered practically constant over
consecutive blocks. Then, we divide the data section of the frame into adjacent segments, each containing
blocks, and compute the following average:
where r is the segment index and R denotes the number of segments within the frame (the number of data blocks in each frame is
). Substituting (9) into (11), bearing in mind that
over the r th segment (i.e., for
), yields
where
,
has entries
and
are statistically independent Gaussian vectors with zero-mean and covariance matrix
. Letting 
, we may rewrite (12) in the equivalent form
where
has entries
for
.
We now jointly estimate
and
based on the observation of
for
and
. Dropping irrelevant terms and factors, the log-likelihood function for
and
takes the form
where
and
are trial values of the unknown parameters while
denotes Euclidean norm. Keeping
fixed and letting
vary, the minimum of (14) is achieved for
Next, substituting (15) into (14) and maximizing with respect to
produce
Unfortunately there is no closed form solution to the maximization of (16). The only possible approach is to perform a search over the L-dimensional space spanned by
. As the computational load would be too intense, in the next subsection we employ the SAGE algorithm to find an approximate solution of (16).
Remark 1.
The ML estimators (15)-(16) have been derived using channel estimates given in (7). In principle, one can directly use the estimates provided by the LMS channel tracker, which are more or less correlated depending on the value of the step-size employed in the tracking algorithm. In contrast, assuming perfect interference cancellation, it is easily recognized that (7) provides uncorrelated channel estimates that facilitate the derivation of the joint ML estimator of
and
. Since the additional complexity involved by (7) is negligible, we have adopted the latter approach.
3.2. SAGE-Based Estimation
In a variety of ML estimation problems the maximization of the likelihood function is analytically unfeasible as it involves a numerical search over a huge number of parameters. In these cases the SAGE algorithm proves to be effective as it achieves the same final result with a comparatively simpler iterative procedure. Compared with the more familiar EM algorithm [19], the SAGE has a faster convergence rate. The reason is that the maximizations involved in the EM algorithm are performed with respect to all the unknown parameters simultaneously, which results in a slow process that requires searches over spaces with many dimensions. Vice versa, the maximizations in SAGE are performed varying small groups of parameters at a time. In the following, the SAGE algorithm is applied to our problem without further explanation. The reader is referred to [13] for details.
Returning to the joint estimation of
and
, we apply the SAGE algorithm in such a way that the parameters of a single path are updated at a time. This leads to the following procedure consisting of cycles and steps. A cycle is made of L steps and each step updates the parameters of a single path. In particular, the
-step of the i th cycle looks for the minimum of
where
is defined as
and
denotes the estimate of
at the i th cycle. It is worth noting that
represents an expurgated version of
, in which the latest estimates of
are exploited to cancel out the multipath interference. Minimizing (17) with respect to
produces
with
Note that only one-dimensional searches are involved in (19).
The following remarks are of interest.
-
(1)
The maximization in the RHS of (19) is pursued through a two-step procedure. The first (coarse search) computes
over a grid of
values, say
, and determines the location
of the maximum. In the second step (fine search) the quantities
are interpolated and the local maximum nearest to
is found.
-
(2)
From (21) it follows that
is a periodic function of
with period
. Thus, the maximum of
lies in the interval
and, in consequence, the estimator (19) gives correct results provided that
π. From (4) it is seen that this condition is easily met using an antenna array with interelement spacing less than half the free-space wavelength.
-
(3)
In applying the SAGE we have implicitly assumed knowledge of the number L of paths. In practice L is unknown and must be established in some way. One possible way is to choose L large enough so that all the paths with significant energy are considered. Alternatively, an estimate of L can be obtained in the first cycle as follows. Physical reasons and simulation results indicate that in any cycle the multipath components are taken in a decreasing order of strength. On the other hand, if
are the estimates of
at the first cycle, an indication of the energy of the
th path is
Thus, the first cycle may be stopped at that step, say
, where
drops below a prefixed threshold and
may be taken as an estimate of the number of significant paths.
-
(4)
The computational load of the SAGE is assessed as follows. Evaluating
for
and
needs
operations at each step. The complexity involved in the computation of
in (20) is
while
operations are required to compute the quantities
for
. Denoting
the number of cycles and bearing in mind that each cycle is made of L steps, it follows that the overall complexity of the SAGE is
.
3.3. ESPRIT-Based Estimation
An alternative approach for estimating the DOAs relies on subspace-based methods like the \MUSIC (MUltiple Signal Classication) [20] or ESPRIT algorithms [14]. In the following we discuss DOA estimation based on ESPRIT. The reason is that this method provides estimates in closed form while a grid-search is needed with MUSIC.
To begin, we exploit vectors
in (10) to compute the sample correlation matrix
Then, based on the forward-backward (FB) approach [21], we obtain the following modified sample correlation matrix
in which J is the exchange matrix with 1's on its antidiagonal and 0's elsewhere.
In the ESPRIT method, the eigenvectors associated with the L largest eigenvalues of
are arranged into a
matrix
. Next, we consider the matrices
and
, where 0 is an L-dimensional column vector with zero entries. The estimate of
is eventually obtained as
where
are the eigenvalues of
and
denotes the phase angle of
in the interval
.
The following remarks are of interest.
-
(1)
A necessary condition for the existence of
in RHS of (26) is that the number of rows in
is greater than or equal to the number of columns. Since
has dimension
, the above condition implies that
, that is, the number of antennas must be greater than the number of multipath components. We also observe that the inverse of
in the ML estimator (16) exists provided that
is full rank and
. Thus, DOA estimation with ESPRIT needs one more antenna compared with the ML estimator. It is worth noting that the minimum number of antennas required by both schemes is independent of the number K of contemporarily active users.
-
(2)
The number of paths can be estimated using the minimum description length (MDL) criterion [22]. To this purpose, let
be the eigenvalues of the correlation matrix
in (24) (arranged in a nonincreasing order of magnitude). Then, an estimate of L is computed as
where
is a trial value of L while
and
denote the geometric and arithmetic means of
respectively, that is,
-
(3)
The complexity of the ESPRIT is assessed as follows. Evaluating
in (23) needs
operations. Bearing in mind that inverting an
matrix requires
operations, it follows that the complexity involved in the computation of S in (26) is approximately
. Finally, computing the eigenvectors of S needs
operations. In summary, the overall complexity of the ESPRIT is
3P. In writing this figure we have ignored the operations required to compute
,
, and
since these matrices are easily obtained from
with negligible complexity.