PDF  PubReader

Yang: Highly Efficient and Precise DOA Estimation Algorithm

Xiaobo Yang

Highly Efficient and Precise DOA Estimation Algorithm

Abstract: Direction of arrival (DOA) estimation of space signals is a basic problem in array signal processing. DOA estimation based on the multiple signal classification (MUSIC) algorithm can theoretically overcome the Rayleigh limit and achieve super resolution. However, owing to its inadequate real-time performance and accuracy in practical engineering applications, its applications are limited. To address this problem, in this study, a DOA estimation algorithm with high parallelism and precision based on an analysis of the characteristics of complex matrix eigenvalue decomposition and the coordinate rotation digital computer (CORDIC) algorithm is proposed. For parallel and single precision, floating-point numbers are used to construct an orthogonal identity matrix. Thus, the efficiency and accuracy of the algorithm are guaranteed. Furthermore, the accuracy and computation of the fixed-point algorithm, double-precision floating-point algorithm, and proposed algorithm are compared. Without increasing complexity, the proposed algorithm can achieve remarkably higher accuracy and efficiency than the fixed-point algorithm and double-precision floating-point calculations, respectively.

Keywords: DOA Estimation , Eigenvector , High-Precision , MUSIC , Parallelism

1. Introduction

Direction of arrival (DOA) estimation is a significant problem in array signal processing and must be studied. DOA estimation is used extensively in radar, sonar, navigation, communication, and other fields [1,2]. Theoretically, in subspace class algorithms, such as multiple signal classification (MUSIC), DOA estimation exceeds the Rayleigh limit to achieve so-called super resolution [3,4]. However, the accuracy of the DOA estimation in engineering implementations is directly related to the accuracy of the covariance matrix eigenvalue decomposition [5,6]. Concurrently, the computational complexity and poor real-time performance of the algorithm limit its widespread application in practical engineering [7,8]. The coordinate rotation digital computer (CORDIC) algorithm is commonly used to construct orthogonal matrices for eigenvalue decomposition [9,10]. A previous study [11] used a double-precision floating-point algorithm instead of the CORDIC IP core to achieve high-precision DOA estimation. Because this method guarantees accuracy only when implemented serially, the parallel processing advantage of the algorithm is lost. An algorithm for fast eigenvalue decomposition has also been studied [12,13]. However, its implementation precision was not considered.

This study focuses on developing a method to obtain high accuracy in the calculation of the covariance matrix eigenvector in DOA estimation. Based on an analysis of the basic principles and characteristics of solving for the eigenvector of a complex matrix in DOA estimation, an efficient and highly accurate DOA estimation algorithm is proposed. The effectiveness of the proposed algorithm was verified using simulation results.

2. Principle of DOA Estimation

Multiple signal classification (MUSIC): The MUSIC algorithm realizes DOA estimation by searching for the peak of the array spatial spectral function [TeX:] $$P(\theta)$$ [14,15].

First, the covariance matrix was estimated using the snap data received by the array. For L snaps, the signal was considered a stationary Gaussian random process; its statistical characteristics remain the same over time, and the signal direction vector was linearly independent, thus making it a complex positive definite Hermite matrix.

Next, R was decomposed by eigenvalues to obtain the signal subspace [TeX:] $$U_{S}$$ and noise subspace [TeX:] $$U_{N}.$$ Subsequently, a peak search was conducted according to the following formula to determine the angle corresponding to the maximum value:

