## Abstract

New GNSS applications demand resilience against radio interference and high position accuracy. Separately, these demands can be fulfilled by multi-antenna systems using spatial filtering and carrier-phase positioning algorithms like real-time kinematic (RTK), respectively. However, combining these approaches encounters a severe issue: The spatial filtering induces a phase offset into the measured carrier phase leading to a loss of position accuracy. This paper presents a new approach to compensate for the phase offset in a blind manner, (i.e., without knowing the antenna array radiation pattern or the direction of arrival of the signals). The proposed approach is experimentally validated in two jamming scenarios. One includes a jammer with increasing power and the other includes a moving jammer. The results demonstrate that the approach successfully compensates for the phase offset and, hence, allows for the combined use of RTK positioning and spatial filtering even under jamming.

- antenna array
- beamforming
- carrier phase bias
- CRPA
- interference mitigation
- RTK positioning
- spatial filtering

## 1 INTRODUCTION

Global navigation satellite systems (GNSSs) are widely used for positioning and timing. The systems are used by almost every land, air, and water vessel to help navigate. The increasing number of private and commercial unmanned aerial vehicles (UAVs) and the upcoming of autonomous driving cars will increase the number of systems relying on GNSS. Therefore, it is getting more and more important to ensure the availability and integrity of the position, velocity, and time (PVT) solution, even in the presence of interference, jamming, or spoofing. Due to the low power of the received GNSS signal, it is extremely vulnerable to interference (Borio et al., 2016; Luo et al., 2003). In addition, new applications demand a higher precision of the PVT solution. This demand can be fulfilled by precise point positioning (PPP) and real-time kinematic (RTK) techniques. One key element of these approaches is to include carrier-phase measurements in the PVT estimation. The carrier-phase measurements deliver much more accurate range measurements since the wavelength of a GNSS carrier (e.g., 19 cm for GPS L1) is much smaller than the equivalent length of a PRN code chip in free space propagation (e.g., 293 m with C/A code of GPS L1).

An advanced approach for protection against jamming and spoofing is provided by using adaptive antenna arrays and utilizing signal processing in the spatial domain. Antenna arrays can be used for the detection and mitigation of jammers (Chen et al., 2017; Cuntz et al., 2011) and spoofers (Konovaltsev et al., 2013; Meurer et al., 2016). Additionally, an antenna array allows for increasing the carrier-to-noise density ratio (C/N_{0}) of a satellite signal by steering a beam to its direction of arrival (DoA). The mitigation is usually conducted by spatial filters like the Power inversion (PI) filter (Compton, 1979) or the Minimum Variance Distortion-Less Response (MVDR) filter (Zhang & Amin, 2012). Another class of approaches combine the spatial filter with an adaptive finite impulse response (FIR) filter to enhance mitigation capability (Church et al., 2007; Dai et al., 2017). This class of approaches is called *space-time adaptive processing* (STAP), whereas the approaches without the FIR filter are called *space-only processing* (SOP). Due to the complexity and higher computational power required by STAP, the focus of this work is on SOP. Spatial filters can be classified as deterministic or blind approaches. A deterministic approach needs to know the steering vector of the incoming satellite signal. The steering vector of an impinging signal is its spatial signature containing relative phase information of the signal at each antenna element. To get the steering vector, the antenna reception pattern must be known. In practice, it is often desired to use a blind approach. A blind approach works without any a-priori knowledge about the antenna gain/phase matrix, calibration matrix, or the direction of arrival of the interference. However, common implementations of blind spatial filters and beamformers induce an error into the carrier-phase measurements.

The issue of induced error in carrier-phase measurements has been addressed previously by other researchers. Two different strategies to mitigate the phase error induced by blind spatial filtering can be found in the literature: One strategy aims at preserving the continuity of the phase measurement in jammed scenarios. For example, Jia et al. (2018) presented such an algorithm that works well for short time scenarios. However, Jia et al. (2018) did not validate the proposed algorithm with recorded real-word signals and did not evaluate the effect of the occurred phase errors on the positioning solution. The stability of carrier-phase measurements beyond short time periods is problematic. Further research indicates that approaches adopting this strategy, in general, cannot preserve the continuity of the phase over long time simulations (Bamberg et al., 2020). The second strategy is based on using additional constraints to the spatial filter to avoid phase errors. Such an approach was demonstrated by Daneshmand et al. (2016) in simulations as well as with recorded signals showing its benefits compared to a standard implementation. However, the additional constraints reduce the degrees of freedom of the spatial filter by half. Therefore, an antenna array would need double the number of antenna elements to suppress the same number of jammers as the standard implementation. Besides, the algorithm works only with centro-symmetrical array geometries (i.e., it is not directly applicable to real-world antenna arrays without a significant loss in performance because of asymmetries in antenna characteristics caused by imperfections, tolerances, influences of near-field objects, or installation issues).

