# A Software Defined Radio Based Anti-UAV Mobile System with Jamming and Spoofing Capabilities
## 3 System Functionalities
### Spoofing  
Spoofing, in general, is a fraudulent or malicious practice in which communication is sent from an unknown source, disguised as a source known to the receiver. The use of spoofing is more common in mechanisms and communication networks that do not have a high level of security. In the civil GPS signal, there is not any type of encryption or authentication to protect or to prove that the signal comes from a reliable source or the non-occurrence of repudiation of the signal. Thus, to accomplish spoofing and deceive a GPS receiver, one can simulate GPS signals as if they are coming from real satellites.  
The spoofing developed in this project is based on our previous study [21], which considered an open hardware electronic prototype platform, sensors, an SDR module and a system on chip (SoC) as the central processor of the system. The adopted approach used a simple spoofing technique, which could generate and transmit false GPS signals.  
The indirect acquisition of the drone control is carried out through the use of the ephemeris files, provided that they allow the simulation of a set of satellites, thus, forming a hypothetical constellation, which subsequently generates baseband signal data streams that are transmitted in the frequency range of the satellite location system. The system was designed with two spoofing modes of operation, one that worked by taking into account only the drone's location, and another, which took into account not only the location but also the direction and speed. Using these parameters, it is possible to implement and apply the spoofing more smoothly and less noticeably to the target. In [21], the spoofing functionalities were studied and tested on various devices, such as different GPS receivers: smartphones, u-blox M8 GNSS Evaluation Kit, and u-blox MAX-7Q. In this paper, we gave more focus to testing the spoofing functionality integrated into the complete anti-UAV system and targeted at the GNSS receivers in UAVs.  
In our implementation, a spoofing trajectory can be specified in either a CSV file, which contains the Earth-centered, Earth-fixed (ECEF) user positions, or an NMEA GGA stream. To illustrate, in the following, we show the example of assigning a static location directly from the command line. First, the user specifies the GPS satellite constellation through a GPS broadcast ephemeris file. The daily GPS broadcast ephemeris file (brdc) is a merge of the individual site navigation files into one (the archive for the daily file can be downloaded from [[https://cddis.nasa.gov/archive/gnss/data/daily/](https://cddis.nasa.gov/archive/gnss/data/daily/)]([https://cddis.nasa.gov/archive/gnss/data/daily/](https://cddis.nasa.gov/archive/gnss/data/daily/)) accessed on 10 January 2022). These files are then used to generate the simulated pseudorange and Doppler for the GPS satellites in view. This simulated range data is then used to generate the digitized I/Q samples for the GPS signal. As an example of a static mode transmission via the command line we can execute  
In this command line, option -e <gps_nav> denotes RINEX navigation file for GPS ephemerides (required), brdc0250.22n is the filename and -l <location> is used for providing latitude, longitude and height coordinates (static mode). This command creates a.bin file corresponding to the simulated GPS signal file, named \"gpssim.bin\", which can be loaded into the bladeRF board for playback as exemplified below:  
After executing the 'tx start' command, BladeRF starts the transmission and will be able to dece