Skip to main content

DOA estimation based on sum–difference coarray with virtual array interpolation concept


The sum–difference coarray is the union of difference coarray and the sum coarray, which is capable to obtain a higher number of degrees of freedom (DOF) than the difference coarray. However, this method fails to use all information provided by the coprime array because of the existence of holes. In this paper, we introduce the virtual array interpolation into the sum–difference coarray domain. After interpolating the virtual array, we estimate the DOA by reconstructing the covariance matrix to resolve an atomic norm minimization problem in a gridless way. The proposed method is gridless and can effectively utilize the DOF of a larger virtual array. Numerical simulation results verify the effectiveness and the superior performance of the proposed algorithm.

1 Introduction

Direction-of-arrival (DOA) plays a significant role in array signal processing, which has been widely used in many fields such as sonar, radar, wireless communications, seismology [1,2,3,4,5]. In the past few years, underdetermined DOA estimation, i.e., determining the DOAs of more sources than the number of sensors, has attracted tremendous attention. Nevertheless, traditional subspace-based DOA estimation techniques based on the uniform linear array (ULA), such as multiple signal classification (MUSIC) [6] and estimation of signal parameters via rotational invariance technique (ESPRIT) [7] are restrained by the number of sensors. Specifically, an array with N sensors can only resolve up to \(N-1\) targets with these subspace-based methods.

In order to detect more sources, some systematical sparse arrays have been proposed to increase the degree of freedom (DOF) by developing the corresponding difference coarray (DCA). The coarray concept has previously been proposed in [8, 9]. It is defined as the set of all differences or sums between array element locations which can achieve larger virtual array aperture. The minimum redundancy array (MRA) [10] is a well-known sparse array structure that can generate the maximum number of consecutive virtual sensors. Nevertheless, there are no closed-form expressions for MRA. In recent years, the coprime array (CA) [11] and nested array (NA) [12] have aroused extensive attention. Both of them provide large coarray apertures and an increased number of DOF. The coprime array is able to identify up to \({\mathcal{O}}(MN)\) sources with \(M+N-1\) sensors, where M and N are coprime. And the nested array can resolve up to \({\mathcal{O}}(N^2)\) sources with N physical sensors. Compared with the coprime array, the nested array has more significant mutual coupling effects. Thus, plenty of modified coprime array constructions have been proceeded [13,14,15,16,17].

Since the DCA derived from coprime array is discontiguous, the locations where there are no virtual elements in the coarray are called “holes”. For the traditional subspace-based DOA estimation methods, only the longest consecutive part of the derived virtual array can be used [18]. However, the information of the discontiguous virtual sensors is discarded. In order to make the coarray information fully utilized, the sparse recovery methods like \(l_1\) norm minimization and LASSO algorithm [19] are proposed. But these methods discretize the parameter space in a dense grid which would produce the basis mismatch problem. In this case, the off-grid targets cannot accurately fall on the pre-defined spatial grid. The basis mismatch problem cannot be completely resolved until the gridless methods without setting grid are proposed. Currently, plenty of DOA estimation methods have been developed based on coarray interpolation by interpolating additional sensors into the positions of holes in the virtual array [20,21,22,23]. In [20], a DOA estimation algorithm using coarray interpolation is proposed through nuclear norm minimization (NNM) for coprime arrays. And a gridless DOA estimation is put forward via a low-rank Toeplitz covariance matrix reconstruction approach [22]. Moreover, a virtual array interpolation algorithm based on the atomic norm minimization (ANM) and Toeplitz matrix reconstruction is proposed in [23].

Recently, a novel method that generates the sum–difference coarray (SDCA) via vectorized conjugate augmented MUSIC (VCAM) algorithm has been proposed in [24]. As the sum coarray (SCA) is able to fill a majority of the holes in DCA, this method can obtain larger consecutive coarray aperture, leading to much larger number of DOF. Although the virtual aperture of SDCA is more than twice the physical aperture, there still exist some holes. The nonconsecutive virtual sensors will be discarded.

In this paper, to fully utilize all information derived from SDCA, we introduce the concept of interpolation to generate a virtual ULA. The holes in the SDCA are filled up by interpolating the virtual arrays. Specifically, we interpolate the missing elements in the discontiguous virtual array into a virtual ULA at first. So that all information derived from virtual array can be fully used. Secondly, we derive an atomic norm of the output signals after virtual array interpolation. Accordingly, an ANM problem is formed to reconstruct the Toeplitz covariance matrix of the interpolated virtual array. And the ANM problem is resolved by semi-definite programming (SDP). At last, the reconstructed covariance matrix can be used to estimate DOA by employing the subspace method. Simulation results prove the superiority of the proposed method.

The rest of this paper is organized as follows. Section 2 introduces the signal model of coprime array and the generation of SDCA. Section 3 presents the proposed DOA estimation method with SDCA interpolation-based ANM algorithm. Simulation results are provided to demonstrate the effectiveness of the proposed method in Sect. 4. Finally, Sect. 5 gives the conclusion.

Notations: Lower-case (upper-case) bold characters are used to represent vectors (matrices). \({\mathbb{C}}\) and \({\mathbb{R}}\) is the set of complex number and the real number. The superscripts \((\cdot )^*, (\cdot )^{\text{T}}, (\cdot )^{\text{H}}\) denote the complex conjugation, transpose, and conjugate transpose operation, respectively. \(\hbox{vec}(\cdot )\) stands for the vectorization operator. \(\hbox{rank}(\cdot )\) and \(\hbox{Tr}(\cdot )\), respectively, imply the rank and trace of matrix. \(\odot\) represents the Khatri–Rao product, \(\otimes\) refers Kronecker product, and \(\circ\) refers the Hadamard product. \(|{\mathbb{S}}|\) implies the cardinality of a set \({\mathbb{S}}\).

2 Signal model

2.1 Coprime array configuration

Consider a coprime array as illustrated in Fig. 1, which is composed of two sub-arrays. One sub-array has N sensors with the inter-element spacing of Md, and the other consists of M sensors with the inter-element spacing of Nd. Here, M and N are a pair of coprime integers \((M < N)\). And the unit inter-element spacing d is set to be half wavelength \(\lambda /2\). Since the two sub-arrays share the first physical sensor, the coprime array contains \(L = M + N - 1\) sensors. The sensor positions can be expressed as