The limitations of the state-of-the-art techniques mentioned above motivated the research reported by Bamberg and Meurer (2019) and Bamberg et al. (2020). Bamberg et al. (2020) evaluated the induced carrier-phase error for four different implementations of a spatial filter. The analysis was conducted in three different scenarios to characterize the error in the absence (as well as in the presence) of a jamming signal. Furthermore, the influence of the antenna was evaluated by comparing an isotropic antenna and a simulated antenna array pattern. The results showed that the MVDR filter induced the lowest phase error. It can be shown that, in theory, this filter is even free of carrier-phase distortions (Jia et al., 2018). In the conducted simulations, it was assumed that the approach had imprecise knowledge. However, it is still a deterministic approach and needs a-priori knowledge. The three remaining approaches evaluated by Bamberg and Meurer (2019) were blind. For these approaches, the carrier-phase bias depends on the DoA of the satellite and the DoA of the jamming signal. One approach was to sum the incoming signals after the suppression of the interference (i.e., using a beamforming that had a one in each row). This particular approach induced only a low phase bias, but suppressed satellite signals at low elevations. Nevertheless, with these approaches, PPP/RTK still remains a challenge in fast-changing environments. Bamberg et al. (2020) used these results to create two new blind approaches to reduce the carrier-phase error of spatial filtering. The key idea of these approaches is to reduce the bias in the tracked carrier phase by comparing the mean phase of the applied beamformer either with the previous beamformer or with the beamformer of the aforementioned approach that is known to have little impact on the phase. The reduction of the carrier-phase error using these approaches is promising but the evaluation was limited to numerical simulations using synthetic satellite signals. The approaches have not been tested with realistic signal data and, furthermore, the effect of the phase error on the positioning solution has not been addressed.

The proposed paper will extend the research from Bamberg and Meurer (2019) and Bamberg et al. (2020) to practical experiments with recorded real-world signals using an RTK positioning algorithm. The analysis in the cited research was focused on the carrier-phase offset induced by adaptive spatial filtering on the signal level. The proposed paper investigates the resulting effect of such error on the RTK positioning solution. For this purpose, GNSS signals from realistic scenarios were recorded by a software-defined radio (SDR) system and processed by a software receiver. The receiver observables were then passed to the RTKlib (Takasu & Yasuda, 2009), an open-source program package for GNSS positioning, in order to obtain an RTK positioning solution and assess the induced errors on the positioning domain. The filtering and averaging of the carrier-phase errors taking place in the receiver’s carrier tracking loops are inherently accounted for by this approach. The performance of the carrier-phase (carrier-range) measurements and the positioning solution were analyzed in different scenarios ranging from interference-free to moving jammer. The scenarios are processed using the classical implementations of spatial filtering and the approach proposed by Bamberg et al. (2020). Finally, the paper will conclude with a recommendation on which approach is suitable for RTK positioning to conduct spatial filtering of interference, multipath, or spoofing signals. With the help of the obtained results, the paper aims at closing the gap of using GNSS antenna array receivers with RTK-type positioning techniques, especially considering the limitations due to real-world imperfections. It will pave the way for the use of GNSS array receivers in applications requiring a combination of high positioning accuracy and high resilience.

## 2 NOTATION

Throughout this paper the following notation is used:

Small bold letters stand for vectors.

Capital bold letters stand for matrices.

The symbols ·

^{T}and ·^{H}stand for transpose and Hermitian transpose, respectively.arg{·} represents the angle of a complex number.

and var [·] represent the statistical expectation and variance, respectively.

## 3 SYSTEM MODEL AND SPATIAL SIGNAL PROCESSING

In this section, the signal model and theoretical background for the spatial filters and beamformer will be introduced.

### 3.1 Signal Model

We assume an antenna array with *N* antennas. This array receives *M* satellites and *L* jamming signals. The impinging signal reads:

1

2

