Experimental Evaluation of an SDR-Based UAV Localization System

UAV communications have seen a rapid rise in the last few years. The drone class of UAV has particularly become more widespread around the world, and illicit behavior using drones has become a problem. Therefore, localization, tracking, and even taking control of drones have also gained interest. Knowing the frequency of a target signal, its position can be determined (as the angle of arrival with respect to a fixed receiver point) using radio frequency-based localization techniques. One such technique is represented by the subspace-based algorithms that offer highly accurate results. This paper presents the implementation of the MUSIC algorithm on an SDR-based system using a uniform circular antenna array and its experimental evaluation in relevant outdoor environments for drone localization. The results show the capability of the system to indicate the AoA of the target signal. The results are compared with the actual direction computed from the log files of the drone application and validated with a professional direction-finding solution (i.e., Narda SignalShark equipped with the automatic direction-finding antenna).


Introduction
Knowing the position of a target has always been a subject of interest with applications in the military, space, industrial, and civil domains.Target localization is used in enemy aircraft and spaceship localization and tracking, space surveillance and tracking, commercial flight tracking, or interference localization.Localization is also used in mobile communications, sonar systems, rescue operations in emergency scenarios in remote spaces, and so on.
The main methods used for localization are based on optical measurements/video, audio, sonar, and radio frequency (RF) communications.The most common RF localization systems use radar, interferometry, angle-of-arrival (AoA), ultra-wideband (UWB), or Wi-Fi positioning.
Unmanned aerial vehicle (UAV) communications have seen a rapid rise in the last few years.Commercial drones have become more widespread due to their ease of use, agility, and non-prohibitive prices.Applications vary from own-use photography and entertainment to crop monitoring for agriculture, mapping, delivery services, disaster relief, search and rescue, mining, or simply drone surveying.The exceptional maneuverability capabilities and the possibility to access remote places make drones a target for illicit behavior.Drug or contraband substance or gun smuggling, striking fire, reckless utilization, or simply unauthorized operations with drones need to be countered.Ongoing research tries to come up with solutions to address this problem.
Therefore, given the importance of target localization and the necessity to counteract the unlawful operation of commercial drones, this paper presents a software-defined radio In [5], the authors present the development of an anti-drone system that combines audio, video, and RF surveillance to realize drone detection, localization, and RF jamming.The experimental results show that the system can detect and localize an intruding drone in a campus environment.The authors also discuss the challenges of such systems.
The paper in [6] presents a comprehensive overview of counter-drone systems, used to detect, localize, track, and neutralize UAVs.The strengths and limitations of sensors such as acoustic, RF, radar, electro-optical /infrared (EO/IR), and Light Detection and Ranging (LiDAR) are thoroughly described.Ground and sky platforms are compared, being suitable choices depending on the specific requirements of the applications.
The article in [7] provides another overview of the techniques used for detecting, localizing, and tracking unauthorized UAS and jammers, focusing on mmWave radar-, UWB radar-, and NLOS radar-based approaches.The authors also propose to use multiple UAS to localize and track another UAS.
The approach in [8] is to detect and localize ultralight aircraft and drones using a WiFi-based passive radar for short-range surveillance applications.The advantages of passive radar compared with active radar are highlighted.The obtained results show that this approach can correctly detect and localize in 3D small flying objects along their trajectory, for short distances (approx.100 m).
In [9], the authors demonstrate that W-band can be used to detect and localize small drones in 3D, using a FMCW radar.
In [10], the authors present a novel algorithm for indoor localization of UAVs based on RSSI, with Wi-Fi access points and a priori known locations.
The authors of [11] present the results of the detection and localization of drones using mmWave automotive radar sensor at 76-81 GHz.Given the limitations of the radar hardware in terms of transmitted power and the limitations in azimuth and elevation coverages by the 3-dB beamwidth, the range of detection and localization is up to 40 m.
The paper in [12] presents a comprehensive overview of wireless target localization, such as time difference of arrival (TDOA), time of arrival (TOA), RSS, and AoA, showing their advantages and disadvantages.This review shows that the wireless target localization solutions available in the literature range between a few and hundreds of meters, depending on the approach and costs.
In [13], the authors propose and experimentally validate an RF-based location-finding system for drones and their controllers.The system comprises SDRs and rotating antennas that combine RF-based drone detection with AoA triangulation.The drone used in the test flies 20 m above the ground and 30-150 m away from the system.The drone and its controller operate at a predefined 2.4 GHz Wi-Fi frequency channel.When monitoring the drone, the average error is 12.2 • for direction finding and 12.71 m for localization, while for the controller, the average error is 9.9 • for direction finding and 11.36 m for localization.
In [14], the authors present a 3D drone location estimation method using a 4-by-4 rectangular array and MUSIC algorithm.After the estimation of the AoA, an extended Kalman filter (EKF) is applied to improve the accuracy and to track the drone.The experiment takes place in an area of 10.4 × 20 m 2 , with the receiving system placed at the origin.The drone follows a 20 m flight trajectory in this area and continuously sends signals with an omnidirectional antenna.The obtained results are compared with the GPS coordinates.The mean error is 1.8 m, 2.6 m, and 0.9 m in the x, y, and z directions, respectively.
The paper in [15] presents an evaluation and assessment of four AoA algorithms in UAV communication networks using multiple-input multiple-output (MIMO) base stations.The study shows that accurate AoA estimation can be achieved with as few as 320 samples.The number of antennas and their configurations impact the AoA estimations.The experiment is as follows: The base station is placed 34 m above the ground, in the stands of a stadium.A drone is placed at five positions, at angles of −9.64 • , 10.20  , at a height of 20 m, covering the pitch.The drone is kept in place for 17.92 s at each position, transmitting pilot signals with a 3.6 GHz center frequency, 5 MHz bandwidth, and 5 MHz sample rate.The base station collects 2.240.000samples for every measurement point.Data are collected using eight planar array elements with a spacing of 3.94 cm.A comprehensive comparative analysis of five AoA algorithms is performed.Root-MUSIC offers the best results, with an inaccuracy from 3.54 • to −5.88 • , with a median of −1.63 • .The paper shows that an increase in the number of antennas improves the accuracy of the results.It is also found that the effect of multipath propagation is more pronounced if the number of antennas is reduced.Moreover, it shows that uniform rectangular array (URA) configurations are better than uniform linear arrays (ULAs).By using multiple rows for their spatial components, the range of estimations can be reduced, and better overall accuracy can be obtained.Finally, the study shows that the 2D Bartlett spatial spectrum estimator offers better accuracy for both azimuth and elevation results than the 1D method, by aggregating all the antennas to locate the peaks in the spectrum.
In [16], a frequency-hopping spread spectrum (FHSS) signal from a drone controller is detected and localized.After the controller is detected, two variants of the MUSIC algorithm are implemented to detect the AoA.The system comprises a four-channel receiver with quasi-Yagi antennas placed in a ULA configuration.The experiment is performed for five locations of the drone controller: 4.43 In [17], the authors present a 24 GHz ISM band FMCW radar system for drone localization designed to operate up to 150 m.
Another state-of-the-art solution is the use of MIMO radars employing electromagnetic vector sensors (EVS) [18][19][20] for 2D and 3D UAV localization.The work in [20] proposes the implementation of a monostatic EVS MIMO radar, while [19] models a bistatic configuration.In each case, an EVS is a collocated, complete polarized sensor system of three electric dipoles and three magnetic loops.The numerical simulation results show that a bistatic configuration is more reliable.Moreover, these approaches are insensitive to the geometry of the TX/RX array.
The current state of the art reveals different approaches, architectures, and platforms used for drone localization using RF methods.Advantages and disadvantages corresponding to various scenarios or applications can be drawn: The radar implementations can detect targets up to a few hundred meters away, can be used mainly for short-range surveillance applications, have the advantage of small antenna sizes and durability, and can operate in adverse weather conditions.However, a large radar cross-section of the target is desired, which can be a problem for localizing small drones.Also, interferences from other small objects may affect the results, and line-of-sight operation is highly desired.RSS-based localization methods have an accuracy of tens of meters and can be considered cost-effective as most receivers can measure the RSS.The limitations are due to the noise and multipath and due to the requirement to know the target transmitted power.On the other hand, AoA-based localization can provide more accurate results but at the cost of more complex hardware, the necessity of synchronizing the receivers, and complex signal processing.Also, the signal frequency of the target must be known a priori.Moreover, in long-range scenarios, the SNR is lower than in close-range scenarios, which impacts the accuracy of the results.
Extensive work is conducted to develop more complex mathematical models to better simulate the environment/behavior of the system and to propose new methods to improve AoA performance, such as signal sparse recovery (SSR), L1-singular value decomposition (SVD), nuclear norm optimization and sparse Bayesian learning (SBL), and optimal weighted subspace fitting (WSF) [21].In [22], the authors model a complex practical environment, including nonuniform noise and off-grid errors, and propose an assistant vehicle localization method based on SBL-based robust DoA estimation and three collaborative base stations with MIMO arrays.Extensive simulations show that the proposed method provides superior localization results.Another complex model is presented in [21].Here, a multi-UAV cooperative localization system for marine targets is proposed.As each UAV is equipped with a monostatic MIMO radar, the model considers the unknown mutual coupling effect and provides a robust weighted block sparse reconstruction DOA estima-tion method based on optimal WSF.In [23], the authors consider the mutual coupling and the reduced computational power of IoT sensors and propose a framework composed of distributed mobile-edge computing and IoT to realize auxiliary vehicle position analysis and develop a suitable block SBL algorithm for DF.
While simulations provide valuable insights and initial assessments, it is crucial to acknowledge the inherent gap between simulation and reality when assessing and optimizing DF solutions.
To this extent, we propose a practical solution based on the MUSIC AoA algorithm implemented on an SDR-based platform, which has several advantages: durability, small antenna size, possibility of operation in adverse weather conditions, high detection range, and high accuracy.However, similar to other AoA approaches, the performance is susceptible to non-LOS conditions and interferences, and we assume that the target frequency is known.The novelty of our work consists in the particular practical implementation and the validation of the proposed solution.As such, the main contributions of this study are as follows: • Implementation of the MUSIC algorithm on an SDR-based system using a five-element UCA: MUSIC is a super-resolution algorithm and can achieve localization accuracy of up to a sub-degree.The use of a UCA with an odd number of elements ensures a non-ambiguous target localization in a full 360 • range.

