Adaptive Spoofing Suppression Algorithm for GNSS Based on Multiple Antennas Array

The signals of navigation satellites are easily affected by spoofing interference, causing the wrong position, speed or Universal Time Coordinate of the receiver to be calculated. Traditional detection and suppression algorithms are used only to eliminate the spoofing signals, which may lead to an insufficient number of satellites for positioning. An adaptive spoofing suppression algorithm (ASSA) based on a multiple antenna array is proposed in this study. The ASSA can use the cross-correlation gain of multiple antenna array to adaptively generate nulling and realize the simultaneous suppression of multiple spoofing signals. Moreover, ASSA does not need to capture and track spoofing separately, thus reducing the complexity of implementation and calculation. Experiments were conducted to verify the proposed system under different conditions, and the results show that ASSA can suppress multiple spoofings with little impact on positioning performance. Under the condition of spoofing, ASSAs were (2.22 m, 2.41 m, 4.43 m) in the static test and (2.27 m, 2.43 m, 4.64 m) in the kinematic test, which are good positioning performances for both. In addition, the ASSA is applied before capturing signals, which is beneficial to identifying and eliminating spoofing earlier and faster.


Introduction
Global satellite navigation systems (GNSSs) are widely used in civil aviation, transportation, power, finance and other fields [1]. However, due to the low power of their navigation signals, they are easily affected by various interferences, such as spoofing and suppression. Spoofing interference is a great threat to GNSS security [2,3]. In 2001, a report on the vulnerability of GNSS was assessed by the US Department of transportation, which pointed out that there are serious security risks in transportation systems [4]. In 2009, the US naval surface operations center issued a report on the problem of GNSS spoofing interference [5], stating that GNSS should not only focus on positioning accuracy, but also on application security [6].
Signal processing algorithms have been studied as a means to detect spoofing interference. The difference in a Doppler shift between a satellite's navigation signal and spoofing to identify the spoofing [7,8]. Monitoring a received signal's power, carrier noise ratio and noise level can also be used to detect spoofing [9][10][11]. A new signal-quality assessment model has been proposed to detect and identify spoofing [12] that can work well even when the strength of a received signal's spoofing and authentic signal are very close to each other. However, the performance of this algorithm may deteriorate when the code phase differences between authentic signals and spoofing signals are <1.5 chips and the Doppler frequency differences between authentic signals and spoofing signals are relatively small. Sensitivity models have been formulated that include a vestigial signal-to-interference and noise ratio (SINR) that is quantified and characterized to detect the probability of a false alarm [13]. 1.
An adaptive spoofing interference suppression algorithm is proposed for satellite navigation based on a multi antenna array. This algorithm improves the real-time performance of spoofing suppression and reduces the complexity of spoofing interference suppression.

2.
A cross-correlation model of satellite navigation spoofing signals received by multiple elements is established. The feasibility of using the spread spectrum signals received between different array elements as a cross-correlation by which to suppress spoofing interference is analyzed. 3.
The complexity of the implementation of the adaptive spoofing suppressor for satellite navigation based on a multi antenna array is analyzed, and the performances of the two algorithms are verified by comparing them with the algorithm that first finds the direction of a signal and then suppresses it. The location performances of the two algorithms are tested under static and dynamic conditions.

Signal Receiving Model of a Multiple Antenna Array for Spoofing
Assume an arbitrary M-element antenna array configuration. In this configuration, one antenna is chosen as the reference antenna. Without loss of generality, assume that the navigation satellite signals can be received at a certain time L. The received signal on the m array element can now be expressed as x m (t) = L i=1 sa i (t)a m (θ i ) + n(t) (1) where n(t) is additive white Gaussian noise, a m (θ i ) is the direction vector of satellite i, θ i is the direction of arrival of the i th satellite signal, τ i is the delay of the ith satellite signal sa i (t) is the navigation signal of the ith satellite received, and t is the signal arrival time. The navigation signal composition is as follows: where P i is the total transmit power of the ith satellite, b i (t) ∈ [0, T b ] is the ith satellite data bit, and c i is the binary spreading (ranging) code of the ith satellite [26]. If the received signal contains a spoofing signal, the received signal can be written as where θ k is the direction of the spoofing signal, K is the number of spoofings, sp k (t) is the spoofing signal for the kth satellite, sp k (t) = √ P sk b k (t − τ sk )c k (t − τ sk )a m (θ k ), τ sk is the delay of the spoofing signal, and c k is the binary spreading (ranging) code of the kth spoofing signal. Spoof signals are often similar to currently visible satellite signals. The received signal of the mth array element can now be written as M receives spatial samples of authentic and spoofing signals impinging on the antenna array before despreading, which can be written in a matrix form as . . .
The use of arrays to receive satellite navigation signals can enhance or suppress signals from different directions, thereby achieving suppression of satellite navigation interference signals.

