## 2 Maximum Likelihood Algorithm  
In this section, the maximum likelihood (ML) for use with the uniform linear array (ULA) algorithm is briefly described. In the case of ULA, for the incident signal from \(\theta_{c}\), the array vector associated with the \(m\)-th antenna can be written as  
\[a_{m}\left(\theta_{c}\right)=\exp\left[j\frac{2\pi}{\lambda}\left(m-1\right) \Delta\sin\theta_{c}\right], \tag{1}\]  
where \(\lambda\) is wavelength and \(\Delta\) is the distance between two neighboring elements. Using (1), \(\mathbf{A}\left(\theta_{1},\theta_{2},\cdots,\theta_{d}\right)\) is defined as  
\[\mathbf{A}\left(\theta_{1},\theta_{2},\cdots,\theta_{d}\right)=\left[ \begin{array} []{cccc}a_{1}\left(\theta_{1}\right)&a_{1}\left(\theta_{2}\right)&\cdots&a_{1 }\left(\theta_{d}\right)\\ \vdots&\vdots&\ddots&\vdots\\ a_{M}\left(\theta_{1}\right)&a_{M}\left(\theta_{2}\right)&\cdots&a_{M}\left( \theta_{d}\right)\end{array} \right] \tag{2}\]  
where the number of incident signals is \(d\). Projection matrix on to the column space of \(\mathbf{A}\left(\theta_{1},\theta_{2},\cdots,\theta_{d}\right)\) can be expressed as [6]  
\[\mathbf{P}_{\mathbf{A}\left(\theta_{1},\theta_{2},\cdots,\theta_{d}\right)}= \mathbf{A}\left(\theta_{1},\theta_{2},\cdots,\theta_{d}\right)\left(\mathbf{A} \left(\theta_{1},\theta_{2},\cdots,\theta_{d}\right)^{H}\mathbf{A}\left( \theta_{1},\theta_{2},\cdots,\theta_{d}\right)\right)^{-1}\mathbf{A}\left( \theta_{1},\theta_{2},\cdots,\theta_{d}\right)^{H}. \tag{3}\]  
The incident signals on the array antenna elements can be written as, for \(i=1,\cdots,L\),  
\[\mathbf{x}\left(t_{i}\right)=\mathbf{A}\left(\theta_{1},\theta_{2},\cdots, \theta_{d}\right)\mathbf{s}\left(t_{i}\right)\] \[\left[ \begin{array}{c}x_{1}\left(t_{i}\right)\\ \vdots\\ x_{M}\left(t_{i}\right)\end{array} \right]=\mathbf{A}\left(\theta_{1},\theta_{ 2},\cdots,\theta_{d}\right)\left[ \begin{array}{c}s_{1}\left(t_{i}\right)\\ s_{2}\left(t_{i}\right)\\ \vdots\\ s_{d}\left(t_{i}\right)\end{array} \right]. \tag{4}\]  
The noisy incident signals can be expressed as  
\[\mathbf{x}^{\prime}\left(t_{i}\right) = \mathbf{A}\left(\theta_{1},\theta_{2},\cdots,\theta_{d}\right) \mathbf{s}\left(t_{i}\right)+\mathbf{n}\left(t_{i}\right)\] \[\left[ \begin{array}{c}x_{1}^{\prime}\left(t_{i}\right)\\ \vdots\\ x_{M}^{\prime}\left(t_{i}\right)\end{array} \right] = \mathbf{A}\left(\theta_{1},\theta_{2},\cdots,\theta_{d}\right) \left[ \begin{array}{c}s_{1}\left(t_{i}\right)\\ s_{2}\left(t_{i}\right)\\ \vdots\\ s_{d}\left(t_{i}\right)\end{array} \right]+\left[ \begin{array}{c}n_{1}\left(t_ {i}\right)\\ \vdots\\ n_{M}\left(t_{i}\right)\end{array} \right]. \tag{5}\]  
It is assumed that the entries of the Gaussian vector are independent and identically distributed Gaussian random variables with the same mean and the same variance. Note that the noise are complex-valued and that the real part and the imaginary part of the noise are independent Gaussian random variables with non-zero mean \(\mu\). The variance of the real part is denoted by \(\frac{\sigma^{2}}{2}\), which is equal to the variance of the imaginary part,\(\frac{\sigma^{2}}{2}\). Let \(L\) denote the number of the snapshots. \(\mathbf{\hat{R}}\) is a sample covariance matrix given by  
\[\mathbf{\hat{R}}=\frac{1}{L}\sum_{t_{i}=1}^{L}\left\{\mathbf{x}\left(t_{i} \right)\mathbf{x}\left(t_{i}\right)^{H}\right\}=\left[ \begin{array}{ccc} \hat{R}_{11}&\cdots&\hat{R}_{1M}\\ \vdots&\ddots&\vdots\\ \hat{R}_{M1}&\cdots&\hat{R}_{MM}\end{array} \right] \tag{6}\]where \(\mathbf{x}\left(t_{i}\right)\) is given by (4). From (5), we get  
\[\mathbf{\hat{R}}^{\prime}=\frac{1}{L}\sum\limits_{t_{i}=1}^{L}\left\{\mathbf{x} ^{\prime}\left(t_{i}\right)\mathbf{x}^{\prime}\left(t_{i}\right)^{H}\right\}= \left[ \begin{array}{ccc}\hat{R}_{11}^{\prime}&\cdots&\hat{R}_{1M}^{\prime}\\ \vdots&\ddots&\vdots\\ \hat{R}_{M1}^{\prime}&\cdots&\hat{R}_{MM}^{\prime}\end{array} \right].