$$\begin{aligned} {\mathbb{P}} = \{ p_1d, p_2d, \ldots , p_{L}d \} = \{ Mnd \mid 0 \le n \le N-1 \} \cup \{ Nmd \mid 0 \le m \le M-1 \}. \end{aligned}$$

Assume the first sensor is the reference, i.e., \(p_1 = 0\).

Fig. 1
figure 1

Coprime array configuration

Suppose that Q far-field narrow-band sources from directions \(\{\theta _1, \theta _2, \ldots , \theta _Q \}\) impinge on the coprime array. Then, we can represent the received signal of the tth snapshot as

$$\begin{aligned} {\mathbf{x}}(t) = {\mathbf{As}}(t) + {\mathbf{n}}(t) = \sum _{q=1}^Q{\mathbf{a}}(\theta _q)s_q(t) + {\mathbf{n}}(t), \end{aligned}$$

where \({\mathbf{A}} = [{\mathbf{a}}(\theta _1), {\mathbf{a}}(\theta _2), \ldots , {\mathbf{a}}(\theta _Q)]\) represents the array manifold matrix with \({\mathbf{a}}(\theta _q) = \left[ 1,\,e^{j2\pi p_2\sin (\theta _q) /\lambda }, \ldots , e^{j2\pi p_{L}\sin (\theta _q) /\lambda } \right] ^{\text{T}}\) being the steering vector corresponding to the direction \(\theta _q\). \({\mathbf{s}}(t) = [s_1(t), s_2(t), \ldots , s_Q(t)]^{\text{T}}\) is the signal vector. Referring to [25], the qth deterministic source signal can be denoted as \(s_q(t) = A_qe^{j\omega _qt}\), where \(A_q\) and \(\omega _q\) represent the deterministic complex amplitude and the frequency offset, respectively. In addition, \({\mathbf{n}}(t) \sim {\mathcal{CN}}({\mathbf{0}}, \sigma ^2_n{\mathbf{I}})\) is the zero-mean additive white Gaussian noise vector with covariance matrix \(\sigma ^2_n{\mathbf{I}}\), where \({\mathbf{I}}\) is the identity matrix.

2.2 The concept of SDCA

In this subsection, we utilize the VCAM algorithm which was proposed in [24] to generate the SDCA. For the \(T_s\) samples of the sensor data outputs \(x_m(t)\) and \(x_n(t)\), the time average function can be calculated by

$$\begin{aligned} R_{x^*_mx_n}(\tau ) = \dfrac{1}{T_s}\sum _{t=1}^{T_s}x^*_m(t)x_n(t+\tau ) \approx \sum _{q=1}^Qe^{j2\pi (p_n-p_m)\sin (\theta _q)/\lambda }R_{s^*_qs_q}(\tau ), \end{aligned}$$

where \(\tau \ne 0\) denotes the time lag, and \(R_{s^*_qs_q}(\tau )=|A_q|^2e^{j\omega _q\tau }\). Compared with \(s_q(t) = A_qe^{j\omega _qt}\), \(R_{s^*_qs_q}(\tau )\) can be seen as a signal with the power \(|A_q|^4\) coming from direction \(\theta _q\). Notice that the mth sensor is chosen to be the reference (i.e., \(m=1\)) for the sake of analysis. Then, (3) can be simplified to

$$\begin{aligned} R_{x^*_1x_n}(\tau ) = \sum _{q=1}^Qe^{j2\pi p_n\sin (\theta _q)/\lambda }R_{s^*_qs_q}(\tau ), \end{aligned}$$

where \(n=1, 2, \ldots , L\). Putting all the \(R_{x_1^*x_n}\) into a single vector yields

$$\begin{aligned} {\mathbf{v}}_x(\tau ) = {\mathbf{A}}{\mathbf{v}}_s(\tau ), \end{aligned}$$

where \({\mathbf{v}}_s(\tau )=[R_{s^*_1s_1}(\tau ),R_{s^*_2s_2}(\tau ),\ldots ,R_{s^*_Qs_Q}(\tau )]^{\text{T}}=[|A_1|^2e^{j\omega _1\tau },\ldots ,|A_Q|^2e^{j\omega _Q\tau }]^{\text{T}}\) and \({\mathbf{v}}_x(\tau )=[R_{x^*_1x_1}(\tau ),R_{x^*_1x_2}(\tau ),\ldots ,R_{x^*_1x_L}(\tau )]^{\text{T}}\). Then, we replace \(\tau\) with \(-\tau\) and take the conjugate to get

$$\begin{aligned}{}[{\mathbf{v}}_x(-\tau )]^* = {\mathbf{A}}^*{\mathbf{v}}_s(\tau ). \end{aligned}$$

By combining \({\mathbf{v}}_x(\tau )\) and \([{\mathbf{v}}_x(-\tau )]^*\), the conjugate augmented correlation vector \({\mathbf{v}}(\tau )\) is given by

$$\begin{aligned} {\mathbf{v}}(\tau )=\begin{bmatrix}{{\mathbf{v}}_x(\tau )}\\ {[{\mathbf{v}}_x(-\tau )]^*}\end{bmatrix}=\begin{bmatrix}{{\mathbf{A}}}\\ {{\mathbf{A}}^*}\end{bmatrix}{\mathbf{v}}_s(\tau )=\bar{{\mathbf{A}}}{\mathbf{v}}_s(\tau ), \end{aligned}$$

where \(\bar{{\mathbf{A}}}=[{\mathbf{A}}^{\text{T}},{\mathbf{A}}^{\text{H}}]^{\text{T}}=[\bar{{\mathbf{a}}}(\theta _1), \bar{{\mathbf{a}}}(\theta _2), \ldots , \bar{{\mathbf{a}}}(\theta _Q)]\) with its qth column being \(\bar{{\mathbf{a}}}(\theta _q)=[{\mathbf{a}}^{\text{T}}(\theta _q),{\mathbf{a}}^{\text{H}}(\theta _q)]^{\text{T}}\). Select a different set of values for \(\tau\), i.e., \(\tau =\tau _s,2\tau _s, \ldots , N_s\tau _s\), where \(\tau _s\) represents pseudo-sampling period and \(N_s\) represents pseudo-snapshots. Hence, the pseudo-data matrix of \({\mathbf{v}}(\tau )\) can be denoted as