Suppressing Spoofing Based on Direction of Arrival (DOA)
Filtering (despread) the received signal x(t) of the array according to the spreading code c i (t − τ i ) of the ith desired satellite results in the nth bit of the processed signal being written as follows: where T b is the binary spreading (ranging) code period, c i is the binary spreading (ranging) code of the ith spoofing signal, P i is the navigation signal gain, P si is the gain of spoofing, b i (n) is the ith satellite data bit, θ i is the direction of arrival of the ith navigation signal, and β i is the direction of arrival of the ith spoofing signal. Let y i (n) = [y 1i , y 2i , · · · , y Mi ] H , A(θ i ) = [a 1 (θ i ), a 2 (θ i ), · · · , a M (θ i )] H . Then the covariance matrix of the despread signal y i can be approximated as where σ 2 n is the variance of thermal noise, I is the unit matrix, T c is the chip interval, and G = T b T c is the spreading gain.
After despreading, the signal power becomes G times that of the original. With reference to the general satellite transmitted signal, the gain G of the despreading processing is determined to be about 43 db. Generally, the level of the satellite navigation signal reaching the antenna interface is about −20 dB, and spoofing is usually about 5-10 dB higher than the satellite signal in order to achieve a good spoofing effect. After dispreading, the signal power is 23-30 dB higher than the noise power. Therefore, the traditional Direction of Arrival (DOA) estimation algorithm [27][28][29] can be used to measure the direction of arrival of the spoofing. In this paper, we use the multiple signal classification (MUSIC) algorithm [30] as an example to introduce the process of estimating the direction of arrival of spoofing.
Assume that there is one desired signal and K spoofing. After performing the feature decomposition on the covariance matrix (7), R y i y i can be expressed as where eigenvalues of the covariance matrix λ 1 ≥ λ 2 ≥ · · · λ K+1 > λ K+2 = · · · = λ M = σ 2 n are the corresponding M eigenvalues, of which the corresponding feature vector is u i (i = 1, 2, · · · , M). This is written as The corresponding signal subspace of the large eigenvalue expansion is U s = [u 1 , u 2 , · · · , u K+1 ], and the noise subspace is U N = [u K+2 , u K+3 , · · · , u M ]. The signal subspace and noise subspace are orthogonal to each other.
Simultaneously, the array direction vector of the received signals is also orthogonal to the noise subspace. As such, the spatial spectrum function of the MUSIC algorithm U H N A(θ i ) = 0 can be expressed as: Estimating the direction of arrival of the spoofing signal and the navigation signal is achieved via Equation (11).
After determining the direction of arrival of the received signals, spoofing and navigation signals are identified based on their energy and direction angle. The array flow pattern B S = a( θ s 1 ) a( θ s 2 ) · · · a θ s M can be obtained according to the array steering vector of the spoof signal. The spoofing signal subspace [31] can now be expressed as According to the orthogonality of the signal subspace and the noise subspace, the noise subspace can be obtained: The optimization problem of beam weighting minimizes the power of residual interference and noise in the output. Since the optimal weight vector does not change the power of the target signal, the output signal-to-interference and noise ratio can be maximized. Using the Lagrangian multiplier algorithm, the solution of the optimal filter processor can be expressed as where s is the constraint vector of M × 1; without constraint, the vector is s = [1, 0, · · · , 0] H . When the direction of arrival of the satellite signal is known, the value of constraint vector can be determined in order to enhance the satellite signal using s = [1, a 1 (α), · · · , a M (α)] H , where α is the satellite navigation signal constraint direction. The output of filtering processing is where y is the signal after spoofing suppression. A block diagram of the implementation of the spoofing suppression algorithm based on DOA is shown in Figure 1.
The implementation process of this algorithm is complicated and not conducive to real-time implementation. The implementation process of the algorithm can be described as follows: Algorithms:

1.
The received signal of the array antenna is Despreading the signals received by multiple antennas for one satellite is expressed as 3. The autocorrelation matrix R y i y i of the despreading signal is determined along with the eigenvalues of the matrix. The signal subspace U s = [u 1 , u 2 , · · · , u K+1 ] and noise subspace The spatial spectrum function P MUSIC (θ) = is constructed. The spectrum peak is determined, and discrimination of the spoofing and navigation signals is carried out based on search spectrum peak-to-peak size, number and direction of incidence angle.

5.
Subspace B S is determined, and the optimal weight of spoofing suppression without constraints or satellite signal direction constraints is identified and shown as

6.
According to the optimal weight vector, the received signal of array antenna is filtered, and the filtered navigation signal is obtained, shown as y out = w H opt X M . The filtered signal y out is sent to the baseband receiver for acquisition tracking. navigation signal constraint direction. The output of filtering processing is H out opt M y = w X (15) where y is the signal after spoofing suppression.
A block diagram of the implementation of the spoofing suppression algorithm based on DOA is shown in Figure 1.

Adaptive Spoofing Suppression Algorithm (Assa)
Without estimating the direction of arrival of the spoofing signal, adaptive spoofing suppression is an effective way to reduce the complexity of the spoofing interference suppression.
According to Equation (1), the cross-correlation of received signals from different array elements can be defined as: where x q (t) is the received signal of the reference array element, and x m (t) is the received signal of the mth array element. Expanding on this, Equation (16) can be written as: The low cross-correlation gain between different satellite signals is due to general pseudo-code characteristics, and the spoofing signal is less than the number of currently visible navigation satellites, K ≤ L. Equation (17) can therefore be written as: Because real satellite signals come from different directions, it can be assumed that all spoofing signals come from the same source, such as θ k = θ K (k = 1, 2, · · · K). t can be further be simplified as: Generally, the received power of the spoofing is about 5-10 dB higher than that of the satellite navigation signal. In other words, the spoofing gain is about 10-20 dB higher than the navigation signal after correlation despreading. The power of the satellite navigation signal to the receiving antenna is usually about 20 dB less than the noise. Taking the BeiDou B1 signal as an example, the gain of correlation despreading is about 21 dB. Different satellite navigation signals arrive from different directions, and array signal processing will restrict signal enhancement from a certain direction; therefore, the signals energy will not exceed the noise after cross-correlation between different channels. The cross-correlation gain of the spoofing signal is 10-20 dB higher than that of the navigation signal, which is to say that the level of the cross-correlation spoofing signal is above the noise. If the spoofing signal is a single-address broadcast spoofing signal, the array can receive multiple spoofing signals to achieve a superposition from the same direction.
Therefore, formula (19) can be approximately equal to: By expanding the components of Equation (20), we can get: The cross-correlation gain generated by cross-correlation processing between the signals received by different antenna elements is shown in the Figure 2: Because real satellite signals come from different directions, it can be assumed that all spoofing signals come from the same source, such as can be further be simplified as: Generally, the received power of the spoofing is about 5-10 dB higher than that of the satellite navigation signal. In other words, the spoofing gain is about 10-20 dB higher than the navigation signal after correlation despreading. The power of the satellite navigation signal to the receiving antenna is usually about 20 dB less than the noise. Taking the BeiDou B1 signal as an example, the gain of correlation despreading is about 21 dB. Different satellite navigation signals arrive from different directions, and array signal processing will restrict signal enhancement from a certain direction; therefore, the signals energy will not exceed the noise after cross-correlation between different channels. The cross-correlation gain of the spoofing signal is 10-20 dB higher than that of the navigation signal, which is to say that the level of the cross-correlation spoofing signal is above the noise. If the spoofing signal is a single-address broadcast spoofing signal, the array can receive multiple spoofing signals to achieve a superposition from the same direction.
Therefore, formula (19) can be approximately equal to: By expanding the components of Equation (20), we can get: The cross-correlation gain generated by cross-correlation processing between the signals received by different antenna elements is shown in the Figure 2:  The signals received by the array elements are completely submerged under the noise, and the adaptive notch algorithm cannot be used to achieve the suppression of spoofing. When the signals received by the two array elements are cross-correlated and coherently accumulated, a peak can be formed that is equivalent to that the energy of the received signal and higher than the noise. Therefore, the adaptive notch algorithm can be used to suppress spoofing.
Assume the cross-correlation data length is N; the received signal after cross-correlation can be expressed as Q N = [q 1 q 2 · · · q M ]. The covariance matrix after cross-correlation can now be expressed as After obtaining the covariance matrix after cross-correlation, the optimal weight of the adaptive notch can be calculated according to the following formula: Without directional constraints, s = [1, 0, · · · , 0] H . In practical applications, satellite signals usually come from the area with a high elevation angle, while spoofing usually occurs in a place with a low elevation due to the limitations of the actual environment angle. Constraints are put on specific directions, and the value of the constraint vector is determined as The output of the adaptive filtering processing is Figure 3 shows the processing flow of the adaptive spoofing suppression algorithm, which does not require a direction to be established. Multiple spoofing interferences can be suppressed by the adaptive nulling algorithm after a cross-correlation. The algorithm flow can be described as follows: Algorithms:

