# Situational Awareness: Mapping Interference Sources in Real-Time Using a Smartphone App
## 1 Introduction  
Radio-frequency interference (RFI), either unconscious or intentional, is one of the most feared events that can disrupt the functionalities of a Global Navigation Satellite System (GNSS) receiver and the user-level applications dependent on it [1, 2]. The importance of creating a'situational awareness' around the receiver, in order to recognize the situation in which an unwanted RFI prevents the correct functioning of the receiver and to react properly without 'domino' effects on the application layer has been widely argued [3, 4]. Receivers with fully-capable RFI detection modules have been so far quite complex and, translating complexity into costs and size and power consumption, limited to specific professional or military applications [3, 5]. On the other hand, the close advent of a multiplicity of payment/finance applications based on GNSS is today considered a fact [5, 6], as well as the need for high positioning accuracy and reliability expressed by automated driving applications [7, 8]. Contexts like these foresee a massive deployment of 'consumer-grade' receiver chipsets, in which not only each on-field receiver needs to be aware of the levels of RFI it is surrounded by to properly react in real-time, but it can be an added value for the application service provider to have a real-time map of the RFI over wide areas, for example to possibly take preventive actions. Several past works have reported the creation of interference source maps in the GNSS bands, through various data collections performed ad-hoc for testing specific detection, mitigation, or localization algorithms [9, 10]. However, those data collection campaigns are unfit for the applications mentioned before, because they are meant to offer a representative sample of the average interference scenario in a certain environment in non-real-time, while they are evidently unable to offer a real-time picture of the RFI nearby a certain position. In our work we leverage the huge computational capabilities offered today by an octa-core commercial smartphone to run on it an instance of a software GNSS receiver, used as a portable and easily deployable \"early stage RFI detector\"; we named this software receiver 'NGeneApp', as it is the App evolution of our original software receiver for standard PC 'NGene' [11, 12]. In this way, equippedwith a smartphone with an enabled cellular data connection, an external finger-size radio front-end (FE) and a very low cost GNSS antenna, we are able to create in real-time a map of the interference along a certain travelled path. The sensed interference environment is sent to a server machine in our lab acting as a \"control center\", where the interference level can be monitored. In perspective, a simultaneous deployment of several such smartphones could allow the creation and continuous monitoring of an interference map over certain areas of interest. The on-chip receiver of modern smartphones can already provide some measurements via NMEA messages, which can be exploited to detect interferers. For example, a post-correlation technique is used in [13] where a jammer localization is performed using carrier-to-noise power ratio (C/N\({}_{0}\)) measurements provided by Android smartphones. However, the C/N\({}_{0}\) level may depend on several factors that can impair the clean reception of the GNSS signal, such as shadowing, non-line-of-sight propagation, partial blockage, multipath; furthermore, in case of a strong interfering power the receiver may be completely blinded and may lose signal tracking. On the other hand, since 2017 the top-level Android smartphones have started to provide 'raw' GNSS measurements, namely carrier and code measurements, decoded navigation message, as well as Automatic Gain Control (AGC) levels, through an ad-hoc Application Programming Interface (API) [14; 15].