This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).
We present a DOA estimation algorithm, called JointSparse DOA to address the problem of DirectionofArrival (DOA) estimation using sensor arrays. Firstly, DOA estimation is cast as the jointsparse recovery problem. Then, norm is approximated by an arctan function to represent joint sparsity and DOA estimation can be obtained by minimizing the approximate norm. Finally, the minimization problem is solved by a quasiNewton method to estimate DOA. Simulation results show that our algorithm has some advantages over most existing methods: it needs a small number of snapshots to estimate DOA, while the number of sources need not be known
DirectionofArrival (DOA) estimation using sensor arrays has been an active research area, playing a fundamental role in many applications involving electromagnetic, acoustic, and communication systems [
The problem of sparse recovery has evolved rapidly recently [
In this paper, we present JointSparse DOA estimation, abbreviated as JSDOA, for sensor array DOA estimation. First, DOA estimation is cast as a jointsparse recovery problem. Then,
The outline of the paper is as follow. In Section 2, the DOA estimation problem is formulated. The new algorithm, called JSDOA, is proposed in Section 3. In section 4, the validity of the proposed algorithm is proved by a number of simulations. Finally, conclusions are presented in Section 5.
Consider a linear array consisting of
Let
Therefore, DOA estimation is to find
Because sources are sparse in space, DOA estimation with sensor arrays can be expressed as a jointsparse recovery problem. Let Ω denote the set of possible locations,
Then the received signal
Let Φ = [
Concretely, Eldar and Mishali [
In this section, the DOA estimation problem is converted into an approximate ‖
Let
Let
From
From
So DOA can be obtained by solving the approximate ‖
Using the linear weighting method,
For some fixed value
The conjugate gradient for a matrix variable is defined as:
Solving by the BFGS algorithm, the main iterative steps are as follows:
Search step length
Iteration:
BFGS adjustment:
Based on the above idea, JSDOA can be described as shown in
Remark:
It is easy to know that
Set
Setting the coefficient matrix
In order to save computation cost, we set
In this section, we present several numerical simulation results to illustrate the performance of the proposed algorithm. First, we compare the spatial spectrum of JSDOA to those of beamforming [
In this simulation, we compare spatial spectrum of different algorithms under various snapshots. We consider two uncorrelated sources located at 13° and 20° with
In this simulation, we compare the spatial spectrum of different algorithms with more than two uncorrelated sources. Set
In this simulation, we compare probability of resolution for two uncorrelated sources. JSDOA, MUSIC and L1SVD are used for comparison and we set
In this simulation, we compare spatial spectrum for completely coherent sources. Set
In
In this paper, a jointsparse recovery algorithm, called JSDOA, is proposed to estimate DOA with sensor arrays. We pose the DOA estimation problem as a jointsparse recovery problem, which can be solved by minimizing the approximate
This work was supported by the National Natural Science Foundation (No. 61072120), the program for New Century Excellent Talents in University (NCET).
From expression of
According the definition of conjugate gradient, we get:
Set
Then the conjugate gradient of
From
Spatial spectrum comparison under various snapshots for two uncorrelated sources: (
Spatial spectrum comparison for more than two uncorrelated sources: (
Probability of resolution comparison under various conditions. (
Spatial spectrum comparison for coherent sources. (
The main steps of JSDOA.
Algorithm 1: jointsparse DOA estimation 

Input: 
Initialization: 
(1) Set 
(2) Select a decreasing sequence 
Iteration: 
(1) for 
(2) solving (14) by BFGS algorithm 
(2–1) 
(2–2) while 
(2–3) Search step length

(2–4) Let 
(2–5) Update the matrix by (16) 
(2–6) end 
(3) Let 
(4) end 
Output: 