and describe the steering vectors of the satellite and the jamming signals, respectively. A steering vector is the spatial signature of a signal and depends on the direction of arrival (DoA) of the impinging signal as well as the attitude of the antenna array. For a simplified, isotropic antenna array, describes the steering vector of an impinging wave. **k** is the wave vector and **r**_{1},…,**r**_{N} describes the spatial positions of the antenna elements. In practice, the steering vector differs (in phase and amplitude) from this simplified model because the antenna elements of the arrays are, as a rule, not isotropic or even not azimuthal invariant due to the electromagnetic coupling of array elements. Also, other practical effects like manufacturing tolerances and the presence of other objects in the near-field lead to deviation of the antenna patterns of an installed array from the patterns computed by antenna modeling tools or measured in an anechoic chamber. In Equation (1), some of these effects are accounted for by the term . This matrix models different cable length and component tolerances in *N* antenna processing channels as well as cross-talk between different channels. This is the same for all incoming signals and are especially unaffected by the DoA of the signals. Its inverse, **C**^{−1}, is called a calibration matrix.

At this point, it should be emphasized that the steering vector also depends on the choice of the reference coordinate system. The point of origin of this reference system is the spatial reference for the modeled signals, *s _{m}*(

*t*) and

*j*(

*t*). If not stated differently, the point of origin shall be the geometrical center of the antenna array determined by the mean of all antenna positions.

*s _{m}*(

*t*) describes the satellite signal. It contains the data bits, spreading code, and the carrier signal.

*j*stands for the jamming signal and stands for the additive noise term. It is modeled as Gaussian noise with zero mean and a variance of .

_{l}### 3.2 Spatial Filter and Beamformer

Combining the received antenna signals enables the possibility of amplifying or suppressing different DoAs. This is achieved by multiplying the incoming signals with a complex vector (to adjust its phase and amplitude) and subsequent summation. The beamformed signal can be expressed as:

3

The weight vector **w** is defined by the needs of the user. A common way to suppress unwanted signals is to use the minimum variance (MV) filter, which minimizes the variance of unwanted signals in the output signal. Assuming that the unwanted signals have zero mean and are uncorrelated with the satellite signal, we can write:

4

5

6

**R _{j+n}** is the covariance matrix of the unwanted signal and noise. To exclude the trivial solution

**w**=

**0**, another condition must be added. The condition

**w**

^{H}

**a**

_{m}= 1 ensures that the signal coming from the DoA represented by the steering vector

**a**

_{m}is not altered by the filter. The MV, together with this condition, yields the MVDR filter. The solution for this filter is given by:

7

GNSS signals are far below the noise floor. Hence, the covariance matrix of the unwanted signal can be approximated without any prior knowledge by:

8

where *K* describes the number of used samples and **x** [*k*] represents the read samples at the time instance *t _{k}* =

*kT*with the sampling interval,

*T*.

The estimation of the steering vector for the desired satellite signal is more delicate: If the reception pattern of the receiver system, the attitude, and the position of the antenna array are known, the DoA and the steering vector of the impinging signal can be calculated using ephemeris data. This approach is classified as a deterministic filter. In practice, this approach is quite challenging due to the temporal change of the needed information. One promising attempt to estimate the time-changing components jointly is described by Zorn et al. (2017, 2018).

### 3.3 Eigenbeamformer

Another way to estimate the steering vector is to estimate it after the de-spreading/correlation. The correlation amplifies the wanted signal over the noise floor, making it possible to extract its spatial signature in a blind manner.

This approach can even be used in the presence of a jamming signal that overpowers the satellite signal. To suppress strong interferences, a spatial filter, , is applied before the correlation. This process is called *prewhitening*. The filtered signal reads:

9

The signal after carrier wipe-off and correlation with the PRN code of satellite *m* can be expressed by:

10

with the factor *G _{m}* representing the scaling of the correlation with the local replica and

**n**

_{pc,m}as the equivalent noise after the correlation process. This equivalent noise includes cross-correlation with other satellites as well as suppressed jammers and pre-correlation noise.

The post-correlation covariance matrix for satellite *m* reads:

11

Calculating the eigenvalue decomposition and taking the eigenvector, which belongs to the largest eigenvalue, yields the following vector:

12

Eigenvectors are only fixed to a scale factor, which is represented in Equation (12) by the complex term . Usually, the eigenvector is scaled to have a norm of one. However, the phase factor is still arbitrary. The term **e**_{m} represents the errors in estimating the steering vector.

Due to the use of the eigenvector, this beamformer is called an eigenbeamformer. The approach does not need any information about the antenna array and is, therefore, classified as a blind filter. The eigenbeamformer is described by Sgammini et al. (2012) and Jia et al. (2018) in more detail. The weighting vector for the constrained MV filter with an eigenbeamformer is given by:

13

## 4 PHASE ERROR AND PHASE COMPENSATION MECHANISMS