$$\begin{aligned} {\mathbf{Y}}=[{\mathbf{v}}(\tau _s),{\mathbf{v}}(2\tau _s),\ldots ,{\mathbf{v}}(N_s\tau _s)]=\begin{bmatrix}{{\mathbf{A}}}\\ {{\mathbf{A}}^*}\end{bmatrix}[{\mathbf{v}}_s(\tau _s),{\mathbf{v}}_s(2\tau _s),\ldots ,{\mathbf{v}}_s(N_s\tau _s)] =\bar{{\mathbf{A}}}{\mathbf{U}}{\mathbf{W}}, \end{aligned}$$

where \({\mathbf{U}}=\hbox{diag}{(|A_1|^2,|A_2|^2,\ldots ,|A_Q|^2)}\), and \({\mathbf{W}}=[{\mathbf{W}}_1^{\text{T}},{\mathbf{W}}_2^{\text{T}},\ldots ,{\mathbf{W}}_Q^{\text{T}}]^{\text{T}}\) with the qth row being \({\mathbf{W}}_q=[e^{j\omega _q\tau _s},e^{j\omega _q 2\tau _s},\ldots ,e^{j\omega _q N_s\tau _s}]\). The covariance matrix of \({\mathbf{v}}(\tau )\) can be obtained with the \(N_s\) pseudo-snapshots as

$$\begin{aligned} {\mathbf{R}}_{{\mathbf{vv}}}=\dfrac{1}{N_s}{\mathbf{Y}}{\mathbf{Y}}^{\text{H}}={\bar{\mathbf{A}}}{\mathbf{U}}(\dfrac{1}{N_s}{\mathbf{WW}}^{\text{H}}){\mathbf{U}}^{\text{H}}{\bar{\mathbf{A}}}^{\text{H}}={\bar{\mathbf{A}}}{\mathbf{R}}_{{\mathbf{ss}}}{\bar{\mathbf{A}}}^{\text{H}}, \end{aligned}$$

where \({\mathbf{R}}_{{\mathbf{ss}}}={\mathbf{U}}(\dfrac{1}{N_s}{\mathbf{WW}}^{\text{H}}){\mathbf{U}}^{\text{H}}=\hbox{diag}{(|A_1|^4,|A_2|^4,\ldots ,|A_Q|^4)}\). By vectorizing \({\mathbf{R}}_{{\mathbf{vv}}}\), we can get

$$\begin{aligned} {\mathbf{y}}=\hbox{vec}({\mathbf{R}}_{{\mathbf{vv}}})=({\bar{\mathbf{A}}}^*\odot {\bar{\mathbf{A}}}){\mathbf{p}}={\tilde{\mathbf{A}}}{\mathbf{p}}, \end{aligned}$$

where \({\mathbf{p}}=[|A_1|^4,|A_2|^4,\ldots ,|A_Q|^4]^{\text{T}}\). Besides, the qth column of \({\tilde{\mathbf{A}}}\) can be derived as

$$\begin{aligned} {\tilde{\mathbf{a}}}(\theta _q)={\bar{\mathbf{a}}}^*(\theta _q)\otimes {\bar{\mathbf{a}}}(\theta _q)={\begin{bmatrix}{\mathbf{a}}(\theta _q)\\ {\mathbf{a}}^*(\theta _q) \end{bmatrix}}^*\otimes \begin{bmatrix}{\mathbf{a}}(\theta _q)\\ {\mathbf{a}}^*(\theta _q) \end{bmatrix}=\begin{bmatrix}{\mathbf{a}}^*(\theta _q)\otimes {\mathbf{a}}(\theta _q)\\ {\mathbf{a}}^*(\theta _q)\otimes {\mathbf{a}}^*(\theta _q)\\ {\mathbf{a}}(\theta _q)\otimes {\mathbf{a}}(\theta _q)\\ {\mathbf{a}}(\theta _q)\otimes {\mathbf{a}}^*(\theta _q) \end{bmatrix}. \end{aligned}$$

According to (10), \({\tilde{\mathbf{a}}}(\theta _q)\) is the virtual steering vector of the virtual array. Obviously, \({\mathbf{a}}^*(\theta _q)\otimes {\mathbf{a}}(\theta _q) = e^{j2\pi (-p_{i_1} +p_{i_2} )\sin (\theta _q) /\lambda }\) (\(p_{i_1}, p_{i_2} \in {\mathbb{P}}\)), and \({\mathbf{a}}(\theta _q)\otimes {\mathbf{a}}^*(\theta _q) = e^{j2\pi (p_{i_1} -p_{i_2} )\sin (\theta _q) /\lambda }\) (\(p_{i_1}, p_{i_2} \in {\mathbb{P}}\)) are corresponding to the DCA, \({\mathbf{a}}^*(\theta _q)\otimes {\mathbf{a}}^*(\theta _q) = e^{-j2\pi (p_{i_1} + p_{i_2} )\sin (\theta _q) /\lambda }\) (\(p_{i_1}, p_{i_2} \in {\mathbb{P}}\)) represents the negative SCA, \({\mathbf{a}}(\theta _q)\otimes {\mathbf{a}}(\theta _q) = e^{j2\pi (p_{i_1} + p_{i_2} )\sin (\theta _q) /\lambda }\) (\(p_{i_1}, p_{i_2} \in {\mathbb{P}}\)) denotes the positive SCA. Consequently, the obtained virtual array can be treated as an SDCA, which is composed of the DCA, the positive SCA, and the negative SCA.

Definition 1

(SDCA). Suppose a coprime array specified by \({\mathbb{P}}\), its SDCA is defined as

$$\begin{aligned} {\mathbb{S}}_v = {\mathbb{S}}_{DCA}\cup {\mathbb{S}}_{SCA} = ({\mathbb{S}}_{SD}\cup {\mathbb{S}}^-_{SD}\cup {\mathbb{S}}_{CD}\cup {\mathbb{S}}^-_{CD})\cup ({\mathbb{S}}_{SS}\cup {\mathbb{S}}^-_{SS}\cup {\mathbb{S}}_{CS}\cup {\mathbb{S}}^-_{CS}) \end{aligned}$$