1.
The array antenna receiving signal is Any one of these can be selected as a cross-correlation reference signal using x q (t) = x 1 (t).

3.
The cross-correlation vector of each signal and the reference signal are calculated for m = 1, 2, · · · , M,

4.
The cross-correlation matrix Q N = [q 1 q 2 · · · q M ] is calculated. The sample lengths of each channel in the

5.
The constraint vector of the adaptive notch is generated according to constraint conditions s. 6.
The weight vector of adaptive notch is calculated by The array's received signals are filtered by the calculated weights:

Complexity Analysis
There are three steps in the computation process of the spoofing suppression algorithm based on DOA. The first is despreading the received signal, assuming that the signal is despread in the form of Fast Fourier Transformation (FFT) transform (the computation amount of one channel is , N is the number of sampling points). The second step is estimating the direction of arrival after despreading, assuming the MUSIC algorithm is adopted (the computation amount is , P is the search times of the algorithm in azimuth and pitch direction). The third step is to establish fixeddirection nulling (the operation amount of this part is . Tf K spoofing signals are suppressed, the amount of computation needs to be increased K times.
The calculation process of the adaptive spoofing suppression algorithm based on a multiple antenna array proposed in this paper is divided into two parts: The first is the amount of crosscorrelation calculations (the computation amount of M channels is is adaptive nulling generation (the amount of computation is The calculation amount of the algorithm in this paper is  . An increase in the amount of spoofing will not cause an increase in the amount of computation.
Comparing the computation of the two algorithms, 2 , and as the number of array elements increases the gap between the two algorithms increases geometrically. The spoofing suppression algorithm based on DOA needs to capture and track the signal first, which is equivalent to a baseband navigation receiver behind each channel, and the synchronization of time and code between different receivers is complex. The ASSA based on a multiple antenna array proposed in this paper is implemented before acquisition and tracking, and has good real-time performance. The back end only needs a baseband navigation receiver, and the amount of equipment is small. Therefore, the algorithm proposed in this paper can greatly reduce the computation of array deception suppression.

Complexity Analysis
There are three steps in the computation process of the spoofing suppression algorithm based on DOA. The first is despreading the received signal, assuming that the signal is despread in the form of Fast Fourier Transformation (FFT) transform (the computation amount of one channel is 3N 2 log 2 N + N, the operation amount of M channels is M 3N 2 log 2 N + N , N is the number of sampling points). The second step is estimating the direction of arrival after despreading, assuming the MUSIC algorithm is adopted (the computation amount is M 3 + NM 2 + (2M − 1)MP, P is the search times of the algorithm in azimuth and pitch direction). The third step is to establish fixed-direction nulling (the operation amount of this part is M 3 + 6M 2 + 5M + 1). The total computation amount is Q 1 = M 3N 2 log 2 N + N + 2M 3 + 6M 2 + 5M + 1 + NM 2 + (2M − 1)MP. Tf K spoofing signals are suppressed, the amount of computation needs to be increased K times.
The calculation process of the adaptive spoofing suppression algorithm based on a multiple antenna array proposed in this paper is divided into two parts: The first is the amount of cross-correlation calculations (the computation amount of M channels is M 3N 2 log 2 N + N ). The second is adaptive nulling generation (the amount of computation is M 3 + M 2 ) The calculation amount of the algorithm in this paper is Q 2 = M 3N 2 log 2 N + N + M 3 + M 2 . An increase in the amount of spoofing will not cause an increase in the amount of computation.
Comparing the computation of the two algorithms, Q 2 << Q 1 < KQ 1 , and as the number of array elements increases the gap between the two algorithms increases geometrically. The spoofing suppression algorithm based on DOA needs to capture and track the signal first, which is equivalent to a baseband navigation receiver behind each channel, and the synchronization of time and code between different receivers is complex. The ASSA based on a multiple antenna array proposed in this paper is implemented before acquisition and tracking, and has good real-time performance. The back end only needs a baseband navigation receiver, and the amount of equipment is small. Therefore, the algorithm proposed in this paper can greatly reduce the computation of array deception suppression.

Implementations and Evaluation
In order to verify the spoofing suppression performance of the algorithm proposed in this paper, we needed to build a satellite navigation anti-spoofing verification environment and collect spoofing data for verification. The equipment components of the verification environment included a spoofing scenario simulation device, spoofing signal digital simulation computer, interference signal analog sources, receiving array antenna, multiple channel signal acquisition and processing equipment, anti-spoofing performance evaluation computer, timing receiver and interference transmitting antenna, and resource allocation within the system needed to be optimized [32]. The test connection relationship is shown in Figure 4, which includes purchased commercial equipment and self-developed equipment.
In order to verify the spoofing suppression performance of the algorithm proposed in this paper, we needed to build a satellite navigation anti-spoofing verification environment and collect spoofing data for verification. The equipment components of the verification environment included a spoofing scenario simulation device, spoofing signal digital simulation computer, interference signal analog sources, receiving array antenna, multiple channel signal acquisition and processing equipment, antispoofing performance evaluation computer, timing receiver and interference transmitting antenna, and resource allocation within the system needed to be optimized [32]. The test connection relationship is shown in Figure 4, which includes purchased commercial equipment and selfdeveloped equipment.  An anti-spoofing test environment was set up at an outdoor test site. The test site was on a hill more than 100 m high, and about 30 m above the flat ground below the hill. The spoofing interference source was installed at the top of the mountain, and could simultaneously transmit eight spoofing interference signals. The spoofing signal had the same pseudo-code structure as the satellite signal visible in the current area. The test trajectory is shown by the red curve in Figure 5. The receiving array used a seven-element Y-shaped circular array, and used signal acquisition and processing equipment to collect satellite navigation and spoofing signals. The test schematic is shown in Figure 5, with a background taken from Google Maps. An anti-spoofing test environment was set up at an outdoor test site. The test site was on a hill more than 100 m high, and about 30 m above the flat ground below the hill. The spoofing interference source was installed at the top of the mountain, and could simultaneously transmit eight spoofing interference signals. The spoofing signal had the same pseudo-code structure as the satellite signal visible in the current area. The test trajectory is shown by the red curve in Figure 5. The receiving array used a seven-element Y-shaped circular array, and used signal acquisition and processing equipment to collect satellite navigation and spoofing signals. The test schematic is shown in Figure 5, with a background taken from Google Maps. The spoofing simulator generated a spoofing signal with the same pseudo code as the visible satellite in the current area. On the basis of synchronization with the navigation time of the satellite in the sky, eight spoofing signals were transmitted simultaneously by means of single-point broadcasting. The power at the receiving end of the spoofing signal was 5-15dB higher than that of navigation signal. The spoofing simulator generated a spoofing signal with the same pseudo code as the visible satellite in the current area. On the basis of synchronization with the navigation time of the satellite in the sky, eight spoofing signals were transmitted simultaneously by means of single-point broadcasting. The power at the receiving end of the spoofing signal was 5-15dB higher than that of navigation signal.
This test site was located in Cuiwei hill, Luquan District, Shijiazhuang, Hebei Province. The spoofing interference suppression test was completed in October 2019. The weather on the test day was clear, and the ionosphere and troposphere conditions were relatively stable.

Performance Analysis
The BeiDou B1 signal was used as an example to analyze the spoofing interference suppression performance of the spoofing suppression algorithm. The test equipment composition and test environment are shown in Figures 4 and 5. The signal acquisition and processing equipment saved the collected signals into files, and Matlab was used to analyze the spoofing suppression performance of the two algorithms. Figures 6 and 7 are a spatial spectrum diagram and a gradient projection diagram of the spoofing suppression algorithm based on DOA, respectively. Figure 8 shows that the algorithm only produces nulls in the direction of spoofing, while the other directions are relatively flat. There is also less impact on the reception of navigation signals as the spoofing suppression is completed. This algorithm has the same implementation process for the suppression of spoofing in different satellites, but to save space the processing of other satellite channels is not listed one by one. This algorithm requires a large amount of calculations and a complicated implementation, but the advantage is that the algorithm can achieve spoof interference suppression in which the direction of the spoof interference emission is greater than the number of array elements because the satellite channels are processed separately and not limited by the number of array elements. Figure 7 is the spatial spectrum and gradient projection of the ASSA. Figure 9 shows that the algorithm can also form nulls in the direction of spoofing, but that compared with the algorithm that finds the direction first then suppresses backwards, the formed nulls are shallower. The zero trap formed by this algorithm is flat, and there are many redundant nulls, but the algorithm can also achieve a suppression of spoofing.   Figure 7 is the spatial spectrum and gradient projection of the ASSA. Figure 9 shows that the algorithm can also form nulls in the direction of spoofing, but that compared with the algorithm that finds the direction first then suppresses backwards, the formed nulls are shallower. The zero trap formed by this algorithm is flat, and there are many redundant nulls, but the algorithm can also achieve a suppression of spoofing.  Figure 7 is the spatial spectrum and gradient projection of the ASSA. Figure 9 shows that the algorithm can also form nulls in the direction of spoofing, but that compared with the algorithm that finds the direction first then suppresses backwards, the formed nulls are shallower. The zero trap formed by this algorithm is flat, and there are many redundant nulls, but the algorithm can also achieve a suppression of spoofing.           The ASSA can achieve the simultaneous suppression of multiple spoofing interferences. Figures 10 to 17 show that there were two signals before suppression, a spoofing signal and navigation signals, and that only one navigation signal remained after suppression. Although the algorithm processing process causes the loss of satellite signal energy, the carrier-to-noise ratio is reduced by less than 1 dB, which has little effect on the receiver's acquisition and tracking.

Static Test Results
To validate the usability of the ASSA on the positioning performance, the static navigation performance of the general navigation software receiver was compared with the software receiver loaded with the spoofing suppression algorithm based on DOA and the software receiver loaded  The ASSA can achieve the simultaneous suppression of multiple spoofing interferences. Figures 10 to 17 show that there were two signals before suppression, a spoofing signal and navigation signals, and that only one navigation signal remained after suppression. Although the algorithm processing process causes the loss of satellite signal energy, the carrier-to-noise ratio is reduced by less than 1 dB, which has little effect on the receiver's acquisition and tracking.

Static Test Results
To validate the usability of the ASSA on the positioning performance, the static navigation performance of the general navigation software receiver was compared with the software receiver loaded with the spoofing suppression algorithm based on DOA and the software receiver loaded with the ASSA. In the experiment, the receiving antenna was placed at a known point calibrated in The ASSA can achieve the simultaneous suppression of multiple spoofing interferences. Figures 10-17 show that there were two signals before suppression, a spoofing signal and navigation signals, and that only one navigation signal remained after suppression. Although the algorithm processing process causes the loss of satellite signal energy, the carrier-to-noise ratio is reduced by less than 1 dB, which has little effect on the receiver's acquisition and tracking. Without spoofing interference, the navigation signal had little effect on the performance of navigation and positioning after being processed by the two algorithms introduced in this paper. In order to more intuitively evaluate the impact of the two algorithms on positioning performance, mean square error was used. The mean square error of the positioning can be defined as: where rmse X is the positioning mean square errors in the X axis,  Figure 16 is shown in Table 1. Without spoofing, the two spoofing suppression algorithms had little impact on navigation and positioning. The algorithm of the spoofing suppression algorithm based on DOA had almost no effect on navigation and positioning. The adaptive spoofing suppression algorithm had an impact on navigation and positioning in the X, Y, Z directions of ≤0.2 m.
With spoofing, the general software receiver without spoofing suppression could not locate signals correctly; therefore, Figure 17 shows the positioning error only after suppression using the two algorithms.   Figure 17 shows the static positioning errors after using the two spoofing suppression algorithms. The receiver could locate signals correctly, and the positioning error did not increase significantly. The mean square error of positioning processed by the two algorithms is shown in Table 2. With spoofing, the positioning performance of the spoofing suppression algorithm based on DOA was slightly better than the adaptive spoofing suppression algorithm. The adaptive spoofing suppression algorithm was better than 2.5 m in the horizontal direction and better than 4.5 m in the elevation direction. In the static test, although the positioning performance of the adaptive spoofing suppression algorithm was slightly worse than the spoofing suppression algorithm based on DOA, the calculation and implementation complexity of the adaptive spoofing suppression algorithm were much lower.

Static Test Results
To validate the usability of the ASSA on the positioning performance, the static navigation performance of the general navigation software receiver was compared with the software receiver loaded with the spoofing suppression algorithm based on DOA and the software receiver loaded with the ASSA. In the experiment, the receiving antenna was placed at a known point calibrated in advance, and the coordinates of the local Cartesian coordinate system were (4235045.81 m, 530526.85 m, 97.84 m). Figure 16 shows the static positioning error without spoofing interference.
Without spoofing interference, the navigation signal had little effect on the performance of navigation and positioning after being processed by the two algorithms introduced in this paper. In order to more intuitively evaluate the impact of the two algorithms on positioning performance, mean square error was used. The mean square error of the positioning can be defined as: where X rmse is the positioning mean square errors in the X axis, Y rmse is the positioning mean square errors in the Y axis, Z rmse is the positioning mean square errors in the Z axis, and N is the number of positionings. (x 0 , y 0 , z 0 ) is the true coordinate point. (x i , y i , z i ) is the ith positioning result. The mean square error of positioning in Figure 16 is shown in Table 1. Without spoofing, the two spoofing suppression algorithms had little impact on navigation and positioning. The algorithm of the spoofing suppression algorithm based on DOA had almost no effect on navigation and positioning. The adaptive spoofing suppression algorithm had an impact on navigation and positioning in the X, Y, Z directions of ≤0.2 m.
With spoofing, the general software receiver without spoofing suppression could not locate signals correctly; therefore, Figure 17 shows the positioning error only after suppression using the two algorithms. Figure 17 shows the static positioning errors after using the two spoofing suppression algorithms. The receiver could locate signals correctly, and the positioning error did not increase significantly. The mean square error of positioning processed by the two algorithms is shown in Table 2. With spoofing, the positioning performance of the spoofing suppression algorithm based on DOA was slightly better than the adaptive spoofing suppression algorithm. The adaptive spoofing suppression algorithm was better than 2.5 m in the horizontal direction and better than 4.5 m in the elevation direction. In the static test, although the positioning performance of the adaptive spoofing suppression algorithm was slightly worse than the spoofing suppression algorithm based on DOA, the calculation and implementation complexity of the adaptive spoofing suppression algorithm were much lower.  Figure 5. Post real-time kinematic (RTK) with the BeiDou B3 frequency was adopted to assess the positioning performance. The accuracy of the post-processing RTK was better than 5 cm, which meets the needs of dynamic positioning performance comparison. The positioning error for spoofing after suppression using the two algorithms is shown in Figure 18. The kinematic positioning error had no obvious change compared with the static positioning error, which indicates that the adaptive spoofing suppression algorithm was not sensitive to the carrier motion state. The kinematic positioning mean square error is shown in Table 3. The kinematic positioning error in the X, Y, Z axis direction was (2.38 m, 2.27 m, 4.73 m) for the spoofing suppression algorithm based on DOA, and (2.27 m, 2.43 m, 4.64 m) for the adaptive spoofing suppression algorithm. The positioning performance of the spoofing suppression algorithm based on DOA had no obvious advantage over the adaptive spoofing suppression algorithm. Compared with the static positioning performance, the positioning accuracy was almost unchanged in the horizontal direction, and the positioning accuracy was slightly worse in the elevation direction than in the static. This was caused by the fact that the dilution of precision (DOP) value of the navigation satellite in the elevation direction was worse than in the horizontal direction, and had nothing to do with the algorithm itself.

Conclusions
The adaptive spoofing suppression algorithm for GNSS based on a multiple antenna array was been proposed that could utilize the cross-correlation gain of the multiple antenna array to adaptively generate nulling and achieve the simultaneous suppression of multiple spoofing signals. The performance of the proposed algorithm was verified through static and dynamic tests. The results show that: (1) ASSA has a better suppression performance on spoofing, and can form nulls in the direction of spoofing; (2) ASSA has a small impact on navigation and positioning, with positioning errors caused by ASSA less than 0.2 m; (3) after spoofing suppression, the static positioning error in the X, Y, Z axis was (2.22 m, 2.41 m, 4.43 m) for the ASSA, which is worse than the spoofing suppression algorithm based on DOA, but the calculation and implementation complexity of the ASSA were much lower; (4) after spoofing suppression, the kinematic positioning error in the X, Y, Z axis direction was (2.27 m, 2.43 m, 4.64 m) for the ASSA, with a performance similar to the spoofing suppression algorithm based on DOA. The algorithm proposed in this paper is not sensitive to the movement state of the carrier, and has good positioning performance under both stationary and The kinematic positioning error had no obvious change compared with the static positioning error, which indicates that the adaptive spoofing suppression algorithm was not sensitive to the carrier motion state. The kinematic positioning mean square error is shown in Table 3. The kinematic positioning error in the X, Y, Z axis direction was (2.38 m, 2.27 m, 4.73 m) for the spoofing suppression algorithm based on DOA, and (2.27 m, 2.43 m, 4.64 m) for the adaptive spoofing suppression algorithm. The positioning performance of the spoofing suppression algorithm based on DOA had no obvious advantage over the adaptive spoofing suppression algorithm. Compared with the static positioning performance, the positioning accuracy was almost unchanged in the horizontal direction, and the positioning accuracy was slightly worse in the elevation direction than in the static. This was caused by the fact that the dilution of precision (DOP) value of the navigation satellite in the elevation direction was worse than in the horizontal direction, and had nothing to do with the algorithm itself.

Conclusions
The adaptive spoofing suppression algorithm for GNSS based on a multiple antenna array was been proposed that could utilize the cross-correlation gain of the multiple antenna array to adaptively generate nulling and achieve the simultaneous suppression of multiple spoofing signals. The performance of the proposed algorithm was verified through static and dynamic tests. The results show that: (1) ASSA has a better suppression performance on spoofing, and can form nulls in the direction of spoofing; (2) ASSA has a small impact on navigation and positioning, with positioning errors caused by ASSA less than 0.2 m; (3) after spoofing suppression, the static positioning error in the X, Y, Z axis was (2.22 m, 2.41 m, 4.43 m) for the ASSA, which is worse than the spoofing suppression algorithm based on DOA, but the calculation and implementation complexity of the ASSA were much lower; (4) after spoofing suppression, the kinematic positioning error in the X, Y, Z axis direction was (2.27 m, 2.43 m, 4.64 m) for the ASSA, with a performance similar to the spoofing suppression algorithm based on DOA. The algorithm proposed in this paper is not sensitive to the movement state of the carrier, and has good positioning performance under both stationary and moving conditions. In the future, this algorithm will be applied to navigation receiving terminals to improve their spoofing countermeasure performances.