*3.4. Complexity Analysis*

As discussed in [21,22,27], the estimation of the data covariance matrix is an important factor to illustrate the complexity of ESPRIT algorithm and another one is ED, because they imply many repetitive operations and results, which mean heavy computational burden and memory requirements. Thus, we evaluate the time complexity of the two processes and space complexity in terms of real value memory requirements.

Suppose that an array composed of *M* vector sensors, and *N* snapshots are taken. LV-ESPRIT [13] and GA-ESPRIT consider six-component measurements of each vector sensor, whereas Q-ESPRIT [25] only records two-component measurements (electric field on *x*-axis and *y*-axis.); therefore, we compare the complexity between LV-ESPRIT and GA-ESPRIT. The output of each vector sensor for each signal consists of six complex numbers in LV-ESPRIT, while GA-ESPRIT only has one multi-vector with vector and bivector parts.

The geometric product of two multi-vectors received by the array output implies 36 real multiplications [21], which is nine times as many real multiplications as two complex numbers. As mentioned in Section 2, the ED of a G3 matrix is calculated by its CRM; therefore, the time complexity of the two algorithms is shown in Table 1. As for space complexity, the memory requirements of a real number is used to measure [21]. In the following two tables, CM is the Covariance Matrix, R represents real number.

The complexity comparison of these two algorithms can be found in Table 2, where CM and R represent covariance matrix and real number, respectively. Observing the time complexity in Table 2, it is not difficult to find that the computational burdens of CM and ED in GA-ESPRIT are a quarter and 1/27 of these in LV-ESPRIT, respectively. As for space complexity, GA-ESPRIT achieves such a significant reduction, more than 1.5 times compared to LV-ESPRIT, which means that the memory pressure is alleviated, especially for the large data size. The reason for the above comparison results is the natural advantage of GA matrix operations. In detail, because the six-dimensional measurement data in LV-MODEL (stored as 12 real numbers) are mapped into a multi-vector in the G-MODEL (stored as six real numbers), the amount of calculation will be reduced to varying degrees with different matrix operations, which will also bring fewer data storage requirements. The superior description and calculation ability of GA for multi-dimensional signals make GA-ESPRIT a very notable method for direction finding.


**Table 2.** Complexity of GA-ESPRIT and LV-ESPRIT.

#### **4. Simulation Results and Analysis**

In this section, we simulate and analyze the proposed GA-ESPRIT based on DPULAs with *d* = *λ*/2, discuss its feasibility and performance compared with LV-ESPRIT [14] (in complex number field) and Q-ESPRIT [24] (in quaternion field). The estimation accuracy is evaluated by Root Mean Square Error (RMSE), which is calculated by the average of 200 Monte Carlo simulation experiments.

The RMSE of DOA estimation is defined as

$$\text{RMSE} = \frac{1}{K} \sum\_{k=1}^{K} \sqrt{\frac{1}{200} \sum\_{k=1}^{200} [\left(\Delta \theta\_k\right)^2 + \left(\Delta \phi\_k\right)^2]},\tag{40}$$

where *K*, Δ*θk* and Δ*φk* denote the number of incident signals and errors between the result calculated by DOA algorithm and direction angle initially defined in the experiment, respectively.

In actual applications, the sensor model errors [27,41–43] cannot be ignored, which main include sensor-position error, gain error and phase error. The sensor-position error, as defined in [27], is the error between the actual position and the ideal position of each vector sensor. In the simulation experiment, the sensor-position error is modeled as additive noise with uniform distribution in a certain range, that is,

$$\overline{\mathbf{k}}\_{\rm m} = \mathbf{k}\_{\rm m} + d\sqrt{P\_{\rm pc}} \left[ \varepsilon\_{\rm mx}, \varepsilon\_{\rm my}, \varepsilon\_{\rm mz} \right]^T \tag{41}$$

where **k***m* and **k***m* are the actual position and ideal position of the *mth* sensor in vectorsensor array, respectively. *εmx*, *<sup>ε</sup>my* and *εmz* are uniformly distributed noise terms. *Ppe* represents the perturbation power of sensor-position error and the larger *Ppe* means the greater deviation of the sensor from its ideal position. Further, referring to [43], the array output with the gain and phase error is denoted by

