3.3.3. Angle Estimation

The azimuth and elevation angle of *K* signals are included in **F** and **G**. In theory, the eigenvectors obtained by ED of these two matrices are both **T**; however, in the actual calculation process, the two eigenvalue decomposition operations are carried out independently, which can not ensure that the arrangemen<sup>t</sup> of eigenvectors in them is reflected well; therefore, the diagonal elements of **F** and **G** should be matched.

Suppose that **T1** and **T2** are eigenvector matrices derived from GA-ED of **Ψ***x* and **<sup>Ψ</sup>***y*, respectively. Then

$$\mathbf{O} = |\mathbf{T2}^H \mathbf{T1}|\tag{38}$$

where {| · |} is the operator that gets magnitude of every multi-vector in a matrix. For the same signal, the eigenvectors in **T1** and **T2** corresponding to matched *fk* and *gk* are related; therefore, the order of diagonal elements in **F** and **G** can be adjusted by the coordinate of the largest element in each row (or column) of **O** to complete matching.

After observing (19), *f* and *g* are multi-vectors that only have scalar and 3-gradevector, if we replace *e*123 with the imaginary unit *j* of complex number, *f* and *g* can be regarded as complex numbers. Finally, we calculate *θk* and *φk* with *fk* and *gk*, that is,

$$\begin{aligned} \theta\_k &= \tan^{-1} \left[ \frac{\text{angle}(\mathcal{g}\_k)}{\text{angle}(f\_k)} \right], \\ \phi\_k &= \sin^{-1} \left\{ \frac{\lambda}{2\pi} \text{sqrt} \text{rt} \left[ \text{angle}(\mathcal{g}\_k)^2 + \text{angle}(f\_k)^2 \right] \right\}, \end{aligned} \tag{39}$$

where angle(·) is the operator for getting phase angle. In conclusion, the steps of the GA-ESPRIT algorithm are:


Further, the corresponding relationship between the logic flow and steps of GA-ESPRIT is shown in Figure 4.

**Figure 4.** Logic flow diagram of GA-ESPRIT.
