<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" xml:lang="en" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="nlm-ta">Sensors</journal-id>
<journal-title>Sensors</journal-title>
<issn pub-type="epub">1424-8220</issn>
<publisher>
<publisher-name>Molecular Diversity Preservation International (MDPI)</publisher-name></publisher></journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3390/s110909098</article-id>
<article-id pub-id-type="publisher-id">sensors-11-09098</article-id>
<article-categories>
<subj-group>
<subject>Article</subject></subj-group></article-categories>
<title-group>
<article-title>Direction-of-Arrival Estimation Based on Joint Sparsity</article-title></title-group>
<contrib-group>
<contrib contrib-type="author">
<name><surname>Wang</surname><given-names>Junhua</given-names></name><xref ref-type="corresp" rid="c1-sensors-11-09098"><sup>*</sup></xref></contrib>
<contrib contrib-type="author">
<name><surname>Huang</surname><given-names>Zhitao</given-names></name></contrib>
<contrib contrib-type="author">
<name><surname>Zhou</surname><given-names>Yiyu</given-names></name></contrib>
<aff id="af1-sensors-11-09098">School of Electronic Science and Engineering, NUDT, Changsha 410073, China; E-Mails: <email>zhitaohuang@nudt.edu.cn</email> (Z.H.); <email>zhouyiyu@nudt.edu.cn</email> (Y.Z.)</aff></contrib-group>
<author-notes>
<corresp id="c1-sensors-11-09098">
<label>*</label>Author to whom correspondence should be addressed; E-Mail: <email>skysword_wjh@126.com</email>; Tel.: +86-1363-7417-940; Fax: +86-0731-572518.</corresp></author-notes>
<pub-date pub-type="collection">
<year>2011</year></pub-date>
<pub-date pub-type="epub">
<day>21</day>
<month>9</month>
<year>2011</year></pub-date>
<volume>11</volume>
<issue>9</issue>
<fpage>9098</fpage>
<lpage>9108</lpage>
<history>
<date date-type="received">
<day>16</day>
<month>8</month>
<year>2011</year></date>
<date date-type="rev-recd">
<day>17</day>
<month>9</month>
<year>2011</year></date>
<date date-type="accepted">
<day>18</day>
<month>9</month>
<year>2011</year></date></history>
<permissions>
<copyright-statement>© 2011 by the authors; licensee MDPI, Basel, Switzerland.</copyright-statement>
<copyright-year>2011</copyright-year>
<license>
<p>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/).</p></license></permissions>
<abstract>
<p>We present a DOA estimation algorithm, called Joint-Sparse DOA to address the problem of Direction-of-Arrival (DOA) estimation using sensor arrays. Firstly, DOA estimation is cast as the joint-sparse 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 quasi-Newton 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 <italic>a priori</italic>. Besides, it improves the resolution, and it can also handle the coherent sources well.</p></abstract>
<kwd-group>
<kwd>joint-sparse</kwd>
<kwd>compressed sensing</kwd>
<kwd>Direction-of-Arrival</kwd>
<kwd>quasi-Newton methods</kwd>
<kwd>multiple measure vectors</kwd></kwd-group></article-meta></front>
<body>
<sec sec-type="intro">
<label>1.</label>
<title>Introduction</title>
<p>Direction-of-Arrival (DOA) estimation using sensor arrays has been an active research area, playing a fundamental role in many applications involving electromagnetic, acoustic, and communication systems [<xref ref-type="bibr" rid="b1-sensors-11-09098">1</xref>]. Many classical algorithms are available, and the popular methods include beamforming [<xref ref-type="bibr" rid="b2-sensors-11-09098">2</xref>], MUSIC [<xref ref-type="bibr" rid="b3-sensors-11-09098">3</xref>], ESPRIT [<xref ref-type="bibr" rid="b4-sensors-11-09098">4</xref>] and the maximum likelihood method [<xref ref-type="bibr" rid="b5-sensors-11-09098">5</xref>], <italic>etc.</italic> The beamforming method has low angle resolution and suffers from the Rayleigh resolution limit. MUSIC, ESPRIT and the maximum likelihood method all rely on the statistical properties of the data, and thus, require a sufficiently large number of samples for accurate estimation. Besides, MUSIC and ESPRIT cannot handle strongly coherent sources, while the maximum likelihood method has high computation costs.</p>
<p>The problem of sparse recovery has evolved rapidly recently [<xref ref-type="bibr" rid="b6-sensors-11-09098">6</xref>,<xref ref-type="bibr" rid="b7-sensors-11-09098">7</xref>] and it has been applied in DOA estimation with array processing. Gorodnitsky <italic>et al.</italic> [<xref ref-type="bibr" rid="b8-sensors-11-09098">8</xref>] used a weighted least-squares algorithm named FOCUSS for DOA estimation, but this algorithm can only be used for single snapshots. Cotter [<xref ref-type="bibr" rid="b9-sensors-11-09098">9</xref>] combined multiple measurement vectors (MMV) and matching pursuit (MP) to solve the joint-sparse recovery problem in DOA estimation, but it has low angle resolution. JLZA-DOA is proposed in [<xref ref-type="bibr" rid="b10-sensors-11-09098">10</xref>]; it minimizes a mixed <italic>L</italic><sub>2,0</sub> norm to deal with the joint-sparse recovery problem, and a fixed point method is used for DOA estimation. This algorithm doesn’t satisfy numerical stability, as matrix inversion is inevitable in every iteration. Stoica <italic>et al.</italic> [<xref ref-type="bibr" rid="b11-sensors-11-09098">11</xref>] presented a novel SParse Iterative Covariance-based Estimation approach, abbreviated SPICE. However, this algorithm needs more snapshots to estimate DOA. Wide-band covariance matrix sparse representation (W-CMSR) is proposed in [<xref ref-type="bibr" rid="b12-sensors-11-09098">12</xref>] for DOA estimation of wideband signals. So far, the most successful joint-sparse recovery algorithm for DOA estimation is L1-SVD [<xref ref-type="bibr" rid="b13-sensors-11-09098">13</xref>,<xref ref-type="bibr" rid="b14-sensors-11-09098">14</xref>]. It combines the SVD step of the subspace algorithms with a sparse recovery method based on <italic>l</italic><sub>2,1</sub> –norm minimization. However, the number of sources needs be known <italic>a priori</italic>.</p>
<p>In this paper, we present Joint-Sparse DOA estimation, abbreviated as JSDOA, for sensor array DOA estimation. First, DOA estimation is cast as a joint-sparse recovery problem. Then, <italic>L</italic><sub>2,0</sub> norm is approximated by the arctan function to represent spatial sparsity and DOA estimation can be obtained by minimizing the approximate <italic>L</italic><sub>2,0</sub> norm. Finally, the minimization problem is solved by a quasi-Newton method to estimate DOA. The proposed algorithm has some advantages over most existing methods: it needs a small number of snapshots to estimate DOA, an the number of sources need not be known <italic>a priori</italic>. Besides, it improves the probability of resolution, and it can also handle coherent sources well.</p>
<p>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.</p></sec>
<sec>
<label>2.</label>
<title>Problem Formulation</title>
<sec>
<label>2.1.</label>
<title>DOA Estimation Problem</title>
<p>Consider a linear array consisting of <italic>M</italic> identical sensors and receiving signals from <italic>K</italic> narrowband signals <italic>s</italic><sub>1</sub>(<italic>t</italic>), <italic>s</italic><sub>2</sub>(<italic>t</italic>), ⋯, <italic>s<sub>K</sub></italic>(<italic>t</italic>), which arrive at the array from directions <italic>θ̄</italic><sub>1</sub>, <italic>θ̄</italic><sub>2</sub>, ⋯ <italic>θ̄<sub>K</sub></italic> with respect to the line of array. The received signal <italic>y<sub>m</sub></italic>(<italic>t</italic>) at the <italic>m<sup>th</sup></italic> sensor can be written as:
<disp-formula id="FD1">
<label>(1)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>m</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>K</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>¯</mml:mo></mml:mover></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mi>m</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>¯</mml:mo></mml:mover></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>K</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> denote steering vectors, <italic>n<sub>m</sub></italic>(<italic>t</italic>) (<italic>m</italic> = 1, 2 ⋯, <italic>M</italic>) stand for the additive noise.</p>
<p>Let <italic>y</italic>(<italic>t</italic>) = [<italic>y</italic><sub>1</sub>(<italic>t</italic>), <italic>y</italic><sub>2</sub>(<italic>t</italic>), ⋯, <italic>y<sub>M</sub></italic>(<italic>t</italic>)]<italic><sup>T</sup></italic>, <italic>n</italic>(<italic>t</italic>) = [<italic>n</italic><sub>1</sub>(<italic>t</italic>), ⋯, <italic>n<sub>M</sub></italic>(<italic>t</italic>)], <xref ref-type="disp-formula" rid="FD1">Equation (1)</xref> can be written as:
<disp-formula id="FD2">
<label>(2)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>¯</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula>where the manifold matrix <italic>A</italic> (<italic>θ̄</italic>) consists of the steering vectors 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>¯</mml:mo></mml:mover></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>K</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula>:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mi>A</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>θ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>¯</mml:mo></mml:mover></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>¯</mml:mo></mml:mover></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>θ</mml:mi>
<mml:mo>¯</mml:mo></mml:mover></mml:mrow>
<mml:mi>K</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Therefore, DOA estimation is to find <italic>K</italic> and <italic>θ̄<sub>k</sub></italic> from <italic>T</italic> snapshots 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msub></mml:mrow></mml:msubsup></mml:mrow></mml:math></inline-formula>.</p></sec>
<sec>
<label>2.2.</label>
<title>Joint-Sparse Recovery for DOA Estimation Problem</title>
<p>Because sources are sparse in space, DOA estimation with sensor arrays can be expressed as a joint-sparse recovery problem. Let Ω denote the set of possible locations, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> denotes a grid that covers Ω. We assume that the grid is fine enough such that the true location parameters of the existing sources lie on the grid. Let:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>N</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo stretchy="false">]</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow></mml:math></disp-formula></p>
<p>Then the received signal <italic>y<sub>m</sub></italic>(<italic>t</italic>) at the <italic>m<sup>th</sup></italic> sensor can be written as:
<disp-formula id="FD3">
<label>(3)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>y</mml:mi>
<mml:mi>m</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:mi>a</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where the <italic>n<sup>th</sup></italic> element <italic>x<sub>n</sub></italic>(<italic>t</italic>) of <italic>x</italic>(<italic>t</italic>) is nonzero only if <italic>θ<sub>n</sub></italic> = <italic>θ̄<sub>k</sub></italic>, <italic>k</italic> ∈ [1,2, ⋯, <italic>K</italic>] and in that case <italic>x<sub>n</sub></italic>(<italic>t</italic>) = <italic>s<sub>k</sub></italic>(<italic>t</italic>):</p>
<p>Let Φ = [<italic>a</italic>(<italic>θ</italic><sub>1</sub>), <italic>a</italic>(<italic>θ</italic><sub>2</sub>), ⋯, <italic>a</italic>(<italic>θ<sub>N</sub></italic>)], (3) can be expressed as:
<disp-formula id="FD4">
<label>(4)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>y</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>x</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula>when the number of snapshots is denoted as <italic>T</italic>, <xref ref-type="disp-formula" rid="FD4">Equation (4)</xref> can be written as:
<disp-formula id="FD5">
<label>(5)</label>
<mml:math display="block">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>N</mml:mi></mml:mrow></mml:math></disp-formula>where <italic>Y</italic> = [<italic>y</italic>(<italic>t</italic><sub>1</sub>), <italic>y</italic>(<italic>t</italic><sub>2</sub>), ⋯, <italic>y</italic>(<italic>t<sub>T</sub></italic>)], <italic>X</italic> = [<italic>x</italic>(<italic>t</italic><sub>1</sub>), <italic>x</italic>(<italic>t</italic><sub>2</sub>), ⋯, <italic>x</italic>(<italic>t<sub>T</sub></italic>)]. As we know, <italic>X</italic> is row-sparse and only <italic>K</italic> rows have nonzero elements, so DOA estimation can be obtained by a joint-sparse recovery problem, which is also called a multiple measurement vectors (MMV) problem. Using <italic>l<sub>p,q</sub></italic> norm to express joint sparsity, the MMV problem can be converted to <italic>l<sub>p,q</sub></italic> norm minimization:
<disp-formula id="FD6">
<label>(6)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>min</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>q</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>N</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>p</italic> and <italic>q</italic> are non-negative, and ‖<italic>X</italic>‖<italic><sub>p,q</sub></italic> is defined as:
<disp-formula id="FD7">
<label>(7)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mrow>
<mml:mi>p</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>q</mml:mi></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mi>p</mml:mi></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mi>q</mml:mi></mml:msup></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Concretely, Eldar and Mishali [<xref ref-type="bibr" rid="b15-sensors-11-09098">15</xref>] use <italic>p =</italic> 2, <italic>q</italic> = 1. Chen and Huo [<xref ref-type="bibr" rid="b16-sensors-11-09098">16</xref>] study for <italic>p =</italic> 1, <italic>q</italic> = 1. The above algorithms do not perform very well for ‖<italic>X</italic>‖ <sub>2,1</sub> and ‖<italic>X</italic>‖ <sub>1,1</sub> can’t sufficiently reflect joint sparsity. Considering ‖<italic>X</italic>‖ <sub>2,0</sub> can reflect joint sparity sufficiently, we minimize ‖<italic>X</italic>‖ <sub>2,0</sub> norm to solve the MMV problem. However, ‖<italic>X</italic>‖ <sub>2,0</sub> norm minimization can hardly be solved directly. Therefore, in this paper we approximate ‖<italic>X</italic>‖ <sub>2,0</sub> norm by an arctan function and estimate DOA by solving an approximate ‖<italic>X</italic>‖ <sub>2,0</sub> norm minimization problem.</p></sec></sec>
<sec>
<label>3.</label>
<title>Joint-Sparse DOA Estimation Algorithm</title>
<p>In this section, the DOA estimation problem is converted into an approximate ‖<italic>X</italic>‖ <sub>2,0</sub> norm minimization problem. Firstly, the <italic>L</italic><sub>2,0</sub> norm is approximated by an arctan function to construct an approximate ‖<italic>X</italic>‖ <sub>2,0</sub> norm minimization problem. Then this problem is solved by a quasi-Newton method to estimate DOA.</p>
<sec>
<label>3.1.</label>
<title>Basic Idea of the Proposed Method</title>
<p>Let <italic>ξ<sub>i</sub></italic> = ‖<italic>X</italic>(<italic>i</italic>,:)‖<sub>2</sub>, <italic>i</italic> = 1, 2, ⋯, <italic>M</italic>, we have:
<disp-formula id="FD8">
<label>(8)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:msub>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>M</mml:mi></mml:munderover>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mo>:</mml:mo>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mn>2</mml:mn></mml:msub></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mn>0</mml:mn></mml:msup>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mi>ξ</mml:mi>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>ξ</italic> = (<italic>ξ</italic><sub>1</sub>, ⋯, <italic>ξ<sub>M</sub></italic>). Considering the following arctan function:
<disp-formula id="FD9">
<label>(9)</label>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi></mml:mfrac>
<mml:mi mathvariant="italic">arc</mml:mi>
<mml:mi> </mml:mi>
<mml:mtext>tan</mml:mtext>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mi>s</mml:mi>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula>where <italic>δ</italic> is a positive parameter and <italic>s</italic> is a variable parameter. Then <italic>f<sub>δ</sub></italic>(<italic>s</italic>) has the following property:
<disp-formula id="FD10">
<label>(10)</label>
<mml:math display="block">
<mml:mrow>
<mml:munder>
<mml:mtext>lim</mml:mtext>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>→</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:munder>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>s</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable>
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>≠</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn></mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Let
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>F</mml:mi>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>ξ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>ξ</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>From <xref ref-type="disp-formula" rid="FD10">Equation (10)</xref>, we have:
<disp-formula id="FD11">
<label>(11)</label>
<mml:math display="block">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mtext>lim</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>→</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>ξ</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mi>ξ</mml:mi>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mn>0</mml:mn></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>From <xref ref-type="disp-formula" rid="FD8">Equations (8)</xref> and <xref ref-type="disp-formula" rid="FD10">(10)</xref>, then:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mtext>lim</mml:mtext></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>→</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>0</mml:mn></mml:mrow></mml:msub></mml:mrow></mml:math></disp-formula></p>
<p>So DOA can be obtained by solving the approximate ‖<italic>X</italic>‖<sub>2,0</sub> norm minimization:
<disp-formula id="FD12">
<label>(12)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mtext>min</mml:mtext></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>Y</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>N</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>δ</italic> is a small positive constant. Because noise is unknown, we synchronously hope to minimize <italic>F<sub>δ</sub></italic>(<italic>X</italic>) and 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mi>F</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula>. Then <xref ref-type="disp-formula" rid="FD12">Equation (12)</xref> is converted into a multiple objective optimization:
<disp-formula id="FD13">
<label>(13)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mtext>min</mml:mtext></mml:mrow>
<mml:mi>X</mml:mi></mml:munder></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mtext>min</mml:mtext></mml:mrow>
<mml:mi>X</mml:mi></mml:munder></mml:mrow></mml:mtd>
<mml:mtd columnalign="left">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mi>F</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Using the linear weighting method, <xref ref-type="disp-formula" rid="FD13">Equation (13)</xref> can be written as:
<disp-formula id="FD14">
<label>(14)</label>
<mml:math display="block">
<mml:mrow>
<mml:munder>
<mml:mrow>
<mml:mtext>min</mml:mtext></mml:mrow>
<mml:mi>x</mml:mi></mml:munder>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>+</mml:mo>
<mml:mi>λ</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mi>F</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:math></disp-formula>where ‖•‖<italic><sub>F</sub></italic> denotes the Frobenious norm and the parameter <italic>λ</italic> will be discussed in Section 3.2. When the parameter <italic>δ</italic> is very small, the objective function <italic>F<sub>δ</sub></italic>(<italic>X</italic>) is highly unsmoothed and contains a lot of local minimization, so its global minimization is not easy. On the other hand, if the parameter <italic>δ</italic> is larger, the objective function <italic>F<sub>δ</sub></italic>(<italic>X</italic>) is smoother and contains less local minimization. In order to obtain global minimization, we select a decreasing sequence for <italic>δ</italic>, denoted as:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>=</mml:mo>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mi>J</mml:mi></mml:msub>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>j</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msub>
<mml:mo>&lt;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>where <italic>δ<sub>1</sub></italic> is a relatively large value, and <italic>δ<sub>J</sub></italic> is a small value. For <italic>δ</italic> = <italic>δ<sub>J−1</sub></italic>, the solution of <xref ref-type="disp-formula" rid="FD14">Equation (14)</xref> is denoted as <italic>x</italic><sub><italic>δ</italic><sub><italic>j</italic>–1</sub></sub>, and <italic>x</italic><sub><italic>δ</italic><sub><italic>j</italic>–1</sub></sub> is used as the initial value for <italic>δ</italic> = <italic>δ<sub>j</sub></italic>, thus we hope the proposed algorithm can escape from getting trapped into a local minimum and reach the global minimization for a small value <italic>δ</italic> = <italic>δ<sub>J</sub></italic>.</p>
<p>For some fixed value <italic>δ</italic> = <italic>δ<sub>j</sub></italic>, minimization problem <xref ref-type="disp-formula" rid="FD14">Equation (14)</xref> is solved by the quasi-Newton method in this paper. One of the most successful quasi-Newton methods is the BFGS algorithm, which is second order convergent and has good numerical stability. Therefore, we use the BFGS algorithm to solve <xref ref-type="disp-formula" rid="FD14">Equation (14)</xref> for some fixed value <italic>δ</italic> = <italic>δ<sub>j</sub></italic>.</p>
<p>The conjugate gradient for a matrix variable is defined as:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>R</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mi>i</mml:mi>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>X<sub>R</sub></italic> and <italic>X<sub>l</sub></italic> denote the real part and the imaginary part respectively, <italic>X</italic><sup>*</sup>denotes the conjugate of <italic>X</italic>. Then the conjugate gradient of <italic>L<sub>δ,λ</sub></italic>(<italic>X</italic>) (for its derivation see <xref ref-type="app" rid="app1">Appendix I</xref>) can be expressed as:
<disp-formula id="FD15">
<label>(15)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>Λ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>λ</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mo>Φ</mml:mo></mml:mrow>
<mml:mo>*</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>Y</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula>where
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mo>Λ</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">diag</mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>ξ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>4</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>4</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>ξ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>4</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>4</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>ξ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mn>4</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>4</mml:mn></mml:msup></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Solving by the BFGS algorithm, the main iterative steps are as follows:
<list list-type="order">
<list-item>
<p>Search step length <italic>t<sub>k</sub></italic>, satisfy: 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mtext>min</mml:mtext></mml:mrow>
<mml:mi>t</mml:mi></mml:munder>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo> </mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>x</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>t</mml:mi>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo>∇</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula></p></list-item>
<list-item>
<p>Iteration: 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo>−</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>t</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msub>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula></p></list-item>
<list-item>
<p>BFGS adjustment:
<disp-formula id="FD16">
<label>(16)</label>
<mml:math display="block">
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo>+</mml:mo>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>g</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>g</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>g</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mfrac></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>g</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>g</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo>−</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>H</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>g</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>g</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>s</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p></list-item></list>where <italic>s<sup>k</sup></italic> = <italic>X</italic><sup><italic>k</italic>+1</sup> – <italic>X<sup>k</sup></italic>, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msup>
<mml:mi>g</mml:mi>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>k</mml:mi>
<mml:mo>+</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>−</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>k</mml:mi></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac></mml:mrow></mml:math></inline-formula></p></sec>
<sec>
<label>3.2.</label>
<title>Algorithm Description</title>
<p>Based on the above idea, JSDOA can be described as shown in <xref ref-type="table" rid="t1-sensors-11-09098">Table 1</xref>.</p>
<p>Remark:</p>
<p><bold>(1) Select parameter</bold> <italic>λ</italic>: in this paper, we select the parameter <italic>λ</italic> by the α– method [<xref ref-type="bibr" rid="b17-sensors-11-09098">17</xref>]. Set <italic>f</italic><sub>1</sub>(<italic>X</italic>) = <italic>F<sub>δ</sub></italic>(<italic>X</italic>), 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mrow>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mi mathvariant="italic">AX</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>y</mml:mi></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow></mml:mrow></mml:mrow>
<mml:mi>F</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:math></inline-formula>, and minimizing <italic>f</italic><sub>1</sub>(<italic>X</italic>) and <italic>f</italic><sub>2</sub>(<italic>X</italic>), we have;
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>i</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mtext>min</mml:mtext></mml:mrow>
<mml:mi>x</mml:mi></mml:munder>
<mml:mo> </mml:mo>
<mml:mo> </mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:math></disp-formula></p>
<p>It is easy to know that <italic>X</italic><sup>(<italic>i</italic>)</sup>(<italic>i</italic> = 1,2) is 0 and <italic>A<sup>T</sup></italic>(<italic>AA<sup>T</sup></italic>)<sup>−1</sup><italic>Y</italic> respectively. Then we have:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:msup>
<mml:mi>X</mml:mi>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mi> </mml:mi>
<mml:mi>i</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>j</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mn>2</mml:mn></mml:mrow></mml:math></disp-formula></p>
<p>Set <italic>λ</italic> = <italic>λ</italic><sub>2</sub>/<italic>λ</italic><sub>1</sub> and introduce auxiliary parameter <italic>α</italic>, we can have:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi mathvariant="italic">ij</mml:mi></mml:msub>
<mml:msub>
<mml:mi>λ</mml:mi>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mi>α</mml:mi></mml:mrow></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:munderover>
<mml:mo>∑</mml:mo>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mn>2</mml:mn></mml:munderover>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Setting the coefficient matrix <italic>f</italic>(<italic>i</italic>,<italic>j</italic>) = <italic>f<sub>ij</sub></italic>, from the above equations, the solution is:
<disp-formula id="FD17">
<label>(17)</label>
<mml:math display="block">
<mml:mrow>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:mtable columnalign="left">
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mo stretchy="false">[</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>λ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msub>
<mml:mo stretchy="false">]</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mi>e</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr>
<mml:mtr columnalign="left">
<mml:mtd columnalign="left">
<mml:mrow>
<mml:mi>α</mml:mi>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>e</mml:mi></mml:mrow>
<mml:mi>T</mml:mi></mml:msup>
<mml:msup>
<mml:mrow>
<mml:mi>f</mml:mi></mml:mrow>
<mml:mrow>
<mml:mo>−</mml:mo>
<mml:mn>1</mml:mn></mml:mrow></mml:msup>
<mml:mi>e</mml:mi></mml:mrow></mml:mfrac></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mrow></mml:mrow></mml:math></disp-formula>where <italic>e</italic> = [<xref ref-type="bibr" rid="b1-sensors-11-09098">1</xref>,<xref ref-type="bibr" rid="b1-sensors-11-09098">1</xref>]<italic><sup>T</sup></italic>, and <italic>λ</italic> = <italic>λ</italic><sub>2</sub>/<italic>λ</italic><sub>1</sub>.</p>
<p><bold>(2) Select parameter</bold> <italic>δ</italic>: In this paper, we set <italic>δ<sub>j</sub></italic> = <italic>γδ<sub>j</sub></italic><sub>–1</sub>, <italic>j</italic> = 2, ⋯, <italic>J</italic>, <italic>γ</italic> ∈ (0.5,1). Let 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˜</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext>max</mml:mtext>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula>, we hope parameter <italic>δ</italic><sub>1</sub> satisfies:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:msub>
<mml:mi>f</mml:mi>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˜</mml:mo></mml:mover>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>2</mml:mn>
<mml:mi>π</mml:mi></mml:mfrac>
<mml:mi mathvariant="italic">arc</mml:mi>
<mml:mi> </mml:mi>
<mml:mtext>tan</mml:mtext>
<mml:mi> </mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˜</mml:mo></mml:mover></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msubsup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:msubsup></mml:mrow></mml:mfrac>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>≤</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn></mml:mfrac>
<mml:mo>⇒</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>≥</mml:mo>
<mml:mfrac>
<mml:mover accent="true">
<mml:mi>x</mml:mi>
<mml:mo>˜</mml:mo></mml:mover>
<mml:mrow>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt></mml:mrow></mml:mfrac></mml:mrow></mml:math></disp-formula></p>
<p>In order to save computation cost, we set 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mrow>
<mml:mtext>max</mml:mtext></mml:mrow></mml:mrow>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt></mml:mrow></mml:math></inline-formula>. When <italic>δ<sub>J</sub></italic> → 0, <italic>F</italic><sub><italic>δ</italic><sub><italic>J</italic></sub></sub>(<italic>x</italic>) → ‖<italic>x</italic>‖<sub>0</sub>. However, if <italic>δ<sub>J</sub></italic> is too small, <italic>F</italic><sub><italic>δ</italic><sub><italic>J</italic></sub></sub>(<italic>x</italic>) will be sensitive to noise, so <italic>δ<sub>J</sub></italic> shouldn’t be too small.</p>
<p><bold>(3) For coherent sources:</bold> Many of popular methods, such as MUSIC and ESPRIT require the assumption that sources are uncorrelated, because the source covariance matrix remains nonsingular so long as none of these sources are coherent. However, the algorithm proposed in this paper doesn’t need to compute the source covariance matrix, and joint sparsity is used to estimate DOA, so the proposed algorithm can handle highly coherent sources as well.</p>
<p><bold>(4) Limitation:</bold> The algorithm proposed in this paper suffers from two problems. First, there exist no clear-cut guidelines for the selection of <italic>δ<sub>J</sub></italic>, especially when knowledge of noise is unknown. Second, the proposed algorithm can’t perform well when the SNR is relatively low.</p></sec></sec>
<sec sec-type="results">
<label>4.</label>
<title>Simulation Results</title>
<p>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 [<xref ref-type="bibr" rid="b2-sensors-11-09098">2</xref>], MUSIC [<xref ref-type="bibr" rid="b3-sensors-11-09098">3</xref>], and L1-SVD [<xref ref-type="bibr" rid="b13-sensors-11-09098">13</xref>] under various snapshot scenartios. Next, we compare the spatial spectrum with more than two sources. Then, the probability of resolution is compared. Finally, we compare the spatial spectrum for coherent sources. In the following numerical simulations, we consider a uniform linear array consisting of <italic>M</italic> = 8 identical sensors and receiving signals are narrowband signals. The sensors are uniformly placed with a spacing of half a wavelength. The interval for the DOA is Ω = [−90,90], we use a uniform grid 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mo stretchy="false">{</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>θ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi></mml:msub></mml:mrow>
<mml:mo stretchy="false">}</mml:mo></mml:mrow>
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>=</mml:mo>
<mml:mn>1</mml:mn></mml:mrow>
<mml:mi>N</mml:mi></mml:msubsup></mml:mrow></mml:math></inline-formula> to cover Ω with a step of 1°, which means <italic>N</italic> = 181.</p>
<sec>
<label>4.1.</label>
<title>Spatial Spectrum Comparison under Various Snapshots</title>
<p>In this simulation, we compare spatial spectrum of different algorithms under various snapshots. We consider two uncorrelated sources located at 13° and 20° with <italic>SNR</italic> = 10. For JSDOA, we set 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext>max</mml:mtext>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt></mml:mrow></mml:math></inline-formula>, <italic>δ<sub>j</sub></italic> = <italic>γδ<sub>j</sub></italic><sub>–1</sub>, <italic>γ</italic> = 0.5, <italic>J</italic> = 7. In <xref ref-type="fig" rid="f1-sensors-11-09098">Figures 1(a,b)</xref>, we set <italic>T</italic> = 10 and <italic>T</italic> = 5, respectively. It can be seen from <xref ref-type="fig" rid="f1-sensors-11-09098">Figure 1</xref> that JSDOA and L1-SVD can resolve the two sources as <italic>T</italic> = 10. However, only JSDOA can resolve the two sources as <italic>T</italic> = 5.</p></sec>
<sec>
<label>4.2.</label>
<title>Spatial Spectrum Comparison with More Than Two Sources</title>
<p>In this simulation, we compare the spatial spectrum of different algorithms with more than two uncorrelated sources. Set <italic>SNR</italic> = 10, <italic>T</italic> = 20, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext>max</mml:mtext>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt></mml:mrow></mml:math></inline-formula>, <italic>δ<sub>j</sub></italic> = <italic>γδ<sub>j</sub></italic><sub>–1</sub>, <italic>γ</italic> = 0.5, <italic>J</italic> = 7. In <xref ref-type="fig" rid="f2-sensors-11-09098">Figure 2(a)</xref>, there are three sources located at 10, 20 and 30. In <xref ref-type="fig" rid="f2-sensors-11-09098">Figure 2(b)</xref>, there are five sources located at 0, 10, 20, 30 and 40. It is shown from <xref ref-type="fig" rid="f1-sensors-11-09098">Figure 1</xref> that JSDOA and L1-SVD can resolve the three sources, but only JSDOA can resolve the five sources.</p></sec>
<sec>
<label>4.3.</label>
<title>Probability of Resolution Comparison under Various Conditions</title>
<p>In this simulation, we compare probability of resolution for two uncorrelated sources. JSDOA, MUSIC and L1-SVD are used for comparison and we set <italic>T</italic> = 5, <italic>δ<sub>j</sub></italic> = <italic>γδ<sub>j</sub></italic><sub>–1</sub>, <italic>γ</italic> = 0.5, <italic>J</italic> = 7. For each Δ<italic>θ</italic> or SNR, 200 independent simulation are carried out. In <xref ref-type="fig" rid="f3-sensors-11-09098">Figure 3(a)</xref>, one source is fixed at 10°, the other source is located at 10° + Δ<italic>θ</italic>. vary from 0 to 30. In <xref ref-type="fig" rid="f3-sensors-11-09098">Figure 3(b)</xref>, two sources are located at 10° and 20°. SNR vary from −5 to 20. It is shown from <xref ref-type="fig" rid="f3-sensors-11-09098">Figure 3</xref> that JSDOA has the higher probability of resolution than MUSIC and L1-SVD.</p></sec>
<sec>
<label>4.4.</label>
<title>Spatial Spectrum Comparison for Coherent Sources</title>
<p>In this simulation, we compare spatial spectrum for completely coherent sources. Set <italic>SNR</italic> = 10, <italic>T</italic> = 20, 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn></mml:msub>
<mml:mo>=</mml:mo>
<mml:msub>
<mml:mtext>max</mml:mtext>
<mml:mi>i</mml:mi></mml:msub>
<mml:mrow>
<mml:mo stretchy="false">|</mml:mo>
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi>x</mml:mi></mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn></mml:msubsup></mml:mrow>
<mml:mo stretchy="false">|</mml:mo></mml:mrow>
<mml:mo>/</mml:mo>
<mml:msqrt>
<mml:mn>2</mml:mn></mml:msqrt></mml:mrow></mml:math></inline-formula>, <italic>δ<sub>j</sub></italic> = <italic>γδ<sub>j</sub></italic><sub>–1</sub>, <italic>γ</italic> = 0.5, <italic>J</italic> = 7. In <xref ref-type="fig" rid="f4-sensors-11-09098">Figure 4(a)</xref> two coherent sources, located at 10° and 20°, are considered.</p>
<p>In <xref ref-type="fig" rid="f4-sensors-11-09098">Figure 4(b)</xref> three coherent sources, located at 10° and 20°, are considered. It is shown from <xref ref-type="fig" rid="f4-sensors-11-09098">Figure 4</xref> that JSDOA and L1-SVD can be used to estimate DOA for coherent sources and that JSDOA has higher resolution than L1-SVD.</p></sec></sec>
<sec sec-type="conclusions">
<label>5.</label>
<title>Conclusions</title>
<p>In this paper, a joint-sparse recovery algorithm, called JSDOA, is proposed to estimate DOA with sensor arrays. We pose the DOA estimation problem as a joint-sparse recovery problem, which can be solved by minimizing the approximate <italic>L</italic><sub>2,0</sub> norm. In particular, the <italic>L</italic><sub>2,0</sub> norm is approximated by an arctan function to represent spatial sparsity and the approximate <italic>L</italic><sub>2,0</sub> norm minimization problem is solved by a quasi-Newton method. Finally, the proposed algorithm is examined by simulations. Several advantages over existing DOA estimation algorithms were identified. It can perform well with a limited number of snapshots, while the number of sources need not be known <italic>a priori</italic>. Besides, it improves the resolution, and it can also handle the coherent sources well.</p></sec></body>
<back>
<ack>
<p>This work was supported by the National Natural Science Foundation (No. 61072120), the program for New Century Excellent Talents in University (NCET).</p></ack>
<ref-list>
<title>References</title>
<ref id="b1-sensors-11-09098"><label>1.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Krim</surname><given-names>H</given-names></name><name><surname>Viberg</surname><given-names>M</given-names></name></person-group><article-title>Two decades of array signal processing research: The parametric approach</article-title><source>IEEE Signal Process. Mag</source><year>1996</year><volume>13</volume><fpage>67</fpage><lpage>94</lpage><pub-id pub-id-type="doi">10.1109/79.526899</pub-id></citation></ref>
<ref id="b2-sensors-11-09098"><label>2.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Johnson</surname><given-names>DH</given-names></name><name><surname>Dudgeon</surname><given-names>DE</given-names></name></person-group><source>Array Signal Processing—Concepts and Techniques</source><publisher-name>Prentice-Hall</publisher-name><publisher-loc>Englewood Cliffs, NJ, USA</publisher-loc><year>1993</year></citation></ref>
<ref id="b3-sensors-11-09098"><label>3.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Schmidt</surname><given-names>R</given-names></name></person-group><article-title>Multiple emitter location and signal parameter estimation</article-title><source>IEEE Trans. Antennas Propag</source><year>1986</year><volume>34</volume><fpage>276</fpage><lpage>280</lpage><pub-id pub-id-type="doi">10.1109/TAP.1986.1143830</pub-id></citation></ref>
<ref id="b4-sensors-11-09098"><label>4.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Roy</surname><given-names>R</given-names></name><name><surname>Kailath</surname><given-names>T</given-names></name></person-group><article-title>Esprit-estimation of signal parameters <italic>via</italic> rotational invariance techniques</article-title><source>IEEE Trans. Acoust. Speech Signal Process</source><year>1989</year><volume>37</volume><fpage>984</fpage><lpage>995</lpage><pub-id pub-id-type="doi">10.1109/29.32276</pub-id></citation></ref>
<ref id="b5-sensors-11-09098"><label>5.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Stoica</surname><given-names>P</given-names></name><name><surname>Sharman</surname><given-names>KC</given-names></name></person-group><article-title>Maximum likelihood methods for direction-of-arrival estimation</article-title><source>IEEE Trans. Acoust. Speech Signal Process</source><year>1990</year><volume>38</volume><fpage>1132</fpage><lpage>1143</lpage><pub-id pub-id-type="doi">10.1109/29.57542</pub-id></citation></ref>
<ref id="b6-sensors-11-09098"><label>6.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hyder</surname><given-names>M</given-names></name><name><surname>Mahata</surname><given-names>K</given-names></name></person-group><article-title>An improved smoothed <italic>l</italic><sub>0</sub> approximation algorithm for sparse representation</article-title><source>IEEE Trans. Signal Process</source><year>2010</year><volume>58</volume><fpage>2194</fpage><lpage>2205</lpage><pub-id pub-id-type="doi">10.1109/TSP.2009.2040018</pub-id></citation></ref>
<ref id="b7-sensors-11-09098"><label>7.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Mourad</surname><given-names>N</given-names></name><name><surname>Reilly</surname><given-names>JP</given-names></name></person-group><article-title>Minimizing Nonconvex Functions for Sparse Vector Reconstruction</article-title><source>IEEE Trans. Signal Process</source><year>2010</year><volume>58</volume><fpage>3485</fpage><lpage>3496</lpage><pub-id pub-id-type="doi">10.1109/TSP.2010.2046900</pub-id></citation></ref>
<ref id="b8-sensors-11-09098"><label>8.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Gorodnitsky</surname><given-names>IF</given-names></name><name><surname>Rao</surname><given-names>BD</given-names></name></person-group><article-title>Sparse signal reconstructions from limited data using FOCUSS: A re-weighted minimum norm algorithm</article-title><source>IEEE Trans. Signal Process</source><year>1997</year><volume>45</volume><fpage>600</fpage><lpage>616</lpage><pub-id pub-id-type="doi">10.1109/78.558475</pub-id></citation></ref>
<ref id="b9-sensors-11-09098"><label>9.</label><citation citation-type="confproc"><person-group person-group-type="author"><name><surname>Cotter</surname><given-names>S</given-names></name></person-group><article-title>Multiple Snapshot Matching Pursuit for Direction of Arrival (DOA) Estimation</article-title><conf-name>Proceedings of the European Signal Processing Conference</conf-name><conf-loc>Poznan, Poland</conf-loc><conf-date>3–7 September 2007</conf-date><fpage>247</fpage><lpage>251</lpage></citation></ref>
<ref id="b10-sensors-11-09098"><label>10.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hyder</surname><given-names>MM</given-names></name><name><surname>Mahata</surname><given-names>K</given-names></name></person-group><article-title>Direction-of-Arrival estimation using a mixed <italic>L</italic><sub>2.0</sub> morm approximation</article-title><source>IEEE Trans. Signal Process</source><year>2010</year><volume>58</volume><fpage>4646</fpage><lpage>4655</lpage><pub-id pub-id-type="doi">10.1109/TSP.2010.2050477</pub-id></citation></ref>
<ref id="b11-sensors-11-09098"><label>11.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Stoica</surname><given-names>P</given-names></name><name><surname>Babu</surname><given-names>P</given-names></name><name><surname>Li</surname><given-names>J</given-names></name></person-group><article-title>SPICE: A sparse covariance-based estimation method for array processing</article-title><source>IEEE Trans. Signal Process</source><year>2011</year><volume>59</volume><fpage>629</fpage><lpage>638</lpage><pub-id pub-id-type="doi">10.1109/TSP.2010.2090525</pub-id></citation></ref>
<ref id="b12-sensors-11-09098"><label>12.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Liu</surname><given-names>ZM</given-names></name><name><surname>Huang</surname><given-names>ZT</given-names></name><name><surname>Zhou</surname><given-names>YY</given-names></name></person-group><article-title>Direction-of-Arrival estimation of wideband signals via covariance matrix sparse representation</article-title><source>IEEE Trans. Signal Process</source><year>2011</year><volume>59</volume><fpage>4256</fpage><lpage>4270</lpage><pub-id pub-id-type="doi">10.1109/TSP.2011.2159214</pub-id></citation></ref>
<ref id="b13-sensors-11-09098"><label>13.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Malioutov</surname><given-names>D</given-names></name><name><surname>Cetin</surname><given-names>M</given-names></name><name><surname>Willsky</surname><given-names>A</given-names></name></person-group><article-title>A sparse signal reconstruction perspective for source localization with sensor arrays</article-title><source>IEEE Trans. Signal Process</source><year>2005</year><volume>53</volume><fpage>3010</fpage><lpage>3022</lpage><pub-id pub-id-type="doi">10.1109/TSP.2005.850882</pub-id></citation></ref>
<ref id="b14-sensors-11-09098"><label>14.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Sun</surname><given-names>K</given-names></name><name><surname>lin</surname><given-names>Y</given-names></name><name><surname>Meng</surname><given-names>H</given-names></name></person-group><article-title>Sparse representation for source location with gain/phase errors</article-title><source>Sensors</source><year>2011</year><volume>11</volume><fpage>4780</fpage><lpage>4793</lpage><pub-id pub-id-type="doi">10.3390/s110504780</pub-id><pub-id pub-id-type="pmid">22163875</pub-id></citation></ref>
<ref id="b15-sensors-11-09098"><label>15.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Chen</surname><given-names>J</given-names></name><name><surname>Huo</surname><given-names>X</given-names></name></person-group><article-title>Theoretical results on sparse representations of multiple-measurement vectors</article-title><source>IEEE Trans. Signal Process</source><year>2006</year><volume>54</volume><fpage>4634</fpage><lpage>4643</lpage><pub-id pub-id-type="doi">10.1109/TSP.2006.881263</pub-id></citation></ref>
<ref id="b16-sensors-11-09098"><label>16.</label><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Berg</surname><given-names>E</given-names></name><name><surname>Friedlander</surname><given-names>MP</given-names></name></person-group><article-title>Theoretical and empirical results for recovery from multiple measurements</article-title><source>IEEE Trans. Inf. Theory</source><year>2010</year><volume>56</volume><fpage>2516</fpage><lpage>2527</lpage><pub-id pub-id-type="doi">10.1109/TIT.2010.2043876</pub-id></citation></ref>
<ref id="b17-sensors-11-09098"><label>17.</label><citation citation-type="book"><person-group person-group-type="author"><name><surname>Chankong</surname><given-names>V</given-names></name><name><surname>Haimes</surname><given-names>YY</given-names></name></person-group><source>Multiobjective Decision Making Theory and Methodology</source><publisher-name>Elsevier Science Publishing</publisher-name><publisher-loc>New York, NY, USA</publisher-loc><year>1983</year></citation></ref></ref-list>
<app-group>
<app id="app1">
<title>Appendix—The Conjugate Gradient of <italic>L<sub>δ,λ</sub></italic>(<italic>X</italic>)</title>
<p>From expression of <italic>F<sub>δ</sub></italic>(<italic>X</italic>), we have:
<disp-formula id="FD18">
<label>(18)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>R</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>Λ</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>R</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD19">
<label>(19)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>Λ</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:math></disp-formula>where
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mo>Λ</mml:mo>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">diag</mml:mi>
<mml:mrow>
<mml:mo>{</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mi>δ</mml:mi>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>ξ</mml:mi></mml:mrow>
<mml:mn>1</mml:mn>
<mml:mn>4</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>4</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>ξ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn>
<mml:mn>4</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>4</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>,</mml:mo>
<mml:mo>⋯</mml:mo>
<mml:mo>,</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup>
<mml:mo>/</mml:mo>
<mml:mo stretchy="false">(</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>ξ</mml:mi></mml:mrow>
<mml:mi>n</mml:mi>
<mml:mn>4</mml:mn></mml:msubsup>
<mml:mo>+</mml:mo>
<mml:mn>4</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>4</mml:mn></mml:msup>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>}</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>According the definition of conjugate gradient, we get:
<disp-formula id="FD20">
<label>(20)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>Λ</mml:mo>
<mml:mi>X</mml:mi></mml:mrow></mml:math></disp-formula></p>
<p>Set
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>=</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mo>‖</mml:mo>
<mml:mrow>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>Y</mml:mi></mml:mrow>
<mml:mo>‖</mml:mo></mml:mrow>
<mml:mi>F</mml:mi>
<mml:mn>2</mml:mn></mml:msubsup>
<mml:mo>=</mml:mo>
<mml:mi mathvariant="italic">tr</mml:mi>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>Y</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>Y</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>where ‖•‖<italic><sub>F</sub></italic> denotes Frobenious norm and <italic>tr</italic>[•] denotes the sum of diagonal entries. We have:
<disp-formula id="FD21">
<label>(21)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>R</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi> </mml:mi>
<mml:mtext>Re</mml:mtext>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mo>Φ</mml:mo>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>Y</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula>
<disp-formula id="FD22">
<label>(22)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mo>−</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi> </mml:mi>
<mml:mtext>Im</mml:mtext>
<mml:mrow>
<mml:mo>[</mml:mo>
<mml:mrow>
<mml:msup>
<mml:mo>Φ</mml:mo>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>Y</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mo>]</mml:mo></mml:mrow></mml:mrow></mml:math></disp-formula></p>
<p>Then the conjugate gradient of <italic>G</italic>(<italic>X</italic>) can be written as:
<disp-formula id="FD23">
<label>(23)</label>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:msup>
<mml:mo>Φ</mml:mo>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>Y</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p>From <xref ref-type="disp-formula" rid="FD20">(20)</xref> and <xref ref-type="disp-formula" rid="FD23">(23)</xref>, we have:
<disp-formula>
<mml:math display="block">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:mi>δ</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>F</mml:mi></mml:mrow>
<mml:mi>δ</mml:mi></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>+</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:mi>G</mml:mi>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow>
<mml:mrow>
<mml:mo>∂</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>*</mml:mo></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>=</mml:mo>
<mml:mfrac>
<mml:mn>1</mml:mn>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msup>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mfrac>
<mml:mo>Λ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo>+</mml:mo>
<mml:mi>λ</mml:mi>
<mml:msup>
<mml:mo>Φ</mml:mo>
<mml:mo>′</mml:mo></mml:msup>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>Y</mml:mi>
<mml:mo>−</mml:mo>
<mml:mo>Φ</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:math></disp-formula></p></app></app-group>
<sec sec-type="display-objects">
<title>Figures and Table</title>
<fig id="f1-sensors-11-09098" position="float">
<label>Figure 1.</label>
<caption>
<p>Spatial spectrum comparison under various snapshots for two uncorrelated sources: (<bold>a</bold>) <italic>T</italic> = 10; and (<bold>b</bold>) <italic>T</italic> = 5.</p></caption>
<graphic xlink:href="sensors-11-09098f1.gif"/></fig>
<fig id="f2-sensors-11-09098" position="float">
<label>Figure 2.</label>
<caption>
<p>Spatial spectrum comparison for more than two uncorrelated sources: (<bold>a</bold>) Three sources; and (<bold>b</bold>) Five sources.</p></caption>
<graphic xlink:href="sensors-11-09098f2.gif"/></fig>
<fig id="f3-sensors-11-09098" position="float">
<label>Figure 3.</label>
<caption>
<p>Probability of resolution comparison under various conditions. (<bold>a</bold>) Against Δ<italic>θ</italic>; and (<bold>b</bold>) Against input SNR.</p></caption>
<graphic xlink:href="sensors-11-09098f3.gif"/></fig>
<fig id="f4-sensors-11-09098" position="float">
<label>Figure 4.</label>
<caption>
<p>Spatial spectrum comparison for coherent sources. (<bold>a</bold>) Two coherent sources; and (<bold>b</bold>) Three coherent sources</p></caption>
<graphic xlink:href="sensors-11-09098f4.gif"/></fig>
<table-wrap id="t1-sensors-11-09098" position="float">
<label>Table 1.</label>
<caption>
<p>The main steps of JSDOA.</p></caption>
<table frame="hsides" rules="groups">
<thead>
<tr>
<th align="left" valign="top">Algorithm 1: joint-sparse DOA estimation</th></tr></thead>
<tbody>
<tr>
<td align="left" valign="top">Input: <italic>A</italic>, <italic>y</italic></td></tr>
<tr>
<td align="left" valign="top">Initialization:</td></tr>
<tr>
<td align="left" valign="top">(1) Set <italic>X</italic><sup>0</sup> = <italic>A<sup>T</sup></italic>(<italic>AA<sup>T</sup></italic>)<sup>−1</sup><italic>Y</italic></td></tr>
<tr>
<td align="left" valign="top">(2) Select a decreasing sequence <italic>δ</italic> = [<italic>δ</italic><sub>1</sub> <italic>δ</italic><sub>2</sub> ⋯ <italic>δ<sub>J</sub></italic>], set <italic>ɛ</italic> and parameter <italic>λ</italic></td></tr>
<tr>
<td align="left" valign="top">Iteration:</td></tr>
<tr>
<td align="left" valign="top">(1) for <italic>j</italic> = 1,2, … <italic>J</italic></td></tr>
<tr>
<td align="left" valign="top">(2) solving (14) by BFGS algorithm</td></tr>
<tr>
<td align="left" valign="top">(2–1) <italic>x</italic> = <italic>x</italic><sup>j − 1</sup>, <italic>H</italic> = <italic>I</italic> (<italic>I</italic> is unit matrix);</td></tr>
<tr>
<td align="left" valign="top">(2–2) while <italic>norm</italic> (∂<italic>L<sub>δ<sub>j</sub>,λ</sub></italic> (<italic>X</italic>)/∂<italic>X</italic>) &gt; <italic>δ<sub>j</sub>ɛ</italic>;</td></tr>
<tr>
<td align="left" valign="top">(2–3) Search step length 
<inline-formula>
<mml:math>
<mml:mrow>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>˜</mml:mo></mml:mover>
<mml:mo>:</mml:mo>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>˜</mml:mo></mml:mover>
<mml:mo>=</mml:mo>
<mml:munder>
<mml:mrow>
<mml:mtext>min</mml:mtext></mml:mrow>
<mml:mi>t</mml:mi></mml:munder>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mrow>
<mml:mo>(</mml:mo>
<mml:mrow>
<mml:mi>X</mml:mi>
<mml:mo>−</mml:mo>
<mml:mi>t</mml:mi>
<mml:mi>H</mml:mi>
<mml:mo>∂</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>L</mml:mi></mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>δ</mml:mi></mml:mrow>
<mml:mi>j</mml:mi></mml:msub>
<mml:mo>,</mml:mo>
<mml:mi>λ</mml:mi></mml:mrow></mml:msub>
<mml:mo stretchy="false">(</mml:mo>
<mml:mi>X</mml:mi>
<mml:mo stretchy="false">)</mml:mo>
<mml:mo>/</mml:mo>
<mml:mo>∂</mml:mo>
<mml:mi>X</mml:mi></mml:mrow>
<mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula></td></tr>
<tr>
<td align="left" valign="top">(2–4) Let <italic>X</italic> = <italic>X</italic> – <italic>t̃H</italic>∂<italic>L<sub>δ<sub>j</sub>,λ</sub></italic> (<italic>X</italic>)/∂<italic>X</italic></td></tr>
<tr>
<td align="left" valign="top">(2–5) Update the matrix by (16)</td></tr>
<tr>
<td align="left" valign="top">(2–6) end</td></tr>
<tr>
<td align="left" valign="top">(3) Let <italic>X<sup>j</sup></italic> = <italic>X</italic></td></tr>
<tr>
<td align="left" valign="top">(4) end</td></tr>
<tr>
<td align="left" valign="top">Output: <italic>X̂</italic> = <italic>X<sup>J</sup></italic>, spatial spectrum <italic>P</italic>(<italic>θ̄<sub>i</sub></italic>) = 10 log<sub>10</sub> (‖<italic>X̂</italic>(<italic>i</italic>,:)‖<sub>2</sub>)</td></tr></tbody></table></table-wrap></sec></back></article>
