# 2D-Unitary ESPRIT Based Multi-Target Joint Range and Velocity Estimation Algorithm for FMCW Radar
## 3 2D-Unitary ESPRIT Based Joint Range and Velocity Estimation Algorithm of Multiple Targets
### 2D-Unitary ESPRIT Algorithm for Joint Range and Velocity Estimation
The _vec_ operator is used to the real matrix \(\mathbf{D}(w,\,u)\), i.e., \(\mathbf{d}(w,\,u)=vec(\mathbf{D}(w,\,u))\), then the steering vector of \(M_{s}N_{s}\times 1\) satisfies the following relation:  
\[\tan(\frac{u}{2})\mathbf{K}_{u1}\mathbf{d}(w,\,u)=\mathbf{K}_{u2}\mathbf{d}(w, \,u) \tag{30}\]  
where \(\mathbf{K}_{u1}\) and \(\mathbf{K}_{u2}\) are \(M_{s}(N_{s}-1)\times M_{s}N_{s}\) matrices, written as follows:  
\[\mathbf{K}_{u1} =\mathbf{K}_{1}\otimes\mathbf{I}_{M_{s}} \tag{31}\] \[\mathbf{K}_{u2} =\mathbf{K}_{2}\otimes\mathbf{I}_{M_{s}} \tag{32}\]  
The relation in (30) is also satisfied by angular frequency \(w\), so that the matrices \(\mathbf{K}_{u1}\) and \(\mathbf{K}_{u2}\) of \((M_{s}-1)N_{s}\times M_{s}N_{s}\) are written as follows:  
\[\mathbf{K}_{w1} =\mathbf{I}_{N_{s}}\otimes\mathbf{K}_{3} \tag{33}\] \[\mathbf{K}_{u2} =\mathbf{I}_{N_{s}}\otimes\mathbf{K}_{4} \tag{34}\]  
where \(\mathbf{K}_{3}\), \(\mathbf{K}_{4}\) are similar to those defined in (26) and (27), and \(N_{s}\) is replaced by \(M_{s}\). Thus, the \(M_{s}N_{s}\times D\) real steering matrix is denoted as \(\mathbf{D}= \begin{bmatrix}\mathbf{d}(w_{1},\,u_{1}),\,\cdots,\\ \mathbf{d}(w_{D},\,u_{D})\end{bmatrix} \), in the same way as in (30), \(\mathbf{D}\) satisfies as follows:  
\[\mathbf{K}_{u1}\mathbf{D}\mathbf{\Omega}_{u}=\mathbf{K}_{u2}\mathbf{D} \tag{35}\]  
where,  
\[\mathbf{\Omega}_{u}=diag\{\tan(\frac{u_{1}}{2})\,,\,\cdots,\quad\tan(\frac{u_ {D}}{2})\} \tag{36}\]  
Similarly, \(\mathbf{\Omega}_{w}\) is obtained by simply replacing \(u\) with \(w\). The complex matrix in (20) is pre-multiplied by \((\mathbf{Q}_{N_{s}}^{\mathrm{H}}\otimes\mathbf{Q}_{M_{s}}^{\mathrm{H}})\) and then obtains as:  
\[\mathbf{Y}=(\mathbf{Q}_{N_{s}}^{\mathrm{H}}\otimes\mathbf{Q}_{M_{s}}^{\mathrm{ H}})\mathbf{Z} \tag{37}\]  
Thus, the covariance matrix of \(\mathbf{Y}\mathbf{Y}= \begin{bmatrix}\mathrm{Re}\{\mathbf{Y}\},\ \mathrm{Im}\{\mathbf{Y}\} \end{bmatrix} =\mathbf{D}\mathbf{S}+\mathbf{N}\) is written as:  
\[\mathbf{R}_{\mathbf{Y}\mathbf{Y}}=E((\mathbf{Y}\mathbf{Y})\cdot(\mathbf{Y} \mathbf{Y})^{\mathrm{H}})=\mathbf{D}\mathbf{R}_{\mathbf{S}}\mathbf{D}^{ \mathrm{H}}+\sigma^{2}\mathbf{I} \tag{38}\]  
where \(\mathbf{S}\) and \(\mathbf{N}\) are signal and noise parts of the matrix \(\mathbf{Y}\mathbf{Y}\), respectively. \(\mathbf{R}_{\mathbf{S}}=E[\mathbf{S}\mathbf{S}^{\mathrm{H}}]\) is the covariance matrix of \(\mathbf{S}\) and \(\sigma^{2}\) is the variance of \(\mathbf{N}\). The \(\mathbf{R}_{\mathbf{Y}\mathbf{Y}}\) is decomposed by the Eigen-value Decomposition (EVD), and the eigenvectors corresponding to the \(D\) largest eigenvalues are formed by the signal subspace \(\mathbf{E_{s}}\), which is a matrix of \(M_{s}N_{s}\times D\). When the number of snapshots tends to infinity, we obtain \(\mathbf{E_{s}}=\mathbf{DT}\), where \(\mathbf{T}\) is an unknown real matrix of \(D\times D\). Substituting \(\mathbf{D}=\mathbf{E_{S}}\mathbf{T}^{-1}\) into (35), the signal eigenvector relationship of angular frequency \(w_{i}\) and \(u_{i}\) are obtained as follows:  
\[\mathbf{K}_{u1}\mathbf{E_{S}}\mathbf{\Psi}_{w}=\mathbf{K}_{u2}\mathbf{E_{S}}, \mathbf{\Psi}_{w}=\mathbf{T}^{-1}\mathbf{\Omega}_{w}\mathbf{T} \tag{39}\]  
\[\mathbf{K}_{u1}\mathbf{E_{S}}\mathbf{\Psi}_{u}=\mathbf{K}_{u2}\mathbf{E_{S}}, \mathbf{\Psi}_{u}=\mathbf{T}^{-1}\mathbf{\Omega}_{u}\mathbf{T} \tag{40}\]  
Utilizing (39) and (40), the complex square matrix \(\mathbf{\Psi}_{u}+j\mathbf{\Psi}_{w}\) is constructed. Then, the \(w_{i}\) and \(u_{i}\) are estimated from the real and imaginary parts of the eigenvalues of the matrix \(\mathbf{\Psi}_{u}+j\mathbf{\Psi}_{w}\), respectively. Then, \(f_{ri}\) and \(f_{vi}\) can be estimated according to (14) and (15), respectively. Finally, the range \(\hat{R}_{i}\) and velocity \(\hat{v}_{i}\) can be estimated according to (11) and (12), respectively. Obviously, the pairing of the range and velocity is achieved automatically. The proposed algorithm is summarized in Algorithm 1. ```
Input : Discrete IF signal \(x(m,n)\); \(M_{s}\) and \(N_{s}\).