where \({\mathbb{S}}_{SD}\) represents the self-difference set and \({\mathbb{S}}_{CD}\) represents the cross-difference set. \({\mathbb{S}}^-_{SD}\) and \({\mathbb{S}}^-_{CD}\) are the mirrored versions. Therefore, ignoring the unit inter-element spacing d, we can get the difference coarray positions as

$$\begin{aligned} {\left\{ \begin{array}{ll} {\mathbb{S}}_{SD}=\{Mn \mid 0 \le n \le N-1\} \cup \{ Nm \mid 0 \le m \le M-1 \} \\ {\mathbb{S}}_{CD}=\{Mn - Nm \mid 0 \le n \le N-1, 0 \le m \le M-1 \} \\ {\mathbb{S}}^-_{SD}=\{-l_{SD} \mid l_{SD} \in {\mathbb{S}}_{SD} \} \\ {\mathbb{S}}^-_{CD}=\{-l_{CD} \mid l_{CD} \in {\mathbb{S}}_{CD} \} \end{array}\right. } \end{aligned}.$$

In the same way, \({\mathbb{S}}_{SS}\), \({\mathbb{S}}_{CS}\), \({\mathbb{S}}^-_{SS}\) and \({\mathbb{S}}^-_{CS}\) represent the self-sum set, the cross-sum set, and their mirrored versions. Hence, the sum coarray positions can be denoted as

$$\begin{aligned} {\left\{ \begin{array}{ll} {\mathbb{S}}_{SS}=\{Mn \mid 0 \le n \le 2(N-1)\} \cup \{ Nm \mid 0 \le m \le 2(M-1) \} \\ {\mathbb{S}}_{CS}=\{Mn + Nm \mid 0 \le n \le N-1, 0 \le m \le M-1 \} \\ {\mathbb{S}}^-_{SS}=\{-l_{SS} \mid l_{SS} \in {\mathbb{S}}_{SS} \} \\ {\mathbb{S}}^-_{CS}=\{-l_{CS} \mid l_{CS} \in {\mathbb{S}}_{CS} \} \end{array}\right. } \end{aligned}.$$

Accordingly, by averaging the elements of \({\mathbf{y}}\) in (10) corresponding to the same positions in the virtual array \({\mathbb{S}}_v\), we can obtain the virtual received data of the derived virtual array \({\mathbb{S}}_v\) as

$$\begin{aligned} {\mathbf{y}}_v = \tilde{{\mathbf{A}}}_v{\mathbf{p}}, \end{aligned}$$

where \(\tilde{{\mathbf{A}}}_v\) is the steering matrix of the derived virtual array \({\mathbb{S}}_v\). From [24], we know that the SDCA contains some missing elements called holes. The number of DOF is limited when applying the MUSIC technique to estimate DOA. Because the discontinuous virtual sensors are discarded, the information received by the virtual array cannot be efficiently utilized.

3 Methods

In this section, we introduce the concept of interpolation into the SDCA to further increase the DOF. Based on the concept of array interpolation [23], additional virtual sensors are interpolated into the “holes” of the virtual array to create an interpolated ULA. Moreover, an ANM problem is formulated in order to reconstruct Toeplitz covariance matrix, which can take full advantage of all information to estimate the off-grid DOAs.

3.1 Virtual array interpolation for SDCA

For the sake of intuitive understanding, an example is demonstrated in Fig. 2, where \(M=3\) and \(N=7\).

Fig. 2
figure 2

An example of the virtual coarray, where \(M=3\) and \(N=7\). a \({\mathbb{S}}_v\), the SDCA of the coprime array. b \({\mathbb{S}}_I\), the interpolated virtual array of the SDCA

Clearly, we can obtain the nonuniform virtual array derived from the SDCA as shown in Fig. 2a, where the missing elements \(\{\pm 31,\pm 34,\pm 35\}\) in \({\mathbb{S}}_v\) are the holes. In order to generate a virtual ULA without discarding the discontinuous sensors, the additional virtual sensors are filled into the positions of the holes, which are called the interpolated sensors. The interpolated virtual array \({\mathbb{S}}_I\) is depicted in Fig. 2b, where all information received by the virtual sensors in \({\mathbb{S}}_v\) are included. It should be noticed that the interpolated sensors expressed by hollow circles in Fig. 2b are nonfunctional and the corresponding outputs are zero. Accordingly, the received signals from the interpolated sensors are regarded as zero. Thus, the output \({\mathbf{y}}_I\) of the interpolated virtual array \({\mathbb{S}}_I\) can be initialized as

$$\begin{aligned} \langle {\mathbf{y}}_I \rangle _i = {\left\{ \begin{array}{ll} \langle {\mathbf{y}}_v \rangle _i , &{} i\in {\mathbb{S}}_v,\\ 0, &{} i \in {\mathbb{S}}_I \setminus {\mathbb{S}}_v \end{array}\right. } \end{aligned}$$

where \(\langle \cdot \rangle _i\) represents the virtual sensor at the position id. \({\mathbb{S}}_I \setminus {\mathbb{S}}_v\) denotes the elements in \({\mathbb{S}}_I\) but not in \({\mathbb{S}}_v\). In order to successfully use the interpolated virtual array, the unknown virtual signals received by the interpolated sensors should be recovered.

Similar to (15), the ideal received signals of the interpolated virtual array \({\mathbb{S}}_I\) can be expressed as

$$\begin{aligned} {\mathbf{y}}_I ={\mathbf{A}}_I{\mathbf{p}} = \sum _{q=1}^Q{\mathbf{a}}_I(\theta _q)p_q, \end{aligned}$$

where \({\mathbf{A}}_I = [{\mathbf{a}}_I(\theta _1),{\mathbf{a}}_I(\theta _2),\ldots ,{\mathbf{a}}_I(\theta _Q)]\in {\mathbb{C}}^{|{\mathbb{S}}_I| \times Q}\) represents the steering matrix of the interpolated virtual array. Obviously, \({\mathbf{y}}_I\) behaves like the received signal from a single snapshot. In addition, the rank of its covariance matrix is one and subspace-based DOA estimation techniques cannot be applied to identify multiple sources. To overcome this problem, we divide this interpolated virtual array \({\mathbb{S}}_I\) into \(J=(|{\mathbb{S}}_I|+1)/2\) overlapping sub-arrays, and each sub-array contains J elements. Accordingly, \({\mathbf{y}}_I\) can be divided into J segments \(\{{\mathbf{y}}^1_I,{\mathbf{y}}^2_I,\ldots ,{\mathbf{y}}^J_I \}\) as shown in Fig. 3, and the equivalent signals of each sub-array \({\mathbf{y}}^j_I\) can be denoted as

$$\begin{aligned} {\mathbf{y}}^j_I ={\mathbf{A}}^j_I{\mathbf{p}} = \sum _{q=1}^Q{\mathbf{a}}^j_I(\theta _q)p_q, \end{aligned}$$

where \({\mathbf{A}}^j_I = [{\mathbf{a}}^j_I(\theta _1),{\mathbf{a}}^j_I(\theta _2),\ldots ,{\mathbf{a}}^j_I(\theta _Q)]\in {\mathbb{C}}^{J \times Q}(j=1,2,\ldots ,J)\), and \({\mathbf{a}}^j_I(\theta _q)=[e^{-j\pi d_{J-j+1}\sin (\theta _q)},e^{-j\pi d_{J-j+2}\sin (\theta _q)},\ldots ,e^{-j\pi d_{2J-j}\sin (\theta _q)}]^{\text{T}}\) represents the steering vector of the qth source corresponding to the jth virtual sub-array, where \(d_i\) represents the ith virtual sensor position in \({\mathbb{S}}_I\).

Fig. 3
figure 3

The virtual signals of J sub-arrays

Specifically, the sensor positions of the reference virtual sub-array are \(\{0,d,\ldots ,(J-1)d\}\) as shown in Fig. 3. By setting \(j=1\), we can obtain the steering vector corresponding to the qth source

$$\begin{aligned} {\mathbf{a}}^1_I(\theta _q)=[e^{-j\pi \sin (\theta _q)},\ldots ,e^{-j\pi (J-1)\sin (\theta _q)}]^{\text{T}}. \end{aligned}$$

Accordingly, the received signals of the reference virtual sub-array can be expressed as

$$\begin{aligned} {\mathbf{z}}= {\mathbf{y}}^1_I = \sum _{q=1}^Q{\mathbf{a}}^1_I(\theta _q)p_q. \end{aligned}$$

Hence, we can construct the following atomic set in continuous domain by using the steering vector of the reference virtual sub-array as

$$\begin{aligned} {\mathcal{A}} = \{{\mathbf{a}}^1_I(\theta )|\theta \in [-90^\circ ,90^\circ ] \}. \end{aligned}$$

The atomic norm of the output \({\mathbf{z}}\) received from the reference virtual sub-array is defined as the minimum number of atoms in \({\mathcal{A}}\) that can express \({\mathbf{z}}\), i.e.,

$$\begin{aligned} \Vert {\mathbf{z}}\Vert _{{\mathcal{A}}} = \hbox{inf}\{t>0:{\mathbf{z}}\in t \hbox{conv}({\mathcal{A}}) \} = \hbox{inf}\left\{ \sum _{q}p_q:{\mathbf{z}} = \sum _{q}p_q{\mathbf{a}}^1_I(\theta _q), p_q>0 \right\} , \end{aligned}$$

where \(\hbox{conv}({\mathcal{A}})\) represents the convex hull of the atom set \({\mathcal{A}}\) and inf is the infimum of infinite set.

3.2 Toeplitz matrix reconstruction for DOA estimation

Based on (18), we can obtain the multiple measurements as \({\mathbf{Y}}_I = [{\mathbf{y}}^1_I,{\mathbf{y}}^2_I,\ldots ,{\mathbf{y}}^J_I] \in {\mathbb{C}}^{J \times J}\). Thus, we can express the correlation statistic of the equivalent virtual signal \({\mathbf{Y}}_I\) as

$$\begin{aligned} {\mathbf{R}}_{{Y}_I} =\dfrac{1}{J}{\mathbf{Y}}_I{\mathbf{Y}}_I^{\text{H}}= \dfrac{1}{J}\sum _{j=1}^J {\mathbf{y}}^j_I{{\mathbf{y}}^j_I}^{\text{H}}, \end{aligned}$$

where \({\mathbf{R}}_{{Y}_I}\in {\mathbb{C}}^{J \times J}\) is a full rank covariance matrix. Since the elements located at the holes in \({\mathbb{S}}_I\) are set to be zeros, each element in \({\mathbf{R}}_{{Y}_I}\) suffers a deviation during the summation process in (23). Therefore, \({\mathbf{R}}_{{Y}_I}\) can’t be directly calculated. Encouragingly, according to [26], a new Hermitian Toeplitz matrix \({\mathbf{R}}\) is associated with \({\mathbf{R}}_{{Y}_I}\), and they are related as \({\mathbf{R}}^2=J{\mathbf{R}}_{{Y}_I}\). It is possible to construct the Hermitian Toeplitz covariance matrix \({\mathbf{R}}\) from the second-order statistics \({\mathbf{y}}_I\) by

$$\begin{aligned} {\mathbf{R}} = \begin{bmatrix} \langle {\mathbf{y}}_I \rangle _J &{}\quad \langle {\mathbf{y}}_I \rangle ^*_{J+1} &{}\quad \cdots &{}\quad \langle {\mathbf{y}}_I \rangle ^*_{2J-1}\\ \langle {\mathbf{y}}_I \rangle _{J+1} &{}\quad \langle {\mathbf{y}}_I \rangle _J &{}\quad \cdots &{}\quad \langle {\mathbf{y}}_I \rangle ^*_{2J-2}\\ \vdots &{}\quad \vdots &{}\quad \ddots &{}\quad \vdots \\ \langle {\mathbf{y}}_I \rangle _{2J-1} &{}\quad \langle {\mathbf{y}}_I \rangle _{2J-2} &{}\quad \cdots &{}\quad \langle {\mathbf{y}}_I \rangle _J \end{bmatrix}. \end{aligned}$$

Notice that the interpolated virtual array \({\mathbb{S}}_I\) is symmetric about zero point. The complex-valued signals of the symmetrical pair in \({\mathbf{y}}_I\) are conjugate. Thus, the matrix \({\mathbf{R}}\) is directly derived from the signal statistics \({\mathbf{y}}_I\), which includes all information received by the interpolated virtual array. However, since there are several zero elements filled in \({\mathbf{y}}_I\) which denote the holes, the diagonals in \({\mathbf{R}}\) corresponding positions are zeros. Thus, a binary vector \({\mathbf{b}} \in {\mathbb{R}}^J\) is defined to describe the presence of virtual sensors indexed in \({\mathbb{S}}_I\), where the element of 0 in \({\mathbf{b}}\) stands for the sensor positions to be interpolated and 1 otherwise.

Therefore, according to (22), the Toeplitz covariance matrix reconstruction in (24) can be represented as the following ANM problem

$$\begin{aligned}&\min _{{\mathbf{z}} \in {\mathbb{C}}^J} \quad \Vert {\mathbf{z}}\Vert _{{\mathcal{A}}} \\&\text{ s.t. }\quad {\left\{ \begin{array}{ll} \Vert {\mathcal{T}}({\mathbf{z}})\circ {\mathbf{B}} - {\mathbf{R}} \Vert ^2_F\le \delta , \\ {\mathcal{T}}({\mathbf{z}}) \succeq 0,&{} \end{array}\right. } \end{aligned}$$

where \({\mathcal{T}}({\mathbf{z}})\) denotes a Hermitian PSD Toeplitz matrix with the optimization variable \({\mathbf{z}}\) as the first column. Therefore, \({\mathcal{T}}({\mathbf{z}})\) can be seen as the covariance matrix of signals corresponding to the reference virtual sub-array. Furthermore, notice that it contains all information of the interpolated virtual array [23]. Here, \({\mathbf{B}} = {\mathbf{b}}{\mathbf{b}}^{\text{T}} \in {\mathbb{R}}^{J \times J}\) is a binary matrix distinguishing the zero (unknown) elements and the nonzero (known) elements in \({\mathbf{R}}\). This makes the nonzero elements in \({\mathbf{R}}\) consist of the elements in the reconstructed covariance matrix \({\mathcal{T}}({\mathbf{z}})\). And \(\Vert {\cdot }\Vert _F\) represents the Frobenius norm, \(\delta\) is a threshold to restrict the discrepancies between the nonzero elements in \({\mathbf{R}}\) and the corresponding elements in \({\mathcal{T}}({\mathbf{z}})\). Moreover, \({\mathcal{T}}({\mathbf{z}}) \succeq 0\) guarantees the Hermitian positive semi-definite Toeplitz structure of the optimum solution. Then, the optimization problem (25) can be written as

$$\begin{aligned}&\min _{{\mathbf{z}} \in {\mathbb{C}}^J} \quad \dfrac{1}{2}\Vert {\mathcal{T}}({\mathbf{z}})\circ {\mathbf{B}} - {\mathbf{R}} \Vert ^2_F+\mu \Vert {\mathbf{z}}\Vert _{{\mathcal{A}}} \\&\text{ s.t. }\quad {\mathcal{T}}({\mathbf{z}}) \succeq 0, \end{aligned}$$

where \(\mu\) is a regularization parameter.

Since \({\mathcal{T}}({\mathbf{z}})\) is a PSD Hermitian Toeplitz matrix, if \(k = \hbox{rank}({\mathcal{T}}({\mathbf{z}})) < J\), according to Vandermonde decomposition, \({\mathcal{T}}({\mathbf{z}})\) can be decomposed as [27]

$$\begin{aligned} {\mathcal{T}}({\mathbf{z}}) = \sum _{q=1}^K{\mathbf{v}}_1(\theta _q)p_q{\mathbf{v}}^{\text{H}}_1(\theta _q). \end{aligned}$$

Then, we can obtain the trace of \({\mathcal{T}}({\mathbf{z}})\) as

$$\begin{aligned} \hbox{Tr}({\mathcal{T}}({\mathbf{z}}))= J\sum _{q=1}^Kp_q, \end{aligned}$$

where \(\hbox{Tr}(\cdot )\) represents the trace operator. Observing the trace of \({\mathcal{T}}({\mathbf{z}})\) in (28) along with the definition of the atomic norm of \({\mathbf{z}}\) in (22), we can get

$$\begin{aligned} \Vert {\mathbf{z}}\Vert _{{\mathcal{A}}} = \dfrac{1}{J}\hbox{Tr}({\mathcal{T}}({\mathbf{z}})). \end{aligned}$$

Hence, the ANM problem in (26) can be equivalently transformed as,

$$\begin{aligned}&\min _{{\mathbf{z}} \in {\mathbb{C}}^J} \quad \dfrac{1}{2}\Vert {\mathcal{T}}({\mathbf{z}})\circ {\mathbf{B}} - {\mathbf{R}} \Vert ^2_F+\eta \hbox{Tr}({\mathcal{T}}({\mathbf{z}})) \\&\text{ s.t. }\quad {\mathcal{T}}({\mathbf{z}}) \succeq 0, \end{aligned}$$

where \(\eta = \dfrac{1}{J}\mu\). Note that the optimization problem (30) is convex and easy to be solved by the CVX software [28]. After the optimal solution \(\hat{{\mathbf{z}}}\) is obtained, the covariance matrix \({\mathcal{T}}(\hat{{\mathbf{z}}})\) of the interpolated ULA can be successfully reconstructed. At the same time, the virtual signals derived from the interpolated sensors which are initialized as zero can also be recovered. Since the signal covariance matrix \({\mathcal{T}}(\hat{{\mathbf{z}}})\) which corresponds to the interpolated virtual ULA is reconstructed, the subspace methods such as the MUSIC based [6, 18] and the ESPRIT based [7] can be employed for DOA estimation. Here, we calculate the MUSIC spatial spectrum by the following formula

$$\begin{aligned} f_{\mathrm{MUSIC}}(\theta ) = \dfrac{1}{{\mathbf{v}}^{\text{H}}_1(\theta ){\mathbf{U}}_{{\mathbf{N}}}{\mathbf{U}}^{\text{H}}_{{\mathbf{N}}}{\mathbf{v}}_1(\theta )}, \end{aligned}$$

where \({\mathbf{U}}_{{\mathbf{N}}}\) is the noise subspace of \({\mathcal{T}}(\hat{{\mathbf{z}}})\), which is acquired by selecting the eigenvectors corresponding to the \(J-Q\) smallest eigenvalues of \({\mathcal{T}}(\hat{{\mathbf{z}}})\). Finally, the DOA estimation can be acquired by searching for the locations corresponding to the Q largest peaks of the spectrum in \(f_{\mathrm{MUSIC}}(\theta )\). Accordingly, the number of targets that can be identified are up to \(J-1\).

The advantages of the proposed algorithm are summarized as follows. Firstly, the discontiguous virtual array is interpolated into a virtual ULA, and all of the information in the virtual array can be effectively utilized. Secondly, the interpolated virtual array of SDCA provides a larger coarray aperture and higher DOF. Furthermore, the atomic norm minimization problem can be performed to reconstruct the covariance matrix of the interpolated virtual array in a gridless manner, which avoids the basis mismatch problem.

4 Results and discussion

In this section, several simulation experiments are illustrated to demonstrate the superiority of the proposed method in estimating the DOAs. We select the pair of coprime integers \(M=3\) and \(N=7\) to constitute the coprime array, consisting of \(M+N-1=9\) physical sensors with the positions \(\{0,3d,6d,7d,9d,12d,14d,15d,18d\}\). The proposed method is compared with the difference coarray interpolation-based method (DCA-I) algorithm [23] and SDCA algorithm [24]. The regularization parameter \(\eta\) is set to be 0.25 in the simulations for the proposed method and DCA-I method.

In the first experiment, we compare the estimated spatial spectra for each algorithm. Here, we consider 15 sources uniformly distributed in the range of \([-60^\circ ,60^\circ ]\). The signal-to-noise ratio (SNR) is set to be 0 dB. Furthermore, the snapshots \(T_s\) and the pseudo-snapshots \(N_s\) are set as \(T_s=N_s=100\). Figure 4 displays the DOA estimations of these methods. From Fig. 4a, we can see that the DCA-I algorithm can’t detect the 15 sources correctly. Because the available DOF of the interpolated difference coarray is only 18. There exists a large DOA estimation bias under the low SNR and snapshots. In Fig. 4b, the SDCA algorithm produces several spurious peaks. It is because the discontinuous virtual sensors are discarded and the DOF is only 30. The DOA estimation ability is very poor in a low SNR and snapshots condition. In contrast, it is clear that only the proposed method can effectively detect all sources under the low SNR and snapshots as shown in Fig. 4c. Since the proposed method is capable of exploiting all information contained in the virtual array and the available DOF is further increased to 36.

Fig. 4
figure 4

Spatial spectra of 15 sources, \(\hbox{SNR}=0\,\hbox{dB}\). a The DCA-I method. b The SDCA method. c The proposed method

In the second experiment, we compare the DOA estimation resolution by considering two closely spaced targets from \(\theta _1=-1^\circ\) and \(\theta _2=1^\circ\). We set \(\hbox{SNR} = 0\,\hbox{dB}\) and \(T_s=N_s=100\). In Fig. 5, we can see that the proposed method has much sharper peaks and estimates much more correctly than the others. It is because the proposed method provides a larger array aperture without discarding the discontinuous virtual sensors. It is evident that the proposed method is able to achieve higher resolution.

Fig. 5
figure 5

Spatial spectra of two closer targets, \(\hbox{SNR}=0\,\hbox{dB}\). a The DCA-I method. b The SDCA method. c The proposed method

In the last experiment, we use the root mean square error (RMSE) to evaluate the DOA estimation performance of the three algorithms. The RMSE is defined as follows:

$$\begin{aligned} \hbox{RMSE} = \sqrt{\dfrac{1}{QK} \sum _{q=1}^Q \sum _{k=1}^K({\hat{\theta }}_{q,k}-\theta _q)^2} , \end{aligned}$$

where K denotes the number of Monte Carlo trials and \({\hat{\theta }}_{q,k}\) is the estimated DOA result of the qth source in the kth Monte Carlo trial. Accordingly, we consider \(Q=7\) and \(Q=14\) uncorrelated narrowband sources uniformly distributed in the range of \([-60^\circ ,60^\circ ]\), respectively, and we run \(K=300\) Monte Carlo simulations. The DCA-I algorithm can’t resolve 14 sources, so its RMSE is not considered. In Fig. 6, we demonstrate the results of the RMSE versus SNR. In this simulation, we consider \(N_s=T_s=300\) and SNR varies from \(-5\) to 20 dB. When \(Q=14\), the proposed method obtains smaller RMSE than the SDCA method with the SNR increasing. When \(Q=7\), the DCA-I method performs the worst of all, because the DCA-I method only uses the difference coarray. And the proposed method performs better than others, since the proposed method exploits all the virtual sensors of the sum coarray and difference sensors leading to higher DOF and larger array aperture than the others. In addition, Fig. 7 displays the RMSE with the variation of the number of snapshots, the SNR is 0 dB and \(N_s=T_s\) varies from 100 to 500. Clearly, we can see that as the snapshots increase, the RMSE of the proposed algorithm decreases gradually. At the same time, the proposed method performs better than the other two algorithms. Since the proposed method makes full use all information derived from virtual sensors, which makes its performance better than others. Generally, the proposed method significantly outperforms others under a wide range of SNR or snapshots.

Fig. 6
figure 6

RMSE performance versus SNR

Fig. 7
figure 7

RMSE performance versus number of snapshots

5 Conclusions

In order to effectively utilize all information derived from the virtual array, the interpolation concept is introduced into the SDCA. We propose an interpolation-based DOA estimation by reconstructing the Toeplitz covariance matrix via atomic norm minimization. The holes in the virtual array are interpolated to convert the nonuniform virtual sum–difference coarray to a ULA. Then, ANM problem is formulated to solve the Toeplitz covariance matrix reconstruction in a gridless manner. The reconstructed covariance matrix can be utilized to estimate DOA. After the SDCA interpolation, the achievable number of DOF is further increased and more sources can be identified. The simulation results validate that the proposed method provides a superior performance compared with other methods.

Availability of data and materials

Not applicable.


  1. H.L.V. Trees, Detection, estimation, and modulation theory. A Papoulis Probability Random Variables Stochastic Processes 8(10), 293–303 (2004)

  2. Engin Tuncer, T.: Classical and Modern Direction-of-arrival Estimation (2009), p. 125–160

  3. H. Krim, M. Viberg, Two decades of array signal processing research: the parametric approach. IEEE Signal Process Mag. 13(4), 67–94 (1996)

    Article  Google Scholar 

  4. Y. Gu, Robust adaptive beamforming based on interference covariance matrix reconstruction and steering vector estimation. IEEE Trans. Signal Process. 60(7), 3881–3885 (2012)

    Article  MathSciNet  Google Scholar 

  5. Y. Wang, X. Ma, C. Chen, X. Guan, Designing dual-tone radio interferometric positioning systems. IEEE Trans. Signal Process. 63(6), 1351–1365 (2015)

    Article  MathSciNet  Google Scholar 

  6. R. Schmidt, R.O. Schmidt, Multiple emitter location and signal parameter estimation. IEEE Trans. Antennas Propag. 34(3), 276–280 (1986)

    Article  Google Scholar 

  7. R. Roy, T. Kailath, Esprit - estimation of signal parameters via rotational invariance techniques. IEEE Trans. Acoust. Speech Signal Process. 37(7), 984–995 (1989)

    Article  Google Scholar 

  8. R.T. Hoctor, S.A. Kassam, The unifying role of the coarray in aperture synthesis for coherent and incoherent imaging. Proc. IEEE 78(4), 735–752 (2002)

    Article  Google Scholar 

  9. R.J. Kozick, S.A. Kassam, Coarray synthesis with circular and elliptical boundary arrays. IEEE Trans. Image Process. Publ. IEEE Signal Process. Soc. 1(3), 391–405 (1992)

    Article  Google Scholar 

  10. A.T. Moffet, Minimum-redundancy linear arrays. IEEE Trans. Antennas Propag. 16(2), 172–175 (1968)

    Article  Google Scholar 

  11. P.P. Vaidyanathan, P. Pal, Sparse sensing with co-prime samplers and arrays. IEEE Trans. Signal Process. 59(2), 573–586 (2011)

    Article  MathSciNet  Google Scholar 

  12. P. Pal, P.P. Vaidyanathan, Nested arrays: a novel approach to array processing with enhanced degrees of freedom. IEEE Trans. Signal Process. 58(8), 4167–4181 (2010)

    Article  MathSciNet  Google Scholar 

  13. S. Qin, Y.D. Zhang, M.G. Amin, Generalized coprime array configurations for direction-of-arrival estimation. IEEE Trans. Signal Process. 63(6), 1377–1390 (2015)

    Article  MathSciNet  Google Scholar 

  14. Y.D. Zhang, M.G. Amin, B. Himed, Sparsity-based DOA estimation using co-prime arrays, in 2013 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP) (2013)

  15. Z. Tan, Y.C. Eldar, A. Nehorai, Direction of arrival estimation using co-prime arrays: a super resolution viewpoint. IEEE Trans. Signal Process. 62(21), 5565–5576 (2014)

    Article  MathSciNet  Google Scholar 

  16. E. Boudaher, Y. Jia, F. Ahmad, M.G. Amin, Multi-frequency co-prime arrays for high-resolution direction-of-arrival estimation. IEEE Trans. Signal Process. 63(14), 1–1 (2015)

    Article  MathSciNet  Google Scholar 

  17. C. Zhou, J. Zhou, Direction-of-arrival estimation with coarray esprit for coprime array. Sensors 17(8), 1779 (2017)

    Article  Google Scholar 

  18. P. Pal, P.P. Vaidyanathan, Coprime sampling and the music algorithm, in Digital Signal Processing Workshop and IEEE Signal Processing Education Workshop (DSP/SPE), 2011 IEEE (2011)

  19. P. Pal, P.P. Vaidyanathan, Pushing the limits of sparse support recovery using correlation information. IEEE Trans. Signal Process. 63(3), 711–726 (2015)

    Article  MathSciNet  Google Scholar 

  20. C.L. Liu, P.P. Vaidyanathan, P. Pal, Coprime coarray interpolation for DOA estimation via nuclear norm minimization, in IEEE International Symposium on Circuits Systems (2016)

  21. X. Fan, C. Zhou, Y. Gu, Z. Shi, Toeplitz matrix reconstruction of interpolated coprime virtual array for DOA estimation, in IEEE VTC2017-Spring (2017)

  22. X. Wu, W.P. Zhu, J. Yan, A toeplitz covariance matrix reconstruction approach for direction-of-arrival estimation. IEEE Trans. Veh. Technol. 66(9), 8223–8237 (2017)

    Article  Google Scholar 

  23. C. Zhou, Y. Gu, X. Fan, Z. Shi, G. Mao, Y.D. Zhang, Direction-of-arrival estimation for coprime array via virtual array interpolation. IEEE Trans. Signal Process. 66(22), 5956–5971 (2018)

    Article  MathSciNet  Google Scholar 

  24. X. Wang, Z. Chen, S. Ren, S. Cao, DOA estimation based on the difference and sum coarray for coprime arrays. Digit. Signal Process. 69, 22–31 (2017)

    Article  Google Scholar 

  25. Z. Shan, T.S.P. Yum, A conjugate augmented approach to direction-of-arrival estimation. IEEE Trans. Signal Process. 53(11), 4104–4109 (2005)

    Article  MathSciNet  Google Scholar 

  26. C.L. Liu, P.P. Vaidyanathan, Remarks on the spatial smoothing step in coarray music. IEEE Signal Process. Lett. 22(9), 1438–1442 (2015)

    Article  Google Scholar 

  27. S. Petre, M. Randolph, Spectral analysis of signals (pod). Leber Magen Darm 13(2), 57–63 (2005)

    Google Scholar 

  28. M. Grant, Cvx : Matlab software for disciplined convex programming, version 1.21. (2011)

Download references


Not applicable.


This work was supported by the National Natural Science Foundation of China (Grant No. 61801024).

Author information

Authors and Affiliations



YD proposed the original idea of the full text. SR and YD designed and implemented the simulation experiments. WW analyzed the results. YD and CX drafted the article. All authors read and approved the final manuscript.

Corresponding author

Correspondence to Chengbo Xue.

Ethics declarations

Competing interests

The authors declare that they have no competing interests.

Rights and permissions

Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ding, Y., Ren, S., Wang, W. et al. DOA estimation based on sum–difference coarray with virtual array interpolation concept. EURASIP J. Adv. Signal Process. 2021, 66 (2021).

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: