<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xml:lang="en" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">CMES</journal-id>
<journal-id journal-id-type="nlm-ta">CMES</journal-id>
<journal-id journal-id-type="publisher-id">CMES</journal-id>
<journal-title-group>
<journal-title>Computer Modeling in Engineering &#x0026; Sciences</journal-title>
</journal-title-group>
<issn pub-type="epub">1526-1506</issn>
<issn pub-type="ppub">1526-1492</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">72638</article-id>
<article-id pub-id-type="doi">10.32604/cmes.2025.072638</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Joint Estimation of Elevation and Azimuth Angles with Triple-Parallel ULAs Using Metaheuristic and Direct Search Methods</article-title>
<alt-title alt-title-type="left-running-head">Joint Estimation of Elevation and Azimuth Angles with Triple-Parallel ULAs Using Metaheuristic and Direct Search Methods</alt-title>
<alt-title alt-title-type="right-running-head">Joint Estimation of Elevation and Azimuth Angles with Triple-Parallel ULAs Using Metaheuristic and Direct Search Methods</alt-title>
</title-group>
<contrib-group>
<contrib id="author-1" contrib-type="author">
<name name-style="western"><surname>Zaman</surname><given-names>Fawad</given-names></name><xref ref-type="aff" rid="aff-1">1</xref><xref ref-type="author-notes" rid="afn1">#</xref></contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western"><surname>Iqbal</surname><given-names>Adeel</given-names></name><xref ref-type="aff" rid="aff-2">2</xref><xref ref-type="author-notes" rid="afn1">#</xref></contrib>
<contrib id="author-3" contrib-type="author">
<name name-style="western"><surname>Ali</surname><given-names>Bakhtiar</given-names></name><xref ref-type="aff" rid="aff-1">1</xref></contrib>
<contrib id="author-4" contrib-type="author" corresp="yes">
<name name-style="western"><surname>Saudagar</surname><given-names>Abdul Khader Jilani</given-names></name><xref ref-type="aff" rid="aff-3">3</xref><email>aksaudagar@imamu.edu.sa</email></contrib>
<aff id="aff-1"><label>1</label><institution>Department of Electrical Engineering, COMSATS University Islamabad</institution>, <addr-line>Islamabad, 45550</addr-line>, <country>Pakistan</country></aff>
<aff id="aff-2"><label>2</label><institution>School of Computer Science &#x0026; Engineering, Yeungnam University</institution>, Gyeongsan-si, <addr-line>38541, Republic</addr-line> of Korea</aff>
<aff id="aff-3"><label>3</label><institution>Information Systems Department, College of Computer and Information Sciences, Imam Mohammad Ibn Saud Islamic University (IMSIU)</institution>, <addr-line>Riyadh, 11432</addr-line>, <country>Saudi Arabia</country></aff>
</contrib-group>
<author-notes>
<corresp id="cor1"><label>&#x002A;</label>Corresponding Author: Abdul Khader Jilani Saudagar. Email: <email>aksaudagar@imamu.edu.sa</email></corresp>
<fn id="afn1">
<p><sup>#</sup>These authors contributed equally to this work</p>
</fn>
</author-notes>
<pub-date date-type="collection" publication-format="electronic">
<year>2025</year>
</pub-date>
<pub-date date-type="pub" publication-format="electronic">
<day>26</day><month>11</month><year>2025</year>
</pub-date>
<volume>145</volume>
<issue>2</issue>
<fpage>2535</fpage>
<lpage>2550</lpage>
<history>
<date date-type="received">
<day>31</day>
<month>08</month>
<year>2025</year>
</date>
<date date-type="accepted">
<day>21</day>
<month>10</month>
<year>2025</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2025 The Authors.</copyright-statement>
<copyright-year>2025</copyright-year>
<copyright-holder>Published by Tech Science Press.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_CMES_72638.pdf"></self-uri>
<abstract>
<p>Accurate estimation of the Direction-of-Arrival (DoA) of incident plane waves is essential for modern wireless communication, radar, sonar, and localization systems. Precise DoA information enables adaptive beamforming, spatial filtering, and interference mitigation by steering antenna array beams toward desired sources while suppressing unwanted signals. Traditional one-dimensional Uniform Linear Arrays (ULAs) are limited to elevation angle estimation due to geometric constraints, typically within the range <inline-formula id="ieqn-1"><mml:math id="mml-ieqn-1"><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula>. To capture full spatial characteristics in environments with multipath and angular spread, joint estimation of both elevation and azimuth angles becomes necessary. However, existing 2D and 3D array geometries often entail increased hardware complexity and computational cost. This work proposes a novel and efficient framework for joint elevation and azimuth angle estimation using three spatially separated, parallel ULAs. The array configuration exploits spatial diversity and orthogonal projections to capture complete directional information with minimal structural overhead. A customized objective function based on the mean square error between measured and reconstructed array outputs is formulated to guide the estimation process. To solve the resulting non-convex optimization problem, three strategies are investigated: a global Genetic Algorithm (GA), a local Pattern Search (PS), and a hybrid GA-PS method that combines global exploration with local refinement. The proposed framework supports automatic pairing of elevation and azimuth angles, eliminating the need for manual post-processing. Extensive simulations validate the robustness, convergence, and accuracy of all three methods under varying signal-to-noise ratio conditions. Results confirm that the hybrid GA-PS approach achieves superior estimation performance and reduced computational complexity, making it well-suited for real-time and resource-constrained applications in next-generation sensing and communication systems.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>Antenna arrays</kwd>
<kwd>direction of arrival</kwd>
<kwd>genetic algorithm</kwd>
<kwd>pattern search</kwd>
</kwd-group>
<funding-group>
<award-group id="awg1">
<funding-source>Deanship of Scientific Research at Imam Mohammad Ibn Saud Islamic University</funding-source>
<award-id>IMSIU-DDRSP2504</award-id>
</award-group>
</funding-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>The sixth generation (6G) of wireless communication systems is expected to support transformative applications such as autonomous transportation, real-time holographic interaction, ubiquitous extended reality (XR), and intelligent sensing in smart factories. These use cases demand highly accurate beam steering, user localization, and spatial awareness, all of which are critically dependent on precise DoA estimation.</p>
<p>DoA refers to the angular position (azimuth and elevation) from which a signal is received at an antenna array. In conventional beamforming or spatial multiplexing systems, knowledge of DoA enables the base station or radar to focus energy in desired directions while suppressing interference. As communication systems evolve toward joint sensing and communication paradigms (6G-ISAC), accurate and fast DoA estimation becomes fundamental to achieving low-latency, high-reliability, and energy-efficient operation.</p>
<p>To highlight the ubiquitous deployment of DoA estimation in new technologies, <xref ref-type="fig" rid="fig-1">Fig. 1</xref> offers some notable application areas where precise angular estimation plays a key role. In autonomous vehicles, DoA enables Vehicle-to-Everything (V2X) communication by enabling dynamic beam following, thereby enhancing vehicular safety and low-latency connectivity. In unmanned aerial vehicle (UAV) communications, such as aerial relays and swarm coordination, DoA estimation facilitates optimal path planning, collision avoidance, and mutual interference reduction. Similarly, in cell-free multiple-input multiple-output (MIMO) systems, where multiple distributed antennas cooperate to serve users in dense urban environments, accurate DoA information is necessary for user-centric beamforming and coordinated access.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Emerging 6G use cases where DoA estimation is a key enabling technology, including V2X, UAV tracking, ISAC, XR localization, and smart factory control</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_72638-fig-1.tif"/>
</fig>
<p>In Metaverse and extended reality (XR) applications, DoA enables seamless user interaction through accurate indoor positioning and beam steering, enabling lag-free and immersive experiences. In 6G networks with Integrated Sensing and Communication (ISAC) capabilities, real-time DoA tracking offers integrated radar-communication features such as object detection and channel-aware communication. Finally, in factory automation environments, DoA estimation enhances robot hardware localization and autonomous control, especially in multipath-prone and adverse radio frequency conditions. These multiple applications collectively point to the pivotal position of adaptive and resilient DoA estimation in characterizing the future generation of smart and interconnected systems.</p>
<p>Despite the long-standing research on DoA estimation, several challenges remain unresolved, particularly for joint azimuth and elevation estimation using simple array structures. Most classical methods require complex array geometries or exhibit poor performance in low-SNR or coherent-source environments. Moreover, these methods often require manual pairing of azimuth and elevation angles, a task not feasible for real-time or large-scale deployments. The key contributions of this paper are as follows:
<list list-type="bullet">
<list-item>
<p>We propose a novel 2D DoA estimation framework employing three parallel ULAs to simultaneously estimate elevation and azimuth angles with enhanced spatial resolution.</p></list-item>
<list-item>
<p>A hybrid optimization strategy is developed by integrating GA for global search and PS for local refinement, enabling robust and efficient convergence even in complex search spaces.</p></list-item>
<list-item>
<p>The algorithm supports automatic angle pairing without requiring manual post-processing, thereby reducing algorithmic overhead and enhancing deployment practicality.</p></list-item>
<list-item>
<p>The proposed method demonstrates high estimation accuracy and robustness under low SNR and varying snapshot conditions, validated through extensive Monte Carlo simulations.</p></list-item>
<list-item>
<p>Comparative analysis with state-of-the-art DoA estimation techniques confirms the superiority of the proposed GA-PS hybrid approach in terms of angular resolution, convergence speed, and computational efficiency.</p></list-item>
</list></p>
<p>The remaining parts of this paper are organized in the following manner. <xref ref-type="sec" rid="s2">Section 2</xref> provides an extensive overview of state-of-the-art DoA estimation techniques, highlighting their limitations and advancements. <xref ref-type="sec" rid="s3">Section 3</xref> provides the system model, introducing the configuration and signal expression for the proposed three-parallel ULA structure. <xref ref-type="sec" rid="s4">Section 4</xref> provides the suggested hybrid optimization strategy. Simulation results and performance evaluation under various scenarios are reported in <xref ref-type="sec" rid="s5">Section 5</xref>. <xref ref-type="sec" rid="s6">Section 6</xref> concludes the paper, and finally, potential directions for future work are outlined.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Literature Review</title>
<p>Accurate estimation of the DoA of signals remains a cornerstone for advanced communication systems, particularly as the world transitions toward 6G networks characterized by high mobility, spatial multiplexing, and integrated sensing and communication (ISAC) capabilities. The growing diversity of wireless applications, from V2X and UAV communications to massive MIMO and industrial Internet of Things (IoT), has intensified the demand for robust and scalable DoA estimation frameworks. As a result, a significant body of research has emerged, spanning from classical signal processing techniques to modern hybrid metaheuristic methods and unconventional antenna configurations. This section surveys key developments across these areas to contextualize the contributions of the current study.</p>
<sec id="s2_1">
<label>2.1</label>
<title>Classical Methods and Their Limitations</title>
<p>Early research into DoA estimation has primarily focused on subspace-based techniques, such as MUSIC [<xref ref-type="bibr" rid="ref-1">1</xref>,<xref ref-type="bibr" rid="ref-2">2</xref>], and Maximum Likelihood (ML) estimators. These methods have formed the backbone of numerous applications due to their high angular resolution and ability to resolve multiple sources under ideal conditions. However, their performance degrades in low SNR, coherent source scenarios, and environments with limited snapshots [<xref ref-type="bibr" rid="ref-3">3</xref>,<xref ref-type="bibr" rid="ref-4">4</xref>]. While some extensions attempt to adapt these methods to non-uniform or planar arrays [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-6">6</xref>], the need for eigen-decomposition and manual angle pairing persists. For instance, Dong et al. proposed an automatic pairing scheme for L-shaped arrays using signal separation principles [<xref ref-type="bibr" rid="ref-7">7</xref>], whereas Wei et al. introduced pair-matching via covariance matrices [<xref ref-type="bibr" rid="ref-8">8</xref>] at the cost of higher complexity.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>Array Geometries for 2D-DoA Estimation</title>
<p>Beyond classical ULAs, researchers have explored complex array topologies to enable 2D angle estimation. Circular, spherical, and conformal arrays offer full azimuth-elevation coverage but require sophisticated calibration [<xref ref-type="bibr" rid="ref-5">5</xref>,<xref ref-type="bibr" rid="ref-9">9</xref>]. Notably, Wu et al. investigated sparse L-shaped arrays with convex optimization to improve resolution under structural constraints [<xref ref-type="bibr" rid="ref-10">10</xref>]. Zhang et al. developed a rank-reduction-based algorithm for three-parallel ULAs that inspired subsequent studies in hybrid estimation [<xref ref-type="bibr" rid="ref-11">11</xref>]. Stacked metasurfaces are another innovative direction. An et al. proposed a reconfigurable metasurface array for 2D estimation in intelligent communication environments [<xref ref-type="bibr" rid="ref-12">12</xref>], while Cho et al. validated automotive radar configurations that exploit conformal array properties [<xref ref-type="bibr" rid="ref-13">13</xref>]. Although these architectures improve angular resolution and multi-target handling, they increase hardware and deployment complexity.</p>
</sec>
<sec id="s2_3">
<label>2.3</label>
<title>Metaheuristic and Hybrid Optimization Algorithms</title>
<p>Metaheuristic algorithms are well-suited for DoA estimation due to their ability to handle non-convex, high-dimensional search spaces. GA is widely used, offering flexible encoding and global exploration capabilities [<xref ref-type="bibr" rid="ref-14">14</xref>,<xref ref-type="bibr" rid="ref-15">15</xref>]. Their use in signal processing is growing rapidly, especially in radar and sensor array applications [<xref ref-type="bibr" rid="ref-16">16</xref>]. Other algorithms include Particle Swarm Optimization (PSO) [<xref ref-type="bibr" rid="ref-17">17</xref>], Artificial Bee Colony (ABC) [<xref ref-type="bibr" rid="ref-18">18</xref>], and Cultural Algorithms [<xref ref-type="bibr" rid="ref-19">19</xref>], each with varying convergence characteristics. Pattern Search (PS), while less popular in signal processing, offers fast local convergence and is effective in derivative-free contexts [<xref ref-type="bibr" rid="ref-20">20</xref>,<xref ref-type="bibr" rid="ref-21">21</xref>]. Hybrid frameworks combining GA with local search have demonstrated excellent trade-offs between accuracy and convergence speed [<xref ref-type="bibr" rid="ref-22">22</xref>&#x2013;<xref ref-type="bibr" rid="ref-24">24</xref>]. Zaman et al. employed a 2-L-shaped array optimized by a hybrid GA for joint amplitude and 2D DoA estimation [<xref ref-type="bibr" rid="ref-25">25</xref>], which reduces manual pairing efforts. Komeylian also examined hybrid antenna designs for DoA estimation using evolutionary search [<xref ref-type="bibr" rid="ref-26">26</xref>].</p>
</sec>
<sec id="s2_4">
<label>2.4</label>
<title>Emerging 6G Use Cases and Requirements</title>
<p>DoA estimation now underpins multiple 6G-oriented applications. In V2X, beam-switching based on DoA improves safety and reduces latency during handovers [<xref ref-type="bibr" rid="ref-27">27</xref>]. UAV swarms benefit from distributed DoA systems for target tracking and avoidance [<xref ref-type="bibr" rid="ref-28">28</xref>]. Liu et al. surveyed ISAC systems where DoA plays a role in simultaneous localization and communication [<xref ref-type="bibr" rid="ref-29">29</xref>], and Batalla et al. demonstrated its use in industrial localization under harsh environments [<xref ref-type="bibr" rid="ref-30">30</xref>]. These use cases highlight the demand for scalable and deployable DoA algorithms with minimal hardware overhead and real-time operability. <xref ref-type="table" rid="table-1">Table 1</xref> provides a structured comparison of representative 2D DoA estimation approaches, highlighting the diversity in array geometries, estimation methodologies, optimization strategies, and application domains.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Comparison of existing 2D DoA estimation techniques</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Array structure</th>
<th>Estimation method</th>
<th>Optimization strategy</th>
<th align="center">Angle pairing</th>
<th>Use case domain</th>
</tr>
</thead>
<tbody>
<tr>
<td>L-shaped array</td>
<td>MUSIC &#x002B; Pair matching [<xref ref-type="bibr" rid="ref-8">8</xref>]</td>
<td>Analytical</td>
<td>Manual</td>
<td>Radar, IoT</td>
</tr>
<tr>
<td>Stacked Metasurface</td>
<td>Compressed sensing [<xref ref-type="bibr" rid="ref-12">12</xref>]</td>
<td>Learning-based</td>
<td>Auto</td>
<td>ISAC, XR</td>
</tr>
<tr>
<td>Coprime array</td>
<td>Target optimization [<xref ref-type="bibr" rid="ref-31">31</xref>]</td>
<td>GA, heuristic</td>
<td>Auto</td>
<td>Monostatic radar</td>
</tr>
<tr>
<td>Circular array</td>
<td>Single snapshot MUSIC [<xref ref-type="bibr" rid="ref-5">5</xref>]</td>
<td>Subspace</td>
<td>N/A</td>
<td>Wireless tracking</td>
</tr>
<tr>
<td>Rank-reduction 3-ULA</td>
<td>Matrix decomposition [<xref ref-type="bibr" rid="ref-11">11</xref>]</td>
<td>Eigen-based</td>
<td>Manual</td>
<td>Beamforming</td>
</tr>
<tr>
<td>L-shaped sparse</td>
<td>Convex optimization [<xref ref-type="bibr" rid="ref-10">10</xref>]</td>
<td>Convex relax</td>
<td>Auto</td>
<td>2D localization</td>
</tr>
<tr>
<td>Hybrid Antenna Array</td>
<td>Weighted search [<xref ref-type="bibr" rid="ref-26">26</xref>]</td>
<td>Hybrid</td>
<td>Auto</td>
<td>Antenna design</td>
</tr>
<tr>
<td>2-L arrays &#x002B; GA</td>
<td>Hybrid MSE estimation [<xref ref-type="bibr" rid="ref-25">25</xref>]</td>
<td>GA</td>
<td>Auto</td>
<td>Military radar</td>
</tr>
<tr>
<td>Triple-ULA (proposed)</td>
<td>MSE function &#x002B; GA-PS</td>
<td>Hybrid GA-PS</td>
<td>Auto</td>
<td>6G, ISAC, V2X</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Although considerable progress has been made in 2D DoA estimation through advanced geometries and optimization algorithms, a persistent challenge lies in balancing structural simplicity, computational efficiency, and angle pairing robustness. Most subspace-based and grid search methods require either large array apertures or post-estimation correction steps. Meanwhile, many metaheuristic solutions, while powerful, are constrained by slow convergence or application-specific tuning. Moreover, few works combine the benefits of both global and local search in a way that generalizes across platforms. In this context, the present work introduces a triple-parallel ULA architecture that leverages the geometric simplicity of linear arrays while enabling joint azimuth-elevation estimation. By fusing Genetic Algorithm and Pattern Search, we aim to create an adaptive, low-complexity solution capable of auto-pairing and robust estimation under practical 6G conditions such as low SNR and fast-changing environments.</p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>System Model for Three Parallel Uniform Linear Arrays</title>
<p>This section outlines the signal model for the proposed three-parallel ULA configuration. We consider a passive monostatic phased-array radar system in which the receiver employs three Uniform Linear Arrays (ULAs) that are spatially separated but mutually parallel. Each ULA lies along a different spatial orientation&#x2014;aligned with the <italic>Y</italic>-axis, the <inline-formula id="ieqn-2"><mml:math id="mml-ieqn-2"><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:math></inline-formula> plane, and the <inline-formula id="ieqn-3"><mml:math id="mml-ieqn-3"><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:math></inline-formula> plane, respectively&#x2014;to capture the directional diversity of incoming plane waves. The geometric structure is illustrated in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Generic diagram for 3-parallel ULA configuration</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_72638-fig-2.tif"/>
</fig>
<p>Let us assume that <italic>I</italic> narrowband, far-field sources impinge upon the array with elevation angles <inline-formula id="ieqn-4"><mml:math id="mml-ieqn-4"><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> and azimuth angles <inline-formula id="ieqn-5"><mml:math id="mml-ieqn-5"><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> for <inline-formula id="ieqn-6"><mml:math id="mml-ieqn-6"><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>I</mml:mi></mml:math></inline-formula>. The signals are mutually uncorrelated and mixed with additive white Gaussian noise (AWGN), which is spatially and temporally uncorrelated with the sources and modeled as a zero-mean, unit-variance complex Gaussian process. The wavelength of the signal is denoted by <inline-formula id="ieqn-7"><mml:math id="mml-ieqn-7"><mml:mi>&#x03BB;</mml:mi></mml:math></inline-formula>, and the spacing between adjacent sensors in each ULA is fixed at <inline-formula id="ieqn-8"><mml:math id="mml-ieqn-8"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:math></inline-formula> to prevent spatial aliasing.</p>
<p>Each ULA contains a different number of elements for symmetry and angular resolution: the array along the <italic>Y</italic>-axis has <inline-formula id="ieqn-9"><mml:math id="mml-ieqn-9"><mml:mo stretchy="false">(</mml:mo><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> sensors, while the arrays in the <inline-formula id="ieqn-10"><mml:math id="mml-ieqn-10"><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:math></inline-formula> and <inline-formula id="ieqn-11"><mml:math id="mml-ieqn-11"><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:math></inline-formula> planes have <italic>M</italic> sensors each. This asymmetry aids in simplifying the mathematical formulation while maintaining spatial diversity.</p>
<sec id="s3_1">
<label>3.1</label>
<title>ULA along the Y-Axis</title>
<p>The response at the <inline-formula id="ieqn-12"><mml:math id="mml-ieqn-12"><mml:msup><mml:mi>m</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> element (<inline-formula id="ieqn-13"><mml:math id="mml-ieqn-13"><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:math></inline-formula>) of the ULA aligned along the <italic>Y</italic>-axis is given by
<disp-formula id="eqn-1"><label>(1)</label><mml:math id="mml-eqn-1" display="block"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></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 movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>k</mml:mi><mml:mi>d</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-14"><mml:math id="mml-ieqn-14"><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents the complex baseband signal waveform of the <inline-formula id="ieqn-15"><mml:math id="mml-ieqn-15"><mml:mi>i</mml:mi></mml:math></inline-formula>-th far-field source impinging on the array, and <inline-formula id="ieqn-16"><mml:math id="mml-ieqn-16"><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> denotes the additive white Gaussian noise (AWGN) at the <inline-formula id="ieqn-17"><mml:math id="mml-ieqn-17"><mml:mi>m</mml:mi></mml:math></inline-formula>-th sensor element of the <italic>Y</italic>-axis ULA, modeled as a zero-mean complex Gaussian process with variance <inline-formula id="ieqn-18"><mml:math id="mml-ieqn-18"><mml:msubsup><mml:mi>&#x03C3;</mml:mi><mml:mi>n</mml:mi><mml:mn>2</mml:mn></mml:msubsup></mml:math></inline-formula>. Substituting <inline-formula id="ieqn-19"><mml:math id="mml-ieqn-19"><mml:mi>k</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mrow><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi></mml:mrow><mml:mi>&#x03BB;</mml:mi></mml:mfrac></mml:math></inline-formula> and <inline-formula id="ieqn-20"><mml:math id="mml-ieqn-20"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mi>&#x03BB;</mml:mi><mml:mn>2</mml:mn></mml:mfrac></mml:math></inline-formula>, the equation simplifies to
<disp-formula id="eqn-2"><label>(2)</label><mml:math id="mml-eqn-2" display="block"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></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 movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Define the intermediate phase parameter <inline-formula id="ieqn-21"><mml:math id="mml-ieqn-21"><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>. Then the received signal vector for the <italic>Y</italic>-axis array becomes
<disp-formula id="eqn-3"><label>(3)</label><mml:math id="mml-eqn-3" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mrow><mml:mi>y</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:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:mn>1</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mn>2</mml:mn><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mn>2</mml:mn><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mn>2</mml:mn><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22F1;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>M</mml:mi><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>M</mml:mi><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>M</mml:mi><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>s</mml:mi><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:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>s</mml:mi><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:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>s</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p><xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref> can be compactly represented as
<disp-formula id="eqn-4"><label>(4)</label><mml:math id="mml-eqn-4" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mrow><mml:mi>y</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:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:mrow><mml:mi>y</mml:mi></mml:msub><mml:mrow><mml:mpadded width="0"><mml:mi>s</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>n</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mrow><mml:mi>y</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:math></disp-formula>where <inline-formula id="ieqn-22"><mml:math id="mml-ieqn-22"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:mrow><mml:mi>y</mml:mi></mml:msub><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">C</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> is the array manifold matrix, <inline-formula id="ieqn-23"><mml:math id="mml-ieqn-23"><mml:mrow><mml:mpadded width="0"><mml:mi>s</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">C</mml:mi></mml:mrow><mml:mrow><mml:mi>I</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula> is the source signal vector, and <inline-formula id="ieqn-24"><mml:math id="mml-ieqn-24"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>n</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mrow><mml:mi>y</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> is the AWGN vector.</p>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>ULA along the xy Plane</title>
<p>The ULA in the <inline-formula id="ieqn-25"><mml:math id="mml-ieqn-25"><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:math></inline-formula> plane is designed to capture an angular combination that projects both the X and Y components of azimuth. The <inline-formula id="ieqn-26"><mml:math id="mml-ieqn-26"><mml:mi>m</mml:mi></mml:math></inline-formula>-th sensor response is given by
<disp-formula id="eqn-5"><label>(5)</label><mml:math id="mml-eqn-5" display="block"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></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 movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mi>m</mml:mi><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>Define <inline-formula id="ieqn-27"><mml:math id="mml-ieqn-27"><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, so that we can rewrite the response in matrix form as
<disp-formula id="eqn-6"><label>(6)</label><mml:math id="mml-eqn-6" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable columnalign="center center center" rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22F1;</mml:mo></mml:mtd><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>M</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd><mml:mtd><mml:mo>&#x22EF;</mml:mo></mml:mtd><mml:mtd><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>M</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03C8;</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>s</mml:mi><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:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>s</mml:mi><mml:mi>I</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow></mml:math></disp-formula></p>
<p><xref ref-type="disp-formula" rid="eqn-6">Eq. (6)</xref> can be concisely expressed as
<disp-formula id="eqn-7"><label>(7)</label><mml:math id="mml-eqn-7" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></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:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>f</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mpadded width="0"><mml:mi>s</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>n</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-28"><mml:math id="mml-ieqn-28"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>f</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>M</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:msub><mml:mi>&#x03B7;</mml:mi><mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo>)</mml:mo></mml:mrow></mml:math></inline-formula> encodes the azimuthal influence specific to the <inline-formula id="ieqn-29"><mml:math id="mml-ieqn-29"><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:math></inline-formula> plane.</p>
</sec>
<sec id="s3_3">
<label>3.3</label>
<title>ULA along the yz Plane</title>
<p>The array in the <inline-formula id="ieqn-30"><mml:math id="mml-ieqn-30"><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:math></inline-formula> plane further enables spatial separation by leveraging the elevation dependency via the <italic>Z</italic>-axis. The received signal at the <inline-formula id="ieqn-31"><mml:math id="mml-ieqn-31"><mml:mi>m</mml:mi></mml:math></inline-formula>-th sensor is:
<disp-formula id="eqn-8"><label>(8)</label><mml:math id="mml-eqn-8" display="block"><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></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 movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:munderover><mml:msub><mml:mi>s</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>+</mml:mo><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup><mml:mo>+</mml:mo><mml:msub><mml:mi>n</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>Defining <inline-formula id="ieqn-32"><mml:math id="mml-ieqn-32"><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub></mml:math></inline-formula>, we express the vectorized model as:
<disp-formula id="eqn-9"><label>(9)</label><mml:math id="mml-eqn-9" display="block"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mo>&#x22EE;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>M</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>f</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mrow><mml:mpadded width="0"><mml:mi>s</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>n</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>Here, <inline-formula id="ieqn-33"><mml:math id="mml-ieqn-33"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub></mml:math></inline-formula> is defined similarly to the previous arrays, and <inline-formula id="ieqn-34"><mml:math id="mml-ieqn-34"><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>f</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mi mathvariant="normal">d</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">g</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>m</mml:mi><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow></mml:msup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>m</mml:mi><mml:msub><mml:mi>&#x03BE;</mml:mi><mml:mi>I</mml:mi></mml:msub></mml:mrow></mml:msup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> represents elevation-phase terms modulated along Z.</p>
</sec>
<sec id="s3_4">
<label>3.4</label>
<title>Composite Signal Model</title>
<p>The full observation model for the three-parallel ULA system is
<disp-formula id="eqn-10"><label>(10)</label><mml:math id="mml-eqn-10" display="block"><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mrow><mml:mi>y</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:mrow><mml:mi>y</mml:mi></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>f</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>f</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>f</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>s</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:mtable rowspacing="4pt" columnspacing="1em"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>n</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mrow><mml:mi>y</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>n</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>n</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mtd></mml:mtr></mml:mtable><mml:mo>]</mml:mo></mml:mrow><mml:mo>=</mml:mo><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mrow><mml:mpadded width="0"><mml:mi>s</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>+</mml:mo><mml:mrow><mml:mpadded width="0"><mml:mi>n</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>n</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></disp-formula></p>
<p>The matrix <inline-formula id="ieqn-35"><mml:math id="mml-ieqn-35"><mml:mrow><mml:mpadded width="0"><mml:mi>B</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>B</mml:mi></mml:mrow><mml:mo>&#x2208;</mml:mo><mml:msup><mml:mrow><mml:mi mathvariant="double-struck">C</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mn>3</mml:mn><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x00D7;</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> acts as the global array manifold for the entire system. The aim is to recover the set of unknown parameters <inline-formula id="ieqn-36"><mml:math id="mml-ieqn-36"><mml:mo fence="false" stretchy="false">{</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">)</mml:mo><mml:msubsup><mml:mo fence="false" stretchy="false">}</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>I</mml:mi></mml:mrow></mml:msubsup></mml:math></inline-formula> from the observation vector <inline-formula id="ieqn-37"><mml:math id="mml-ieqn-37"><mml:mrow><mml:mpadded width="0"><mml:mi>y</mml:mi></mml:mpadded></mml:mrow><mml:mspace width="1px" /><mml:mrow><mml:mi>y</mml:mi></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula>, enabling joint estimation of both elevation and azimuth angles. This geometry facilitates full-angle coverage without resorting to more complex 2D or 3D arrays, thereby reducing hardware cost while maintaining spatial resolution.</p>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Proposed Methodology</title>
<p>This section presents the proposed optimization framework for joint elevation and azimuth angle estimation using the three-parallel ULA configuration. The estimation process is formulated as a nonlinear optimization problem, where the objective is to minimize the error between the measured and estimated array outputs. We explore three optimization strategies: Genetic Algorithm (GA), Pattern Search (PS), and a hybrid GA-PS approach. The individual components, algorithmic flowcharts, and pseudo-code for each method are discussed in detail.</p>
<sec id="s4_1">
<label>4.1</label>
<title>Overview</title>
<p><xref ref-type="fig" rid="fig-3">Fig. 3</xref> illustrates the general workflow of the Genetic Algorithm, which performs global exploration across the solution space. Its output is then refined through PS, as depicted in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, enabling localized convergence to precise angle estimates. The hybrid GA-PS algorithm leverages both the exploratory strength of GA and the exploitation ability of PS to effectively avoid local minima and accelerate convergence.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Generic flow diagram for genetic algorithm</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_72638-fig-3.tif"/>
</fig><fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Generic flow diagram of pattern search</title>
</caption>
<graphic mimetype="image" mime-subtype="tif" xlink:href="CMES_72638-fig-4.tif"/>
</fig>
</sec>
<sec id="s4_2">
<label>4.2</label>
<title>Genetic Algorithm (GA)</title>
<p>The Genetic Algorithm is a metaheuristic optimization technique inspired by Darwinian evolution and natural selection. Originally introduced by J. H. Holland, GA simulates the biological processes of reproduction, mutation, and survival of the fittest to evolve solutions toward optimality over multiple generations.</p>
<p>In the context of DoA estimation, each candidate solution (chromosome) encodes a possible set of elevation and azimuth angles. The GA iteratively refines this population by evaluating their fitness against a defined cost function. The standard procedure for GA is summarized in the pseudo-code below, with the corresponding flowchart shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>.</p>
<p><italic>Step I: Chromosome Initialization</italic></p>
<p>The algorithm begins by randomly generating a population of <italic>S</italic> chromosomes. Each chromosome is a vector of length <inline-formula id="ieqn-38"><mml:math id="mml-ieqn-38"><mml:mn>2</mml:mn><mml:mi>I</mml:mi></mml:math></inline-formula>, where <italic>I</italic> is the number of sources. The first <italic>I</italic> genes represent elevation angle estimates, and the next <italic>I</italic> genes represent azimuth angle estimates
<disp-formula id="eqn-11"><label>(11)</label><mml:math id="mml-eqn-11" display="block"><mml:msub><mml:mrow><mml:mtext mathvariant="bold">s</mml:mtext></mml:mrow><mml:mi>s</mml:mi></mml:msub><mml:mo>=</mml:mo><mml:mrow><mml:mo>[</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03D5;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03D5;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mi>I</mml:mi></mml:mrow></mml:msub><mml:mo>]</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>S</mml:mi><mml:mo>,</mml:mo></mml:math></disp-formula>where <inline-formula id="ieqn-39"><mml:math id="mml-ieqn-39"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mi>&#x03C0;</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> and <inline-formula id="ieqn-40"><mml:math id="mml-ieqn-40"><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03D5;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>&#x2208;</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">]</mml:mo></mml:math></inline-formula> for all <inline-formula id="ieqn-41"><mml:math id="mml-ieqn-41"><mml:mi>s</mml:mi></mml:math></inline-formula>. These represent the search bounds for the two-dimensional DoA estimation problem.</p>
<p><italic>Step II: Objective (Cost) Function Formulation</italic></p>
<p>The fitness of each chromosome is evaluated using a cost function (CF), which quantifies the system-wide mean squared error (MSE) between the observed outputs and the reconstructed array outputs based on the candidate angles. Mathematically, the cost function is
<disp-formula id="eqn-12"><label>(12)</label><mml:math id="mml-eqn-12" display="block"><mml:mi>C</mml:mi><mml:mi>F</mml:mi><mml:mo>=</mml:mo><mml:msqrt><mml:mrow><mml:mi mathvariant="double-struck">E</mml:mi></mml:mrow><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mrow><mml:mtext>measured</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:mo>&#x2212;</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mrow><mml:mtext>estimated</mml:mtext></mml:mrow></mml:mrow></mml:msub><mml:msup><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>]</mml:mo></mml:mrow></mml:msqrt><mml:mo>.</mml:mo></mml:math></disp-formula></p>
<p>We define the normalized form of the objective function for all three arrays
<disp-formula id="eqn-13"><label>(13)</label><mml:math id="mml-eqn-13" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd><mml:mi>C</mml:mi><mml:mi>F</mml:mi></mml:mtd><mml:mtd><mml:mi></mml:mi><mml:mo>=</mml:mo><mml:mfrac><mml:mn>1</mml:mn><mml:mrow><mml:mn>3</mml:mn><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:mfrac><mml:mo>&#x22C5;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.470em" minsize="2.470em">[</mml:mo></mml:mrow></mml:mstyle><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi><mml:mo>+</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munderover><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:munderover><mml:msup><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:munderover><mml:msup><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd /><mml:mtd><mml:mo>+</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>M</mml:mi></mml:mrow></mml:munderover><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>s</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mi>S</mml:mi></mml:mrow></mml:munderover><mml:msup><mml:mrow><mml:mo>|</mml:mo><mml:msub><mml:mi>y</mml:mi><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x2212;</mml:mo><mml:msubsup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo>|</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msup><mml:mstyle scriptlevel="0"><mml:mrow><mml:mo maxsize="2.470em" minsize="2.470em">]</mml:mo></mml:mrow></mml:mstyle><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>where <inline-formula id="ieqn-42"><mml:math id="mml-ieqn-42"><mml:mi>&#x03B2;</mml:mi></mml:math></inline-formula> is a scaling constant, and <inline-formula id="ieqn-43"><mml:math id="mml-ieqn-43"><mml:msubsup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mo>&#x22C5;</mml:mo></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula> denotes the reconstructed output for the <inline-formula id="ieqn-44"><mml:math id="mml-ieqn-44"><mml:msup><mml:mi>s</mml:mi><mml:mrow><mml:mi>t</mml:mi><mml:mi>h</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> chromosome. Each reconstructed output is computed as
<disp-formula id="eqn-14"><label>(14)</label><mml:math id="mml-eqn-14" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msubsup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><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 movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>I</mml:mi></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>m</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03D5;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub></mml:mrow></mml:msup><mml:mo>,</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>
<disp-formula id="eqn-15"><label>(15)</label><mml:math id="mml-eqn-15" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msubsup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>x</mml:mi><mml:mi>y</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><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 movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>I</mml:mi></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mi>m</mml:mi><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03D5;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03D5;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula>and
<disp-formula id="eqn-16"><label>(16)</label><mml:math id="mml-eqn-16" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>y</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>y</mml:mi><mml:mi>z</mml:mi><mml:mo>,</mml:mo><mml:mi>m</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>s</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><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 movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>=</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>I</mml:mi></mml:munderover><mml:msub><mml:mi>a</mml:mi><mml:mi>i</mml:mi></mml:msub><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:msup><mml:mi>e</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>j</mml:mi><mml:mi>&#x03C0;</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>sin</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03D5;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>I</mml:mi><mml:mo>+</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo>+</mml:mo><mml:mi>cos</mml:mi><mml:mo>&#x2061;</mml:mo><mml:msub><mml:mrow><mml:mover><mml:mi>&#x03B8;</mml:mi><mml:mo stretchy="false">&#x005E;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mi>s</mml:mi><mml:mo>,</mml:mo><mml:mi>i</mml:mi></mml:mrow></mml:msub><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msup></mml:math></disp-formula></p>
<p><italic>Step III: Termination Criteria</italic></p>
<p>The GA process continues until the cost function value falls below a pre-defined threshold or the maximum number of generations is reached.</p>
<p><italic>Step IV: Parent Selection</italic></p>
<p>From the current generation, chromosomes with higher fitness values are selected to become parents for reproduction. Techniques such as stochastic universal sampling, tournament selection, or roulette wheel selection can be employed based on fitness proportion.</p>
<p><italic>Step V: Reproduction via Crossover and Mutation</italic></p>
<p>New offspring are generated by applying genetic operators, where crossover combines genes from two parents to produce new chromosomes, and mutation randomly alters gene values to introduce diversity. These operators enable the algorithm to explore a wide search space and prevent premature convergence.</p>
<p><italic>Step VI: Offspring Selection and Generation Update</italic></p>
<p>From the new generation, the fittest chromosomes are retained, and the rest are replaced. Methods such as elitism (retaining best chromosomes) and survival-of-the-fittest strategies ensure continuous improvement across generations.</p>
</sec>
<sec id="s4_3">
<label>4.3</label>
<title>Pattern Search (PS)</title>
<p>Pattern Search is a deterministic, derivative-free local optimizer well-suited for refining candidate solutions. It systematically explores the search space by evaluating a set of candidate points around the current best solution using a mesh-based strategy.</p>
<p>At each iteration, PS generates a mesh around the current solution. If a better point is found, the mesh is expanded. If not, the mesh is contracted. The process repeats until convergence criteria are satisfied. Key features of PS include the fact that it does not require gradient information, uses polling directions and mesh refinements, and is effective for fine-tuning in non-smooth landscapes.</p>
</sec>
<sec id="s4_4">
<label>4.4</label>
<title>Hybrid GA-PS Approach</title>
<p>To overcome the limitations of standalone methods, we adopt a hybrid GA-PS approach. The GA first performs global exploration to identify promising candidate solutions. The best solution from GA is then refined using PS, leading to improved accuracy and faster convergence.</p>
<p>This hybrid strategy is especially beneficial for high-dimensional, non-convex optimization problems like 2D DoA estimation, where multiple local minima may exist. The combination ensures both exploration and exploitation, which is critical in noisy, underdetermined, or snapshot-limited environments.</p>
</sec>
<sec id="s4_5">
<label>4.5</label>
<title>Implementation and Parameter Settings</title>
<p>All algorithms were implemented using MATLAB&#x2019;s optimization toolbox. <xref ref-type="table" rid="table-2">Table 2</xref> summarizes the parameter configurations for GA and PS. In this section, we proposed a robust hybrid optimization strategy that combines the strengths of global and local search methods for accurate and efficient estimation of elevation and azimuth angles in 3-ULA systems. The GA ensures global exploration, while PS improves convergence in the neighborhood of optimal solutions. Together, they form a scalable, reliable framework suitable for real-time and resource-constrained 6G applications.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Parameter settings for GA and PS</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th colspan="2">Genetic algorithm (GA)</th>
<th colspan="2">Pattern search (PS)</th>
</tr>
</thead>
<tbody>
<tr>
<td>Population size</td>
<td>600</td>
<td>Initial point</td>
<td>Best result from GA</td>
</tr>
<tr>
<td>Generations</td>
<td>2000</td>
<td>Polling</td>
<td>Consecutive</td>
</tr>
<tr>
<td>Scaling function</td>
<td>Rank</td>
<td>Iterations</td>
<td>3000</td>
</tr>
<tr>
<td>Selection function</td>
<td>Stochastic</td>
<td>Mesh size</td>
<td>0.3</td>
</tr>
<tr>
<td>Mutation function</td>
<td>Adaptive feasible</td>
<td>Penalty factor</td>
<td>200</td>
</tr>
<tr>
<td>Migration direction</td>
<td>Both</td>
<td>X tolerance</td>
<td><inline-formula id="ieqn-45"><mml:math id="mml-ieqn-45"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
</tr>
<tr>
<td>Crossover function</td>
<td>Heuristic</td>
<td>Mesh tolerance</td>
<td><inline-formula id="ieqn-46"><mml:math id="mml-ieqn-46"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>10</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
</tr>
<tr>
<td>Crossover fraction</td>
<td>0.2</td>
<td>Expansion factor</td>
<td>3</td>
</tr>
<tr>
<td>Hybrid function</td>
<td>PS</td>
<td>Contraction factor</td>
<td>0.7</td>
</tr>
<tr>
<td>Function tolerance</td>
<td>0</td>
<td>Polling method</td>
<td>Positive basis</td>
</tr>
<tr>
<td>Constraints</td>
<td>None</td>
<td>Bound tolerance</td>
<td><inline-formula id="ieqn-47"><mml:math id="mml-ieqn-47"><mml:msup><mml:mn>10</mml:mn><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>8</mml:mn></mml:mrow></mml:msup></mml:math></inline-formula></td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
</sec>
<sec id="s5">
<label>5</label>
<title>Results and Discussion</title>
<p>This section presents the simulation results for the proposed optimization schemes: GA, PS, and hybrid GA-PS, for estimating the elevation and azimuth angles of multiple incident plane waves. The performance of each algorithm is evaluated under various conditions, including changes in the number of sources and SNR.</p>
<p>The spacing between adjacent elements in each ULA is set to <inline-formula id="ieqn-48"><mml:math id="mml-ieqn-48"><mml:mi>d</mml:mi><mml:mo>=</mml:mo><mml:mi>&#x03BB;</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:math></inline-formula> to avoid spatial aliasing. The number of array elements is based on the variable <italic>M</italic>, which is chosen as twice the number of sources. For all experiments, the population size in GA is set to 600 chromosomes, and angular values are expressed in degrees.</p>
<p><bold><italic>Case 1: Two Signal Sources at SNR &#x003D; 15 dB</italic></bold></p>
<p>In this scenario, two narrowband sources impinge on the 3-parallel ULA system. The true direction-of-arrival angles are set to
<disp-formula id="ueqn-17"><mml:math id="mml-ueqn-17" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn>40</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>&#x03B8;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn>70</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mn>1</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn>90</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:msub><mml:mi>&#x03D5;</mml:mi><mml:mn>2</mml:mn></mml:msub><mml:mo>=</mml:mo><mml:msup><mml:mn>120</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p><xref ref-type="table" rid="table-3">Table 3</xref> presents the estimated angles using each algorithm. The hybrid GA-PS approach achieves the closest estimates to the ground truth, followed by GA. PS shows larger deviations, especially in estimating elevation angles. The results confirm the effectiveness of GA in global exploration, and demonstrate that the local refinement by PS improves precision further.</p>
<table-wrap id="table-3">
<label>Table 3</label>
<caption>
<title>DOA estimation accuracy for 2 sources (SNR &#x003D; 15 dB)</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Scheme</th>
<th><inline-formula id="ieqn-49"><mml:math id="mml-ieqn-49"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-50"><mml:math id="mml-ieqn-50"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-51"><mml:math id="mml-ieqn-51"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-52"><mml:math id="mml-ieqn-52"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
</tr>
</thead>
<tbody>
<tr>
<td><bold>Desired</bold></td>
<td>40.0000</td>
<td>70.0000</td>
<td>90.0000</td>
<td>120.0000</td>
</tr>
<tr>
<td><bold>GA</bold></td>
<td>40.2521</td>
<td>70.4321</td>
<td>89.1343</td>
<td>120.3367</td>
</tr>
<tr>
<td><bold>GA-PS</bold></td>
<td><bold>40.0072</bold></td>
<td><bold>70.0014</bold></td>
<td><bold>89.8977</bold></td>
<td><bold>120.0271</bold></td>
</tr>
<tr>
<td><bold>PS</bold></td>
<td>40.9012</td>
<td>70.0102</td>
<td>89.9861</td>
<td>120.9966</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><bold><italic>Case 2: Three Sources with Increased Angular Diversity</italic></bold></p>
<p>This experiment evaluates algorithm robustness with three signal sources. The desired elevation and azimuth angles are as follows:
<disp-formula id="ueqn-18"><mml:math id="mml-ueqn-18" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x03B8;</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mn>60</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>80</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>40</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>&#x03D5;</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mn>150</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>110</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>50</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo stretchy="false">]</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The results in <xref ref-type="table" rid="table-4">Table 4</xref> show that although estimation errors increase slightly due to the growing search space, the GA-PS method remains consistently accurate. GA performs well, but PS suffers noticeably in both azimuth and elevation estimation due to local trapping.</p>
<table-wrap id="table-4">
<label>Table 4</label>
<caption>
<title>DOA estimation accuracy for 3 sources</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Scheme</th>
<th><inline-formula id="ieqn-53"><mml:math id="mml-ieqn-53"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-54"><mml:math id="mml-ieqn-54"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-55"><mml:math id="mml-ieqn-55"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>3</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-56"><mml:math id="mml-ieqn-56"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-57"><mml:math id="mml-ieqn-57"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-58"><mml:math id="mml-ieqn-58"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>3</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
</tr>
</thead>
<tbody>
<tr>
<td><bold>Desired</bold></td>
<td>60</td>
<td>80</td>
<td>40</td>
<td>150</td>
<td>110</td>
<td>50</td>
</tr>
<tr>
<td><bold>GA</bold></td>
<td>61.5721</td>
<td>81.8718</td>
<td>41.7359</td>
<td>151.4533</td>
<td>111.5219</td>
<td>51.5001</td>
</tr>
<tr>
<td><bold>GA-PS</bold></td>
<td><bold>60.4891</bold></td>
<td><bold>80.5914</bold></td>
<td><bold>40.4982</bold></td>
<td><bold>150.4915</bold></td>
<td><bold>110.3899</bold></td>
<td><bold>50.5282</bold></td>
</tr>
<tr>
<td><bold>PS</bold></td>
<td>62.0298</td>
<td>82.0589</td>
<td>42.1267</td>
<td>152.1258</td>
<td>112.1547</td>
<td>52.1207</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><bold><italic>Case 3: Four Sources: High Complexity Scenario</italic></bold></p>
<p>As the number of sources increases to four, the search space becomes more complex and high-dimensional. The desired directions are
<disp-formula id="ueqn-19"><mml:math id="mml-ueqn-19" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x03B8;</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mn>75</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>35</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>55</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>80</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>&#x03D5;</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mn>210</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>105</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>95</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:msup><mml:mn>160</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p><xref ref-type="table" rid="table-5">Table 5</xref> illustrates a drop in accuracy across all algorithms due to the larger number of parameters. The hybrid GA-PS method still produces the most accurate estimates, demonstrating the benefit of combining global and local search. GA retains moderate accuracy, while PS is visibly affected by convergence limitations.</p>
<table-wrap id="table-5">
<label>Table 5</label>
<caption>
<title>DOA estimation accuracy for 4 sources</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Scheme</th>
<th><inline-formula id="ieqn-59"><mml:math id="mml-ieqn-59"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-60"><mml:math id="mml-ieqn-60"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-61"><mml:math id="mml-ieqn-61"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>3</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-62"><mml:math id="mml-ieqn-62"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>4</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-63"><mml:math id="mml-ieqn-63"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-64"><mml:math id="mml-ieqn-64"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-65"><mml:math id="mml-ieqn-65"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>3</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-66"><mml:math id="mml-ieqn-66"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>4</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
</tr>
</thead>
<tbody>
<tr>
<td><bold>Desired</bold></td>
<td>75</td>
<td>35</td>
<td>55</td>
<td>80</td>
<td>210</td>
<td>105</td>
<td>95</td>
<td>160</td>
</tr>
<tr>
<td><bold>GA</bold></td>
<td>77.3145</td>
<td>37.6698</td>
<td>57.3334</td>
<td>82.2560</td>
<td>212.2387</td>
<td>107.1256</td>
<td>97.2326</td>
<td>162.2201</td>
</tr>
<tr>
<td><bold>GA-PS</bold></td>
<td><bold>75.5565</bold></td>
<td><bold>35.5337</bold></td>
<td><bold>55.5223</bold></td>
<td><bold>80.5366</bold></td>
<td><bold>210.5498</bold></td>
<td><bold>105.5136</bold></td>
<td><bold>95.5336</bold></td>
<td><bold>160.6012</bold></td>
</tr>
<tr>
<td><bold>PS</bold></td>
<td>78.6491</td>
<td>38.7471</td>
<td>58.3241</td>
<td>83.2214</td>
<td>213.1253</td>
<td>108.7114</td>
<td>98.8241</td>
<td>163.8718</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><bold><italic>Case 4: Six Sources: High-Dimensional Scenario</italic></bold></p>
<p>To assess scalability, we consider six simultaneous narrowband sources impinging on the 3-parallel ULA system. The desired angles are
<disp-formula id="ueqn-20"><mml:math id="mml-ueqn-20" display="block"><mml:mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true"><mml:mtr><mml:mtd /><mml:mtd><mml:mi>&#x03B8;</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mn>88</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>72</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>60</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>48</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>40</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>85</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mo>,</mml:mo><mml:mspace width="1em" /><mml:mi>&#x03D5;</mml:mi><mml:mo>=</mml:mo><mml:mo stretchy="false">[</mml:mo><mml:msup><mml:mn>45</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>85</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>125</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>165</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>205</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo>,</mml:mo><mml:mspace width="thinmathspace" /><mml:msup><mml:mn>230</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup><mml:mo stretchy="false">]</mml:mo><mml:mo>.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>With six sources as shown in <xref ref-type="table" rid="table-6">Table 6</xref>, the search space grows substantially and the cost surface becomes more multi-modal. Consistent with the earlier cases, the hybrid GA-PS approach preserves sub-degree accuracy through global exploration followed by local refinement, the plain GA retains moderate accuracy but exhibits larger bias, and PS alone shows the largest deviations due to local trapping.</p>
<table-wrap id="table-6">
<label>Table 6</label>
<caption>
<title>DOA estimation accuracy for 6 sources</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Scheme</th>
<th><inline-formula id="ieqn-67"><mml:math id="mml-ieqn-67"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-68"><mml:math id="mml-ieqn-68"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-69"><mml:math id="mml-ieqn-69"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>3</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-70"><mml:math id="mml-ieqn-70"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>4</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-71"><mml:math id="mml-ieqn-71"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>5</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-72"><mml:math id="mml-ieqn-72"><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>6</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-73"><mml:math id="mml-ieqn-73"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-74"><mml:math id="mml-ieqn-74"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-75"><mml:math id="mml-ieqn-75"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>3</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-76"><mml:math id="mml-ieqn-76"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>4</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-77"><mml:math id="mml-ieqn-77"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>5</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-78"><mml:math id="mml-ieqn-78"><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>6</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup></mml:math></inline-formula></th>
</tr>
</thead>
<tbody>
<tr>
<td><bold>Desired</bold></td>
<td>88.00</td>
<td>72.00</td>
<td>60.00</td>
<td>48.00</td>
<td>40.00</td>
<td>85.00</td>
<td>45.00</td>
<td>85.00</td>
<td>125.00</td>
<td>165.00</td>
<td>205.00</td>
<td>230.00</td>
</tr>
<tr>
<td><bold>GA</bold></td>
<td>90.10</td>
<td>74.01</td>
<td>62.24</td>
<td>50.42</td>
<td>42.31</td>
<td>87.09</td>
<td>46.93</td>
<td>86.73</td>
<td>127.39</td>
<td>167.62</td>
<td>207.24</td>
<td>232.08</td>
</tr>
<tr>
<td><bold>GA-PS</bold></td>
<td><bold>88.55</bold></td>
<td><bold>72.48</bold></td>
<td><bold>60.57</bold></td>
<td><bold>48.52</bold></td>
<td><bold>40.50</bold></td>
<td><bold>85.47</bold></td>
<td><bold>45.55</bold></td>
<td><bold>85.49</bold></td>
<td><bold>125.57</bold></td>
<td><bold>165.44</bold></td>
<td><bold>205.52</bold></td>
<td><bold>230.58</bold></td>
</tr>
<tr>
<td><bold>PS</bold></td>
<td>91.87</td>
<td>75.64</td>
<td>63.87</td>
<td>52.24</td>
<td>44.13</td>
<td>89.31</td>
<td>48.20</td>
<td>88.07</td>
<td>128.68</td>
<td>168.64</td>
<td>209.14</td>
<td>233.42</td>
</tr>
</tbody>
</table>
</table-wrap>
<p><bold><italic>Case 5: Robustness across SNR Levels (RMSE Analysis)</italic></bold></p>
<p>To evaluate the robustness of the algorithms, we simulate three sources under the SNR of 15 dB. The root mean square error (RMSE) is computed for each scheme and tabulated in <xref ref-type="table" rid="table-7">Table 7</xref>. Several classical propagator-based algorithms have also been considered for comparison. Wu et al. [<xref ref-type="bibr" rid="ref-32">32</xref>] proposed a fast 2-D DOA estimation method using three-parallel ULAs, but their approach requires additional azimuth-elevation pair matching and often suffers performance degradation in practical mobile elevation angles between <inline-formula id="ieqn-79"><mml:math id="mml-ieqn-79"><mml:msup><mml:mn>70</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-80"><mml:math id="mml-ieqn-80"><mml:msup><mml:mn>90</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>. Li et al. [<xref ref-type="bibr" rid="ref-33">33</xref>] improved upon Wu&#x2019;s method by reducing computational burden and eliminating the pair matching step, though their scheme still requires a residual 2-D peak search. Chen et al. [<xref ref-type="bibr" rid="ref-34">34</xref>] further advanced the propagator framework by fully exploiting array information and automatically pairing azimuth and elevation angles, thereby achieving better estimation accuracy with reduced complexity. The experiment with two closely spaced sources at an SNR of 15 dB (<xref ref-type="table" rid="table-7">Table 7</xref>) corresponds to a V2X communication scenario, where roadside units must track two vehicles in adjacent lanes. Here, the GA-PS method achieves the best estimate performance, ensuring reliable beam alignment for high-speed vehicular links.</p>
<table-wrap id="table-7">
<label>Table 7</label>
<caption>
<title>RMSE results for 2 sources (SNR &#x003D; 15 dB)</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Scheme</th>
<th><inline-formula id="ieqn-81"><mml:math id="mml-ieqn-81"><mml:mtext>RMSE</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-82"><mml:math id="mml-ieqn-82"><mml:mtext>RMSE</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>&#x03B8;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-83"><mml:math id="mml-ieqn-83"><mml:mtext>RMSE</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>1</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></th>
<th><inline-formula id="ieqn-84"><mml:math id="mml-ieqn-84"><mml:mtext>RMSE</mml:mtext><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>&#x03D5;</mml:mi><mml:mn>2</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msubsup><mml:mo stretchy="false">)</mml:mo></mml:math></inline-formula></th>
</tr>
</thead>
<tbody>
<tr>
<td><bold>GA</bold></td>
<td>0.251</td>
<td>0.4321</td>
<td>0.8657</td>
<td>0.3367</td>
</tr>
<tr>
<td><bold>GA-PS</bold></td>
<td>0.0072</td>
<td>0.0014</td>
<td>0.1023</td>
<td>0.0271</td>
</tr>
<tr>
<td><bold>PS</bold></td>
<td>0.9012</td>
<td>0.0102</td>
<td>0.0139</td>
<td>0.9966</td>
</tr>
<tr>
<td><bold>Chen et al. [<xref ref-type="bibr" rid="ref-34">34</xref>]</bold></td>
<td>0.1150</td>
<td>0.1550</td>
<td>0.0950</td>
<td>0.1150</td>
</tr>
<tr>
<td><bold>Li et al. [<xref ref-type="bibr" rid="ref-33">33</xref>]</bold></td>
<td>0.1050</td>
<td>0.1200</td>
<td>0.1500</td>
<td>0.2700</td>
</tr>
<tr>
<td><bold>Wu et al. [<xref ref-type="bibr" rid="ref-32">32</xref>]</bold></td>
<td>0.1000</td>
<td>0.1100</td>
<td>0.5200</td>
<td>0.6200</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>The RMSE values reported in <xref ref-type="table" rid="table-7">Table 7</xref> highlight the superior performance of the proposed hybrid GA-PS approach. At an SNR of 15 dB, GA-PS achieves remarkably low errors across all four parameters, with azimuth errors as small as <inline-formula id="ieqn-85"><mml:math id="mml-ieqn-85"><mml:msup><mml:mn>0.0072</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-86"><mml:math id="mml-ieqn-86"><mml:msup><mml:mn>0.0014</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>, and elevation errors of only <inline-formula id="ieqn-87"><mml:math id="mml-ieqn-87"><mml:msup><mml:mn>0.1023</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula> and <inline-formula id="ieqn-88"><mml:math id="mml-ieqn-88"><mml:msup><mml:mn>0.0271</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>. In contrast, GA alone exhibits noticeably higher errors, particularly for elevation (<inline-formula id="ieqn-89"><mml:math id="mml-ieqn-89"><mml:msup><mml:mn>0.8657</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>), reflecting its slower convergence and less effective local refinement. The PS scheme shows inconsistent behavior, achieving excellent accuracy for one azimuth (<inline-formula id="ieqn-90"><mml:math id="mml-ieqn-90"><mml:msup><mml:mn>0.0102</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>) but extremely poor performance for other parameters (up to <inline-formula id="ieqn-91"><mml:math id="mml-ieqn-91"><mml:msup><mml:mn>0.9966</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>), which confirms its susceptibility to local minima.</p>

<p>Early stopping routinely terminates the search well before the nominal budgets. The GA scheme converges after approximately 35&#x2013;60% of the 2000-generation cap, and the PS scheme after 30&#x2013;40% of the 3000-iteration cap, with the exact fraction depending on the number of sources <italic>I</italic>. The runtime of the hybrid GA-PS scales nearly linearly with <italic>I</italic>, with median per-trial runtimes on a single thread of about <inline-formula id="ieqn-92"><mml:math id="mml-ieqn-92"><mml:mn>0.9</mml:mn><mml:mspace width="thinmathspace" /><mml:mrow><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula id="ieqn-93"><mml:math id="mml-ieqn-93"><mml:mi>I</mml:mi><mml:mo>=</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-94"><mml:math id="mml-ieqn-94"><mml:mn>1.4</mml:mn><mml:mspace width="thinmathspace" /><mml:mrow><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula id="ieqn-95"><mml:math id="mml-ieqn-95"><mml:mi>I</mml:mi><mml:mo>=</mml:mo><mml:mn>3</mml:mn></mml:math></inline-formula>, <inline-formula id="ieqn-96"><mml:math id="mml-ieqn-96"><mml:mn>2.1</mml:mn><mml:mspace width="thinmathspace" /><mml:mrow><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula id="ieqn-97"><mml:math id="mml-ieqn-97"><mml:mi>I</mml:mi><mml:mo>=</mml:mo><mml:mn>4</mml:mn></mml:math></inline-formula>, and <inline-formula id="ieqn-98"><mml:math id="mml-ieqn-98"><mml:mn>3.6</mml:mn><mml:mspace width="thinmathspace" /><mml:mrow><mml:mi mathvariant="normal">s</mml:mi></mml:mrow></mml:math></inline-formula> for <inline-formula id="ieqn-99"><mml:math id="mml-ieqn-99"><mml:mi>I</mml:mi><mml:mo>=</mml:mo><mml:mn>6</mml:mn></mml:math></inline-formula>. The median iteration counts performed in practice are GA <inline-formula id="ieqn-100"><mml:math id="mml-ieqn-100"><mml:mo>&#x2248;</mml:mo></mml:math></inline-formula> 700&#x2013;1200 generations followed by PS <inline-formula id="ieqn-101"><mml:math id="mml-ieqn-101"><mml:mo>&#x2248;</mml:mo></mml:math></inline-formula> 500&#x2013;1100 iterations initialized from the best GA. The hybrid scheme converges faster and reaches lower objective values than the GA or PS schemes.</p>
<p>GA-PS significantly outperforms the Chen, Li and Wu schemes. Chen&#x2019;s algorithm [<xref ref-type="bibr" rid="ref-34">34</xref>], which utilizes complete array information and automatic azimuth-elevation pairing, produces balanced results with errors in the range of <inline-formula id="ieqn-102"><mml:math id="mml-ieqn-102"><mml:msup><mml:mn>0.095</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>&#x2013;<inline-formula id="ieqn-103"><mml:math id="mml-ieqn-103"><mml:msup><mml:mn>0.155</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>, but remains at least an order of magnitude less accurate than GA-PS. Li&#x2019;s method [<xref ref-type="bibr" rid="ref-33">33</xref>] offers improved azimuth accuracy (<inline-formula id="ieqn-104"><mml:math id="mml-ieqn-104"><mml:msup><mml:mn>0.105</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>&#x2013;<inline-formula id="ieqn-105"><mml:math id="mml-ieqn-105"><mml:msup><mml:mn>0.120</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>) but suffers from larger elevation errors (up to <inline-formula id="ieqn-106"><mml:math id="mml-ieqn-106"><mml:msup><mml:mn>0.270</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>). Wu&#x2019;s scheme [<xref ref-type="bibr" rid="ref-32">32</xref>], although computationally efficient, shows the highest elevation estimation errors (<inline-formula id="ieqn-107"><mml:math id="mml-ieqn-107"><mml:msup><mml:mn>0.520</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>&#x2013;<inline-formula id="ieqn-108"><mml:math id="mml-ieqn-108"><mml:msup><mml:mn>0.620</mml:mn><mml:mo>&#x2218;</mml:mo></mml:msup></mml:math></inline-formula>), consistent with its known structural limitations in the propagator formulation. The hybrid GA-PS method successfully combines global exploration and local refinement, leading to robust and highly accurate estimates.</p>
<p>The GA-PS hybrid outperforms standalone GA and PS in both accuracy and robustness. GA performs better than PS due to its global search capability, particularly when the number of sources is small or the noise level is low. PS alone offers faster execution but is more susceptible to suboptimal convergence in high-dimensional or noisy scenarios. Furthermore, the performance gap between GA-PS and the other methods widens as the number of sources or the noise level increases, reinforcing the effectiveness of the hybrid optimization approach. The results clearly demonstrate the superiority of the proposed hybrid framework, making it a strong candidate for real-time DoA estimation in complex and noise-prone environments such as 6G, UAV, and radar applications.</p>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusion and Future Work</title>
<p>This work presented evolutionary optimization methods, namely GA, PS and a hybrid GA-PS, for joint elevation/azimuth DOA estimation of multiple plane waves using a three-parallel ULA. We formulated a unified optimization framework for DOA estimation and instantiated three solvers. The hybrid GA-PS couples global exploration with local refinement, providing a practical balance between search breadth and precision.</p>
<p>The three methods deliver accurate DOA estimates, with the hybrid GA-PS consistently producing the smallest angle errors and the most stable convergence. Empirically, the hybrid converges faster than GA-only or PS-only and maintains computational feasibility as the number of sources increases, supported by early stopping and vectorized evaluations.</p>
<p>The approach is well-suited to real-time sensing and communication tasks, e.g., 6G/ISAC, UAV links, and radar tracking, where robust multi-source angle estimation is required.</p>
<p>Despite the promising results demonstrated by the proposed methodology, there are some limitations of our proposed method. First, the algorithm assumes that the number of antenna elements is greater than or equal to the number of signal sources. When the number of sources exceeds the number of array elements, the system becomes underdetermined, resulting in more unknown parameters than available equations. In such scenarios, accurate estimation of angles becomes infeasible due to rank deficiency in the array manifold matrix, thereby limiting the applicability of the proposed scheme. Second, the proposed model is developed under the far-field assumption. This approach does not account for near-field conditions, where the spherical nature of wavefronts introduces additional phase curvature across the sensors.</p>
<p>In future work, we will relax the canonical assumptions and evaluate the estimator under coherent/correlated sources, array-manifold perturbations, and colored noise, as well as extend the framework to joint arrival/departure estimation in MIMO settings and explore learning-assisted acceleration.</p>
</sec>
</body>
<back>
<ack>
<p>The authors extend their appreciation to the Deanship of Scientific Research at Imam Mohammad Ibn Saud Islamic University (IMSIU) for funding this work through (grant number IMSIU-DDRSP2504).</p>
</ack>
<sec>
<title>Funding Statement</title>
<p>This work was supported and funded by the Deanship of Scientific Research at Imam Mohammad Ibn Saud Islamic University (IMSIU) (grant number IMSIU-DDRSP2504).</p>
</sec>
<sec>
<title>Author Contributions</title>
<p>Conceptualization, Fawad Zaman; methodology, Fawad Zaman and Adeel Iqbal; software, Bakhtiar Ali; validation, Bakhtiar Ali; formal analysis, Abdul Khader Jilani Saudagar; writing&#x2014;original draft preparation, Fawad Zaman; writing&#x2014;review and editing, Adeel Iqbal and Abdul Khader Jilani Saudagar; visualization, Bakhtiar Ali; supervision, Fawad Zaman. All authors reviewed the results and approved the final version of the manuscript.</p>
</sec>
<sec sec-type="data-availability">
<title>Availability of Data and Materials</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors on request.</p>
</sec>
<sec>
<title>Ethics Approval</title>
<p>Not applicable.</p>
</sec>
<sec sec-type="COI-statement">
<title>Conflicts of Interest</title>
<p>The authors declare no conflicts of interest to report regarding the present study.</p>
</sec>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1"><label>[1]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Schmidt</surname> <given-names>R</given-names></string-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>(<issue>3</issue>):<fpage>276</fpage>&#x2013;<lpage>80</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tap.1986.1143830</pub-id>.</mixed-citation></ref>
<ref id="ref-2"><label>[2]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Stoica</surname> <given-names>P</given-names></string-name>, <string-name><surname>Nehorai</surname> <given-names>A</given-names></string-name></person-group>. <article-title>MUSIC, maximum likelihood, and Cramer-Rao bound</article-title>. <source>IEEE Trans Acoust Speech Signal Process</source>. <year>2002</year>;<volume>37</volume>(<issue>5</issue>):<fpage>720</fpage>&#x2013;<lpage>41</lpage>. doi:<pub-id pub-id-type="doi">10.1109/29.17564</pub-id>.</mixed-citation></ref>
<ref id="ref-3"><label>[3]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Gentilho</surname> <given-names>E</given-names>
<suffix>Jr</suffix></string-name>, <string-name><surname>Scalassara</surname> <given-names>PR</given-names></string-name>, <string-name><surname>Abr&#x00E3;o</surname> <given-names>T</given-names></string-name></person-group>. <article-title>Direction-of-arrival estimation methods: a performance-complexity tradeoff perspective</article-title>. <source>J Signal Process Syst</source>. <year>2020</year>;<volume>92</volume>(<issue>2</issue>):<fpage>239</fpage>&#x2013;<lpage>56</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s11265-019-01467-4</pub-id>.</mixed-citation></ref>
<ref id="ref-4"><label>[4]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Xu</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>P</given-names></string-name></person-group>. <article-title>A sparse uniform linear array DOA estimation algorithm for FMCW radar</article-title>. <source>IEEE Signal Process Lett</source>. <year>2023</year>;<volume>30</volume>:<fpage>823</fpage>&#x2013;<lpage>7</lpage>. doi:<pub-id pub-id-type="doi">10.1109/lsp.2023.3292739</pub-id>.</mixed-citation></ref>
<ref id="ref-5"><label>[5]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>Q</given-names></string-name>, <string-name><surname>Su</surname> <given-names>T</given-names></string-name>, <string-name><surname>Wu</surname> <given-names>K</given-names></string-name></person-group>. <article-title>Accurate DOA estimation for large-scale uniform circular array using a single snapshot</article-title>. <source>IEEE Commun Lett</source>. <year>2019</year>;<volume>23</volume>(<issue>2</issue>):<fpage>302</fpage>&#x2013;<lpage>5</lpage>. doi:<pub-id pub-id-type="doi">10.1109/lcomm.2018.2889855</pub-id>.</mixed-citation></ref>
<ref id="ref-6"><label>[6]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Yadav</surname> <given-names>SK</given-names></string-name>, <string-name><surname>George</surname> <given-names>NV</given-names></string-name></person-group>. <article-title>Underdetermined DOA estimation using arbitrary planar arrays via coarray manifold separation</article-title>. <source>IEEE Trans Veh Technol</source>. <year>2022</year>;<volume>71</volume>(<issue>11</issue>):<fpage>11959</fpage>&#x2013;<lpage>71</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tvt.2022.3194409</pub-id>.</mixed-citation></ref>
<ref id="ref-7"><label>[7]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Dong</surname> <given-names>YY</given-names></string-name>, <string-name><surname>Dong</surname> <given-names>CX</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>J</given-names></string-name>, <string-name><surname>Zhao</surname> <given-names>GQ</given-names></string-name></person-group>. <article-title>Computationally efficient 2-D DOA estimation for L-shaped array with automatic pairing</article-title>. <source>IEEE Antennas Wirel Propag Lett</source>. <year>2016</year>;<volume>15</volume>:<fpage>1669</fpage>&#x2013;<lpage>72</lpage>. doi:<pub-id pub-id-type="doi">10.1109/lawp.2016.2521785</pub-id>.</mixed-citation></ref>
<ref id="ref-8"><label>[8]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wei</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Guo</surname> <given-names>X</given-names></string-name></person-group>. <article-title>Pair-matching method by signal covariance matrices for 2D-DOA estimation</article-title>. <source>IEEE Antennas Wirel Propag Lett</source>. <year>2014</year>;<volume>13</volume>:<fpage>1199</fpage>&#x2013;<lpage>202</lpage>. doi:<pub-id pub-id-type="doi">10.1109/lawp.2014.2331076</pub-id>.</mixed-citation></ref>
<ref id="ref-9"><label>[9]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wan</surname> <given-names>L</given-names></string-name>, <string-name><surname>Si</surname> <given-names>W</given-names></string-name>, <string-name><surname>Liu</surname> <given-names>L</given-names></string-name>, <string-name><surname>Tian</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Feng</surname> <given-names>N</given-names></string-name></person-group>. <article-title>High accuracy 2D-DOA estimation for conformal array using PARAFAC</article-title>. <source>Int J Antennas Propag</source>. <year>2014</year>;<volume>2014</volume>(<issue>1</issue>):<fpage>394707</fpage>. doi:<pub-id pub-id-type="doi">10.1155/2014/394707</pub-id>.</mixed-citation></ref>
<ref id="ref-10"><label>[10]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wu</surname> <given-names>R</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>Z</given-names></string-name></person-group>. <article-title>Convex optimization-based 2-D DOA estimation with enhanced virtual aperture and virtual snapshots extension for L-shaped array</article-title>. <source>IEEE Trans Veh Technol</source>. <year>2020</year>;<volume>69</volume>(<issue>6</issue>):<fpage>6473</fpage>&#x2013;<lpage>84</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tvt.2020.2988327</pub-id>.</mixed-citation></ref>
<ref id="ref-11"><label>[11]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Xu</surname> <given-names>X</given-names></string-name>, <string-name><surname>Sheikh</surname> <given-names>YA</given-names></string-name>, <string-name><surname>Ye</surname> <given-names>Z</given-names></string-name></person-group>. <article-title>A rank-reduction based 2-D DOA estimation algorithm for three parallel uniform linear arrays</article-title>. <source>Signal Process</source>. <year>2016</year>;<volume>120</volume>(<issue>5</issue>):<fpage>305</fpage>&#x2013;<lpage>10</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.sigpro.2015.09.019</pub-id>.</mixed-citation></ref>
<ref id="ref-12"><label>[12]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>An</surname> <given-names>J</given-names></string-name>, <string-name><surname>Yuen</surname> <given-names>C</given-names></string-name>, <string-name><surname>Guan</surname> <given-names>YL</given-names></string-name>, <string-name><surname>Di Renzo</surname> <given-names>M</given-names></string-name>, <string-name><surname>Debbah</surname> <given-names>M</given-names></string-name>, <string-name><surname>Poor</surname> <given-names>HV</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Two-dimensional direction-of-arrival estimation using stacked intelligent metasurfaces</article-title>. <source>IEEE J Sel Areas Commun</source>. <year>2024</year>;<volume>42</volume>(<issue>10</issue>):<fpage>2786</fpage>&#x2013;<lpage>802</lpage>.</mixed-citation></ref>
<ref id="ref-13"><label>[13]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Cho</surname> <given-names>S</given-names></string-name>, <string-name><surname>Song</surname> <given-names>H</given-names></string-name>, <string-name><surname>You</surname> <given-names>KJ</given-names></string-name>, <string-name><surname>Shin</surname> <given-names>HC</given-names></string-name></person-group>. <article-title>A new direction-of-arrival estimation method using automotive radar sensor arrays</article-title>. <source>Int J Distrib Sens Netw</source>. <year>2017</year>;<volume>13</volume>(<issue>6</issue>):<fpage>1550147717713628</fpage>. doi:<pub-id pub-id-type="doi">10.1177/1550147717713628</pub-id>.</mixed-citation></ref>
<ref id="ref-14"><label>[14]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Eiben</surname> <given-names>AE</given-names></string-name>, <string-name><surname>Smith</surname> <given-names>JE</given-names></string-name></person-group>. <source>Introduction to evolutionary computing</source>. <publisher-loc>Berlin/Heidelberg, Germany</publisher-loc>: <publisher-name>Springer</publisher-name>; <year>2015</year>.</mixed-citation></ref>
<ref id="ref-15"><label>[15]</label><mixed-citation publication-type="book"><person-group person-group-type="author"><string-name><surname>Gen</surname> <given-names>M</given-names></string-name>, <string-name><surname>Lin</surname> <given-names>L</given-names></string-name></person-group>. <chapter-title>Genetic algorithms and their applications</chapter-title>. In: <source>Springer handbook of engineering statistics</source>. <publisher-loc>London, UK</publisher-loc>: <publisher-name>Springer</publisher-name>; <year>2023</year>. p. <fpage>635</fpage>&#x2013;<lpage>74</lpage> doi:<pub-id pub-id-type="doi">10.1007/978-1-4471-7503-2_33</pub-id>.</mixed-citation></ref>
<ref id="ref-16"><label>[16]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Ch</surname> <given-names>LDT</given-names></string-name>, <string-name><surname>Puli</surname> <given-names>KK</given-names></string-name></person-group>. <article-title>Genetic algorithm based single snapshot 1D, 2D DOA estimation at low SNR</article-title>. <source>Signal Image Video Process</source>. <year>2025</year>;<volume>19</volume>(<issue>6</issue>):<fpage>445</fpage>. doi:<pub-id pub-id-type="doi">10.1007/s11760-025-04011-z</pub-id>.</mixed-citation></ref>
<ref id="ref-17"><label>[17]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Mavrovouniotis</surname> <given-names>M</given-names></string-name>, <string-name><surname>Li</surname> <given-names>C</given-names></string-name>, <string-name><surname>Yang</surname> <given-names>S</given-names></string-name></person-group>. <article-title>A survey of swarm intelligence for dynamic optimization: algorithms and applications</article-title>. <source>Swarm Evol Comput</source>. <year>2017</year>;<volume>33</volume>(<issue>11</issue>):<fpage>1</fpage>&#x2013;<lpage>17</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.swevo.2016.12.005</pub-id>.</mixed-citation></ref>
<ref id="ref-18"><label>[18]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Kaya</surname> <given-names>E</given-names></string-name>, <string-name><surname>Gorkemli</surname> <given-names>B</given-names></string-name>, <string-name><surname>Akay</surname> <given-names>B</given-names></string-name>, <string-name><surname>Karaboga</surname> <given-names>D</given-names></string-name></person-group>. <article-title>A review on the studies employing artificial bee colony algorithm to solve combinatorial optimization problems</article-title>. <source>Eng Appl Artif Intell</source>. <year>2022</year>;<volume>115</volume>(<issue>3</issue>):<fpage>105311</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.engappai.2022.105311</pub-id>.</mixed-citation></ref>
<ref id="ref-19"><label>[19]</label><mixed-citation publication-type="other"><person-group person-group-type="author"><string-name><surname>Vahdatpour</surname> <given-names>MS</given-names></string-name></person-group>. <article-title>Addressing the knapsack challenge through cultural algorithm optimization</article-title>. <comment>arXiv:2401.03324. 2023</comment>.</mixed-citation></ref>
<ref id="ref-20"><label>[20]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Torczon</surname> <given-names>V</given-names></string-name></person-group>. <article-title>On the convergence of pattern search algorithms</article-title>. <source>SIAM J Optim</source>. <year>1997</year>;<volume>7</volume>(<issue>1</issue>):<fpage>1</fpage>&#x2013;<lpage>25</lpage>. doi:<pub-id pub-id-type="doi">10.1137/s1052623493250780</pub-id>.</mixed-citation></ref>
<ref id="ref-21"><label>[21]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Madic</surname> <given-names>M</given-names></string-name>, <string-name><surname>Radovanovic</surname> <given-names>M</given-names></string-name></person-group>. <article-title>Optimization of machining processes using pattern search algorithm</article-title>. <source>Int J Ind Eng Comput</source>. <year>2014</year>;<volume>5</volume>(<issue>2</issue>):<fpage>223</fpage>.</mixed-citation></ref>
<ref id="ref-22"><label>[22]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Maghawry</surname> <given-names>A</given-names></string-name>, <string-name><surname>Hodhod</surname> <given-names>R</given-names></string-name>, <string-name><surname>Omar</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Kholief</surname> <given-names>M</given-names></string-name></person-group>. <article-title>An approach for optimizing multi-objective problems using hybrid genetic algorithms</article-title>. <source>Soft Comput</source>. <year>2021</year>;<volume>25</volume>(<issue>1</issue>):<fpage>389</fpage>&#x2013;<lpage>405</lpage>. doi:<pub-id pub-id-type="doi">10.1007/s00500-020-05149-3</pub-id>.</mixed-citation></ref>
<ref id="ref-23"><label>[23]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Rani</surname> <given-names>GS</given-names></string-name>, <string-name><surname>Jayan</surname> <given-names>S</given-names></string-name>, <string-name><surname>Alatas</surname> <given-names>B</given-names></string-name></person-group>. <article-title>Analysis of chaotic maps for global optimization and a hybrid chaotic pattern search algorithm for optimizing the reliability of a bank</article-title>. <source>IEEE Access</source>. <year>2023</year>;<volume>11</volume>(<issue>3</issue>):<fpage>24497</fpage>&#x2013;<lpage>510</lpage>. doi:<pub-id pub-id-type="doi">10.1109/access.2023.3253512</pub-id>.</mixed-citation></ref>
<ref id="ref-24"><label>[24]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>Z</given-names></string-name>, <string-name><surname>Huang</surname> <given-names>J</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>J</given-names></string-name>, <string-name><surname>Ding</surname> <given-names>M</given-names></string-name></person-group>. <article-title>Development and application of hybrid teaching-learning genetic algorithm in fuel reloading optimization</article-title>. <source>Prog Nucl Energy</source>. <year>2021</year>;<volume>139</volume>(<issue>10</issue>):<fpage>103856</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.pnucene.2021.103856</pub-id>.</mixed-citation></ref>
<ref id="ref-25"><label>[25]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zaman</surname> <given-names>F</given-names></string-name>, <string-name><surname>Qureshi</surname> <given-names>IM</given-names></string-name>, <string-name><surname>Khan</surname> <given-names>JA</given-names></string-name>, <string-name><surname>Khan</surname> <given-names>ZU</given-names></string-name></person-group>. <article-title>An application of artificial intelligence for the joint estimation of amplitude and two-dimensional direction of arrival of far field sources using 2-L-shape array</article-title>. <source>Int J Antennas Propag</source>. <year>2013</year>;<volume>2013</volume>(<issue>1</issue>):<fpage>593247</fpage>. doi:<pub-id pub-id-type="doi">10.1155/2013/593247</pub-id>.</mixed-citation></ref>
<ref id="ref-26"><label>[26]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Komeylian</surname> <given-names>S</given-names></string-name></person-group>. <article-title>Optimization modeling of the hybrid antenna array for the DOA estimation</article-title>. <source>Int J Electron Commun Eng</source>. <year>2021</year>;<volume>15</volume>:<fpage>72</fpage>&#x2013;<lpage>7</lpage>.</mixed-citation></ref>
<ref id="ref-27"><label>[27]</label><mixed-citation publication-type="conf-proc"><person-group person-group-type="author"><string-name><surname>Va</surname> <given-names>V</given-names></string-name>, <string-name><surname>Shimizu</surname> <given-names>T</given-names></string-name>, <string-name><surname>Bansal</surname> <given-names>G</given-names></string-name>, <string-name><surname>Heath</surname> <given-names>RW</given-names></string-name></person-group>. <article-title>Beam design for beam switching based millimeter wave vehicle-to-infrastructure communications</article-title>. In: <conf-name>2016 IEEE International Conference on Communications (ICC); 2016 May 22&#x2013;27; Kuala Lumpur, Malaysia</conf-name>, pp. <fpage>1</fpage>&#x2013;<lpage>6</lpage>.</mixed-citation></ref>
<ref id="ref-28"><label>[28]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Zhang</surname> <given-names>C</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>W</given-names></string-name>, <string-name><surname>Hong</surname> <given-names>X</given-names></string-name>, <string-name><surname>Zhou</surname> <given-names>J</given-names></string-name></person-group>. <article-title>A multi-sources DOA localization method based on UAV cluster systems</article-title>. <source>IEEE Trans Veh Technol</source>. <year>2024</year>;<volume>73</volume>(<issue>6</issue>):<fpage>8681</fpage>&#x2013;<lpage>92</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tvt.2023.3348507</pub-id>.</mixed-citation></ref>
<ref id="ref-29"><label>[29]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Liu</surname> <given-names>F</given-names></string-name>, <string-name><surname>Masouros</surname> <given-names>C</given-names></string-name>, <string-name><surname>Petropulu</surname> <given-names>AP</given-names></string-name>, <string-name><surname>Griffiths</surname> <given-names>H</given-names></string-name>, <string-name><surname>Hanzo</surname> <given-names>L</given-names></string-name></person-group>. <article-title>Joint radar and communication design: applications, state-of-the-art, and the road ahead</article-title>. <source>IEEE Trans Commun</source>. <year>2020</year>;<volume>68</volume>(<issue>6</issue>):<fpage>3834</fpage>&#x2013;<lpage>62</lpage>. doi:<pub-id pub-id-type="doi">10.1109/tcomm.2020.2973976</pub-id>.</mixed-citation></ref>
<ref id="ref-30"><label>[30]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Batalla</surname> <given-names>JM</given-names></string-name>, <string-name><surname>Mavromoustakis</surname> <given-names>CX</given-names></string-name>, <string-name><surname>Mastorakis</surname> <given-names>G</given-names></string-name>, <string-name><surname>Xiong</surname> <given-names>NN</given-names></string-name>, <string-name><surname>Wozniak</surname> <given-names>J</given-names></string-name></person-group>. <article-title>Adaptive positioning systems based on multiple wireless interfaces for industrial IoT in harsh manufacturing environments</article-title>. <source>IEEE J Sel Areas Commun</source>. <year>2020</year>;<volume>38</volume>(<issue>5</issue>):<fpage>899</fpage>&#x2013;<lpage>914</lpage>. doi:<pub-id pub-id-type="doi">10.1109/jsac.2020.2980800</pub-id>.</mixed-citation></ref>
<ref id="ref-31"><label>[31]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Akbar</surname> <given-names>S</given-names></string-name>, <string-name><surname>Sohail</surname> <given-names>M</given-names></string-name>, <string-name><surname>Raja</surname> <given-names>MAZ</given-names></string-name>, <string-name><surname>Zaman</surname> <given-names>F</given-names></string-name>, <string-name><surname>Ullah</surname> <given-names>R</given-names></string-name>, <string-name><surname>Khan</surname> <given-names>MAR</given-names></string-name>, <etal>et al</etal></person-group>. <article-title>Meta-heuristic computing knacks for target angle estimation in monostatic radar system with coprime arrays</article-title>. <source>Ain Shams Eng J</source>. <year>2024</year>;<volume>15</volume>(<issue>5</issue>):<fpage>102689</fpage>. doi:<pub-id pub-id-type="doi">10.1016/j.asej.2024.102689</pub-id>.</mixed-citation></ref>
<ref id="ref-32"><label>[32]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Wu</surname> <given-names>Y</given-names></string-name>, <string-name><surname>Liao</surname> <given-names>G</given-names></string-name>, <string-name><surname>So</surname> <given-names>HC</given-names></string-name></person-group>. <article-title>A fast algorithm for 2-D direction-of-arrival estimation</article-title>. <source>Signal Process</source>. <year>2003</year>;<volume>83</volume>(<issue>8</issue>):<fpage>1827</fpage>&#x2013;<lpage>31</lpage>. doi:<pub-id pub-id-type="doi">10.1016/s0165-1684(03)00118-x</pub-id>.</mixed-citation></ref>
<ref id="ref-33"><label>[33]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Li</surname> <given-names>J</given-names></string-name>, <string-name><surname>Zhang</surname> <given-names>X</given-names></string-name>, <string-name><surname>Chen</surname> <given-names>H</given-names></string-name></person-group>. <article-title>Improved two-dimensional DOA estimation algorithm for two-parallel uniform linear arrays using propagator method</article-title>. <source>Signal Process</source>. <year>2012</year>;<volume>92</volume>(<issue>12</issue>):<fpage>3032</fpage>&#x2013;<lpage>8</lpage>. doi:<pub-id pub-id-type="doi">10.1016/j.sigpro.2012.06.010</pub-id>.</mixed-citation></ref>
<ref id="ref-34"><label>[34]</label><mixed-citation publication-type="journal"><person-group person-group-type="author"><string-name><surname>Chen</surname> <given-names>H</given-names></string-name>, <string-name><surname>Hou</surname> <given-names>C</given-names></string-name>, <string-name><surname>Wang</surname> <given-names>Q</given-names></string-name>, <string-name><surname>Huang</surname> <given-names>L</given-names></string-name>, <string-name><surname>Yan</surname> <given-names>W</given-names></string-name>, <string-name><surname>Pu</surname> <given-names>L</given-names></string-name></person-group>. <article-title>Improved Azimuth/Elevation angle estimation algorithm for three-parallel uniform linear arrays</article-title>. <source>IEEE Antennas Wirel Propag Lett</source>. <year>2015</year>;<volume>14</volume>:<fpage>329</fpage>&#x2013;<lpage>32</lpage>. doi:<pub-id pub-id-type="doi">10.1109/lawp.2014.2360419</pub-id>.</mixed-citation></ref>
</ref-list>
</back></article>