# 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 Virtual Array Construction Using 2D-Spatial Smoothing Preprotcessing  
The signal in (10) is rewritten into a 2D matrix of \(M\times N\) as follows:  
\[\mathbf{X}(\mathbf{m},\mathbf{n})=[x(1,n),\ldots,x(m,n),\ldots,x(M,n)]^{\text{T} }\,0\leq n\leq N \tag{13}\]  
The angular frequency in the fast time domain and slow time domain are, respectively, defined as:  
\[u_{i}=2\pi f_{\text{ri}}/f_{s} \tag{14}\]  
\[w_{i}=2\pi f_{\text{ri}}T_{l} \tag{15}\]  
Therefore, \(x(m,n)\) in (10) is rewritten as \(x_{m,n}(w,u)\) for simplifying the analysis as follows:  
\[\begin{split} x_{m,n}(w,u)=&\sum_{i=1}^{D}\exp\{j(u _{i}n+w_{i}(m-1))\}+n_{w,u}\\ &\text{for }0\leq n\leq N-1,1\leq m\leq M\end{split} \tag{16}\]  
A smoothing submatrix of \(M_{s}\times N_{s}\) is selected from the matrix \(\mathbf{X}(\mathbf{m},\mathbf{n})\), as shown in Figure 1(a). \(M_{s}\) and \(N_{s}\) are the window lengths along the slow and fast time domains, respectively, and the number of slides is \(m_{t}=M-M_{s}+1\) and \(n_{t}=N-N_{s}+1\), respectively. The submatrix of each smoothing is converted into a vector of \(M_{s}N_{s}\times 1\) shown in Figure 1(b), which can be expressed as:  
\[\begin{split} z_{i,j}(w,u)=&[x_{i,j}(w,u),\cdots,x _{(i+M_{s}-1),j}(w,u),\pi_{i,(j+1)}(w,u),\ldots,x_{(i+M_{s}-1),(j+1)}(w,u),\\ &\ldots,x_{i,(j+N_{s}-1)}(w,u),\ldots,x_{(i+M_{s}-1),(j+N_{s}-1) }(w,u)]^{\text{T}}\\ &\text{for }0\leq i\leq m_{t}-1,0\leq j\leq n_{t}-1\end{split} \tag{17}\]  
The variable is expressed in vector form as:  
\[\mathbf{z}_{i,j}=\mathbf{As}(n)+\mathbf{N}_{i,j} \tag{18}\]  
where \(\mathbf{A}\) is the \(M_{s}N_{s}\times D\) steering vector matrix as \(\mathbf{A}=[\mathbf{a}_{1},\mathbf{a}_{2},\ldots\mathbf{a}_{D}]\) and \(\mathbf{a}_{i}\) is the \(M_{s}N_{s}\times 1\) steering vector as \(\mathbf{a}_{i}=[1,\ldots,e^{i\omega_{i}(M_{s}-1)}]^{\text{T}}\otimes[1,\ldots, e^{i\omega_{i}(N_{s}-1)}]^{\text{T}}\). \(\mathbf{s}(n)\) is the \(D\times 1\) signal vector.  
Figure 2: 2D-spatial smoothing preprocessing: (a) 2D-spatial smoothing submatrix; (b) Smoothing reconstruction matrix.  
Finally, a matrix of \(M_{s}N_{s}\times m_{t}n_{t}\) after smoothing is obtained as follows:  
\[\mathbf{Z}=[\;\mathbf{z}_{0,0},\mathbf{z}_{0,1},\ldots,\mathbf{z}_ {m_{t}-1,n_{t}-1}] \tag{19}\] \[=\;\left[\begin{array}{cccc}x_{0,0}&x_{0,1}&\ldots&x_{(M-M_{s}),( N-N_{s})}\\ \vdots&\vdots&\ddots&\vdots\\ x_{(M_{s}-1),0}&x_{(M_{s}-1),1}&\ldots&x_{(M-1),(N-N_{s})}\\ x_{0,1}&x_{0,2}&\ldots&x_{(M-M_{s}),(N-N_{s}+1)}\\ \vdots&\vdots&\ddots&\vdots\\ x_{(M_{s}-1),1}&x_{(M_{s}-1),2}&\ldots&x_{(M-1),(N-N_{s}+1)}\\ \vdots&\vdots&\ddots&\vdots\\ x_{0,(N_{s}-1)}&x_{0,N_{s}}&\ldots&x_{(M-M_{s}),(N-1)}\\ \vdots&\vdots&\ddots&\vdots\\ x_{(M_{s}-1),(N_{s}-1)}&x_{(M_{s}-1),N_{s}}&\ldots&x_{(M-1),(N-1)}\\ \end{array}\right]\]  
which can be expressed as:  
\[\mathbf{Z}=\mathbf{ASC}^{\mathrm{T}}+\mathbf{N} \tag{20}\]  
where \(\mathbf{S}\) is \(D\times D\) signal diagonal matrix. \(\mathbf{C}\) is \(m_{t}n_{t}\times D\) steering matrix expressed as \(\mathbf{C}=[\mathbf{c}_{1},\mathbf{c}_{2},\ldots\mathbf{c}_{D}]\) with \(\mathbf{c}_{i}=[1,\ldots,e^{i\pi_{i}(m_{t}-1)}]^{\mathrm{T}}\otimes[1,\ldots, e^{i\pi_{i}(n_{t}-1)}]^{\mathrm{T}}\). Therefore, the matrix \(\mathbf{Z}\) has shift invariance, and the 2D-Unitary ESPRIT algorithm [32] can be employed to obtain the range-velocity estimates of multiple targets.