3.1 Spatial alignment model
The spatial relation in geometry between radars A and B is shown in Fig. 3. The position vectors of the target in A and B coordinate system for the kth CPI can be expressed as \({\mathbf{P }^k} = {\left[ {x_{\mathrm{A}}^k,y_{\mathrm{A}}^k,z_{\mathrm{A}}^k} \right] ^{\mathrm{T}}}\) and \({\mathbf{Q }^k} = {\left[ {x_{\mathrm{B}}^k,y_{\mathrm{B}}^k,z_{\mathrm{B}}^k} \right] ^{\mathrm{T}}}\), respectively, where the superscript T denotes the transpose. It is worth stressing that, in this work, \(\mathbf{P}\) and \(\mathbf{Q}\) refer to the position vectors in Cartesian coordinates, while the measurements from radars refer to the positions in spherical coordinates. The geometrical convention for the Cartesian coordinate system is that \({\mathrm{X}}\) axis is aligned with the East, \(\mathrm{Y}\) axis with the North, and \(\mathrm{Z}\) points upwards, which is called local Cartesian coordinate. For the spherical coordinates, we have that the azimuth \(\varphi\) is positive counter-clockwise from the East (\(\mathrm{X}\) axis) and the elevation \(\theta\) is positive counter-clockwise from the \(\mathrm{X-Y}\) plane. From the geometry of the problem shown in Fig. 3, the following relation holds
$$\begin{aligned} {\mathbf{P }^k} = \mathbf{H }{\mathbf{Q }^k} + \mathbf{r }, \end{aligned}$$
(6)
where \(\mathbf{H }\) is \(3 \times 3\) the rotation matrix of angles \(\alpha ,\beta ,\gamma\) that aligns the radar B reference frame to the radar A reference frame. The rotation matrix \(\mathbf{H }\) is given by
$$\begin{aligned} \mathbf{H } = \left[ {\begin{array}{*{20}{c}} {\cos \alpha \cos \beta }&\quad {{\mathrm{cos}}\alpha \sin \beta \sin \gamma - \sin \alpha \cos \gamma }&\quad{{\mathrm{cos}}\alpha \sin \beta \cos \gamma + \sin \alpha \sin \gamma }\\ {\sin \alpha \cos \beta }&\quad{{\mathrm{sin}}\alpha \sin \beta \sin \gamma + \cos \alpha \cos \gamma }&\quad{{\mathrm{sin}}\alpha \sin \beta \cos \gamma - \cos \alpha \sin \gamma }\\ { - \sin \beta }&\quad{{\mathrm{cos}}\beta \sin \gamma }&\quad{{\mathrm{cos}}\beta \cos \gamma } \end{array}} \right] . \end{aligned}$$
(7)
In (6), \(\mathbf{r }\) is \(3 \times 1\) the translation vector expressed as \(\mathbf{r } = {\left[ {{r_x},{r_y},{r_z}} \right] ^{\mathrm{T}}}\). The spherical-to-Cartesian transformation can be expressed as
$$\begin{aligned} {\mathbf{P }^k} = \left[ \begin{array}{l} \rho _{\mathrm{A}}^k\cos \theta _{\mathrm{A}}^k\cos \varphi _{\mathrm{A}}^k\\ \rho _{\mathrm{A}}^k\cos \theta _{\mathrm{A}}^k\sin \varphi _{\mathrm{A}}^k\\ \rho _{\mathrm{A}}^k\sin \theta _{\mathrm{A}}^k \end{array} \right] ,{\mathbf{Q }^k} = \left[ \begin{array}{l} \rho _{\mathrm{B}}^k\cos \theta _{\mathrm{B}}^k\cos \varphi _{\mathrm{B}}^k\\ \rho _{\mathrm{B}}^k\cos \theta _{\mathrm{B}}^k\sin \varphi _{\mathrm{B}}^k\\ \rho _{\mathrm{B}}^k\sin \theta _{\mathrm{B}}^k \end{array} \right] , \end{aligned}$$
(8)
where \(\rho _{\mathrm{A}}^k\), \(\theta _{\mathrm{A}}^k\), \(\varphi _{\mathrm{A}}^k\) are the range, elevation angle and azimuth angle of the target to radar A, respectively, and \(\rho _{\mathrm{B}}^k\), \(\theta _{\mathrm{B}}^k\), \(\varphi _{\mathrm{B}}^k\) are the range, elevation angle and azimuth angle of the target to radar B, respectively. The ranges and radial velocities of the target to radars A and B can be expressed as
$$\begin{aligned}&\rho _{\mathrm{A}}^k = p_{\mathrm{A}}^k\Delta {R_{\mathrm{A}}},\rho _{\mathrm{B}}^k = p_{\mathrm{B}}^k\Delta {R_{\mathrm{B}}}, \end{aligned}$$
(9)
$$\begin{aligned}&v_{\mathrm{A}}^k = q_{\mathrm{A}}^k\Delta {d_{\mathrm{A}}},v_{\mathrm{B}}^k = q_{\mathrm{B}}^k\Delta {d_{\mathrm{B}}}, \end{aligned}$$
(10)
where \(v_{\mathrm{A}}^k\) and \(v_{\mathrm{B}}^k\) are the radial velocities of the target to radars A and B, \(\Delta {R_{\mathrm{A}}}\) and \(\Delta {R_{\mathrm{B}}}\) are the range resolution cells, \(\Delta {d_{\mathrm{A}}}\) and \(\Delta {d_{\mathrm{B}}}\) are velocity resolution cells, \(p_{\mathrm{A}}^k\) and \(q_{\mathrm{A}}^k\) are the indexes of the cell in range-Doppler domain for radar A, \(p_{\mathrm{B}}^k\) and \(q_{\mathrm{B}}^k\) are the indexes of the cell in range-Doppler domain for radar B. By making use of (6), (8) and (9), the alignment for the range dimension can be expressed as
$$\begin{aligned} p_{\mathrm{B}}^k = \frac{1}{{\Delta {R_{\mathrm{B}}}}}{\left( {\mathbf{H }\left[ \begin{array}{l} \cos \theta _{\mathrm{B}}^k\cos \varphi _{\mathrm{B}}^k\\ \cos \theta _{\mathrm{B}}^k\sin \varphi _{\mathrm{B}}^k\\ \sin \theta _{\mathrm{B}}^k \end{array} \right] } \right) ^ + }\left( {\Delta {R_{\mathrm{A}}}p_{\mathrm{A}}^k\left[ \begin{array}{l} \cos \theta _{\mathrm{A}}^k\cos \varphi _{\mathrm{A}}^k\\ \cos \theta _{\mathrm{A}}^k\sin \varphi _{\mathrm{A}}^k\\ \sin \theta _{\mathrm{A}}^k \end{array} \right] - \mathbf{r }} \right) , \end{aligned}$$
(11)
where the superscript + denotes the generalized inverse. The Doppler measured by radars A and B has a different mapping in different CPI. The radial velocities of the target to radars A and B in geometry are shown in Fig. 4.
The alignment for Doppler dimension can be expressed as
$$\begin{aligned} q_{\mathrm{B}}^k = q_{\mathrm{A}}^k - \Delta {q^k}, \end{aligned}$$
(12)
where \(\Delta {q^k} = v_{\mathrm{A}}^k/\Delta {d_{\mathrm{A}}} - v_{\mathrm{B}}^k/\Delta {d_{\mathrm{B}}}\). Based on the range and velocity relations between radars A and B, the alignment equation between the index \(\left( {D_{\mathrm{A}}^k\left( i \right) ,R_{\mathrm{A}}^k\left( i \right) } \right)\) of the target signal from radar A and \(\left( {X_{\mathrm{B}}^k\left( i \right) ,Y_{\mathrm{B}}^k\left( i \right) } \right)\) from radar B in range-Doppler domain can be modeled as
$$\begin{aligned} \begin{array}{l} \left( {X_{\mathrm{B}}^k\left( i \right) ,Y_{\mathrm{B}}^k\left( i \right) } \right) = \\ \left( {D_{\mathrm{A}}^k\left( i \right) - \Delta {q^k},\frac{1}{{\Delta {R_{\mathrm{B}}}}}{{\left( {\mathbf{H }\left[ \begin{array}{l} \cos \theta _{\mathrm{B}}^k\cos \varphi _{\mathrm{B}}^k\\ \cos \theta _{\mathrm{B}}^k\sin \varphi _{\mathrm{B}}^k\\ \sin \theta _{\mathrm{B}}^k \end{array} \right] } \right) }^ + }\left( {\Delta {R_{\mathrm{A}}}R_{\mathrm{A}}^k\left( i \right) \left[ \begin{array}{l} \cos \theta _{\mathrm{A}}^k\cos \varphi _{\mathrm{A}}^k\\ \cos \theta _{\mathrm{A}}^k\sin \varphi _{\mathrm{A}}^k\\ \sin \theta _{\mathrm{A}}^k \end{array} \right] - \mathbf{r }} \right) } \right) . \end{array} \end{aligned}$$
(13)
Equation (13) is the fundamental alignment equation in range-Doppler domain, which allows us to align signals coming from radar B to radar A. In the alignment model, \(\left( {\alpha ,\beta ,\gamma } \right)\) in \(\mathbf{H }\) and \(\left( {{r_x},{r_y},{r_z}} \right)\) in \(\mathbf{r }\) are the unknown parameters to be estimated.
3.2 Range-Doppler domain spatial alignment
In this subsection, the signals in range-Doppler domain are aligned based on the spatial alignment equation above. In the radar network, the energy consumption and communication requirements are increased when local radars transmit all the data to the fusion center. Thus, when energy or communication resources are limited, we need to minimize the data transmissions between the local radars and the fusion center [24]. The two-step detection scheme is presented when a communication-rate restriction is imposed on a distributed radar network [26]. One approach to restricting the communication-rate is to initially censor. The initial threshold is set at each local radar, and only the data that pass the initial threshold test are shared. The initial threshold test is considered as Stage 1 (first-stage detection) of the two-step detection scheme. After being censored, the data are transmitted to Stage 2 (second-stage detection) of the two-step detection scheme where they are integrated and compared to a final threshold corresponding to the desired overall probability of false alarm.
With the inspiration of the two-step detection scheme, initial CFAR as Stage 1 is carried out for the signal in range-Doppler domain to reduce the communication rate for alignment. The first-stage false alarm rate can be denoted as \({P_{fa1}}\), and \(T_1\) is the first-stage threshold associated with \({P_{fa1}}\). In this paper, we use cell averaging false alarm rate (CA-CFAR) detector. Therefore, \({T_1} = \left( {\sum \nolimits _{i = 1}^{{N_c}} {{x_i}} } \right) \left( {{P_{fa1}}^{ - \frac{1}{{{N_c}}}} - 1} \right)\), where \(x_i\) is the signal in the i-th cell and \(N_c\) is the number of reference cells. Only the cells that exceed the threshold \(T_1\) are sent to the fusion center, and cells below the threshold \(T_1\) is uninformative and simply not transmitted. In consideration of the situation that the strong signals raise the threshold of the surrounding cells, the weak signals near the strong signals may be undetected. In order to retain the weak signal, the cells around the signals that pass the threshold test are sent to the fusion center together. In this way, the radars censor their observations so that each radar only sends informative observations to the fusion center, and discards those uninformative data.
The informative cells in the kth CPI are censored and transmitted to the fusion center to prepare for the following alignment, as shown in Fig. 5. We select a \(W \times G\) data set around the cell that passes the initial CFAR detection.
After the initial CFAR, the informative cells in range-Doppler domain are shown in Fig. 6. In this way, the information of the target can be retained to the greatest extent. Moreover, the communication-rate between local radars and the fusion center can be reduced.
The measurements \({\varvec{\Omega }}_{{\mathrm{A,m}}}^k\) and \({\varvec{\Omega }}_{{\mathrm{B,m}}}^k\) after the initial CFAR from radars A and B in the kth CPI can be denoted as
$$\begin{aligned} {\varvec{\Omega }}_{{\mathrm{A,m}}}^k = {\left( {{\mathbf{F }_{\mathrm{A}}}} \right) ^{\mathrm{T}}}\mathbf{S }_{{\mathrm{A,m}}}^k{\mathbf{E }_{\mathrm{A}}}, \end{aligned}$$
(14)
where \({\mathbf{F }_{\mathrm{A}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{f }_{D_{\mathrm{A}}^k\left( 1 \right) }}}&{{\mathbf{f }_{D_{\mathrm{A}}^k\left( 2 \right) }}}&\cdots&{{\mathbf{f }_{D_{\mathrm{A}}^k\left( W \right) }}} \end{array}} \right]\), \({\mathbf{f }_{D_{\mathrm{A}}^k\left( i \right) }} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{0 }_{D_{\mathrm{A}}^k\left( i \right) }}}&1&{{\mathbf{0 }_{M - D_{\mathrm{A}}^k\left( i \right) }}} \end{array}} \right]\), \({\mathbf{E }_{\mathrm{A}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{e }_{R_{\mathrm{A}}^k\left( 1 \right) }}}&{{\mathbf{e }_{R_{\mathrm{A}}^k\left( 2 \right) }}}&\cdots&{{\mathbf{e }_{R_{\mathrm{A}}^k\left( G \right) }}} \end{array}} \right]\), \({\mathbf{e }_{R_{\mathrm{A}}^k\left( i \right) }} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{0 }_{R_{\mathrm{A}}^k\left( i \right) }}}&1&{{\mathbf{0 }_{N - R_{\mathrm{A}}^k\left( i \right) }}} \end{array}} \right]\),
$$\begin{aligned} {\varvec{\Omega }}_{{\mathrm{B,m}}}^k = {\left( {{\mathbf{F }_{\mathrm{B}}}} \right) ^{\mathrm{T}}}\mathbf{S }_{{\mathrm{B,m}}}^k{\mathbf{E }_{\mathrm{B}}}, \end{aligned}$$
(15)
where \({\mathbf{F }_{\mathrm{B}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{f }_{D_{\mathrm{B}}^k\left( 1 \right) }}}&{{\mathbf{f }_{D_{\mathrm{B}}^k\left( 2 \right) }}}&\cdots&{{\mathbf{f }_{D_{\mathrm{B}}^k\left( W \right) }}} \end{array}} \right]\), \({\mathbf{f }_{D_{\mathrm{B}}^k\left( i \right) }} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{0 }_{D_{\mathrm{B}}^k\left( i \right) }}}&1&{{\mathbf{0 }_{M - D_{\mathrm{B}}^k\left( i \right) }}} \end{array}} \right]\), \({\mathbf{E }_{\mathrm{B}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{e }_{R_{\mathrm{B}}^k\left( 1 \right) }}}&{{\mathbf{e }_{R_{\mathrm{B}}^k\left( 2 \right) }}}&\cdots&{{\mathbf{e }_{R_{\mathrm{B}}^k\left( G \right) }}} \end{array}} \right]\), \({\mathbf{e }_{R_{\mathrm{B}}^k\left( i \right) }} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{0 }_{R_{\mathrm{B}}^k\left( i \right) }}}&1&{{\mathbf{0 }_{N - R_{\mathrm{B}}^k\left( i \right) }}} \end{array}} \right]\).
The data transmitted from local radars to the fusion center consist of two \(W \times G\) matrices and a \(8 \times 1\) vector containing the starting and ending indexes \({{\varvec{\Psi }}^k}=(R_{\mathrm{A}}^k\left( 1 \right)\), \(R_{\mathrm{A}}^k\left( G \right)\), \(D_{\mathrm{A}}^k\left( 1 \right)\), \(D_{\mathrm{A}}^k\left( W \right)\), \(R_{\mathrm{B}}^k\left( 1 \right)\), \(R_{\mathrm{B}}^k\left( G \right)\), \(D_{\mathrm{B}}^k\left( 1 \right)\), \(D_{\mathrm{B}}^k\left( W \right) )\) of the selected areas. The censored signals in range-Doppler domain are used for alignment to reduce the transmission from \(2 \times N \times M\) to \(\left( 2 \times W \times G + 8\right)\) compared with the traditional echo transmission method, and \(W<< N,G< < M\). In the fusion center, the signals from radars A and B in range-Doppler domain are reconstructed based on \({\varvec{\Omega }}_{\mathrm{A}}^k\), \({\varvec{\Omega }}_{\mathrm{B}}^k\) and the indexes \({{\varvec{\Psi }}^k}\). The reconstructed signals from radars A and B in range-Doppler domain can be represented as
$$\begin{aligned}&{\varvec{\Phi }}_{{\mathrm{A,m}}}^k = \left[ {\begin{array}{*{20}{c}} {{\mathbf{0 }_{\left( {N{\mathrm{- }}D_{\mathrm{A}}^k\left( W \right) } \right) \times R_{\mathrm{A}}^k\left( 1 \right) }}}&{}{{\mathbf{0 }_{\left( {N{\mathrm{- }}D_{\mathrm{A}}^k\left( W \right) } \right) \times \left( {R_{\mathrm{A}}^k\left( G \right) - R_{\mathrm{A}}^k\left( 1 \right) } \right) }}}&{}{{\mathbf{0 }_{\left( {N{\mathrm{- }}D_{\mathrm{A}}^k\left( W \right) } \right) \times \left( {M{\mathrm{- }}R_{\mathrm{A}}^k\left( G \right) } \right) }}}\\ {{\mathbf{0 }_{\left( {D_{\mathrm{A}}^k\left( W \right) {\mathrm{- }}D_{\mathrm{A}}^k\left( 1 \right) } \right) \times R_{\mathrm{A}}^k\left( 1 \right) }}}&{}{{\varvec{\Omega }}_{{\mathrm{A,m}}}^k}&{}{{\mathbf{0 }_{\left( {D_{\mathrm{A}}^k\left( W \right) {\mathrm{- }}D_{\mathrm{A}}^k\left( 1 \right) } \right) \times \left( {M{\mathrm{- }}R_{\mathrm{A}}^k\left( G \right) } \right) }}}\\ {{\mathbf{0 }_{\left( {D_{\mathrm{A}}^k\left( 1 \right) - 1} \right) \times R_{\mathrm{A}}^k\left( 1 \right) }}}&{}{{\mathbf{0 }_{\left( {D_{\mathrm{A}}^k\left( 1 \right) - 1} \right) \times \left( {R_{\mathrm{A}}^k\left( G \right) - R_{\mathrm{A}}^k\left( 1 \right) } \right) }}}&{}{{\mathbf{0 }_{\left( {D_{\mathrm{A}}^k\left( 1 \right) - 1} \right) \times \left( {M{\mathrm{- }}R_{\mathrm{A}}^k\left( G \right) } \right) }}} \end{array}} \right] , \end{aligned}$$
(16)
$$\begin{aligned}&{\varvec{\Phi }}_{{\mathrm{B,m}}}^k = \left[ {\begin{array}{*{20}{c}} {{\mathbf{0 }_{\left( {N{\mathrm{- }}D_{\mathrm{B}}^k\left( W \right) } \right) \times R_{\mathrm{B}}^k\left( 1 \right) }}}&{}{{\mathbf{0 }_{\left( {N{\mathrm{- }}D_{\mathrm{B}}^k\left( W \right) } \right) \times \left( {R_{\mathrm{B}}^k\left( G \right) - R_{\mathrm{B}}^k\left( 1 \right) } \right) }}}&{}{{\mathbf{0 }_{\left( {N{\mathrm{- }}D_{\mathrm{B}}^k\left( W \right) } \right) \times \left( {M{\mathrm{- }}R_{\mathrm{B}}^k\left( G \right) } \right) }}}\\ {{\mathbf{0 }_{\left( {D_{\mathrm{B}}^k\left( W \right) {\mathrm{- }}D_{\mathrm{B}}^k\left( 1 \right) } \right) \times R_{\mathrm{B}}^k\left( 1 \right) }}}&{}{{\varvec{\Omega }}_{{\mathrm{B,m}}}^k}&{}{{\mathbf{0 }_{\left( {D_{\mathrm{B}}^k\left( W \right) {\mathrm{- }}D_{\mathrm{B}}^k\left( 1 \right) } \right) \times \left( {M{\mathrm{- }}R_{\mathrm{B}}^k\left( G \right) } \right) }}}\\ {{\mathbf{0 }_{\left( {D_{\mathrm{B}}^k\left( 1 \right) - 1} \right) \times R_{\mathrm{B}}^k\left( 1 \right) }}}&{}{{\mathbf{0 }_{\left( {D_{\mathrm{B}}^k\left( 1 \right) - 1} \right) \times \left( {R_{\mathrm{B}}^k\left( G \right) - R_{\mathrm{B}}^k\left( 1 \right) } \right) }}}&{}{{\mathbf{0 }_{\left( {D_{\mathrm{B}}^k\left( 1 \right) - 1} \right) \times \left( {M{\mathrm{- }}R_{\mathrm{B}}^k\left( G \right) } \right) }}} \end{array}} \right] , \end{aligned}$$
(17)
respectively. Then, we can align the data coming from radar B to radar A. Based on the alignment model in (13), the measurements from radar B after alignment can be expressed as
$$\begin{aligned} {\varvec{\Gamma }}_{{\mathrm{B,m}}}^k = {\left( {{\mathbf{V }_{\mathrm{B}}}} \right) ^{\mathrm{T}}}{\varvec{\Phi }}_{{\mathrm{B,m}}}^k{\mathbf{U }_{\mathrm{B}}}, \end{aligned}$$
(18)
where \({\mathbf{V }_{\mathrm{B}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{v }_{X_{\mathrm{B}}^k\left( 1 \right) }}}&{{\mathbf{v }_{X_{\mathrm{B}}^k\left( 2 \right) }}}&\cdots&{{\mathbf{v }_{X_{\mathrm{B}}^k\left( W \right) }}} \end{array}} \right]\), \({\mathbf{v }_{X_{\mathrm{B}}^k\left( i \right) }} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{0 }_{X_{\mathrm{B}}^k\left( i \right) }}}&1&{{\mathbf{0 }_{M - X_{\mathrm{B}}^k\left( i \right) }}} \end{array}} \right]\), \({\mathbf{U }_{\mathrm{B}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{u }_{Y_{\mathrm{B}}^k\left( 1 \right) }}}&{{\mathbf{u }_{Y_{\mathrm{B}}^k\left( 2 \right) }}}&\ldots&{{\mathbf{u }_{Y_{\mathrm{B}}^k\left( G \right) }}} \end{array}} \right]\), \({\mathbf{u }_{Y_{\mathrm{B}}^k\left( i \right) }} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{0 }_{Y_{\mathrm{B}}^k\left( i \right) }}}&1&{{\mathbf{0 }_{N - Y_{\mathrm{B}}^k\left( i \right) }}} \end{array}} \right]\). It is worth mentioning that \(Y_{\mathrm{B}}^k\left( i \right)\) is not always an integer, it can be interpolated from the adjacent point (integer time) locations: \(l_{\mathrm{B}}^k\left( i \right) = \left\lfloor {Y_{\mathrm{B}}^k\left( i \right) } \right\rfloor\) and \(h_{\mathrm{B}}^k\left( i \right) = \left\lceil {Y_{\mathrm{B}}^k\left( i \right) } \right\rceil\), where \(\lfloor\) \(\rfloor\) and \(\lceil\) \(\rceil\) are the round operators towards minus and plus infinity. After the interpolation in range-Doppler domain, (18) can be rewritten as
$$\begin{aligned} {\varvec{\Gamma }}_{{\mathrm{B,m}}}^k = \left( {{\varvec{\sigma }} * {{\left( {{\mathbf{V }_{\mathrm{B}}}} \right) }^{\mathrm{T}}}{\varvec{\Phi }}_{{\mathrm{B,m}}}^k{\mathbf{U }_{{{\mathrm{B}}_l}}} + {\varvec{\omega }} * {{\left( {{\mathbf{V }_{\mathrm{B}}}} \right) }^{\mathrm{T}}}{\varvec{\Phi }}_{{\mathrm{B,m}}}^k{\mathbf{U }_{{B_h}}}} \right) , \end{aligned}$$
(19)
where \({\mathbf{U }_{{{\mathrm{B}}_l}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{u }_{l_{\mathrm{B}}^k\left( 1 \right) }}}&{{\mathbf{u }_{l_{\mathrm{B}}^k\left( 2 \right) }}}&\ldots&{{\mathbf{u }_{l_{\mathrm{B}}^k\left( G \right) }}} \end{array}} \right]\), \({\mathbf{U }_{{B_h}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{u }_{h_{\mathrm{B}}^k\left( 1 \right) }}}&{{\mathbf{u }_{h_{\mathrm{B}}^k\left( 2 \right) }}}&\ldots&{{\mathbf{u }_{h_{\mathrm{B}}^k\left( G \right) }}} \end{array}} \right]\),
$$\begin{aligned} {\varvec{\sigma }}= & {} {\left[ {\begin{array}{*{20}{c}} {1 - {\phi _1}}&{}{1 - {\phi _1}}&{} \cdots &{}{1 - {\phi _1}}&{} \cdots &{}{1 - {\phi _1}}\\ {1 - {\phi _2}}&{}{1 - {\phi _2}}&{} \cdots &{}{1 - {\phi _2}}&{} \cdots &{}{1 - {\phi _2}}\\ \vdots &{} \vdots &{} \ddots &{} \vdots &{} \ddots &{} \vdots \\ {1 - {\phi _i}}&{}{1 - {\phi _i}}&{} \cdots &{}{1 - {\phi _i}}&{} \cdots &{}{1 - {\phi _i}}\\ \vdots &{} \vdots &{} \ddots &{} \vdots &{} \ddots &{} \vdots \\ {1 - {\phi _W}}&{}{1 - {\phi _W}}&{} \cdots &{}{1 - {\phi _W}}&{} \cdots &{}{1 - {\phi _W}} \end{array}} \right] _{W \times G}}, \end{aligned}$$
(20)
$$\begin{aligned} {\varvec{\omega }}= & {} {\left[ {\begin{array}{*{20}{c}} {{\phi _1}}&{}{{\phi _1}}&{} \cdots &{}{{\phi _1}}&{} \cdots &{}{{\phi _1}}\\ {{\phi _2}}&{}{{\phi _2}}&{} \cdots &{}{{\phi _2}}&{} \cdots &{}{{\phi _2}}\\ \vdots &{} \vdots &{} \ddots &{} \vdots &{} \ddots &{} \vdots \\ {{\phi _i}}&{}{{\phi _i}}&{} \cdots &{}{{\phi _i}}&{} \cdots &{}{{\phi _i}}\\ \vdots &{} \vdots &{} \ddots &{} \vdots &{} \ddots &{} \vdots \\ {{\phi _W}}&{}{{\phi _W}}&{} \cdots &{}{{\phi _W}}&{} \cdots &{}{{\phi _W}} \end{array}} \right] _{W \times G}}, \end{aligned}$$
(21)
and \({\phi _i} = Y_{\mathrm{B}}^k\left( i \right) - \left\lfloor {Y_{\mathrm{B}}^k\left( i \right) } \right\rfloor\). In (19), \(*\) is Hadamard product, and its elements are defined as the product of the corresponding elements of two matrices.
When radars A and B detect the same targets, the ranges of the target to radars A and B are different, and the radar cross sections (RCS) at different angles are also different. Therefore, the amplitudes of the signals in range-Doppler domain from radars A and B are different, and the ratio of amplitudes is denoted as \(\eta\). Therefore, the true values \({\varvec{\Omega }}_{{\mathrm{A,t}}}^k\) and \({\varvec{\Gamma }}_{{\mathrm{B,t}}}^k\) can be expressed as
$$\begin{aligned} {\varvec{\Omega }}_{{\mathrm{A,t}}}^k = \eta {\varvec{\Gamma }}_{{\mathrm{B,t}}}^k. \end{aligned}$$
(22)
We get the following equations for the measurement models
$$\begin{aligned}&{\varvec{\Omega }}_{{\mathrm{A}},{\mathrm{m}}}^k = {\varvec{\Omega }}_{{\mathrm{A}},t}^k + {\varvec{\varepsilon }}_{\mathrm{A}}^k, \end{aligned}$$
(23)
$$\begin{aligned}&{\varvec{\Gamma }}_{{\mathrm{B}},{\mathrm{m}}}^k = {\varvec{\Gamma }}_{{\mathrm{B}},t}^k + {\varvec{\varepsilon }}_{\mathrm{B}}^k, \end{aligned}$$
(24)
where the random measurement noises \({{\varvec{\varepsilon }}_{\mathrm{A}}}\), \({{\varvec{\varepsilon }}_{\mathrm{B}}}\) are zero-mean Gaussian noises with covariance matrices \({{\varvec{\Sigma }}_{\mathrm{A}}}\), \({{\varvec{\Sigma }}_{\mathrm{B}}}\), respectively. By making use of (23) and (24), (22) can be rewritten as
$$\begin{aligned} {\varvec{\Omega }}_{{\mathrm{A,m}}}^k = \eta {\varvec{\Gamma }}_{{\mathrm{B,m}}}^k + {{\varvec{\varepsilon }}^k}, \end{aligned}$$
(25)
where \({\varvec{\varepsilon }}\) is a zero-mean Gaussian random noise with covariance matrix \({\varvec{\Sigma }} = {{\varvec{\Sigma }}_{\mathrm{A}}} + {\eta ^2}{{\varvec{\Sigma }}_B}\). Cross-correlation is the optimal approach to aligning the signals, in a minimum mean square error (MMSE) sense, when the signal noise is Gaussian. The parameter vector to be estimated is given by
$$\begin{aligned} {\varvec{\Theta }} = {\left( {\alpha ,\beta ,\gamma ,{r_x},{r_y},{r_z}} \right) ^{\mathrm{T}}}. \end{aligned}$$
(26)
To align signals coming from radar B to radar A, the alignment in range-Doppler domain can be formulated as the following optimization problem
$$\begin{aligned} {J_1}\left( {\varvec{\Theta }} \right) = \sum \limits _{k = 1}^K {\text {corr}\left( {{\varvec{\Omega }}_{{\mathrm{A,m}}}^k,{\varvec{\Gamma }}_{{\mathrm{B,m}}}^k} \right) }, \end{aligned}$$
(27)
where \(\text {corr}(\mathbf{X },\mathbf{Y }) = \frac{{{{\left( {\text {vec}\left( \mathbf{X } \right) } \right) }^T}\left( {\text {vec}\left( \mathbf{Y } \right) } \right) }}{{\sqrt{\left( {{{\left( {\text {vec}\left( \mathbf{X } \right) } \right) }^T}\left( {\text {vec}\left( \mathbf{X } \right) } \right) } \right) \left( {{{\left( {\text {vec}\left( \mathbf{Y } \right) } \right) }^T}\left( {\text {vec}\left( \mathbf{Y } \right) } \right) } \right) } }}\), the vectorization operator \(\text {vec}\left( \cdot \right)\) stacks the columns vectors of the argument matrix into a long column vector in chronological order. The estimate \({\varvec{\Theta }}\) can be obtained by maximizing the objective function \(J_1\left( {\varvec{\Theta }} \right)\).
Symmetrically, to align the range-Doppler signal coming from radar A to radar B, the alignment can be formulated as the similar optimization problem
$$\begin{aligned} {J_2}\left( {\varvec{\Theta }} \right) = \sum \limits _{k = 1}^K {\text {corr}\left( {{\varvec{\Gamma }}_{{\mathrm{A,m}}}^k,{\varvec{\Omega }}_{{\mathrm{B,m}}}^k} \right) }, \end{aligned}$$
(28)
where
$$\begin{aligned} {\varvec{\Gamma }}_{{\mathrm{A,m}}}^k = {\varvec{\sigma '}} * {\left( {{\mathbf{V }_{\mathrm{A}}}} \right) ^{\mathrm{T}}}{\varvec{\Phi }}_{{\mathrm{A,m}}}^k{\mathbf{U }_{{{\mathrm{A}}_l}}} + {\varvec{\omega '}} * {\left( {{\mathbf{V }_{\mathrm{A}}}} \right) ^{\mathrm{T}}}{\varvec{\Phi }}_{{\mathrm{A,m}}}^k{\mathbf{U }_{{{\mathrm{A}}_h}}}, \end{aligned}$$
(29)
and \({\mathbf{V }_{\mathrm{A}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{v }_{X_{\mathrm{A}}^k\left( 1 \right) }}}&{{\mathbf{v }_{X_{\mathrm{A}}^k\left( 2 \right) }}}&\cdots&{{\mathbf{v }_{X_{\mathrm{A}}^k\left( W \right) }}} \end{array}} \right]\), \({\mathbf{U }_{{{\mathrm{A}}_l}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{u }_{l_{\mathrm{A}}^k\left( 1 \right) }}}&{{\mathbf{u }_{l_{\mathrm{A}}^k\left( 2 \right) }}}&\ldots&{{\mathbf{u }_{l_{\mathrm{A}}^k\left( G \right) }}} \end{array}} \right]\), \({\mathbf{U }_{{{\mathrm{A}}_h}}} = \left[ {\begin{array}{*{20}{c}} {{\mathbf{u }_{h_{\mathrm{A}}^k\left( 1 \right) }}}&{{\mathbf{u }_{h_{\mathrm{A}}^k\left( 2 \right) }}}&\ldots&{{\mathbf{u }_{h_{\mathrm{A}}^k\left( G \right) }}} \end{array}} \right]\). The definitions of \({\mathbf{v }_{X_{\mathrm{A}}^k\left( i \right) }}\), \({\mathbf{u }_{l_{\mathrm{A}}^k\left( i \right) }}\), \({\mathbf{u }_{h_{\mathrm{A}}^k\left( i \right) }}\), \({\varvec{\sigma '}}\) and \({\varvec{\omega '}}\) are similar to those of \({\mathbf{v }_{X_{\mathrm{B}}^k\left( i \right) }}\), \({\mathbf{u }_{l_{\mathrm{B}}^k\left( i \right) }}\), \({\mathbf{u }_{h_{\mathrm{B}}^k\left( i \right) }}\), \({\varvec{\sigma }}\) and \({\varvec{\omega }}\), and they will not be repeated here.
Therefore, the optimization problem for alignment can be rewritten as
$$\begin{aligned} J\left( {\varvec{\Theta }} \right) = {J_1}\left( {\varvec{\Theta }} \right) + {J_2}\left( {\varvec{\Theta }} \right) . \end{aligned}$$
(30)
The estimate \({\varvec{\Theta }}\) can be obtained by maximizing the objective function \(J\left( {\varvec{\Theta }} \right)\).
3.3 Genetic algorithm
To solve the estimate \({\varvec{\Theta }}\) in (30), a genetic algorithm (GA) is used to maximize \(J\left( {\varvec{\Theta }} \right)\) in this subsection. GAs [28] are one of the most widely used artificial intelligent techniques for optimization. A GA is a stochastic searching algorithm based on the mechanisms of natural selection and genetics. GAs have been proven to be very efficient and stable in searching for global optimum solutions. Usually, a GA is mainly composed of three operations: initial population, evolution environment, genetic operation (see Fig. 7). A brief summary for a GA can be summarized as follows.
(1) Initial population:
The GA starts the iteration with the initial population as the initial values. The initial population size \(n_p\) represents the number of individuals in the population. The initial set of population \({{\varvec{\Theta }}^{\mathrm{I}}}\) is usually generated by coding as follow
$$\begin{aligned} \begin{array}{l} {{\varvec{\Theta }}^{\mathrm{I}}} = \left\{ {{{\varvec{\Theta }}_1},{{\varvec{\Theta }}_2}, \cdots ,{{\varvec{\Theta }}_{{n_p}}}} \right\} \\ {{\varvec{\Theta }}_i} = \left[ {{{\varvec{\Theta }}_{i,1}},{{\varvec{\Theta }}_{i,2}}, \cdots ,{{\varvec{\Theta }}_{i,j}}, \cdots ,{{\varvec{\Theta }}_{i,{n_v}}}} \right] \\ i = 1,2, \cdots ,{n_p}\\ j = 1,2, \cdots ,{n_v}\\ {\varvec{\Theta }}_j^{\min } \le {{\varvec{\Theta }}_{i,j}} \le {\varvec{\Theta }}_j^{\max } \end{array}, \end{aligned}$$
(31)
where \(n_v\) denotes the number of the estimated parameters, \({\varvec{\Theta }}_j^{\min }\) and \({\varvec{\Theta }}_j^{\max }\) are the minimum and maximum values of the parameter \({{\varvec{\Theta }}_{i,j}}\). The initial population is usually generated randomly, but if the actual distribution of the population is known, the initial population can also be generated according to this distribution.
(2) Fitness Function:
The fitness function of the parameter vector \({\varvec{\Theta }}\) is expressed as
$$\begin{aligned} fitness = J\left( {{{\varvec{\Theta }}_i}} \right) \end{aligned}$$
(32)
The form of the fitness function depends on the objective function in (30) of the algorithm.
(3) Genetic Operation:
The most important operations of a GA for solving objective functions are maintaining, reproduction, crossover, and mutation. A brief description of these operations is shown below [29].
(a) Maintaining: The individual with the highest fitness in this generation is copied to the next generation. It ensures that the best genes will not be destroyed in the next generation.
(b) Reproduction: Based on their fitness values, some individuals are selected to reproduce the next generation with the corresponding probability. The probability of the ith individual (corresponding to the ith chromosome \({{\varvec{\Theta }}_i}\)) with fitness value reproduced for crossover in the next generation is
$$\begin{aligned} P_i = \frac{{{J}\left( {{{\varvec{\Theta }}_i}} \right) }}{{\sum \nolimits _{i' = 1}^{{n_p}} {{J}\left( {{{\varvec{\Theta }}_{i'}}} \right) } }}. \end{aligned}$$
(33)
(c) Crossover: The crossover operation is mainly for exchanging information from the two parents, chromosomes \({{{\varvec{\Theta }}_i}}\) and \({{{\varvec{\Theta }}_{i+1}}}\). It is an effective method to create new combinations of genes.
(d) Mutation: Mutation is to create new individuals by changing the genes of the chromosomes with a small probability. The mutation operation ensures that the algorithm can search each value in the solution space to reach the global optimum.
The flowchart of the GA is summarized in Fig. 7. The GA is used to calculate the maximum value of the objective function in (30), and the optimal alignment parameter \({\varvec{\Theta }}\) can be obtained. The pseudocode of the GA-based spatial alignment algorithm for networked radars in range-Doppler domain is shown in Algorithm 1.
It is worth mentioning that pairwise alignment is used when there are more than two radars in the multi-static radar systems. Without loss of generality, three radars are taken as an example. When the number of radars increases, the alignment method is similar to that in the situation of three radars. The radar A, B and C detect the targets independently. The alignment parameter vector between radars A and B, B and C, A and C can be expressed as \({{\varvec{\Theta }}_{{\mathrm{AB}}}}\), \({{\varvec{\Theta }}_{{\mathrm{BC}}}}\), \({{\varvec{\Theta }}_{{\mathrm{AC}}}}\), respectively. The optimization problem \(J\left( {{{\varvec{\Theta }}_{{\mathrm{AB}}}},{{\varvec{\Theta }}_{{\mathrm{BC}}}},{{\varvec{\Theta }}_{{\mathrm{AC}}}}} \right)\) can be solved by using the proposed algorithm.