The previously described beamformer suppresses unwanted jamming signals and amplifies wanted satellite signals. This is accomplished by summing up phase-shifted signals. The resulting sum signal is then forwarded to the phase-locked loop (PLL)/delay-locked loop (DLL), which are used to get the pseudorange and carrier-phase measurements. In this section, the effect of the described eigenbeamformer on the carrier phase is analyzed. Furthermore, a method to reduce this effect is presented.

### 4.1 Phase Error

Mathematically, the beamforming process can be described by combining Equations (3) and (1):

14

15

The induced phase shift on a single satellite signal, *s _{m}*, due to spatial signal processing can be described as the phase of the product of the weighting vector, the inverse calibration matrix, and the true steering vector of this particular satellite:

16

The induced phase shift of the MVEig beamformer reads:

17

18

19

Due to technical reasons, the eigenbeamformer is usually estimated from samples of the previous iteration, while the spatial filter is applied in the same iteration in which it was generated. To account for this, we add an index indicating time dependency: *h* and *h* – 1, respectively (e.g., **a**_{h} and **a**_{h–1}). To preserve readability, we no longer indicate satellite dependency (i.e., we no longer show the index *m*). With these adaptations and with Equation (12), Equation (19) reads:

20

21

22

### 4.2 Compensation

In order to prevent the spatial signal processing from affecting the range measurements, the phase error needs to be zero (i.e., ). The proposed compensation algorithm aims to prevent a phase jump in two consecutive estimations of the beamformer or spatial filter. The compensation is done by changing the phase of the estimated eigenbeamformer (see Equation [12]) before using it in the beamforming process. Mathematically, the corrected eigenbeamformer reads:

23

with the compensation phase, *φ*_{Comp}.

The compensation phase is estimated in two steps. The first step is defined by multiplying two consecutive eigenbeamformers:

24

25

26

27

The second step accounts for the changing prewhitening matrix. It is defined by:

28

29

30

31

We postulate that:

The calibration matrix and the steering vector do not change significantly over three iterations (i.e.,

**C**_{h}=**C**_{h–1}=**C**_{h–2}and**a**_{h}=**a**_{h–2}=**a**_{h–2}). This can be assumed if the interval between the iterations is small compared to the movement of the satellites and the receiver. If the receiver is stationary or slowly moving, a reasonable interval for the iterations is 100 ms.The error in estimating the eigenbeamformer is vanishingly small, i.e., ||

**e**|| ≪ ||**a**||.

The compensation phase is the sum of the following two estimated phases:

32

33

34

Applying this compensation to the eigenbeamformer (see Equation [23]), the phase error (see Equation [19]) reads:

35

36

Comparing Equations (36) and (22) shows that the induced phase error remains the same from one epoch to the next epoch.

The dependence on the previous weighting vector is also a weakness of this approach: An error in the estimation will be propagated into the next epoch and affect the next phase compensation. Therefore, the induced phase using this compensation approach will drift over time. Additionally, we need to know (or estimate) an initial induced phase offset.

## 5 PROCESSING SIGNALS AND IMPLEMENTATION OF PROPOSED ALGORITHM

To analyze the proposed compensation algorithm, we record and process GNSS satellite signals. We conduct the following steps:

Record GNSS signals using a suitable multi-channel data streamer

Use a software receiver to process signals and generate code and carrier-range observables in the Receiver Independent Exchange (RINEX) format

Read the RINEX file using the RTKlib to estimate an RTK position solution

### 5.1 Recording of Signals

The Ettus USRP x300 platform is used to digitalize and store GNSS signals. The main settings are:

Center frequency: 1575.42 MHz

Intermediate frequency of digitized signals: 0 Hz (complex in-phase and quadrature data sampling)

Sampling rate: 5 MHz

Number of recording channels: 4

The four channels are connected to the in-house developed and manufactured DLR UNITAS antenna array, which is shown in the foreground of Figure 1(a). It is a 2×2 uniform rectangular antenna array (URA) with a half-L1 wavelength spacing of antenna elements . The recorded signal samples are stored on a hard drive and subsequently postprocessed by an in-house multi-antenna software receiver.

### 5.2 Processing of Recorded Signal

The used GNSS software receiver is implemented in Matlab. Figure 2 shows the functional diagram of the receiver. *N* input signals are buffered to estimate a spatial covariance matrix, the so-called pre-correlation covariance matrix (cf. Equation [8]). This covariance matrix is used to estimate the prewhitening filter matrix that is designed to mitigate interfering signals. The filter matrix is then applied to the input signal (cf. Equation [9]). The despreading of the signal is done individually for each satellite. The post-correlation beamforming operates with *N* outputs of the despreading/correlation unit. The outputs are buffered over several correlation epochs to compute the post-correlation covariance matrix (cf. Equation [11]). In order to ensure that this covariance matrix does not include signals with different pre-correlation filter matrices, the pre- and post-correlation buffers are synchronized.

The post-correlation covariance matrix is used to calculate the weighting vector of the eigenbeamformer (cf. Equation [12]). The proposed compensation approach, as described in the previous sections, is used to adjust the phase of the eigenbeamformer. The adjusted eigenbeamformer is applied to the output of the despreading/correlation unit and the result is fed into the PLL/DLL tracking loops. The PLL and DLL are implemented such as in a common single antenna receiver (e.g., Kaplan and Hegarty [2005]). The states of the PLL and DLL are further used to generate the pseudorange and the accumulated Doppler range (ADR). These are stored in the RINEX observation file, which is handed to the RTKlib.

### 5.3 RTK Positioning

The RTKlib (version 2.4.3 b34) is used to get an RTK position solution from the RINEX observation file. In addition, a RINEX navigation file is downloaded to make the ephemeris and clock data available. RTKlib is set up to process the file in the Static position mode, fixing the integer ambiguity in the Continuous Mode. If the RTKlib can fix at least four integer ambiguities and the validation ratio is greater than three, we call it an RTK-fixed solution. Otherwise, we call it an RTK-float solution. For more details on the options used, an extract from the *rtkpost.ini* is given in the appendix.

The RTKlib logs different statistics that can be used for an evaluation of the results. In this paper, we will focus on the PVT solution as well as double-differenced carrier-phase residuals. The double differences are calculated in three steps:

The undifferenced residuals of the position solution (measured pseudorange minus estimated pseudorange) are calculated for each satellite. This is done separately for the rover and the base station using the estimated RTK position of the rover and the predefined position of the base station, respectively.

The undifferenced residuals of the rover are subtracted satellite-wise by the residuals of the base station to form single differences (between receivers). Additionally, the single differences are corrected by the estimated phase ambiguities.

The single differences (between receivers) are differenced with the single difference of the satellite having the highest elevation to form double differences. This is done separately for each GNSS (in this paper, Galileo and GPS).

## 6 SCENARIOS AND EVALUATION STEPS

### 6.1 General Settings

Two different jamming scenarios are considered for the evaluation. Both scenarios were recorded on the rooftop of the UMIC Research Center at RWTH Aachen University on September 21, 2021. Two images of the measurement setup are shown in Figure 1. Table 1(a) summarizes the key facts about the receiver used for the measurements of the rover. Additionally, an RTK position solution needs a reference station. For the evaluations in this paper, a reference station in Aachen of the satellite positioning service of the German State Surveying Agencies, SAPOS ®(Riecken & Kurtenbach, 2017), has been used. Some key information about this station is shown in Table 1(b).

### 6.2 Jamming Scenarios

Each scenario includes an interference signal generated by an ETTUS B200mini device. The B200mini was set to generate a white noise signal at the center frequency of the L1 band (1,575.42 MHz) with a bandwidth of 5 MHz. To control the power of the radiated signal, the B200mini allows for setting a gain value. This jammer gain was set individually for each scenario ranging from 20 to 86 dB.

In order to assess the power of the jamming signal at the receiver, the eigenvalues of the pre-correlation covariance matrix can be used (Hamid et al., 2014). Comparing the sum of the eigenvalues with and without a jamming signal allows to further estimation of the jammer-to-noise power ratio (JNR). On the other hand, it is common for a GNSS receiver to calculate the C/N_{0}. The C/N_{0} allows to estimate the signal-to-noise power ratio (SNR) for each satellite by considering the bandwidth of the receiver front-end filter (Joseph, 2010). Setting the JNR and the SNR in relation yields the jammer-to-signal power ratio (JSR). In order to have one JSR that does not depend on the elevation of individual satellites, the average C/N_{0} over all satellites was considered.

Due to the relatively short observation time (<15 min) and the static environment, we assume that the average C/N_{0} remains constant over the time of the scenarios. In both scenarios, the average C/N_{0} before a jamming signal was enabled was 52 dB. Considering the 5 MHz of the front-end filter, the average SNR is −15 dB. The eigenvalues and the resulting JSRs are plotted over time in Figure 4. Note that the power of the jammer can only be calculated if it lies over the noise floor. Therefore, the plot of the JSR is drawn only in certain sections.

The two jamming scenarios are:

Scenario 1 evaluates a jammer with step-wise increasing signal power. The direction of arrival of the jamming signal on the antenna array remains constant. The jamming power is increased every 30 s by 6 dB. Table 2 shows the jammer gain of the ETTUS B200mini used for each stage as well as the start time and duration of the event. Furthermore, it shows the JSR measured by the receiver. In the first five stages, the JSR is not calculated because the power of the incoming jamming signal is below the noise floor. Figure 4(a) shows the estimated JSR over time. The step-wise increment of the received signal power is clearly visible. In addition, Figure 4(c) shows the eigenvalues of the pre-correlation covariance matrix calculated by the receiver. Please note that it is only a coincidence that the received signal power in the eigenvalue plot approximately equals the jammer gain given in Table 2. Both scales are relative to different reference powers.

Scenario 2 evaluates a moving jammer radiating a signal at a constant power level. The DoA of the jamming signal on the antenna array varies over time. The jamming antenna (blue, triangular shaped) is moved in a semi-circle around the UNITAS antenna array and, subsequently, in the direction of the UNITAS antenna array. This movement is visualized in Figure 3. It was performed manually and, therefore, only approximates the shown course. The jamming event starts at 13:38:16 UTC and ends at 13:42:04 (see Table 2). Immediately after the jamming signal is switched on, the jamming antenna starts to move. Contrary to Scenario 1, the radiated jamming power is fixed and does not change over time. The jammer gain of the B200mini used for this scenario is 62 dB (the same level as Stage 8 of Scenario 1). However, due to the movement of the antenna and the resulting change of the path loss, the received power of the jamming signal varies. The JSR over time is plotted in Figure 4(b). The JSR starts at around 34 dB and stays—except for some outliers—in a range between 33 dB and 40 dB (while the jammer moves in a semi-circle around the array) and, finally, increases up to 48 dB (while the jamming antenna is moved closer to the array). The short but significant drop of the signal around 13:38 is due to shading by an obstacle in the line of sight. Figure 4(d) shows the eigenvalues of the pre-correlation covariance matrix calculated by the receiver.

### 6.3 Evaluation

Each scenario is processed in three different modes:

**Single Antenna:**In this mode, neither prewhitening nor beamforming is used. Instead, only the signal of the first array element is processed by the software receiver that operates like a conventional single-antenna receiver.**Without Phase Compensation:**In this mode, the receiver uses prewhitening and beamforming but does not compensate for a possible phase offset. The prewhitening is activated only if the largest eigenvalue of the pre-correlation covariance matrix is 10-dB higher than the lowest eigenvalue. This ensures that the filter does not affect the carrrier phase of the satellite signals as long as there is no serious interference. The eigenbeamformer weights are normalized in a way that the first weight (corresponding to Antenna 1) is kept equal to one (i.e., it is positive and real valued). Without a jamming signal, this results in a similar position estimation similar to the Single Antenna Mode. However, the beamformed signal has a better C/N_{0}because it superposes the input signal of*N*antennas.**With Phase Compensation:**In this mode, the receiver uses prewhitening and beamforming as well as the proposed algorithm to compensate for phase offsets. Like in the Without Phase Compensation Mode, the prewhitening matrix is only applied if the largest eigenvalue of the pre-correlation covariance matrix is 10-dB higher than the lowest eigenvalue. The phase of the beamformer is estimated using the proposed algorithm. However, if the prewhitening filter is not applied, the phase of the beamformer is estimated like in the Without Phase Compensation Mode (i.e., the first weight of the beamformer is equal to 1).

## 7 RESULTS AND DISCUSSION

### 7.1 Scenario 1: Jammer With Step-Wise Increasing Signal Power

Figure 5 shows the carrier-phase residuals as specified by RTKlib (see more details in Section 5.3) for the three different modes: Single Antenna (5[a]), Without Phase Compensation (5[b]), and With Phase Compensation (5[c]). In addition, a skyplot of the satellites including the jamming signal (5[d]) and the root-mean-square (RMS) of the residuals over time (5[e]) are given. To increase the visibility of a trend in the graph, the RMS values are filtered using a moving average filter with a window length of 30 s. All plots only show the results for an RTK-fixed solution. The red vertical lines in Figure 5 indicate the start times of individual jamming stages 1 to 12 (see Table 2).

Due to the jamming signal, the single antenna struggles to track the satellite signals in Stage 8. In this stage, the average JSR is 31 dB (see Table 2). As described by Luo et al. (2003), a JSR of approximately 30 dB results in an equivalent C/N_{0} value of 30 dB with a single-antenna receiver, which is exactly the tracking threshold of the used software receiver. If the tracking threshold is undershot, the receiver loses lock of the specific satellite. Considering the average JSR, only the satellites with a lower C/N_{0} (usually corresponds to lower elevation angle) lose lock in this jamming stage. In the next stage (JSR of 37 dB), the single-antenna receiver is no longer able to track enough satellite signals to obtain a position solution.

