A Reduced Complexity Cross-correlation Interference Mitigation Technique on a Real-Time Software-defined Radio GPS L1 Receiver
Erick Schmidt and, David Akopian, The University of Texas at San Antonio; Zach A. Ruble and, Daniel J. Pack, The University of Tennessee at Chattanooga
The U.S. global position system (GPS) is a popular global navigation satellite systems (GNSS) that provides position and time information for users in civil, commercial and military applications. After GPS was made available to commercial and civil markets, the use of such technology rapidly expanded to the point where there is a high dependency on the system for everyday operations. With the arrival of modern technology, such as autonomous cars and pseudolites for indoor navigation, our reliance on GNSS applications is only rising.
With so many existing applications that depend on GPS, it is crucial for the GPS receivers to have robustness in terms of intentional or unintentional interference. GPS signals can experience unintentional interference from other Radio Frequency (RF) bands, or intentional interference due to malicious jamming and/or spoofing attacks. Jamming is the intentional transmission of strong RF signals that overwhelm weaker GPS satellite signal, therefore blinding the target receiver from satellites. On the other hand, spoofing is the clever transmission of counterfeit GNSS-like signals that entail the receiver to compute erroneous positioning and timing.
GPS interference mitigation techniques is still an active and important topic of research today. There have been many techniques developed to deal with both intentional and unintentional interference over the years, which we separate into two groups: 1) those that use an array of antennas -, and 2) those that use a single antenna -. Adaptive antenna array methods provide powerful countermeasure solutions which exploit direction-of-arrival (DOA) information. However, this approach typically requires two or more antennas which translates to costly implementations.
Due to the intense computational requirements, conventional GPS receivers use hardware application specific integrated circuits (ASICs) which provide very efficient computation, but at the cost of limited flexibility and adaptability in implementing emerging GNSS receiver technology. In this context, software defined radio (SDR) seems to be the natural solution, where hardware receiver components are replaced with software that can be reconfigured. The flexibility introduced by using SDR make it an ideal option for fast prototyping and testing of new receiver architectures and algorithms. The major objective of a software receiver then, is to efficiently implement high rate computations while maintaining a desired amount of flexibility. These two objectives are generally at odds with one another, where an improvement in one feature often occurs at the expense of the other.
Many existing SDR GNSS receivers have been developed with differing levels of hardware and software implementation. These receivers generally use either a combination of field programmable gate arrays (FPGAs) and digital signal processors (DSPs) -, a combination of FPGA hardware and PC software , or are fully implemented in software on a PC , . Of the mentioned SDR GNSS receivers, only a few of them address interference mitigation. In , authors implement and test a real-time software receiver for detecting the presence of spoofing. Authors in  evaluate the performance of interference mitigation using wavelets for Radio Frequency Interference (RFI) and notch filtering for Continuous Wave Interference (CWI) using recorded GPS data on their software receiver platform IpexSR . All of the existing interference mitigation techniques implemented in SDR use either recorded GPS data, or only detect the presence of interference.
This paper provides a proposed minimum mean-squared error (MMSE) interference mitigation technique from  which is enhanced for computational feasibility, and implemented on a real-time capable GPS L1 SDR receiver. The GPS SDR receiver software has been optimized for real-time operation on National Instruments’ LabVIEW platform in conjunction with C/C++ dynamic link libraries (DLL) for improved efficiency. An interference injection and mitigation testbed was developed to simulate real-time GNSS-like interference with real satellite signals. Simulations show the SDR system was able to reject an interference signal with power levels up to 30dB higher than the satellite signal power. Furthermore, the system was able to reject interference from up to three simultaneous interference signals, each with 30 dB higher power than satellite signal power. Additionally, the proposed receiver is able to inject and correct interference for up to 12 channels in real-time operation mode. The novelty of this approach is the practical application and demonstration of mitigation on GPS-like spoofing signals.
The technique described in this paper mitigates the interference phenomena through optimization approach and by incorporating interference-rejection filters in signal acquiring correlators. Two tasks are addressed: (a) tuning the proposed signal processing approach in  for stable operation and variable-length real signals; (b) implementing real-time version for real-world applications on a computing platform.
For the first task, we adapt an interference mitigation concept suggested previously by the authors to real operational environment . GPS receivers use waveforms that replicate periodically replicated fragments of the signals communicated by GPS satellites, called dispreading codes which are unique for each satellite. These codes are used for both isolation (filtering) of required satellite signals for further processing and for synchronization of satellite signals with locally generated replica dispreading codes. The considered concept of interference mitigation varies dispreading code for two concurrent tasks: desired signal selection and jamming signal filtering.
As mentioned above, GPS receivers use replica waveforms for synchronization with the received satellite signals. The synchronization process provides measurements of satellites-to-receiver signal propagation times used for range computations and extracts navigation data that provide orbital models for estimating satellite locations. Then the range measurements and satellite locations are exploited for positioning using trilateration techniques. While conventional dispreading codes are fixed and known, the proposed method exploits adaptive modifications of these codes to minimize interference caused by the cross-correlating jammers (Figure 1). The method integrates two signal processing concepts: (1) conventional GPS spread spectrum signal reception using synchronization correlators; (2) an interference mitigation technique using modifications of these correlators that serve concurrently as jammer filters. The corrections of the conventional dispreading code used in the correlator serve as filter components and perform a task that is similar to blind equalization with interference cancellation. For finding optimal code corrections, an optimization problem is formulated for the minimization of interference using mean squared error (MSE) cost function. Fast algorithms are also proposed for computationally-limited platforms.
Moreover, the optimization problem is solved in an adaptive manner to handle time-varying interference. The methods are based on the convex optimization theory where the MSE is regarded as a convex function in the dispreading code. At the optimal point (optimal dispreading code), the algorithm maximizes the signal-to-interference-plus-noise ratio (SINR) for the weak satellite signal (see Figure 1). The algorithms adapt to the type of interference with the code tracking and code updates performed in parallel. The compact form of the MSE gradient makes this method easy to implement in an adaptive and computationally efficient way (in a code-adjustment loop).
For the problem formulation, the following is defined. A synchronized GPS receiver wipes-offs (dispreads) satellite codes by multiplying to a locally generated dispreading code h_k and integrating. The decision variable d_k is a correlator associating received signal r_k and dispreading replica for the channel k as follows:
d_k = h_k^T * r_k (1)
where h_k is a unit norm vector, that does not amplify or attenuate the received power during a bit-period. As seen in , each receiver channel k defines and minimizes a mean-squared error (MSE) cost function denoted as MSE_k. The MSE cost function for each satellite k can be written as follows:
MSE_k = E[ ( b_k - d_k/sqrt(p_k) )^2 ] (2)
Where E is the expected value, b_k is the received unit bit polarity, and p_k is the received power used to normalize the correlation value d_k. The cost function is reduced by a minimization of a quadratic function and linearization by certain conditions. The final solution is known as a solution of a linear equation in :
h_k = p_k * R_k^-1 * s_k^0 (3)
where R_k^-1 is matrix inverse if it exists, or pseudoinverse for a minimum norm solution. A consideration at hand is the implementation feasibility of the MMSE receiver in (3) for mobile devices. The computational cost of a large size matrix inversion R_k^-1 as seen in (3), is typically very high for mobile devices with a complexity order of O(N^3).
Therefore, a group weighting method that could trade-off complexity vs performance in the code adaptation. This method decreases the computation complexity by collapsing the original dimension of the optimization space, N, to another dimension, M, with M < N. The procedure is based on the definition of M new orthogonal dimensions by grouping the elements of the received signal vector, namely chips. Without the loss of generality, we oversample the received signal such that the new space dimension is N=1024 (size power-of-two). This new dimensional space M can be seen as a group of partial correlations with size g. Figure 3 shows the interaction of these partial correlations with input samples and how they are used to estimate corrections for an optimal solution in d_k. Each partial correlation is used to build R matrix to obtain an optimal solution similar to (3), where h_k coefficients maximize SINR in the MMSE receiver.
 M. G. Amin and W. Sun, "A novel interference suppression scheme for global navigation satellite systems using antenna array," IEEE Journal on Selected Areas in Communications, vol. 23, pp. 999-1012, 5 2005.
 G. Carrie, F. Vincent, T. Deloues, D. Pietin and A. Renard, "A New Blind Adaptive Antenna Array for GNSS Interference Cancellation," in Proc. Conf. Record of the Thirty-Ninth Asilomar Conf. Signals, Systems and Computers, 2005.
 R. L. Fante and J. J. Vaccaro, "Wideband cancellation of interference in a GPS receive array," IEEE Transactions on Aerospace and Electronic Systems, vol. 36, pp. 549-564, 4 2000.
 M. Sahmoudi and M. G. Amin, "Optimal Robust Beamforming for Interference and Multipath Mitigation in GNSS Arrays," in Proc. IEEE Int. Conf. Acoustics Speech and Signal Processing - ICASSP '07, 2007.
 J. Arribas, C. Fernandez-Prades and P. Closas, "Antenna array based GNSS signal acquisition for interference mitigation," IEEE Trans. Aerosp. Electron. Syst., vol. 49, no. 1, pp. 223-243, 2013.
 C. Lacatus, D. Akopian and M. Shadaram, "Reduced complexity crosscorrelation interference mitigation in GPS-enabled collaborative ad-hoc wireless networks--Theory," Computers \& Electrical Engineering, vol. 38, pp. 603-615, 2012.
 G. Seco-Granados, J. A. Fernandez-Rubio and C. Fernandez-Prades, "ML estimator and hybrid beamformer for multipath and interference mitigation in GNSS receivers," IEEE Trans. Signal Process., vol. 53, no. 3, pp. 1194-1208, 2005.
 D. Borio, "GNSS acquisition in the presence of continuous wave interference," IEEE Transactions on Aerospace and Electronic Systems, vol. 46, 2010.
 D. Borio, L. Camoriano, S. Savasta and L. L. Presti, "Time-frequency excision for GNSS applications," IEEE Systems Journal, vol. 2, pp. 27-37, 2008.
 P. Closas, C. Fernandez-Prades and J. A. Fernandez-Rubio, "Maximum Likelihood Estimation of Position in GNSS," IEEE Signal Processing Letters, vol. 14, no. 5, pp. 359-362, 2007.
 S. Savasta, L. L. Presti and M. Rao, "Interference mitigation in GNSS receivers by a time-frequency approach," IEEE Transactions on Aerospace and Electronic Systems, vol. 49, pp. 415-438, 2013.
 J. M. C. Arvizu, A. J. A. Cruz and others, "GNSS receiver based on a SDR architecture using FPGA devices," in Electronics, Robotics and Automotive Mechanics Conference (CERMA), 2011 IEEE, 2011.
 Fridman and S. Semenov, "System-on-chip FPGA-based GNSS receiver," in East-West Design \& Test Symposium, 2013, 2013.
 J. Tian, W. Ye, S. Lin and Z. Hua, "SDR GNSS receiver design over stand-alone generic TI DSP platform," in Spread Spectrum Techniques and Applications, 2008 IEEE 10th International Symposium on, 2008.
 Soghoyan, A. Suleiman and D. Akopian, "A development and testing instrumentation for GPS software defined radio with fast FPGA prototyping support," IEEE Transactions on Instrumentation and Measurement, vol. 63, pp. 2001-2012, 2014.
 Molino, M. Nicola, M. Pini and M. Fantino, "N-Gene GNSS software receiver for acquisition and tracking algorithms validation," in Signal Processing Conference, 2009 17th European, 2009.
 M. Anghileri, A. S. Ayaz, V. Kropp, J.-H. Won, B. Eissfeller, T. Pany, C. Stober, D. Dotterbock, I. Kramer and D. S. Guixens, "ipexSR: A real-time multi-frequency software GNSS receiver," in ELMAR, 2010 PROCEEDINGS, Zadar, 2010.
 E. Falletti, B. Motella and M. T. Gamba, "Post-correlation signal analysis to detect spoofing attacks in GNSS receivers," in Signal Processing Conference (EUSIPCO), 2016 24th European, 2016.
 M. Paonni, J. G. Jang, B. Eissfeller, S. Wallner, J. A. A. Rodriguez, J. Samson and F. A. Fernandez, "Innovative interference mitigation approaches: analytical analysis, implementation and validation," in Satellite Navigation Technologies and European Workshop on GNSS Signals and Signal Processing (NAVITEC), 2010 5th ESA Workshop on, 2010.