1. Introduction
Global navigation satellite systems (GNSS) are considered to be the primary source of position, navigation and timing (PNT) information in a large variety of applications. The maritime domain is one such domains where GNSS receivers are heavily used to assist the crew during most of the navigational operations. Additionally, several on-board instruments depend on the PNT information obtained from the GNSS receiver to perform their tasks, by assuming that such information is always available and trustworthy. Nevertheless, this is not true and the concerns for unreliable or missing data are rapidly increasing [
1,
2,
3] due to the fast-rising number of threats emerging in the GNSS field. GNSS receivers can be compromised by unintentional interference, like the one introduced by the ionosphere or by other telecommunication systems operating in the nearby spectrum. Additionally, man-made intentional attacks, e.g., jamming and spoofing [
4], are posing the largest of the concerns due to the severe consequences they can cause, increasing the risk of incidents. To increase the resiliency of maritime navigation, an alternative terrestrial system, known as R-Mode, has been attracting interest. R-Mode transmits synchronized ranging signals in the medium and very high frequency bands, i.e., MF and VHF, by using existing maritime radio infrastructures [
5,
6]. The system’s dual-frequency design (VHF and MF) inherently increases its robustness against jamming and spoofing. However, while attackers could disrupt VHF signals with personal portable devices (PPDs), MF signals would be harder to attack because efficiently transmitting them requires tall antenna infrastructure which is a significant barrier for potential attackers [
7]. Usually stations are located along the coastline, rivers, and port areas to better serve the marine users. A GNSS-independent positioning solution can be retrieved by receiving signals from three different radio stations. A different area coverage is offered by the two subsystems due to their allocated frequency bands. On the one hand, the VHF signals travel mainly as line of sight and they can be obstructed by obstacles hence, the coverage depends on the specific link between transmitter and receiver. On the other hand, the MF signals travel as ground wave, following the curvature of the earth, which can guarantee coverage of about 250 km. At the time of writing, a testbed is available in the Baltic Sea, as shown in
Figure 1. While the green triangles represent the current enabled MF R-Mode stations, the yellow triangles are MF stations which are planned to be installed within the framework of the ORMOBASS project [
8]. In
Figure 1, it appears clear that the south and central parts of the Baltic are quite well covered, whereas the new installations will increase considerably the coverage of the system in the eastern and northern part of the Baltic.
VHF R-Mode transmitters are currently not available in the Baltic but they will be activated in the near future. This will further increase the availability and performance of the overall system. Several validation campaigns have been performed to demonstrate the feasibility of the two technologies. Horizontal positioning accuracy in the order of 10 to 20 m is achievable in favorable propagation conditions with MF R-Mode [
9,
10,
11,
12]. However, MF signals can be degraded by the well-known sky-wave reflection during nighttime or by the mismatched compensation of the atmospheric and ground delay factor (AGDF). Nevertheless, an accuracy higher than 100 m is achievable in such more challenging scenarios, depending on the specific geographical area and distance between transmitters and receiver [
10,
13]. For VHF R-Mode a horizontal accuracy of 22 m was achieved in [
14] when using range and Doppler measurements. For VHF signals the limiting performance factors are the non-LOS propagation condition (which dramatically reduces ranging accuracy to few hundreds of meters), mixed sea–land paths, and atmospheric effects [
9,
15].
A complete position solution cannot be obtained if less than three R-Mode stations are visible. Nonetheless, the received information can still be used to provide integrity information to the users by validating the correctness of the GNSS positioning solution. This is a fundamental information that can considerably reduce the risk of accidents in case of GNSS outages or spoofing attacks. This paper presents a technique which can be used on scenarios where only a single transmitter is visible by the user, even if it can be easily extended to multiple stations cases. The approach relies on the information retrieved from the GNSS and R-Mode receivers, namely the expected GNSS and R-Mode ranging accuracy, the estimated GNSS position, and the well-known R-Mode station location. This work is highly relevant to support future maritime applications, enabling higher levels of autonomy in the different phases of navigation which releases the crew from stressful situations reducing the risk of accidents. Moreover, it is crucial to increase the adoption of maritime autonomous surface ships (MASSs) in the maritime landscape. The paper is organized as follows.
Section 1 introduces the topic and the general idea of the work. In
Section 2, the technical approach is described in detail and equations are presented to the reader.
Section 3 presents the results obtained by applying the methodology to a real dataset. The spoofing events are synthetically introduced in the real dataset to test the approach. Finally,
Section 4 summarizes and concludes the manuscript.
2. Methodology
The proposed technique exploits the GNSS position estimate and its associated variance–covariance matrix
, the position of the R-Mode station, which is known by default, and the accuracy (variance) of the ranging measurements obtained from that same station. In general, the accuracy of the measurements is not known and sometimes it can be difficult to obtain a good estimate which fits the reality. Usually a receiver characterization is needed to obtain the best possible results. Often, the expected accuracy of the measurements can be obtained by models which uses the carrier-to-noise power density ratio
for both GNSS [
16] and R-Mode [
17]. Satellite elevation-based models can be also used for the GNSS measurements. As an alternative, for both GNSS and R-Mode, if local monitoring stations are available, they can be used as source of information for the system ranging performance by assuming that similar conditions are observed at the receiver and monitor locations and that spatial decorrelation is negligible. This is usually true if the two are located relatively close to each other in the order of few tens of kilometers. Additionally, overbounding could also be applied to consider the difference between assumptions and reality, especially when the real stochastic process which characterize the measurements start deviating from the assumptions. In this work, we consider the satellite elevation-based model for the GNSS measurements whereas the expected accuracy for the R-Mode measurements is set accordingly to previous measurements recorded in the same area.
From the GNSS variance–covariance matrix
, one can obtain the position confidence ellipses by computing its eigenvectors in the east–north local frame [
18]. It is well known that the eigenvectors of
represent the direction and magnitude of the solution dispersion along the two main axis. Since a single R-Mode station provides range measurements, we seek for the dispersion of the GNSS solution along the direction which connects the R-Mode station and the computed GNSS solution. By definition, this dispersion can be obtained with a certain confidence level (
) which can be defined a priori based on the user requirements.
Figure 2 presents the graphical explanation of the GNSS dispersion computation along the direction which connects the GNSS position estimate and the R-Mode station location. (
) and (
) are the eigenvectors of
while
is the dispersion along the axis between the GNSS solution and R-Mode station. The angle
is the angle between the vector connecting the GNSS solution and the MF station and one of the axes of the ellipsoid.
The dispersion
can be computed as follows:
where
and
are the eigenvalues of
whereas
is an angle as represented in
Figure 2. One can observe that the result of Equation (
1) is invariant to the selection of the eigenvector to define
since they are orthogonal. This first step is necessary to estimate the expected error
of the GNSS position along the direction to the R-Mode transmitter position. In nominal cases this error is expected to be a Gaussian random variable with zero mean and distributed as follows:
It is assumed now that an independent unbiased range measurement with standard deviation
is obtained from the R-Mode station. Hence, the error for the R-Mode range measurements is also assumed to be following a zero mean Gaussian distribution as follows:
It is now possible to define a statistical test to cross-check the validity of the information retrieved. We can define the difference between the R-Mode range and the computed distance between the GNSS estimated position and the R-Mode station. In nominal cases this difference
is distributed as follows:
In cases where there is inconsistency between the R-Mode information and the GNSS solution, for instance, under spoofing attacks, Equation (
4) does not hold anymore and the distribution is non-zero mean. The user needs to select a confidence level
such that
where
P indicates here a probability. This confidence parameter is relevant to drive the test performance and it can be set accordingly to the system performance requirements. From Equation (
5), one can find the value of
that satisfies the equation and then run the test as follows:
where
T represents the result of the test. If this result is smaller or equal than 1, the test is passed and the GNSS position is declared consistent with R-Mode range information and hence validated. On the other hand, if the result is larger than 1, the GNSS position is declared not consistent with the R-Mode range and therefore not validated. In this paper. we fix
which is equivalent to selecting 4 times the standard deviation of the error
.
This approach is based on an epoch-by-epoch independent processing and results from the previous epochs are not considered. In general, to increase the robustness of the test against outliers, a time window could also be used to analyze the test results over multiple epochs and decide whether the data are consistent or not. In such a case, the window would need to be selected based on specific use cases or maneuvers since it would for sure have an impact on the alert time, introducing a delay.
3. Results
In this section, we present the results of the methodology applied to real data. GNSS and R-Mode data were recorded on board of the AURORA research vessel of DLR during a measurement campaign performed on the Spree-Oder river in the vicinity of Berlin. This work was part of the Digital SOW project which aimed at the development of new technologies to enable higher level of autonomy of ships navigating on inland waterways.
Located at around 80 km from the campaign area, the signals of the MF R-Mode station located in Mauken were received and used on the vessel. Since each station transmits two independent aiding carrier, as currently specified for the MF R-Mode system implementation [
19], two separate range observation were obtained. Additionally, a differential R-Mode station was installed in the area of the campaign to monitor the signals quality over time and transmit corrections to the R-Mode receiver. This is an important requirement to exclude potential problems at the transmitter side and compensate for the missing corrections which will be implemented in the near future as part of the R-Mode navigation message [
19].
In order to test and validate the proposed methodology, it was important to introduce inconsistency in the GNSS data. Therefore, the GNSS pseudoranges were modified in postprocessing to simulate spoofing attacks. For simplicity, we decided to consider only Galileo E1 code measurements and only three satellites per epoch were concurrently spoofed. Two separate instances of spoofing were simulated, each one lasting for 100 s. In
Figure 3a, the map with the Galileo E1 SPP solution is visible in red along with the two spoofing events. The reference solution, without spoofing, is obtained with PPP processing and it is represented in black.
Figure 3b shows the horizontal error of the SPP solution and it appears clear that the two spoofing events, happening between 100–200 s and 400–500 s, introduce a bias of approximately 100 m.
The application of the approach requires now to define accuracy models for the GNSS and R-Mode observations. This is indeed one of the main challenges in real applications due to the intricacies and complexity of the error sources’ modeling. Usually, for GNSS, a satellite elevation-based model,
or a combination of both, is used to predict the expected ranging performance. Similarly, for R-Mode, a
-based model can be used, as well as simplified distance-based models. Moreover, in both cases, it is possible to use information from local monitoring stations to characterize specific error models which may depend on local effects for instance due to the ionosphere or troposphere concerning GNSS [
20] and ground propagation effects for MF R-Mode [
13]. For this work, we consider the following satellite elevation-based model for the Galileo E1 pseudoranges noise standard deviation:
where
represents the elevation angle. A value of 1.5 m is selected as nominal noise standard deviation. It is important to observe that the satellites with
< 5 deg are excluded from the position computation. For the R-Mode observations, we select a noise standard deviation of 10 m based on preliminary knowledge of the station ranging performance in the specific area.
Before presenting the results of the proposed approach, it is important to highlight the fact that from a single station two separate ranging observations are obtained [
11]. This means that two tests can be performed, and hence a three-state result is produced. Therefore, we define here the three states for the consistency test as
On the one hand, if both tests and are smaller than 1, the test is passed and the GNSS position is consistent with the R-Mode ranges. On the other hand, if both tests are larger than 1, the test fails and the GNSS position is declared not consistent with the R-Mode ranges. When only one of the two tests is larger than 1 while the other is smaller, there is uncertainty. In such a case, we produce a warning state to highlight the fact that there might be a discrepancy between the data.
At first, we decided to apply the approach without introducing the spoofing events.
Figure 4a presents the result of the GNSS validation test in nominal case for the entire dataset epoch by epoch. It appears clear that the GNSS position is validated over the entire duration of the experiment but for Epoch 490, where the warning state is activated. The reason of this state for Epoch 490 can be identified in an outlier, which is visible in
Figure 4b. Here, it can be seen that for this specific epoch the range error
is approximately −53 m. This error value is considerably larger, in the absolute value sense, than the expected range accuracy of 10 m. The issue with outliers could be mitigated with the application of a moving window, as explained previously. Nevertheless, this would introduce a potential delay in delivering the validation result and therefore should be carefully selected.
In
Figure 5, the validation test for the dataset with spoofing activated is presented. The two instances of spoofing between 100–200 s and 400–500 s are characterized by failing tests, indicating that the GNSS position does not match with the R-Mode ranges and therefore is not validated. Epoch 490 is also not validated since it is part of the spoofed epochs and it is not anymore marked as warning. For this specific dataset and for the specific simulated spoofing scenarios, the test has a reliability of 100%, correctly identifying all the spoofed epochs. To characterize the approach in terms of general performance, i.e., detection rate, false rate, and detection threshold, a deeper statistical analysis based on simulation might be necessary in the future.
4. Conclusions
In this contribution, we presented a novel approach to validate GNSS positioning solution by using information obtained by a single R-Mode station. By combining the information of the GNSS receiver, and hence the pseudoranges and expected accuracy of the positioning solution, with the R-Mode ranges and their expected accuracy, a statistical test can be performed to check the consistency of the data and validate the GNSS solution. The main assumptions were also described in detail to provide guidance to the reader, especially with respect to the importance and selection of the accuracy models and testing parameters. The approach was validated by using real data obtained from a measurement campaign. Two instances of simulated spoofing were introduced in the data to perform the analysis of the approach under spoofing scenarios. Spoofing was synthetically introduced over 200 epochs, resulting in a horizontal positioning error of about 100 m. Correct detection of consistent and inconsistent data was successfully achieved over the entire duration of the dataset.
Such kind of integrity information is of primary importance for MASS or to support the work of the crew during the different navigation phases, reducing the risk of accidents. Nevertheless, the high reliability of the test depends on the good selection of the expected accuracies for GNSS and R-Mode, the selection of the confidence parameter, the error in the positioning domain introduced by the spoofing, as well as the geometrical distribution of the GNSS solution and R-Mode station. This study is relevant for all the regions with limited availability of R-Mode stations. For instance, most of the German inland waterways are within the service of at least one radio beacon and this approach could be used to support waterways navigation.
Despite the fact that this is not intended to be an exhaustive study, the results presented in this paper are promising. Simulations with different assumptions and under different scenarios are necessary to properly characterize the performance of the approach in terms of correct detection, false alarm, and detection thresholds. In future studies, additional approaches might be considered, especially in case multiple R-Mode stations are available. Additionally, fusing the information retrieved from GNSS and R-Mode receiver as well as additional sensors like inertial measurement unit (IMU) will be fundamental to provide advance PNT data to support the crew in all navigation phases as well as increase the level of autonomy, enabling safe navigation.