The RMS values of the residuals (Figure 5[e], blue plots) show an increasing trend for the first 6 stages. The residuals for the GPS system are quite similar to those for the Galileo system. Only in Stage 8, the RMS value of the GPS carrier-phase residuals increases significantly above the corresponding values of Galileo signals, which is due to cycle slips in carrier tracking loops of the satellites G02 and G06.

Using the prewhitening filter (Figure 5[b]) allows us to maintain an RTK-fixed solution up to Stage 12. With the beginning of Stage 12, the receiver struggles to track some satellites (e.g., G22) so the RMS values of the residuals increase (see Figure 5[e]). As soon as these satellites are completely lost, the RMS values decrease again. The lost satellites are those at lower elevation angles (< 40°) and, therefore, with a lower C/N_{0}: G02, G03, G19, G22, and E03 (see Figure 5[d]). It is only a coincidence due to the constellation at the time of the measurements that this affects four GPS and only one Galileo satellite. One additional remark: In Stage 12, the average C/N_{0} drops significantly, even though it remained almost constant in previous stages. One reason for this could be the clipping effect occurring during the digitization process. The recording system (USRP X300) does not use an automatic gain control (AGC).

Using the prewhitening filter with the proposed phase compensation approach yields similar results (see Figure 5[c]). Examining the RMS plot (Figure 5[e]) reveals that the receiver with the compensation algorithm performs slightly better than without (i.e., the RMS values become lower as soon as the jammer suppression kicks in). Remember that the prewhitening is only enabled if the largest eigenvalue is 10-dB larger than the weakest one (see Section 6.3). In this scenario, this is the case from Stage 6 onward. Summing up, in this scenario with a static receiver-jammer geometry, phase compensation is not explicitly necessary but it is also not harmful.

Figure 6 shows the relative position offset for the three modes separately for the east, north, and altitude. The results are referenced to the mean position of single-antenna-only processing. Like in the residual plots, we can observe that the single antenna struggles to track the signals in Stage 8 (resulting in a clearly visible position offset) and can no longer estimate a position solution in Stage 9. Using the prewhitening filter allows for the estimaton of an RTK-fixed solution up to Stage 12. However, the receiver loses lock of some satellites beginning with Stage 11, as can be seen by the small jumps in position estimations. In this static scenario, the drift of the position solution with and without carrier-phase compensation is comparable.

Comparing the different position components (east, north, and altitude) shows that the maximal position deviation is largest for the altitude (altitude: 10 mm vs. east, north: 4 mm). This is normal for GNSS positioning because the dilution of precision (DOP) of the constellation is higher for this component. The deviation of the northern and eastern components are different, but in the same order of magnitude.

Assessing the effect of a jammer on the individual position components is quite difficult. Using prewhitening to mitigate a jamming signal affects those satellites most that are close to the jamming signal in terms of DoA (see above in the discussion about this scenario). Closer satellites will be suppressed more, resulting in a lower (measured) C/N_{0} of the signal. If the C/N_{0} value drops too low, the satellite can no longer be tracked. The effect of a degraded satellite measurement on the position solution depends on the number of satellites used for the solution and constellation geometry. The degradation due to a lost satellite can be assessed by comparing the DOP values with and without that satellite.

Another aspect is the geometry of the antenna array. Using prewhitening with a linear array results in axis-symmetric antenna pattern along the axis of the linear antenna array. This means that the prewhitening filter does not only suppress satellites in the direction of the jammer, but also near the mirrored jammer in terms of DoA. For example, if we consider a linear antenna array with a north-south axis, a filter for mitigating a jamming signal from the west direction would suppress not only satellites in the western direction, but also in the eastern direction. Therefore, the position solution will be degraded most in the east-west direction.

In this scenario, the DoA of the jammer is static. Due to the large number of satellites at higher elevation angles, a different azimuth angle of the jamming signal would not affect the satellite in a significantly different way. A higher elevation angle of the jammer, on the other hand, could degrade the position results depending on its azimuth angle. However, due to the large number of satellites, it is unlikely that the degradation would be significant.

### 7.2 Scenario 2: Moving Jammer With a Constant Power Level

Figure 7 shows the carrier-phase residuals for Scenario 2 for the different processing modes. Next to the individual plots of the different modes, it gives the RMS of the residuals (Figure 7[e]) and a skyplot of the satellites including the jamming signal (Figure 7[d]). Like in Scenario 1, the RMS is smoothed using a moving average filter. Remember, in this scenario, the power of the radiated jamming signal stays constant but, due to the movement of the jamming antenna, the received JSR varies (see Figure 4[b]) and the DoA of the received jamming signal changes over time (see Figure 7[d]). In all plots, the point in time when the jamming signal is enabled or disabled is marked by a vertical red line.