•
Evaluation of the proposed solution capability to perform full azimuth (360-degree) RF signal localization: This is achieved in a close-range setup, in a controlled environment, using a dummy target signal.

•
Performance evaluation in a relevant outdoor environment, in a long-range setup, for ranges up to 2.5 km using a drone as a target.• Validation of the results by comparison with a professional DF solution (i.e., Narda ADFA) and by cross-referencing with the actual target AoA determined from the drone GPS coordinates.

The Mathematical Model of the MUSIC Algorithm
The MUSIC algorithm was proposed by R. Schmidt in 1979 [24].MUSIC is a subspacebased algorithm that uses eigenvalue decomposition of the covariance matrix of the received signal at an antenna array to find the AoA of the signal [24][25][26].
Assume that there are D uncorrelated narrowband source signals, with the same central frequency, fc.These signals are impinging on an array of M elements that are linearly spaced with equal inter-element spacing d, equal to half wavelength.
A data snapshot is the data received at all elements of the array at a single time t.Then, the received signal is given by x(t), as follows in (1): where x(t) is an M × 1 vector of received data consisting of signals and noise, s(t) is a D × 1 vector of source signal values from D sources, and n(t) is an M × 1 vector of noise at the array elements.Relation (2) shows the M × D matrix containing the steering vectors or arrival vectors for a ULA array configuration where the AoA is measured only for azimuth: A steering vector consists of the relative phase shift at the array elements of the plane wave from one source.Every column of matrix A is the steering vector from one of the sources and depends on the direction of arrival, a(θ D ).The steering vector depends on the array configuration.For instance, considering a ULA array and taking the first element in the array as the reference element, the steering vector for direction (θ k ) is given in (3) where symbol T stands for the transpose operation: a(θ k ) = [1 e (−j2πd/λ)sin(θ k ) . . .e (−j(M−1)2πd/λ)sin(θ k ) ] T Sensors 2024, 24, 2789 6 of 20 In the case of a UCA array, the AoA is measured for both azimuth and elevation.The M × D matrix containing the steering vectors or arrival vectors [27] is shown in (4): where φ i ∈ [0, π/2] is the elevation angle and θ i ∈ [0, 2π] is the azimuth angle.The steering vector for direction φ j, θ k is given in (5): a(φ j, θ k ) = [e (j2πr/λ)sinφ j cos(θ k −γ 1 ) e (j2πr/λ)sinφ j cos(θ k −γ 2 ) . ..e (j2πr/λ)sinφ j cos(θ k −γ M−1 ) ] T Here, r is the radius of the circle described by the UCA array elements and γ M = 2πm/M.As the algorithm takes uncorrelated noise into account, the covariance matrix is diagonal.It is found that the signal and noise subspaces are orthogonal to each other.
When the signals are uncorrelated with the noise, the covariance matrix of the received signal has two components: the signal covariance matrix and the noise covariance matrix.Then, as shown in (6) where the symbol H represents the Hermitian operator and E is the expectation operator, we obtain: where R s is the source covariance matrix, and R s = E{ss H }. R s is a positive-definite Hermitian matrix and has full rank D, equal to the number of sources (for uncorrelated sources or partially correlated sources).
The signal covariance matrix, AR s A H has M × M dimension, with rank D < M. The noise power is considered to be equal at all sensors and uncorrelated between sensors.Therefore, the noise covariance matrix is an M × M diagonal matrix with equal values along the diagonal.Since the signal covariance matrix AR s A H has rank D, it means that it has D positive real eigenvalues.The eigenvectors corresponding to these D eigenvalues span the signal subspace, given in (7): The M-D eigenvalues correspond to the noise subspace, and their eigenvectors span the null subspace, given in (8): The MUSIC algorithm exploits the orthogonality relationship between the signal and noise subspace.Then, as shown in (9), it results in: Therefore, the arrival vectors are orthogonal to the noise subspace.
The MUSIC algorithm searches for all arrival vectors that are orthogonal to the noise subspace by computing the so-called MUSIC pseudospectrum using Relation (10): The above equation results in high peaks (theoretically infinite) that correspond to the desired directions of arrival.The pseudospectrum can have more peaks than there are sources, so the number of sources must be specified as a parameter, i.e., P. The algorithm will return the P largest peaks.The number of sources must be smaller than the number of array elements.The estimation efficiency of the MUSIC algorithm depends on the spacing between the array elements and the number of elements.The maximum efficiency is obtained for an inter-element spacing of half-wavelength of the operating frequency.Increasing the number of elements in the array also gives better results (sharper peaks in the MUSIC pseudospectrum).

MUSIC Algorithm Simulation
Matlab simulations prove the capabilities of the MUSIC algorithm to identify the AoA of incident signals impinging on an array of antennas.The most common array is the ULA array.As mentioned in the previous section, the best results are obtained for an inter-element spacing of half lambda of the operating frequency.Increasing the number of antennas not only yields sharper peaks in the pseudospectrum but also allows for more signals to be located as the number of sources must be smaller than the number of array elements.Two signals impinging on a ULA array of five elements spaced at half lambda are simulated: The first signal is from −57 • , and the second signal is from 37 • .The signal-to-noise ratio (SNR) is 5 dB.
Figure 1 shows the MUSIC pseudospectrum of the received signals at the array elements.
Increasing the number of elements in the array also gives better results (sharper peaks in the MUSIC pseudospectrum).

MUSIC Algorithm Simulation
Matlab simulations prove the capabilities of the MUSIC algorithm to identify the AoA of incident signals impinging on an array of antennas.The most common array is the ULA array.As mentioned in the previous section, the best results are obtained for an inter-element spacing of half lambda of the operating frequency.Increasing the number of antennas not only yields sharper peaks in the pseudospectrum but also allows for more signals to be located as the number of sources must be smaller than the number of array elements.Two signals impinging on a ULA array of five elements spaced at half lambda are simulated: The first signal is from −57°, and the second signal is from 37°.The signalto-noise ratio (SNR) is 5 dB.
Figure 1 shows the MUSIC pseudospectrum of the received signals at the array elements.The results in Figure 1 clearly show the ability of the MUSIC algorithm to correctly identify the AoA of the two signals.However, the ULA array configuration has some drawbacks in detecting the AoA of incident signals.First, in a ULA setup, the orientation determines the reference direction; therefore, it cannot distinguish between signals arriving from the front and those arriving from the back of the array (front-to-back ambiguity).Second, the ULA configuration may exhibit inaccuracies in the end-fire region, when the target is in line with the elements of the array, leading to insufficient angular diversity (end-fire ambiguity).As a result, the algorithm may produce erroneous results or fail to provide reliable direction estimates.Third, a ULA array can only evaluate the AoA in azimuth.
To overcome the limitations of ULA, a UCA configuration can be used.The circular geometry offers multiple advantages.First, the UCA can cover the entire azimuthal plane (full 360° range), ensuring that targets can be localized regardless of their angle of arrival relative to the array.Second, the UCA does not suffer from front-to-back and end-fire region ambiguity, providing unambiguous direction estimation.Third, UCA can be used to estimate both azimuth and elevation at the same time by careful consideration of the array design and signal processing.The results in Figure 1 clearly show the ability of the MUSIC algorithm to correctly identify the AoA of the two signals.However, the ULA array configuration has some drawbacks in detecting the AoA of incident signals.First, in a ULA setup, the orientation determines the reference direction; therefore, it cannot distinguish between signals arriving from the front and those arriving from the back of the array (front-to-back ambiguity).Second, the ULA configuration may exhibit inaccuracies in the end-fire region, when the target is in line with the elements of the array, leading to insufficient angular diversity (end-fire ambiguity).As a result, the algorithm may produce erroneous results or fail to provide reliable direction estimates.Third, a ULA array can only evaluate the AoA in azimuth.
To overcome the limitations of ULA, a UCA configuration can be used.The circular geometry offers multiple advantages.First, the UCA can cover the entire azimuthal plane (full 360 • range), ensuring that targets can be localized regardless of their angle of arrival relative to the array.Second, the UCA does not suffer from front-to-back and end-fire region ambiguity, providing unambiguous direction estimation.Third, UCA can be used to estimate both azimuth and elevation at the same time by careful consideration of the array design and signal processing.Figure 2 illustrates the results of the MUSIC algorithm.Figure 2 shows the ability of the UCA configuration to identify the AoA, in terms of both azimuth and elevation, of two incident signals.
Following the simulation results, in the next section, the MUSIC algorithm implementation and the experimental setup are presented.

System Architecture and Algorithm Implementation
The system comprises the following elements: The NI USRP 2954R SDR [28] is a reconfigurable SDR device equipped with a Xilinx Kintex-7 FPGA.The frequency range is from 10 MHz to 6 GHz with a maximum instantaneous real-time bandwidth of 160 MHz and a maximum I/Q sample rate of 200 MS/s.The resolution of the analog-to-digital (ADC) converter is 14 bits.
The three SDRs receive the target signals, which are then processed by the host computer.The SDRs are controlled by the host computer via the CPS-8910 switch.The connection between the SDRs and the switch, and the switch and the host computer, are made with PCIe x4 cables and a PCIe ×8 cable, respectively.
The NI PXIe-8880 host computer has an 8-core Intel Xeon CPU E5-2618L v3@2.3GHz processor and 24 GB RAM.In addition to controlling the SDRs, the computer also runs the software for storing and processing the received data, which are streamed from the SDRs.First, LabVIEW Communications 2.0 (product of NI) is used to store the received samples on the computer.Then, these samples are processed (offline) in Matlab R2020a (Natick, MA, USA) where the MUSIC algorithm is implemented.Figure 2 shows the ability of the UCA configuration to identify the AoA, in terms of both azimuth and elevation, of two incident signals.
Following the simulation results, in the next section, the MUSIC algorithm implementation and the experimental setup are presented.

System Architecture and Algorithm Implementation
The system comprises the following elements: The NI USRP 2954R SDR [28] is a reconfigurable SDR device equipped with a Xilinx Kintex-7 FPGA.The frequency range is from 10 MHz to 6 GHz with a maximum instantaneous real-time bandwidth of 160 MHz and a maximum I/Q sample rate of 200 MS/s.The resolution of the analog-to-digital (ADC) converter is 14 bits.
The three SDRs receive the target signals, which are then processed by the host computer.The SDRs are controlled by the host computer via the CPS-8910 switch.The connection between the SDRs and the switch, and the switch and the host computer, are made with PCIe x4 cables and a PCIe ×8 cable, respectively.
The NI PXIe-8880 host computer has an 8-core Intel Xeon CPU E5-2618L v3@2.3GHz processor and 24 GB RAM.In addition to controlling the SDRs, the computer also runs the software for storing and processing the received data, which are streamed from the SDRs.First, LabVIEW Communications 2.0 (product of NI) is used to store the received samples on the computer.Then, these samples are processed (offline) in Matlab R2020a (Natick, MA, USA) where the MUSIC algorithm is implemented.
The OctoClock CDA-2990 [29] and the Hameg HM 8135 [30] are used to synchronize the receiving channels of the proposed solution for coherent operation as DF applications require time, frequency, and phase synchronization.The OctoClock is a high-accuracy time and frequency reference distribution device and provides 1PPs and 10 MHz reference signals for time and frequency synchronization.For most receivers, the digital down converter (DDC) chain uses a coordinate rotation digital computer (CORDIC).The CORDIC Sensors 2024, 24, 2789 9 of 20 has a random start-up position on power-up that creates a random phase each time the channels of the receiver are initialized but remains constant through operation [4,31].This means that a calibration procedure is necessary to find and compensate for the random phase shift that appears on every RF channel.In our system, the Hameg signal generator is used to transmit the calibration signal for each of the five RF channels to achieve phase alignment.
The L-com omnidirectional antennas [32] are connected to the RF input ports of the three USRPs (one USRP has 2 TX/RX RF ports).The antennas are placed in a UCA array configuration.The distance between consecutive elements of the array is half of the wavelength corresponding to 2.46 GHz.
Figure 3 illustrates the conceptual architecture of the system.
The OctoClock CDA-2990 [29] and the Hameg HM 8135 [30] are used to synchronize the receiving channels of the proposed solution for coherent operation as DF applications require time, frequency, and phase synchronization.The OctoClock is a high-accuracy time and frequency reference distribution device and provides 1PPs and 10 MHz reference signals for time and frequency synchronization.For most receivers, the digital down converter (DDC) chain uses a coordinate rotation digital computer (CORDIC).The CORDIC has a random start-up position on power-up that creates a random phase each time the channels of the receiver are initialized but remains constant through operation [4,31].This means that a calibration procedure is necessary to find and compensate for the random phase shift that appears on every RF channel.In our system, the Hameg signal generator is used to transmit the calibration signal for each of the five RF channels to achieve phase alignment.
The L-com omnidirectional antennas [32] are connected to the RF input ports of the three USRPs (one USRP has 2 TX/RX RF ports).The antennas are placed in a UCA array configuration.The distance between consecutive elements of the array is half of the wavelength corresponding to 2.46 GHz.
Figure 3 illustrates the conceptual architecture of the system.Figure 4 presents the implementation of the conceptual architecture using NI hardware components.
The parameters for all five receiving channels are set in the LabVIEW environment as follows: central frequency, sampling frequency, number of samples, and gain.
(1) Calibration samples acquisition-The signal generator is set to prepare the calibration tone (a sine tone on the central frequency of the receivers).The output port of the signal generator is connected to an antenna placed in the center of the circle described by the five antennas of the UCA array.Thus, the signal arrives at the antennas at the same time.The phase differences obtained between the array elements are due to the random  The parameters for all five receiving channels are set in the LabVIEW environment as follows: central frequency, sampling frequency, number of samples, and gain.
(1) Calibration samples acquisition-The signal generator is set to prepare the calibration tone (a sine tone on the central frequency of the receivers).The output port of the signal generator is connected to an antenna placed in the center of the circle described by the five antennas of the UCA array.Thus, the signal arrives at the antennas at the same time.The phase differences obtained between the array elements are due to the random phase shift that occurs at retune commands and is constant during operation.Then, the receivers and the signal generator are set to run.The SDRs stream the received calibration samples to the host computer.A LabVIEW application stores these samples in binary files.After that, the signal generator is removed.
(2) DF samples acquisition-The SDRs stream the received DF samples to the computer.These samples are also stored in binary files for offline processing.(3) Calibration-In a Matlab application, the calibration procedure is performed based on the calibration samples and DF sample files.The phase differences obtained from the calibration files are then used in the DF samples to achieve the necessary coherent operation of the five channels.
(4) Finally, the MUSIC algorithm can be applied to obtain the AoA of the desired signals.This is achieved using the Matlab phased array system toolbox.
phase shift that occurs at retune commands and is constant during operation.Then, the receivers and the signal generator are set to run.The SDRs stream the received calibration samples to the host computer.A LabVIEW application stores these samples in binary files.After that, the signal generator is removed.
(2) DF samples acquisition-The SDRs stream the received DF samples to the computer.These samples are also stored in binary files for offline processing.
(3) Calibration-In a Matlab application, the calibration procedure is performed based on the calibration samples and DF sample files.The phase differences obtained from the calibration files are then used in the DF samples to achieve the necessary coherent operation of the five channels.
(4) Finally, the MUSIC algorithm can be applied to obtain the AoA of the desired signals.This is achieved using the Matlab phased array system toolbox.

Measurement Results
The performance of the system is evaluated in two scenarios: • Scenario 1-Close-range experiments: A signal generator transmits a continuous sine wave as the target signal.The target is placed in 36 close-range (three-meter) positions to test full azimuth signal localization.• Scenario 2-Long-range experiments: A drone is used as a target.The drone is flown up to 2.5 km from the receiving system.

Scenario 1-Close-Range Experiments
In this scenario, the target is a continuous sine wave from a signal generator.The target is placed in 36 positions that describe a circle of a 3 m radius.The positions are at the angles from 0 to 360° with respect to the reference of the receiving system, as shown in Figure 5.The height of the target is approximately the same as the height of the UCA array, 1 m above the ground.

Measurement Results
The performance of the system is evaluated in two scenarios: • Scenario 1-Close-range experiments: A signal generator transmits a continuous sine wave as the target signal.The target is placed in 36 close-range (three-meter) positions to test full azimuth signal localization.

•
Scenario 2-Long-range experiments: A drone is used as a target.The drone is flown up to 2.5 km from the receiving system.

Scenario 1-Close-Range Experiments
In this scenario, the target is a continuous sine wave from a signal generator.The target is placed in 36 positions that describe a circle of a 3 m radius.The positions are at the angles from 0 to 360 • with respect to the reference of the receiving system, as shown in Figure 5.The height of the target is approximately the same as the height of the UCA array, 1 m above the ground.The frequency of the signal is 2.46 GHz.The I/Q rate of the receivers is 1MSample/s.A snapshot contains 5000 complex I/Q samples, and a file contains 250 snapshots.In this scenario, for every position of the target, 250 AoA values are computed using the MUSIC algorithm (only azimuth).Histogram representation is used to display the results.Figure 7 illustrates the MUSIC pseudospectrum of one snapshot of the target signal at 30°.  Figure 6 shows the experimental setup.The frequency of the signal is 2.46 GHz.The I/Q rate of the receivers is 1MSample/s.A snapshot contains 5000 complex I/Q samples, and a file contains 250 snapshots.In this scenario, for every position of the target, 250 AoA values are computed using the MUSIC algorithm (only azimuth).Histogram representation is used to display the results.Figure 7 illustrates the MUSIC pseudospectrum of one snapshot of the target signal at 30°.The frequency of the signal is 2.46 GHz.The I/Q rate of the receivers is 1MSample/s.A snapshot contains 5000 complex I/Q samples, and a file contains 250 snapshots.In this scenario, for every position of the target, 250 AoA values are computed using the MUSIC algorithm (only azimuth).Histogram representation is used to display the results.Figure 7 illustrates the MUSIC pseudospectrum of one snapshot of the target signal at 30 • .Unlike the simulated pseudospectrum, which exhibited high, narrow peaks only for the target sources, the MUSIC pseudospectrum obtained during the measurement campaigns is slightly different.Although there is only one source that is accounted for (our target signal), the pseudospectrum shows several peaks of various amplitudes.A fiveelement array can indicate up to four target AoAs (number of array elements-1).Here, the highest peak corresponds to the dummy target (AoA of 38°) while the other peaks indicate interfering sources or reflections.These differences occur because numerical simulations consider idealized conditions while real-world experiments are affected by the inherent complexities and uncertainties of the environment.Noise, variability of the propagation environment, and unknown interference sources can significantly impact the results.Figure 8 shows the histogram based on the 250 AoA measurements for the target at 45°.The histogram representation in Figure 8 shows the AoA mode (i.e., the value that appears most frequently) with its frequency.The AoA value 45° appears 105 times from Unlike the simulated pseudospectrum, which exhibited high, narrow peaks only for the target sources, the MUSIC pseudospectrum obtained during the measurement campaigns is slightly different.Although there is only one source that is accounted for (our target signal), the pseudospectrum shows several peaks of various amplitudes.A five-element array can indicate up to four target AoAs (number of array elements-1).
Here, the highest peak corresponds to the dummy target (AoA of 38 • ) while the other peaks indicate interfering sources or reflections.These differences occur because numerical simulations consider idealized conditions while real-world experiments are affected by the inherent complexities and uncertainties of the environment.Noise, variability of the propagation environment, and unknown interference sources can significantly impact the results.Figure 8  Unlike the simulated pseudospectrum, which exhibited high, narrow peaks only for the target sources, the MUSIC pseudospectrum obtained during the measurement campaigns is slightly different.Although there is only one source that is accounted for (our target signal), the pseudospectrum shows several peaks of various amplitudes.A fiveelement array can indicate up to four target AoAs (number of array elements-1).Here, the highest peak corresponds to the dummy target (AoA of 38°) while the other peaks indicate interfering sources or reflections.These differences occur because numerical simulations consider idealized conditions while real-world experiments are affected by the inherent complexities and uncertainties of the environment.Noise, variability of the propagation environment, and unknown interference sources can significantly impact the results.Figure 8 shows the histogram based on the 250 AoA measurements for the target at 45°.The histogram representation in Figure 8 shows the AoA mode (i.e., the value that appears most frequently) with its frequency.The AoA value 45° appears 105 times from The histogram representation in Figure 8 shows the AoA mode (i.e., the value that appears most frequently) with its frequency.The AoA value 45 • appears 105 times from the total 250 results.The low standard deviation of the 250 measured values can also be seen, showing the consistency of the AoA determinations.
The results for Scenario 1 are presented in Table 1.For each position of the target signal, the following statistical data are shown: the AoA value that appears most frequently in the histogram and its count, the mean value, the standard deviation, and the error from the actual position of the target.These data are computed after eliminating the outliers.The percentage of outliers is also indicated in the table.As per theoretical expectations, the AoA results for the 36 positions show that the proposed system, using MUSIC and the five-element UCA configuration, can be used for 360 • AoA localization of a target.Due to the UCA geometry and odd number of array elements, the results show no front-to-back and end-fire region ambiguities.It should also be noted that the resolution of the scan angles is one degree, meaning that the resolution of the AoA determination is also one degree.As such, the system can clearly distinguish between the 36 target positions.The overall average error (with respect to the position of the target) is 3.2713 • .In particular, the highest error is 7.8354 • (target position at 10 • ).The lowest error is 0.1673 • (target position at 290 • ).A possible source of error is the inaccuracy of the physical placement of the target.
The overall average percentage of outliers is 3.81%.The highest number of outliers for a given position of the target is 32, or 12.8% (target at 40 • ).For several positions, the results show no outliers.The low number of outliers can mean that there were few or no interfering signals in the received and processed samples.
The overall average standard deviation is 1.0883 • .This value indicates the consistency of the obtained results along all measurements.Figures 9-12 show the histograms for the target positions from 0 • to 90 • , 90 • to 180 • , 180 • to 270 • , and 270 • to 360 • , respectively.µ represents the AoA mean value and σ is the standard deviation.
Sensors 2024, 24, x FOR PEER REVIEW 14 of 21 lowest error is 0.1673° (target position at 290°).A possible source of error is the inaccuracy of the physical placement of the target.
The overall average percentage of outliers is 3.81%.The highest number of outliers for a given position of the target is 32, or 12.8% (target at 40°).For several positions, the results show no outliers.The low number of outliers can mean that there were few or no interfering signals in the received and processed samples.
The overall average standard deviation is 1.0883°.This value indicates the consistency of the obtained results along all measurements.Figures 9-12 show the histograms for the target positions from 0° to 90°, 90° to 180°, 180° to 270°, and 270° to 360°, respectively.µ represents the AoA mean value and σ is the standard deviation.The overall average percentage of outliers is 3.81%.The highest number of outliers for a given position of the target is 32, or 12.8% (target at 40°).For several positions, the results show no outliers.The low number of outliers can mean that there were few or no interfering signals in the received and processed samples.
The overall average standard deviation is 1.0883°.This value indicates the consistency of the obtained results along all measurements.Figures 9-12 show the histograms for the target positions from 0° to 90°, 90° to 180°, 180° to 270°, and 270° to 360°, respectively.µ represents the AoA mean value and σ is the standard deviation.

Scenario 2-Long-Range Experiments
In the second scenario, a DJI Mavic 3T-Basic Enterprise drone (DJI, Shenzhen, China) [33] is used as a target.This drone is a popular commercial drone and is a suitable choice for our experiments for several reasons.It has a maximum flight time of up to 45 min and a maximum transmission range of up to 15 km (FCC) in LOS, which allows us to perform a high number of measurements at various points across a large area in a single flight.The drone uses the 2.4 GHz and the 5.8 GHz ISM frequency bands with user-configurable DL frequency and bandwidth, which allows us to set the target frequency and match it with the phase calibration signal.Moreover, the drone log files with GPS flight data, which allows us to compute the actual AoA of the drone and use it as a reference when evaluating the system's performance.
In Scenario 2, the downlink signal is an OFDM signal with a bandwidth of 20 MHz, centered on 2.46 GHz.The drone is flown from 125 m to 2.5 km away from the receiving system in LOS, at an altitude of 300 m, hovering in 14 distinct positions.AoA measurements (azimuth) are made for the 14 positions of the drone using two different solutions:

Scenario 2-Long-Range Experiments
In the second scenario, a DJI Mavic 3T-Basic Enterprise drone (DJI, Shenzhen, China) [33] is used as a target.This drone is a popular commercial drone and is a suitable choice for our experiments for several reasons.It has a maximum flight time of up to 45 min and a maximum transmission range of up to 15 km (FCC) in LOS, which allows us to perform a high number of measurements at various points across a large area in a single flight.The drone uses the 2.4 GHz and the 5.8 GHz ISM frequency bands with user-configurable DL frequency and bandwidth, which allows us to set the target frequency and match it with the phase calibration signal.Moreover, the drone provides log files with GPS flight data, which allows us to compute the actual AoA of the drone and use it as a reference when evaluating the system's performance.
In Scenario 2, the downlink signal is an OFDM signal with a bandwidth of 20 MHz, centered on 2.46 GHz.The drone is flown from 125 m to 2.5 km away from the receiving system in LOS, at an altitude of 300 m, hovering in 14 distinct positions.AoA measurements (azimuth) are made for the 14 positions of the drone using two different solutions:

Scenario 2-Long-Range Experiments
In the second scenario, a DJI Mavic 3T-Basic Enterprise drone (DJI, Shenzhen, China) [33] is used as a target.This drone is a popular commercial drone and is a suitable choice for our experiments for several reasons.It has a maximum flight time of up to 45 min and a maximum transmission range of up to 15 km (FCC) in LOS, which allows us to perform a high number of measurements at various points across a large area in a single flight.The drone uses the 2.4 GHz and the 5.8 GHz ISM frequency bands with user-configurable DL frequency and bandwidth, which allows us to set the target frequency and match it with the phase calibration signal.Moreover, the drone provides log files with GPS flight data, which allows us to compute the actual AoA of the drone and use it as a reference when evaluating the system's performance.
In Scenario 2, the downlink signal is an OFDM signal with a bandwidth of 20 MHz, centered on 2.46 GHz.The drone is flown from 125 m to 2.5 km away from the receiving system in LOS, at an altitude of 300 m, hovering in 14 distinct positions.AoA measurements (azimuth) are made for the 14 positions of the drone using two different solutions: (1) the proposed system and (2) a professional DF solution (i.e., Narda ADFA) [34].These positions are marked with the dark red points on the map presented in Figure 13.
(1) the proposed system and (2) a professional DF solution (i.e., Narda ADFA) [34].These positions are marked with the dark red points on the map presented in Figure 13.The actual AoA angles are measured with respect to the 'North' orientation of the Narda ADFA, as illustrated in Figure 14.The yellow mark is the reference of the system.The actual AoA angles are measured with respect to the 'North' orientation of the Narda ADFA, as illustrated in Figure 14.The yellow mark is the reference of the system.
Sensors 2024, 24, x FOR PEER REVIEW 16 of 21 (1) the proposed system and (2) a professional DF solution (i.e., Narda ADFA) [34].These positions are marked with the dark red points on the map presented in Figure 13.The actual AoA angles are measured with respect to the 'North' orientation of the Narda ADFA, as illustrated in Figure 14.The yellow mark is the reference of the system.The receiver parameters are the same as in the first scenario: the I/Q rate is 1MSample/s, a snapshot contains 5000 complex I/Q samples, and a file contains 250 snapshots.For every position of the target 250 AoA values are computed using the MUSIC algorithm.
The results for Scenario 2 are presented in Table 2.For each position of the target signal, the following statistical data are shown: the AoA value that appears most fre- The receiver parameters are the same as in the first scenario: the I/Q rate is 1MSample/s, a snapshot contains 5000 complex I/Q samples, and a file contains 250 snapshots.For every position of the target 250 AoA values are computed using the MUSIC algorithm.
The results for Scenario 2 are presented in Table 2.For each position of the target signal, the following statistical data are shown: the AoA value that appears most frequently in the histogram and its count, the mean value, the standard deviation, and the error from the actual position of the target.These data are computed after eliminating the outliers.The percentage of outliers is also indicated in Table 2. Figure 16 presents a comparison between the obtained results.The X-axis shows the 14 positions while the Y-axis displays the corresponding AoA value (measured by the Narda ADFA, the proposed system, and calculated based on the GPS positions).These results show that the proposed system can indicate the AoA of a target that is up to 2.5 km away.Compared with the short-range scenario, the long-range scenario had more erroneous results, proving the theoretical construct that a low SNR decreases the accuracy of the AoA estimation.In the short-range scenario, the SNR is almost constant, These results show that the proposed system can indicate the AoA of a target that is up to 2.5 km away.Compared with the short-range scenario, the long-range scenario had more erroneous results, proving the theoretical construct that a low SNR decreases the accuracy of the AoA estimation.In the short-range scenario, the SNR is almost constant, being controlled as the target signal is a continuous wave of constant amplitude and the distance is constant (3 m).However, in the long-range scenario, the SNR varied uncontrollably because of the changing distance (125-2500 m) and the drone's adaptive power feature.
The average error with respect to the AoA computed based on the drone log files is 18.65 • .The minimum error is 12.16 • , while the maximum error is 25.92 • .For all 14 positions, the MUSIC implementation gives higher values than the GPS-based data.This can be caused by slightly different origins of the two systems and slightly different North references.The average error with respect to the Narda ADFA professional solution is 4.27 • .The minimum error is 0.4835 • , and the maximum error is −11.96• .The two receivers do not have the same origin (as can be seen in Figure 14), hence a deviation between the results of the measurements is understandable.The over-the-air calibration can also contribute to a constant error.Ideally, the calibration signal should be fed to the receiving channels via cables of the same length to estimate the phase shifts as reliably as possible.
The overall average percentage of outliers is 1.75%.The highest number of outliers for a given position is 24 (drone at 1 km, 128.32 • ).There are several positions where there are no outliers.The low percentage of outliers can mean that there are no interferences in the received, collected, and processed samples.The average AoA standard deviation is 0.9878.This low deviation indicates the high precision of the results throughout the experiments.
The measurement results from both scenarios show that the proposed system can evaluate the AoA of incoming signals impinging on the UCA array.In both cases, the results show a low percentage of outliers in the AoA values, which can be linked to little or no interferences.In the first scenario, since the target signal is a continuous tone and it is in close range to the receiver, it is unlikely that interferences override the target signal.In the second scenario, however, the target is the downlink signal from a drone.This signal is not continuous as it has a gap of a few milliseconds between packets, like WLAN signals.Thus, if the received snapshots correspond to the gaps between the packets, the resulting AoA value is not relevant.

