2.1. Hardware Changes
The LC sensor comprises a Raspberry Pi 4B single board computer (SBC) (manufactured by the Raspberry Pi Foundation, Cambridge UK) for signal processing and system interfacing, a GNSS Raspberry Pi hat (pHat) for time synchronization and carrier-to-noise density ratio (CN0) monitoring, and an NeSDR SMArt v5 (manufactured by Nooelec, Wheatfield USA) as a software defined radio (SDR) radio-frequency front-end (RFFE). We process the SDR samples in batches of
to facilitate efficient processing. While detection and classification are possible in this configuration, a spectrogram with high time resolution, which might be of interest for manual identification of an interference source, can not be obtained. Therefore, a secondary NeSDR SMArt v5 works as a snapshot receiver. On trigger of the interference detection, the sensor stores a
snapshot of unprocessed IQ samples, providing the maximum possible flexibility for subsequent analysis of a captured interference signal. An example spectrogram of a GNSS interference snapshot obtained with this SDR is shown in
Figure 1. Three setups follow the described configuration: a battery-powered hand-held, a vehicle-mounted, and a stationary version optimized for long-term operation. The battery-powered hand-held version of the sensor is shown in
Figure 2. Both SDRs have a sampling rate of
. Given the accumulation of samples for
, the computation for the features, the detection, and classification inferences are at a rate of
.
2.2. Interference Detection
Two popular approaches to interference detection previously discussed in the context of the LC COTS sensor are CN0 monitoring and a tuned energy detector [
7]. Additionally, van der Merwe et al. explored in detail the usability of spectral entropy and spectral kurtosis for interference signal classification [
6]. They show that these metrics can yield improved classification performance, even with limited bandwidth, such as the used SDR.
Given the input signal
, the sampling time
and an integration count
M, the energy can be computed as [
6]:
For the spectral entropy, let
represent the
n-th bin of the
m-th short-time Fourier transform (STFT) of length
N of
. In addition, let
K be the integration count, related to the integration count of the energy by
. Then, the normalized spectral entropy with base 2 is computed as [
6]
with the PSD normalized as a probability density function as [
6]:
During the initial in-the-field evaluation of the LC sensor on German highways, we observed a daily oscillating pattern in the energy measurement—an example of this observation throughout one week is evident in
Figure 3. This oscillatory behavior could, for instance, be due to daily fluctuations in traffic intensity and temperature. The energy measurement shows several large spikes that indicate the presence of an interfering signal. However, due to the large fluctuations as well as measurement noise, it is not apparent how to choose a fixed threshold for interference detection. The energy measurement shows peaks that correlate with a drop in entropy and, therefore, clearly indicate the presence of an interference signal. Yet the measured energy spike is vastly below the daily fluctuation level. One example is marked in
Figure 3 by the shaded red area. While the energy peaks over the short-term noise floor during the interference event, it sits below the average long-term noise floor. Therefore, setting a fixed energy detection threshold will either yield many missed detections, as the threshold will need to sit above the maximum of the noise floor oscillation or lead to constant false positives when the noise floor rises beyond the threshold.
A second insight from
Figure 3 is that the spectral entropy exhibits highly stable behavior, remaining nearly constant except for several sharp drops that mostly correlate with measured energy increases. A fixed threshold can easily detect these drops in spectral entropy. It is visible that not every strong entropy drop has a correspondingly large energy peak and vice versa. Van der Merwe et al. exploit this phenomenon to enable classification and discuss the sensitivity of the metrics to different interference signal types [
6].
Accordingly, detection can be implemented as a mixed-decision process based on the spectral entropy
and noise floor-compensated energy
. By compensating for the noise floor’s long-term oscillation, setting a fixed threshold on the energy measurement becomes feasible again. The noise floor estimation is equivalent to a long-term exponentially weighted moving average over the linearized energy. We calculate the filtered energy by subtracting the noise floor estimate from the linearized energy. After compensating for unity gain at high frequencies, this is equivalent to applying a high-pass filter with the transfer function
to the linearized energy
E, where
determines the cut-off frequency. Empirically, an
value compensates correctly for the oscillatory behavior observed in
Figure 1. Fundamentally, this approach assumes that interference signals appear and disappear quickly. An interference signal rising slowly in power would not be detected. Similarly, suppose an interfering signal is present for a long duration. In that case, the compensation mechanism will eventually compensate for its presence and not detect it after an initial correct detection. The sensor is intended to operate in a highway scenario, where interference sources, such as PPD jammers, are likely inside moving vehicles and therefore appear and disappear quickly. Therefore, this mechanism is suitable for the intended application.
As is visible in
Figure 3, setting a threshold sufficiently low for triggering on the event marked by the red area in
Figure 3 will lead to a significant number of triggers. For example, a noise-like rise in filtered energy is visible towards the end of 5 September 2023 or the beginning of the time series. However, upon close inspection of those areas in the dataset, periodic spikes in the measured energy are indeed present during those times. Therefore, several triggers of those events are, in fact, expected behavior. Given the normalized spectral entropy measurement
, a filtered energy measurement
, the null-hypothesis
meaning “no interference is present”, and the alternate hypothesis
meaning “an interference is present”, the following decision rule is applied:
The respective thresholds
and
can be determined empirically for this set of features. They were obtained via grid search optimization of the
-score in the training dataset from the indoor testing hall that will be introduced in the classification section. Over the full training set, the mixed-decision detector with
-optimal thresholds achieves a precision of 89.9% and a recall of 83.0%, thus yielding
. The thresholds resulting from the optimization are
and
. It should be noted that the value for
is normalized to a reference level different from the one displayed in
Figure 3. A common reference level can be established between the sensors through calibration.
2.3. Interference Classification
The typical approach for interference classification uses the STFT to create a spectrogram, where convolutional neural networks (CNNs) treat the spectrograms as images to classify the interference [
8,
9,
10]. This approach attempts to exploit CNNs’ spatial invariance for generalization. However, the resulting network tends to be complex and extensive to achieve accurate classification. An alternate proposal involves using well-studied signal processing approaches combined with ML for a simpler processing pipeline while maintaining accurate classification [
11]. Van der Merwe et al. designed an inference system that synergizes statistical signal processing with ML [
6].
The processing model calculates the STFT to derive the spectral entropy and spectral kurtosis; the defined implementation calculates the STFT over 128 frequency bins. We also used the novel filtered energy metric as an additional statistical feature. Remember that for efficient processing, the system processes the samples to calculate the features in batches of 1 s; for the spectrum, a max-hold function keeps the highest value per channel for each batch; this is usually useful for short-lived signals when doing spectral monitoring. It then utilizes these spectral statistical features as input for the ML process. We selected extreme gradient boosting (XGBoost) as the underlying model because it has demonstrated remarkable performance in interference classification tasks and is an excellent classifier and regressor for tabular data [
6,
12,
13].
Figure 4 gives a general overview of the classification pipeline.
The model gives a probability distribution over the possible interference classes, including “None”, which means there is no interference. We observed a specific behavior on initial system tests when the system faced previously unseen signals: indecision between two classes, jumping between them in each sample, i.e., on each inference. To overcome this class uncertainty, the nearest neighbor distance ratio (NNDR) further restricts the inference; if the NNDR is below an empirically defined threshold, the system labels the class as “Unknown”. This certainty test restricts the system from classifying a signal only when there is absolute certainty and classifying the signal as unknown when there is not enough certainty on a specific class [
14].
2.4. Learning Considerations
It is well known that a robust data-driven solution relies on a rich and representative dataset. For training, we set up a single LC sensor with an AAR HL 7040 antenna for high directionality inside the “Test and Application Center LINK” of Fraunhofer IIS in Nuremberg [
15]; a signal generator played a variety of signals with a slow power sweep of −20 to 20 dBm lasting
each sweep, changing the relative location of the signal generator to the sensor. To represent a variety of cases, the signal types used were single complex tone, linear chirp, parabolic chirp, frequency hoppper, and band-limited noise.
Lastly, the biggest challenge in this type of system lies in the sensor variability problem; this means that a model learns quite well the specific sensor on which the training data are recorded but fails to extrapolate or generalize the inference to other sensors; this is due to particular hardware imperfections to which ML models overfit. The solution is to use a class of domain adaptation [
16,
17,
18]. The adaption we used extends the training dataset with “null” data from the target sensor. The model is thus trained on interference signals recorded on one sensor and from long-term recordings of multiple sensors with a 50-ohm resistor connected to the RFFE instead of an antenna. The recordings of the sensors with the resistor will only have information on the RFFE without any received signal; as such, the expectation is that the model can learn how the interference signals look given the features and how multiple RFFE front ends look without them. We call this learning process “null learning”. To test the capabilities of these generalizations, we perform real-world tests on sensors that never recorded interference signals but only “null” data and on various signals with configurations slightly different to those used during recording, e.g., chirp rate or single-tone center frequency.
2.5. End-User Optimization
The general goal of the user interface is to simplify the interaction with the sensor. It should provide an intuitive operation without requiring a user with significant expertise. The general functional requirements were to visualize the spectral features and GNSS performance indicators clearly and offer a convenient and well-documented way to configure the sensor and download recorded features and raw snapshots as files. The end-user needs to see whether the system detected an interference quickly. As there is also a hand-held version of the sensor, it is also essential to use the interface on mobile devices such as a tablet or smartphone, i.e., responsive user interface design. Furthermore, there were less specific quality characteristics like reliability, performance, and basic security to consider.
The final client application is a single-page web application (spa) running in the user’s device’s local browser. The sensor runs a web server to deliver the static spa files and the current sensor data to display in the application.
Figure 5 shows the overall structure of the user interface. The header is a fixed component and displays data that need to be quickly visible. The interference detection and classification indicator (3) turns red and shows the classification result when an interference is detected. The central part of the spa is structured into four different pages (4), each further divided into subpages (5), to provide a clear overview of the available data and functionality the end-user can utilize. The user interface displayed on a mobile device such as a smartphone is shown in
Figure 6.
The RFFE page contains the visualizations of the spectral features as can be seen in
Figure 7. The Config page includes several sensor configuration forms. Every form provides a description and input validation of the single configurable parameters, as well as user feedback for the operation’s success. The whole application’s layout is responsive to the device’s screen size and, therefore, eligible for large-format Desktop screens as well as smartphones (see
Figure 6).