[TeX:] $$P(\theta)=\frac{1}{a^{H}(\theta) U_{N} U_{N}^{H} a(\theta)'}$$

where [TeX:] $$U_{N}$$ is the noise subspace, [TeX:] $$a(\theta)$$ is the signal-steering vector, and H is the conjugate transpose.

According to Eq. (1), the estimation accuracy of the signal subspace [TeX:] $$U_{S}$$ and noise subspace [TeX:] $$U_{N}$$ directly affects the DOA estimation accuracy.

3. Analysis for Complex Matrix Eigenvalue Solving Algorithm

Compared with real symmetric matrices, the processing of complex Hermite matrices is more involved and requires complex covariance matrices to be transformed into real matrices. A typical Hermite matrix is represented as [12]:

[TeX:] $$A=B+i D \in C^{n \times n}$$

where [TeX:] $$B^{T}=B, D^{T}=-D \in R^{n \times n}.$$

The eigenvalue decomposition of matrix A is performed, and a second-order primary subarray is constructed.

[TeX:] $$A_{K L}=\left[\begin{array}{ll} a_{K K} & a_{K L} \\ \bar{a}_{K L} & a_{L L} \end{array}\right]=\left[\begin{array}{ll} b_{K K} & b_{K L} \\ b_{K L} & b_{L L} \end{array}\right]+i\left[\begin{array}{cc} 0 & d_{K L} \\ -d_{K L} & 0 \end{array}\right], d_{K L} \neq 0,$$

where K and L are subscripts of the matrix elements, i is the complex factor [TeX:] $$\sqrt{-1}, \text { and }-$$ indicates conjugation.

Subsequently, a unitary diagonal matrix is constructed.

[TeX:] $$T_{K, L}=\left[\begin{array}{cc} \bar{a}_{K L} /\left|a_{K L}\right| & 0 \\ 0 & 0 \end{array}\right]$$

The imaginary part of [TeX:] $$A_{K L} \text { is } 0, \text { and } \tilde{A}_{K L}$$ is the second-order real matrix:

[TeX:] $$\tilde{A}_{K L}=T_{K L}^{H} A_{K L} T_{K L}=\left[\begin{array}{cc} a_{K K} & \left|a_{K L}\right| \\ \left|a_{K L}\right| & a_{L L} \end{array}\right].$$

Then, [TeX:] $$\tilde{A}_{K L}$$ can be diagonalized by Jacobi rotation [12] as

[TeX:] $$\hat{A}_{K L}=J_{K L}^{H} \tilde{A}_{K L} J_{K L}=\left(J_{K L} T_{K L}\right)^{H} A_{K L}\left(T_{K L} J_{K L}\right)=\left(U_{K L}\right)^{H} A_{K L}\left(U_{K L}\right)=\left[\begin{array}{cc} \hat{a}_{K K} & 0 \\ 0 & \hat{a}_{L L} \end{array}\right] \text {, }$$

where [TeX:] $$U_{K L}^{H}=T_{K L} J_{K L}, J_{K L}=\left[\begin{array}{cc} C & -S \\ S & c \end{array}\right], s^{2}+c^{2}=1,$$


[TeX:] $$c=1 / \sqrt{1+t^{2}}, s=c t, t=\operatorname{sgn}(t h) /\left(|t h|+\sqrt{1+t h^{2}}\right) t h=\left(a_{L L}-a_{K K}\right) /\left(2\left|a_{K L}\right|\right),$$

[TeX:] $$\hat{a}_{K K}=a_{K K}+t\left|a_{K L}\right|, \hat{a}_{L L}=a_{L L}-t\left|a_{K L}\right|.$$

Thus, A is diagonalized and the eigenvectors are obtained through ergodic K and L.

Eq. (7) shows that numerous operations, such as squaring and division, are used in the process of constructing the orthogonal unit [TeX:] $$J_{K L},$$ which can be implemented only by serial calculations, thus resulting in the loss of the advantage of the availability of hardware parallel processing.


[TeX:] $$\cot (2 \theta)=\frac{\left(a_{L L}-a_{K K}\right)}{\left(2\left|a_{K L}\right|\right)}.$$

From Eq. (7), we get

[TeX:] $$c=\cos (\theta), s=-\sin (\theta).$$

From Eqs. (9) and (10), given the value of [TeX:] $$\theta, \cos (\theta) \text { and } \sin (\theta),$$ that is, the values of c and s, can be obtained in parallel. Therefore, solving for [TeX:] $$\theta$$ is key to efficiently constructing a rotated orthogonal matrix [TeX:] $$J_{K L}$$ and improving the efficiency of the algorithm. The calculation of A, B, and C involves trigonometric function calculations, which are a key technology in algorithm implementation.

4. Parallel High-Precision Eigenvalue Decomposition Algorithm

The CORDIC algorithm is widely used to solve trigonometric functions. It is a unified algorithm that can calculate various transcendent functions. The underlying concept is to approach the target through coordinate rotation [13]. In engineering, to facilitate algorithm implementation, the tangent value of each rotation angle should be an integer multiple of 2. The principle of using fixed-point CORDIC to convert multiple complex algorithms into an iterative operation that requires only shift and subtraction operations was detailed in a previous study [12].

In practical applications, both the relative spatial positions between signals and the antenna front change rapidly; therefore, real-time estimation of DOA is an important issue. Maximizing parallelism in engineering implementations is an important method for ensuring the real-time performance of algorithms. Therefore, based on the analysis presented in Section 2, a parallel algorithm for the complex Hermite matrix eigenvalue decomposition is presented herein. The process is illustrated in Fig. 1.

Based on the CORDIC algorithm analysis, the decomposition accuracy of the matrix eigenvalues depends on the accuracy of the rotation matrix [TeX:] $$J_{K L},$$ that is, the calculation accuracy of the associated trigonometric functions. The CORDIC algorithm assumes that the tangent value of each rotation angle is an integer multiple of 2. Therefore, complex calculations are replaced by multiples of [TeX:] $$2^{-i} \text { and } \pm 1.$$ Thus, to ensure the accuracy of the eigenvector solution, a single-precision floating point was used to complete the trigonometric function solution.

Fig. 1.

Parallel algorithm for Hermite matrix eigenvalue decomposition.

Fig. 2.

Single-precision floating-point storage structure.

The single-precision floating-point storage structure according to the IEEE745 standard is shown in Fig. 2.

Single-precision floating-point numbers consist of sign, order, and tail bits, which represent the following values.

[TeX:] $$v=(-1)^{s} \cdot 2^{(e-127)} \cdot 1 . f.$$

Fig. 3.

Diagram of DOA estimation algorithm.

Based on the storage structure of single-precision floating-point numbers, the multiplication of a single-precision floating-point number and [TeX:] $$2^{-i}$$ is equivalent to the order e minus i. The multiplication of a single-precision floating-point number and [TeX:] $$\pm 1$$ can only change the sign bit. Thus, the calculations based on fixed-point numbers, described above, were performed by shifting and negating, which includes bitwise inversion and plus 1. Therefore, the complexity of single-precision floating-point calculations did not increase compared with fixed-point calculations.

The DOA estimation algorithm is shown in Fig. 3. The basic principles are described in Section 2. The parallel algorithm for Hermite matrix eigenvalue decomposition in Fig. 3 is shown in Fig. 1. The upper limit of iteration time can be set as required. The upper limit of the iterations in this study was chosen to be 10.

5. Algorithm Simulation Analysis

The input conditions for the simulations were as follows. A 4-element array antenna and single-frequency signal were used. The power ratio of the signal-to-noise, elevation of the signal, and azimuth were set at values of 50 dB, [TeX:] $$50 \mathrm{~dB}, 50^{\circ}, \text { and } 10^{\circ},$$ respectively. The performances of the double-precision floating-point calculation, fixed-point calculation, and the proposed algorithm were compared via simulations. The number of iterations for CORDIC of fixed-point and this study was set at 16.

The results of 100 Monte Carlo simulations indicate that the average error in the eigenvector calculation using the proposed algorithm is only 0.000001 compared to that in the double-precision floating-point calculation [11], whereas that of the fixed-point algorithm [10] is 0.005. Some results from eigenvector calculations using the three methods are listed in Table 1 for comparison.

Table 1.

Comparison of eigenvector results
Double-precision floating-point algorithm Proposed algorithm Fixed-point algorithm
-0.56825095 – 0.04081602i -0.56825103 – 0.04081590i -0.57323103 – 0.04601546i
-0.07209626 + 0.36793381i -0.07209653 + 0.36793400i -0.07609633 + 0.36203489i
-0.61224438 + 0.13253420i -0.61224393 + 0.13253387i -0.61724392 + 0.13713237i
0.082773180 – 0.36822792i 0.08277294 – 0.36822800i 0.08777204 – 0.36300231i

The accuracy of the algorithm in this study was equivalent to that of the double-precision floating-point algorithm [11]. However, the double-precision floating-point algorithm can only complete eigenvalue diagonalization in serial mode and requires the square and division of double-precision floating point numbers. The FPGA implementation requires 300 clock-cycles, whereas the algorithm in this study only requires 70 clock-cycles to complete, 230 clock-cycles fewer than those required for similar calculations presented in the literature [11]. The DOA algorithm must traverse all six non-diagonal elements of the complex matrix, and the clock-cycles used in this algorithm are 1,380 fewer than those in [11]. The entire eigenvalue decomposition process was iterated 16 times, and the clock-cycles used in this algorithm were 22,080 less than those in [11]. The amount of computation required by this algorithm is equivalent to that required by the fixed-point algorithm [10].

The spatial spectrum 3D-plot based on fixed DOA estimation is shown in Fig. 4, and the spatial spectral isobars based on fixed DOA estimation are shown in Fig. 5. The spatial spectrum 3D-plot based on the proposed algorithm is shown in Fig. 6, and the spatial spectral isobars based on the proposed algorithm are shown in Fig. 7.

Fig. 4.

Spatial spectrum 3D based on fixed DOA estimation.

Fig. 5.

Spatial spectral isobars based on fixed DOA estimation.

From the simulation results, the estimated elevation and azimuth angles obtained using the proposed algorithm were equal to the set values, and the decomposition accuracy based on the algorithm satisfied the DOA estimation application requirements. The divergence of the DOA estimation results occurred in fixed-point calculations owing to the large implementation errors.

Fig. 6.

Spatial spectrum 3D based on the proposed algorithm.

Fig. 7.

Spatial spectral isobars based on the proposed algorithm.

The double-precision floating-point algorithm proposed in [11] can only be implemented serially and uses calculations of squares of double-precision floating-point numbers, which requires at least 300 clock-cycles to diagonalize the matrix using the field-programmable gate array. The proposed algorithm can be completed in 70 clock cycles, and its computational efficiency is 76.67 % higher than that of the double-precision floating-point algorithm proposed in [11], which significantly improves the real-time performance of DOA estimation, while ensuring accuracy.

6. Conclusion

Although DOA estimation of the MUSIC algorithm can theoretically exceed the Rayleigh limit and achieve the supposed super-resolution, its application is limited in practical engineering owing to the real-time performance and accuracy of the algorithm. Ensuring the efficiency and accuracy of an algorithm in engineering is a key problem. Based on the analysis of the characteristics of the MUSIC algorithm, complex matrix eigenvalue decomposition, and CORDIC algorithm, a high-accuracy algorithm for DOA estimation with high parallelism was presented herein. The algorithm uses parallel construction of an orthogonal unit matrix and the CORDIC algorithm based on a single-precision floating-point number to ensure the efficiency and accuracy of the algorithm, respectively. Monte Carlo simulation verified that the average error of the feature vector of the algorithm was only 0.000001 compared with the double-precision floating-point calculation, whereas that of the fixed-point algorithm was 0.005. The divergence in the DOA estimation results appeared because of large error in the fixed-point calculation. The diagonalization of double-precision floating-point computation matrices requires at least 300 clock cycles, whereas the proposed algorithm performed a similar calculation in only 70 clock cycles, which signifies a notable improvement in the real-time performance and accuracy of the algorithm.


Xiaobo Yang

She received B.S. degree in department of electronic Engineer from Hebei Normal University in 2001, M.S. degree in information science from Yanshan University in 2004, She is currently an associate professor in the Department of Electrical and Electronic Engineering, Shijiazhuang University of Applied Technology. Her research interests include communication and signal processing.


  • 1 P. Chen, Z. Wen, L. Li, F Guo, "Performance analysis of classical MUSIC algorithm for DOA estimation," Microprocessors, vol. 40, no. 6, pp. 40-43, 2019.doi:[[[10.1109/ICCIT51783.2020.9392663]]]
  • 2 C. W. Zhou, H. Zheng, Y. Gu, Y. Wang, Z. Shi, "Research progress on coprime array signal processing: direction-of-arrival estimation and adaptive beamforming," Journal of Radars, vol. 8, no. 5, pp. 558-577, 2019.doi:[[[10.12000/JR19068]]]
  • 3 Y. Zhang, J. Lu, S. Tian, H. Li, "Hypothesis testing based range statistical resolution limit of radar: random-distributed amplitude," Journal of Signal Processing, vol. 36, no. 10, pp. 1735-1743, 2020.custom:[[[-]]]
  • 4 W. Wang, M. Zhang, B. Yao, Q. Yin, P. Mu, "Computationally efficient direction-of-arrival estimation of non-circular signal based on subspace rotation technique," Journal on Communications, vol. 41, no. 11, pp. 198-205, 2021.custom:[[[-]]]
  • 5 H. Dou, J. Xie, L. Sun, F. Yang, "High precision DOA estimation algorithm for MIMO radar based on covariance fitting," Journal of Beijing University of Technology, vol. 46, no. 2, pp. 140-146, 2020.custom:[[[-]]]
  • 6 F. G. Yan, Y. Shen, "Overview of efficient algorithms for super-resolution DOA estimates," Systems Engineering and Electronicsvol, 37, no. 7, pp. 1465-1475, 2015.custom:[[[-]]]
  • 7 C. Feng, X. Gong, R. Luo, "Fast DOA estimation based on FFT and golden section," Computer Simulation, vol. 38, no. 9, pp. 159-163+172, 2021.custom:[[[-]]]
  • 8 Y. Jiang, M. Y. Feng, Q. Xu, Y. He, "Fast DOA estimation methods for underdetermined wideband signals with a high accuracy," Journal of Xidian University, vol. 47, no. 2, pp. 91-97+107, 2020.doi:[[[10.19665/j.issn1001-2400.2020.02.013]]]
  • 9 H. Fan, X. Diao, F. Zhang, Z. Xue, X. Dong, M. Tie, "Analysis and elimination of half-wavelength error in homodyne laser interference signal processing system based on CORDIC algorithm," Acta Metrologica Sinica, vol. 42, no. 3, pp. 287-293, 2021.custom:[[[-]]]
  • 10 C. Song, X. Li, Y. Jian, S. Shang, Q. Zheng, "CORDIC algorithm for IQ real-time demodulation and FPGA implementation in radar imaging system," Electronic Measurement Technology, vol. 43, no. 18, pp. 136-140, 2020.custom:[[[-]]]
  • 11 J. Chen, J. Zhu, S. Liu, P. Liu, Z. Xu, "Realization of adaptive array covariance matrix feature separation based on FPGA," Navigation Positioning and Timing, vol. 6, no. 5, pp. 102-108, 2019.custom:[[[-]]]
  • 12 X. Li, W. Xue, Z. Sun, "High quality method for solving eigenvalues of complex Hermite matrix," Journal of Data Acquisition and Processing, vol. 20, no. 4, pp. 403-406, 2005.custom:[[[-]]]
  • 13 M. Garrido, P. Kallstrom, M. Kumm, O. Gustafsson, "CORDIC II: a new improved CORDIC algorithm," IEEE Transactions on Circuits and Systems II: Express Briefs, vol. 63, no. 2, pp. 186-190, 2015.doi:[[[10.1109/TCSII.2015.2483422]]]
  • 14 R. Schmidt, "Multiple emitter location and signal parameter estimation," IEEE Transactions on Antennas and Propagation, vol. 34, no. 3, pp. 276-280, 1986.doi:[[[10.1109/tap.1986.1143830]]]
  • 15 Q. Zhang, S. Li, Z. Tang, "DOA estimation of coherent sources based on hybrid MUSIC algorithm," Application Research of Computers, vol. 37, no. 5, pp. 1536-1540, 2019.custom:[[[-]]]