$$\mathbf{B}(t) = (\mathbf{I} + \Pi \mathbf{E})\mathbf{C}\mathbf{S}(t) + \mathbf{N}(t), \tag{42}$$

where

$$\begin{array}{l} \Pi = \text{diag}(\eta\_{1}, \eta\_{2}, \dots, \eta\_{2M+2})\_{\prime} \\ \Xi = \text{diag}(\exp(\mathbf{e}\_{123}\mathbf{\xi}\_{1}), \dots, \exp(\mathbf{e}\_{123}\mathbf{\xi}\_{2M+2}))\_{\prime} \end{array}$$

in which *ηi* and *ξi* (*i* = 1, 2, 3, ... , 2 *M* + 2) are gain error and phase disturbance, respectively. In this paper, we also model them as additive noise. In addition, the six components of all EMVSs are added with noise according to the Signal-to-Noise ratio (SNR) in the following experiments. The SNR is defined as *SNR* = <sup>10</sup>*lg*(*Ps*/*Pn*), in which *Ps* and *Pn* are the power of signal and noise on each component, respectively.

In the first experiment, we consider three far-field, narrow-band and uncorrelated signals with parameters Γ = {160◦, 80◦, 35◦, <sup>−</sup><sup>60</sup>◦}, {60◦, 50◦, 35◦, 60◦} and {20◦, 110◦, 45◦, 80◦} with respect to Signal-to-Noise ratio (SNR) vary −10 dB to 20 dB in two different cases. In addition, we set *M* = 7 and the snapshot number is 200. The aim of the first experiment was to examine the performance of GA-ESPRIT, LV-ESPRIT and Q-ESPRIT under different noise statistical characteristics. Figure 5a shows the estimation results

of three algorithms when ideal Gaussian white noise is added, whereas, the noise in Figure 5b is related. It can be concluded that the three algorithms have very close accuracy of calculating DOA at high levels of SNR from Figure 5a,b, while with the lower SNR, GA-ESPRIT has higher accuracy over the other two and can achieve remove the correlation of noise partially.

**Figure 5.** RMSE versus SNR with different noise. (**a**) RMSE versus SNR with uncorrelated noise. (**b**) RMSE versus SNR with correlated noise.

In the second experiment, we compare the performance of GA-ESPRIT, LV-ESPRIT and Q-ESPRIT when the sensor-position error exists. Assume that two signals with Γ = {58◦, 77◦, 35◦, −<sup>60</sup>◦} and {136◦, 50◦, 35◦, 60◦} impinge on a DPULA with *M* = 9. Figure 6a shows the performance of the three algorithms when sensor-position error exists with different intensities. Meanwhile, we set SNR to 10 dB and the snapshot number is 200. The sensor-position error of the array sensor is changed by the value of *Ppe*, whose range is 0–0.07. It can be seen in Figure 6b that we fix *Ppe* = 0.02 to observe the estimation of the three algorithms by altering SNR from −10 dB to 20 dB. Figure 6a,b both imply that accuracy of GA-ESPRIT is highest in the presence of the sensor-position error, so the conclusion is that GA-ESPRIT has the strongest robustness against sensor-position errors among the three algorithms.

**Figure 6.** RMSE with sensor-position error. (**a**) RMSE versus the power of sensor-position error. (**b**) RMSE versus SNR in the presence of sensor-position error.

The third experiment is also designed for two cases. Case one is that only gain error exists (see Figure 7a), while for case two, only phase error exists (see Figure 7b). Other conditions are the same as experiment two except that there is no position error. The gain error is constructed by the random numbers, whose mean value is 1 and variance is 0.2, and the phase error is constructed by the random numbers with zero-mean and 0.005 variance. We can learn from Figure 7a,b that, whether there is gain error or phase error, GA-ESPRIT can maintain the estimation accuracy very well, especially in low SNR.

**Figure 7.** RMSE with gain or phase error. (**a**) RMSE versus SNR in the presence of gain error. (**b**) RMSE versus SNR in the presence of phase error.

In general, it is because Q-ESPRIT only takes part of the array output information into consideration that makes large RMSE. The reason for LV-ESPRIT's poor accuracy in the face of the sensor-model error would be that its "long vector" destroys the orthogonality of the signal components. The improvement of detection robustness of GA-ESPRIT largely results from the fact that it can effectively preserve the orthogonality of the signal components and guarantee the completeness of the information.