Conclusions
The rise of UAV communications leads to a corresponding rise in safety measures associated with it.Drone localization is, therefore, a hot topic and can be performed in a variety of methods depending on the available resources.An SDR-based UAV localization system is presented in this paper.The proposed system implements the super-resolution MUSIC algorithm using a five-element UCA array.The received samples are recorded and stored in files using LabVIEW.These files are then processed offline in Matlab.The performance of the system is evaluated in two outdoor scenarios.The first scenario tests the ability to perform 360 • localization in close range using a continuous signal as the target.The second scenario tests the long-range ability to localize the AoA of a drone with a known operating frequency that is flown to 2.5 km from the receiving system.The results show the capability of the proposed solution to localize the AoA of RF targets up to 2.5 km.To validate the proposed solution, a professional direction-finding system (i.e., Narda ADFA) is also used in the second scenario, yielding similar results.The low standard deviations for both scenarios indicate the high precision of the obtained AoA results when there is no interference.
In case of interference, several major sets of concentrated values appear on the histogram representation, one of them corresponding to the target.This means that even though there is interference, the target signal is still located, but, by analyzing these results, it cannot be said which is which.Moreover, including such results in a statistical analysis would yield high errors, high standard deviations, and various mean values, and would make it difficult to extract conclusive remarks.To overcome this in a real-time implemen-tation, a heatmap of the obtained results is a suitable method for estimating and keeping track of the AoA of the target signal.
Having a precise North reference of the array is important for obtaining accurate results.In our implementation, the 0 • angle points toward the geographical North.As in many DF systems, this aligns with the concept of azimuth where angles are measured clockwise from the North direction in a horizontal plane.To achieve this, a compass can be used to properly align the UCA, but magnetic declination should be accounted for to obtain accurate results.A GPS receiver can also be used to determine the position and the orientation of the UCA.Moreover, once the UCA is properly aligned, the antennas should be anchored for proper operation in windy conditions.In future work, this aspect will be more rigorously addressed to remove the positioning errors and offsets caused by array misalignment.
To further improve the solution, the authors aim to (1) implement real-time system operation by integrating all signal processing in a single application and (2) reduce the size of the system by implementing the AoA algorithm on an FPGA board with multiple coherent channels.

Figure 1 .
Figure 1.MUSIC simulation of the ULA array.

Figure 1 .
Figure 1.MUSIC simulation of the ULA array.
Two signals impinging on a five-element UCA with inter-element spacing of half lambda are simulated.The first signal comes from [−57 • azimuth; 50 • elevation] and the second signal [37 • azimuth; 20 • elevation].The SNR is 5 dB.

Figure 2
illustrates the results of the MUSIC algorithm.Two signals impinging on a five-element UCA with inter-element spacing of half lambda are simulated.The first signal comes from [−57° azimuth; 50° elevation] and the second signal [37° azimuth; 20° elevation].The SNR is 5 dB.

Figure 2 .
Figure 2. MUSIC simulation of the UCA array.

Figure 2 .
Figure 2. MUSIC simulation of the UCA array.

Figure 4
Figure 4 presents the implementation of the conceptual architecture using NI hardware components.The parameters for all five receiving channels are set in the LabVIEW environment as follows: central frequency, sampling frequency, number of samples, and gain.The implemented AoA method has 4 steps: (1) calibration samples acquisition, (2) DF samples acquisition, (3) calibration, and (4) AoA computation.(1)Calibration samples acquisition-The signal generator is set to prepare the calibration tone (a sine tone on the central frequency of the receivers).The output port of the signal generator is connected to an antenna placed in the center of the circle described by the five antennas of the UCA array.Thus, the signal arrives at the antennas at the same time.The phase differences obtained between the array elements are due to the random phase shift that occurs at retune commands and is constant during operation.Then, the receivers and the signal generator are set to run.The SDRs stream the received calibration samples to the host computer.A LabVIEW application stores these samples in binary files.After that, the signal generator is removed.(2)DF samples acquisition-The SDRs stream the received DF samples to the computer.These samples are also stored in binary files for offline processing.

Figure 4 .
Figure 4. Implementation of the system architecture using hardware components.

Figure 4 .
Figure 4. Implementation of the system architecture using hardware components.

Figure 6
Figure 6 shows the experimental setup.

Figure 8 .
Figure 8. Histogram for one position of the target.

Figure 8 .
Figure 8. Histogram for one position of the target.

Figure 8 .
Figure 8. Histogram for one position of the target.

Figure 13 .
Figure 13.Map view of the measurement points.

Figure 14 .
Figure 14.Actual AoA angles calculation based on the reference.

Figure 15
Figure 15 shows the receiving system.

Figure 13 .
Figure 13.Map view of the measurement points.

Figure 13 .
Figure 13.Map view of the measurement points.

Figure 14 .
Figure 14.Actual AoA angles calculation based on the reference.

Figure 15
Figure 15 shows the receiving system.

Figure 14 .
Figure 14.Actual AoA angles calculation based on the reference.

Table 1 .
System performance in Scenario 1.

Table 2 .
System performance in Scenario 2.