After the jamming signal is enabled, the receiver in Single Antenna Mode (Figure 7[a]) is no longer able to track the satellite signals. Consequently, no residuals can be shown for that time duration. Using the prewhitening filter allows for tracking of the satellite signals over the entire length of the signal record. Before the jamming signal is enabled, the modes with and without the compensation approach perform equally (Figure 7[e]). However, after the jammer is enabled, the carrier-phase residuals of the receiver without phase compensation increase significantly. The receiver even loses the RTK-fixed position for a short time around 13:41:30. In contrast, the residuals of the receiver using the proposed compensation approach remain low (see Figure 7[c]) and the RTK-fixed solution is available during the whole experiment. In Figure 7(e)‘s green plot, it can be observed that the residuals stay at the same level without jamming.

The results for the position solution in Figure 8 confirm previous observations. Without phase compensation, the position solution significantly drifts when the jammer is enabled. With the phase compensation, on the other hand, the estimated position solutions show only small deviations which are of the same order of magnitude under interference-free and jamming conditions.

Summed up, this scenario clearly demonstrates the benefit provided by the proposed phase compensation algorithm on the level of individual carrier-phase range measurements. The strength of the jamming effect on the position domain significantly depends on the satellite constellation geometry and the number of satellites that are affected through insufficient spatial separation from the DoA of the interfering signal. A moving jammer with a quickly changing DoA is usually more harmful because of a higher number of degraded satellite measurements by the adaptively steered spatial null of the prewhitening filter.

## 8 CONCLUSION AND OUTLOOK

In this paper, we have proposed an algorithm to compensate for the carrier-phase bias occurring when using blind spatial signal processing. *Blind* means here that the user does not need to know any a-priori information about the phased antenna pattern or the front-end. The proposed algorithm was tested in two different scenarios using an in-house software receiver in combination with the RTKlib that was used to estimate an RTK solution. In the first scenario, the signal power of a jammer from a constant DoA was raised step-wise and, in the second scenario, a jammer with constant signal power was moved around the receiver antenna array. For both scenarios, the proposed algorithm was compared with a multi-antenna system not compensating for the phase bias and with a single antenna processing.

The single antenna receiver is not able to estimate a position solution as soon as the jamming signal becomes too strong. The multi-antenna system manages to suppress the interference using prewhitening and is able to track the satellite signals during the jamming events. It generates continuous code and carrier-range observables delivering a positioning solution. However, without compensating for the phase offset induced by spatial signal processing, the carrier-phase residuals estimated by the RTKlib start to grow, especially in a changing environment with a moving jammer. As a result, the RTKlib can no longer estimate an RTK-fixed solution and falls back to a float solution. Furthermore, the position solution starts to drift even though a static receiver position is being analyzed. The proposed approach manages to resolve this issue: The carrier-phase residuals do not increase compared to the interference-free time period and the RTK-fixed solution can be maintained during the whole recorded time period.

The proposed algorithm enables us to use the benefits of an antenna array (without relying on detailed information about the antenna pattern) together with an RTK position solution. It is most suitable in situations where a medium-to-high precision (dm to cm) solution needs to be resilient to interference. A very high precision solution (cm to mm), comparable with a geodetic receiver accounting for antenna phase center variations, cannot be achieved with this algorithm. This is not astonishing because the algorithm does not use or need any detailed information about the antenna pattern. An alternative solution in such a scenario could be to use a deterministic beamforming approach that would, however, highly rely on a-priori knowledge of the amplitude and phase-embedded patterns of the array antennas.

In this paper, the signal recording and processing time was limited to less than half an hour. The carrier-phase offset produced by the proposed algorithm may become larger over longer observation times. Evaluating this is part of future work.

## HOW TO CITE THIS ARTICLE

Bamberg, T., Konovaltsev, A., & Meurer, M. (2023). Enabling RTK positioning under jamming: Mitigation of carrier-phase distortions induced by blind spatial filtering. *NAVIGATION, 70*(1). https://doi.org/10.33012/navi.556

## ACKNOWLEDGMENTS

Parts of this research were supported by the German Federal Ministry of Economic Affairs and Energy on the basis of a decision by the German Bundestag. This support is gratefully acknowledged.

## APPENDIX EXTRACT FROM RTKPOST.INI

This is an open access article under the terms of the Creative Commons Attribution License, which permits use, distribution and reproduction in any medium, provided the original work is properly cited.