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 righthand side (RHS) of (9). This amounts to saying that the quantities are MAIfree 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 Pdimensional 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 zeromean 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 loglikelihood 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 Ldimensional 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 stepsize 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. SAGEBased 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 onedimensional searches are involved in (19).
The following remarks are of interest.

(1)
The maximization in the RHS of (19) is pursued through a twostep 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 freespace 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. ESPRITBased Estimation
An alternative approach for estimating the DOAs relies on subspacebased 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 gridsearch is needed with MUSIC.
To begin, we exploit vectors in (10) to compute the sample correlation matrix
Then, based on the forwardbackward (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 Ldimensional 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.