Enhancing GNSS Tracking Resilience: An SDR-based Approach with Four-Element Antenna Array Hamid Kavousi Ghafi1,* , Gรผnther Obertaxer1 , Michael Schรถnhuber1 and Holger Arthaber2 1 Institute for Digital Technologies,Joanneum Research Group, Graz, Austria 2 Institute of Electrodynamics, Microwave and Circuit Engineering, TU Wien, Wien, Austria Abstract This paper introduces a coherent 2x2 Software-Defined Radio (SDR) based antenna array designed to mitigate interference within the Global Navigation Satellite System (GNSS). It first proposes an innovative method for estimating satellite steering vectors. The study integrates Minimum Variance Distortionless Response (MVDR) and Linearly Constrained Minimum Variance (LCMV) techniques into a GNSS receiverโ€™s tracking system to counteract interference. Results demonstrate the significant enhancement in tracking loop resilience, preventing lock loss in the presence of high-power chirp jamming signals, thus advancing receiver performance under challenging signal conditions. Keywords Interference, SDR, Antenna Array, MVDR, LCMV 1. Introduction The deployment of GNSS technology in services crucial for safety and mission success has given rise to concerns regarding potential scenarios where GNSS service could be intentionally disrupted. These concerns stem from GNSSโ€™s susceptibility to interference, which has the potential to undermine the reliability of essential services, such as power distribution grids and civil aviation systems [1]. Various solutions have been suggested to address the interference challenge. These solutions en- compass approaches involving the utilization of variation in Carrier-to-Noise Density (๐ถ/๐‘0 ) among a network of receivers, the application of the Time Difference of Arrival (TDOA) technique, and the utilization of Direction of Arrival (DOA) estimation through adaptive antenna array processing [2]. Among the different approaches, array processing has shown promise in suppressing interference and has been widely explored by researchers in the field. It can be broadly categorized into two main categories: blind beamforming and adaptive beamforming [3]. In the blind approach, algorithms are applied without the need for antenna calibration [4]. For example, in [1] an abstract version of MVDR, where the steering vector is set to [1 0 . . . 0], is used for interference mitigation. This results in suboptimal performance, including decreased desired signal power alongside interference suppression. In [5], a different approach is presented, involving the use of the full calibration of the antenna system. The calibration matrix is derived using the signals from satellites in view. While this method exhibits improved performance compared to blind beamforming, it also incurs heightened complexity and computational demands. Our research focuses on deploying the MVDR and LCMV algorithms without requiring complete calibration of the antenna array. Initially, we estimate the steering vector towards both the satellite and the interference source. Subsequently, these estimations are utilized by adaptive beamforming algorithms within the tracking loop to ensure its robustness. Our approach not only effectively mitigates interference but also maintains the simplicity of blind beamforming techniques. WIPHAL 2024: Work-in-Progress in Hardware and Software for Location Computation, June 25-27, 2024, Antwerp, Belgium * Corresponding author. $ hamid.kavousighafi@joanneum.at (H. K. Ghafi); Guenther.Obertaxer@joanneum.at (G. Obertaxer); michael.schoenhuber@joanneum.at (M. Schรถnhuber); holger.arthaber@tuwien.ac.at (H. Arthaber)  0000-0002-8920-7512 (H. K. Ghafi); 0000-0003-4193-331X (G. Obertaxer); 0000-0001-5042-853X (M. Schรถnhuber); 0000-0002-9218-5510 (H. Arthaber) ยฉ 2024 Copyright for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). CEUR ceur-ws.org Workshop ISSN 1613-0073 Proceedings 2. Hardware Figure 1 illustrates the block diagram of the implemented hardware. This consists of three main components: an antenna array, a receiver platform, and a pulse generator. Figure 1: The block diagram of the hardware. The antenna array comprises four commercial elements, specifically the Tallysman TW3202 model antennas. These antennas are arranged in a rectangular configuration with a spacing of 9.5 cm between adjacent elements. This space corresponds to approximately half of the wavelength at the center frequency of the L1 band, which is the primary focus of our analysis. It is important to note that the analysis can be easily extended to other frequency bands. Figure 2 illustrates the implemented 2x2 antenna elements. Figure 2: Photograph of the antenna elements The receiver platform is designed to capture and process the received signals. The platform consists of four HackRF One SDRs functioning as RF front-ends. An extra SDR is also integrated into the platform to generate interference signals. This additional SDR (Tx) is necessary due to legal restrictions that prohibit signal transmission into space within the GNSS bands. The clock signals of the SDRs are shared via the clock in and out ports, ensuring precise frequency synchronization among them. A Temperature-Compensated Crystal Oscillator (TCXO) circuit generates the clock for the first SDR. To facilitate signal transmission from the antenna array to the receiver platform, four equal-length cables with a length of 10 meters are utilized. Before reaching the receivers, the signals are combined with the interference signal path. The generated interference signal is initially split into four paths, and each path is then merged with the respective GNSS signal before being fed to the receivers. Itโ€™s important to highlight that although the interference is fed to receivers with the same phase, the received signals exhibit random phase differences. As the LO frequency is derived from a non-integer multiple of the 10 MHz clock, the SDRโ€™s PLL will result in unknown phase-offsets between all SDRs after initialization. Figure 3 illustrates the receiver platform of the setup. Figure 3: Photograph of the receiver platform To achieve time domain synchronization, a 1 PPS (Pulse Per Second) signal is generated by a u-blox ZED-F9P module. The synchronization approach for the HackRF One SDRs is fully explained in [6], where the implementation allows precise synchronization of multiple SDRs with an error of less than 1 sample. 3. Software The software consists of two primary sections: recording and processing. The implementation is carried out using the Python programming language. 3.1. Recording The recording involves capturing raw IQ data from four antennas simultaneously. To achieve this, four parallel threads are defined for the four receiving SDRs. These threads are initiated through a keyboard event. Additionally, another thread specifically for the Tx SDR is triggered by a separate keyboard event. Two different keyboard events are defined to stop both transmitting and receiving. Importantly, users have the flexibility to intentionally turn on and off transmitting while recording. 3.2. Processing In our study, we have implemented the acquisition and tracking components of a GPS system to evaluate the performance of our algorithm. The acquisition is conducted like the conventional single-antenna approach. During this stage, we derive initial estimates of the carrier frequency and code delay, which are subsequently used to initialize the tracking loop. Our approach for acquisition is based on FFT cyclic correlation. A detailed explanation of this method can be found in [7]. In our work, we have employed a classical tracking implementation using loop filters [8], with one notable difference โ€“ instead of using a single antenna, we combine input signals from multiple antennas. The algorithm to determine the adaptive beamforming coefficients for this combination is explained in the following subsection. The beamforming is executed independently for each individual satellite channel. The processing diagram, illustrated in Figure 4, provides an overview of the entire process. Figure 4: The block diagram of the new tracking process. Within this diagram, two critical blocks require special attention: adaptive beamforming and steering vector estimation. These blocks are pivotal in enhancing the received signal when utilizing an antenna array, ultimately leading to improved tracking performance. 3.3. Adaptive Beamforming In our study, we employ the MVDR and LCMV techniques to counteract the deleterious effects of interference in GNSS receivers. The fundamental principle underlying both methods involves the attenuation of received signal power within specified constraints. The MVDR technique operates by preserving signal power at the desired angle through constraint imposition, while the LCMV method introduces an additional constraint aimed at establishing a null in the direction of the interfering source. Supposing a limited frequency range analysis where both interference signals and satellite signals are considered to be narrowband, the discrete-time representations of received signals from the antenna array, with arbitrary configuration, can be written as follows: r = a๐‘  + b๐‘ก + n. (1) Where r represents the ๐‘€ by 1 vector of received signals from ๐‘€ antenna elements. The n is the AWGN noise vector, s is the desired signal at the input of the first element, t is the interference signal, a and b are the steering vector of the desired and interference signals. The steering vector can be presented as: a = [1, ๐‘’๐‘—๐œƒ2 , ๐‘’๐‘—๐œƒ3 , . . . , ๐‘’๐‘—๐œƒ๐‘€ ]๐‘‡ , (2) The ๐œƒ๐‘– denotes the phase difference between the first element and the ๐‘–th element of the array when a signal is incident to the array from a spatial angle. The correlation matrix of the received signals from the antennas can be defined as: R = ๐ธ[rr๐ป ] = aRss a๐ป + bRtt b๐ป + ๐œŽ 2 ๐ผ๐‘€ . (3) where in this equation, Rss is the correlation matrix of the satellite signal, Rtt is the correlation matrix of the interference signal, and ๐œŽ 2 is the noise variance. In practice, the exact value of the correlation matrix is not available, and instead, an estimation is used: ๐‘ 1 โˆ‘๏ธ ๐ป Rฬ‚ = r๐‘– r๐‘– , (4) ๐‘ ๐‘–=1 The ๐‘ is the number of snapshots used for estimation, and r๐‘– represents the ๐‘– snapshot of received signals. The output signal is calculated using a weight vector as follows: y = w๐ป r, (5) The power spectrum is calculated as below: 1 โˆ‘๏ธ 2 โˆ‘๏ธ ๐ป ๐ป ๐‘ƒ (w) = |y| = ^w (w rr w) = w๐ป R (6) ๐‘ In a scenario where the desired signalโ€™s power is significantly weaker than that of the interference signal, the expressions for MVDR manifest as follows: min ๐‘ƒ (w) subject to w๐ป a(๐œƒ) = 1 (7) w The expression for wMVDR can be given by [9]: a wMVDR = โˆ’1 . (8) a๐ป Rฬ‚ a The formula indicates that for effective utilization of the MVDR approach, having the steering vector pointing towards the satellite is essential. In the subsequent subsection, we derive the steering vector without performing a full array calibration. The LCMV formulation resembles that of MVDR but incorporates additional constraints. min ๐‘ƒ (w) subject to w๐ป a(๐œƒ) = ๐‘”1 ๐‘Ž๐‘›๐‘‘ w๐ป b(๐œƒ) = ๐‘”2 (9) w The expression for wLCMV can be given by [10]: โˆ’1 โˆ’1 wLCMV = Rฬ‚ A(A๐ป Rฬ‚ A)โˆ’1 g (10) The matrix A comprises two rows, including the steering vectors for both the desired and interfering signals. The vector g corresponds to the constraint gains, g = [๐‘”1 , ๐‘”2 ]. A reasonable choice for g would be to set its corresponding element to one in the desired direction and to zero for the undesired direction. Given our assumption that the interference signal has greater power compared to the desired signal, deriving the steering vector b associated with the interference signal becomes straightforward by extracting it from the first row of the covariance matrix. 3.4. Steering Vector Estimation The process of deriving the steering vector of a satellite involves running a tracking loop for each individual antenna separately, but only for a short period. During this time, we extract the carrier phase for each antenna. By considering antenna one as the reference, we can then average the phase differences to obtain an estimation for the steering vector. The averaging is carried out once the tracking loop has converged. It is worth noting our algorithm targets a startup in low-interference and supports tracking during high-interference scenarios. Due to the use of a Costas loop in the Phase-locked loop (PLL), there is a possibility that the phase of some antennas might be rotated by an additional 180 degrees. To address this, we can examine the in-phase component of the output signal ๐ผ๐‘ . With this information, we can now apply the MVDR and LCMV approaches in each iteration to determine the tracking loopโ€™s adaptive weighting vector (w). (a) (b) Figure 5: The performance of interference mitigation algorithms: a) PRN code 14 b) PRN code 24. 4. Results We conducted a measurement campaign in an open-sky environment to validate the algorithms. In our tests, we utilized an interference signal exhibiting characteristics of a linear chirp with a chirp rate of 3 MHz/๐œ‡s, utilizing a 10 MHz bandwidth. In commercial GNSS receivers, strategies for handling CW signals differ from relying on spatial filtering. The algorithm performance is evaluated using the tracking ๐ถ/๐‘0 estimator, regardless of whether the noise source is additive white Gaussian noise or the interference signal. In this paper, the interference power is quantified within a 1 kHz bandwidth at the output of each combiner in the experimental setup (see Figure 1). The 1 kHz bandwidth aligns with the loop filterโ€™s bandwidth in the tracking loop, given that the integration time remains set at 1 ms. In the first test, we introduced interference to the array at a power level of -102 dBm. During this measurement campaign, three satellites with PRN numbers 14, 23, and 24 were detected in the acquisition process. When there was no interference, PRN number 14 exhibited the lowest ๐ถ/๐‘0 of around 44 dB-Hz, while PRN number 24 displayed the highest ๐ถ/๐‘0 at approximately 50 dB-Hz. We applied the algorithms to both satellites and compared their performance. Figure 5 illustrates the outcomes of the algorithms for these two satellites. As depicted in Figure 5a, the PLL loses lock on satellite 14 due to the interference signal. This figure reveals that while MVDR fails to enhance the PLL performance under these conditions, the LCMV significantly aids the PLL in retaining synchronization and executing subsequent processing steps. On the other hand, Figure5b portrays a scenario where the ๐ถ/๐‘0 is sufficiently high, maintaining phase lock even during single-element analysis. The MVDR and LCMV techniques exhibit a relative performance enhancement of approximately 3 dB and 5 dB, respectively. In interference-free conditions, MVDR exhibits superior performance compared to LCMV. In MVDR, the constraint primarily focuses on amplifying the desired signal. Consequently, in such scenarios, the coefficient vector of the array aligns with the principles of classical beamforming approaches, optimizing the combination of desired signals in the most constructive manner. When comparing the MVDR outputs between satellites 14 and 24, it becomes evident that it yields a greater amplification for satellite 24. This discrepancy arises due to the higher ๐ถ/๐‘0 associated with satellite 24, resulting in a more precise estimation of the steering vector specific to this satellite. Another crucial analysis is to assess the influence of interference angles on mitigation algorithms. Achieving varied angles of incidence for interference equals a test rerun. This is attributed to the inherent nature of SDRs operating in a free-run phase, where each recording initiation results in randomized phase discrepancies among individual elements, effectively simulating diverse incident angles of interference. Figure 6 illustrates the efficacy of the mitigation algorithm employed during the second test, which emulates another angle of interference. When comparing Figure 6 to Figure 5b, it becomes evident that the efficacy of both approaches significantly depends on the angle at which Figure 6: The performance of the mitigation algorithms for another angle of interference for satellite PRN code 24. the interference occurs. In the second test, the performance of both methods surpasses that of the previous test, where the interference occurred at a different angle. This arises from the act of imposing a constraint to optimize power towards the specific satellite direction, which implicitly influences the interference signal in a stochastic manner. In other words, this constraint leads to a random variation in the interference power, either increasing or decreasing it. The second constraint in the LCMV method aimed at reducing interference power will decrease the interference signal atop this randomness. In the second test, the LCMV method operates akin to an environment devoid of interference. In the third test, we varied the interference power to assess the performance of the satellite PRN 23 tracking loop. Initially, we set the front-end gain to the minimum possible value. For the gains below this value, the single-element analysis fails to track the satellite in the absence of interference, thereby impeding the estimation of the steering vector. At this set gain, we could raise the interference power up to -70 dBm, as exceeding this level would lead to saturation of the SDRโ€™s ADC. For interference power levels below -70 dBm, the ๐ถ/๐‘0 of each algorithm is depicted in Figure 7. Notably, while the single-element antenna maintained tracking until the interference power reached -100 dBm, the LCMV method sustained tracking up to the maximum attainable power of -70 dBm. The inability to capture higher power interference constrains our ability to accurately estimate the maximum power level at which the proposed LCMV method maintains signal synchronization without experiencing a loss of lock. The results show that while the MVDR technique provides a modest enhancement to the resilience of the tracking system, the LCMV method substantially improves tracking performance. 5. Conclusion This study embarked on the initial implementation of SDR-based hardware, successfully establishing a coherent four-element antenna array. The central objective was to harness the arrayโ€™s potential for mitigating and suppressing interference effects during the tracking stage of a GNSS receiver. A chirp wideband signal was generated and introduced into the antenna path to emulate interference scenarios. In the processing phase, we introduced an innovative methodology to estimate the steering vector of the target satellite. Subsequently, the MVDR and LCMV techniques were incorporated. The efficiency Figure 7: The ๐ถ/๐‘0 of the satellite PRN code 23 versus interference power. of our proposed algorithm was examined through an executed measurement campaign. This campaign demonstrated the pronounced capabilities of our approach in safeguarding the tracking loop from losing lock under conditions of severe interference, thereby enabling the successive recovery of the in-phase component of the signal. References [1] Arribas, Javier, Pau Closas, and Carles Fernรกndez-Prades. "Interference mitigation in GNSS re- ceivers by array signal processing: A software radio approach." 2014 IEEE 8th Sensor Array and Multichannel Signal Processing Workshop (SAM). IEEE, 2014. [2] Xu, Zili, Matthew Trinkle, and Douglas A. Gray. "Weak interference direction of arrival estimation in the GPS L1 frequency band." 2015 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2015. [3] Broumandan, Ali, et al. "Overview of spatial processing approaches for GNSS structural interference detection and mitigation." Proceedings of the IEEE 104.6 (2016): 1246-1257. [4] Daneshmand, Saeed, Thyagaraja Marathe, and Gรฉrard Lachapelle. "Millimetre level accuracy GNSS positioning with the blind adaptive beamforming method in interference environments." Sensors 16.11 (2016): 1824. [5] Anantharamu, Pratibha B., Daniele Borio, and Gรฉrard Lachapelle. "Self-Contained Antenna Array Calibration using GNSS Signals." Navigation: Journal of The Institute of Navigation 59.3 (2012): 209-220. [6] Bartolucci, Marco, et al. "Synchronisation of low-cost open source SDRs for navigation applications." 2016 8th ESA Workshop on Satellite Navigation Technologies and European Workshop on GNSS Signals and Signal Processing (NAVITEC). IEEE, 2016. [7] Cui, Hao, Zhigang Li, and Zheng Dou. "Fast acquisition method of GPS signal based on FFT cyclic correlation." International Journal of Communications, Network and System Sciences 10.8 (2017): 246-254. [8] Borre, Kai, et al. A software-defined GPS and Galileo receiver: a single-frequency approach. Springer Science & Business Media, 2007. [9] Applebaum, S., and Dean Chapman. "Adaptive arrays with main beam constraints." IEEE Transac- tions on Antennas and propagation 24.5 (1976): 650-662. [10] Chen, Hao and Zhang, Renli and Sheng, Weixing and Han, Yubing and Ma, Xiaofeng. "Fast implementation of LCMV anti-jamming algorithm for GPS navigation." 2016 IEEE International Workshop on Electromagnetics: Applications and Student Innovation Competition (iWEM)