## 3 Proposed Algorithm  
The received data matrix can be used to estimate the AOA instead of using the CM. The proposed algorithm depends on computing the propagator vector \(\mathbf{p}\), which represents the cross correlation between the first row (received signal data from the first element) and the other rows. This has the effect of normalizing to the phase of the first element and removing the dependency on the signal time series. The propagator vector therefore retains all the information about how the phasors of signals arriving from various directions sum at each sensor. Correlation with the steering vector thus elicits the individual AOAs. It also reduces the computational complexity compared to calculating the entire CM. Suppose that the data matrix \(\mathbf{X}(t)\) contains \(N\) samples of data obtained from \(M\) sensors. \(\mathbf{X}(t)=\mathbf{AS}(t)+\mathbf{N}(t)\) is an \(M\times N\) matrix (\(\mathbf{X}_{m,n}\in\mathbb{C}^{1\times 1}\) ) and can be written as follows:  
\[\mathbf{X}(t)=\left[ \begin{array}{cccc}x_{1}(t_{1})&x_{1}(t_{2})&\cdots&\cdots&x _{1}(t_{N})\\ x_{2}(t_{1})&x_{2}(t_{2})&\vdots&\vdots&x_{2}(t_{N})\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ x_{M}(t_{1})&x_{M}(t_{2})&\ldots&\ldots&x_{M}(t_{N})\end{array} \right] \tag{16}\]  
In order to compute the propagator vector \(\mathbf{p}\) we divide the \(X\) matrix into two sub-matrices as follows:  
\[\mathbf{h}=\ \left[ \begin{array}{cccc}x_{1}(t_{1})&x_{1}(t_{2})&\cdots&\cdots&x _{1}(t_{N})\end{array} \right] \tag{17}\]  
\[\mathbf{\mathcal{H}}=\left[ \begin{array}{cccc}x_{2}(t_{1})&x_{2}(t_{2})&\cdots& \cdots&x_{2}(t_{N})\\ \vdots&\vdots&\ddots&\vdots&\vdots\\ \vdots&\vdots&\vdots&\ddots&\vdots\\ x_{M}(t_{1})&x_{M}(t_{2})&\ldots&\ldots&x_{M}(t_{N})\end{array} \right] \tag{18}\]  
where \(\mathbf{h}\) represents the first row of the matrix \(\mathbf{X}\) whereas \(\mathbf{\mathcal{H}}\) represents the reset of \(\mathbf{X}\). Now, compute vector \(\mathbf{p}\), as follows:  
\[\mathbf{p}=\mathbf{h}\mathbf{\mathcal{H}}^{H}/\mathbf{h}\mathbf{h}^{H} \tag{19}\]  
\(\mathbf{p}\) gives the cross-correlation of the time-series from each sensor element with that from the first element, with size \(1\times(M-1)\). We now add a unit element representing the correlation of the first row with itself. This yields:  
\[\mathbf{\mathcal{C}}=\left[ \begin{array}{cc}1&\mathbf{p}\end{array} \right]^{T} \tag{20}\]  
where \(\mathbf{\mathcal{C}}\) is a vector of size \(1\times M\). The complexity of localization systems depends on hardware, software and operating factors. The PDDA technique presents lower computational complexity, as can be verified by comparing the number of computational operations required to construct the CM, which is used in most AOA methods, and that required to compute the vector \((\mathbf{p})\) utilized in the PDDA method, as shown in Table 1 and Figure 2.  
After computing CM, some methods need to calculate the inverse of the CM whereas other need to decompose it, with prior knowledge of the number of arrival signals. Table 2 gives a comparison between PDDA and some common AOA methods based on the above-mentioned criteria. \begin{table}
\begin{tabular}{c c c c} \hline \hline
**Method** & **Number of Multiplications** & **Number of Additions** & **Divisions** \\ \hline PDDA based on vector \((\mathbf{p})\) & \(M\times N\) & \(M\times(N-M)\) & \(M-1\) \\ Computing CM & \(M^{2}\times N\) & \(M^{2}\times(N-1)\) & None \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Computational operations required to construct the CM compared with the \(\mathbf{p}\) vector construction. Then, the spatial power spectrum can be obtained from vector (\(\epsilon\)) as follows:  
\[\mathbf{P}(\theta)=|\mathbf{a}(\theta)\;\epsilon|^{2} \tag{21}\]  
The complexity of the required number of multiplications and additions in the scanning angle process stage to construct the spatial spectrum differs from one method to the other.