# Interference Mitigation for GNSS Receivers Using FFT Excision Filtering Implemented on an FPGA
## 5 Results
### Validation Results and Discussion  
Verification of the results of the VHDL implementation was achieved by comparison with the MATLAB software algorithm. The validation results were the Hamming window validation, FFT validation, excised data validation, IFFT validation, and the final output validation. The fixed-point and float-point designs were tested and verified. The output results were tested with different levels of (\(J/No\)) and different jamming frequencies for two types of interference, which are CW and the sweeping jammers. In order to achieve the best results of the mitigation algorithm, a high level (\(J/No\)) was chosen of 80 dB-Hz with a frequency jammer equal to 6.5033 MHz for both CW and the sweeping jammer as the test input file. Figure 20 shows the input sampled signal with the CW jammer at (\(J/No\)) = 80 dB-Hz and freqj = 6.5033 MHz. Figure 21 shows the output sample signal in the frequency domain after the application of the MATLAB FFT excision. In the fixed-point design, we noticed that when we increased the precision of the fixed-point design, the performance of (\(C/No\)) improved. In other words, an increase in the precision improved the performance but consumed more hardware resources. The fixed-point design with 8-bit precision showed the worst pe  
Figure 21: Frequency spectrum of the FFT excision MATLAB software simulation. Figure 20: Input sampled data with the CW jammer at \(J/No\) = 80 dB-Hz and freqj = 6.5033 MHz. precision. Figure 22 shows the final frequency spectrum from the 8-bit precision fixed-point design. It is obvious that the shape of the spectrum is significantly unmatched with the output signal from the MATLAB FFT excision algorithm in Figure 21. The 32-bit precision, 22-bit precision, and 16-bit precision fixed-point designs showed the most matched results with the MATLAB software algorithm. Figure 23 shows the final output of the frequency domain of the fixed-point design with 16-bit precision. The frequency spectrum of the fixed-point design with 16 bits in Figure 23 shows similar results to the frequency spectrum of the MATLAB software simulation in Figure 21. However, the attenuation results of the final output do not perfectly match the MATLAB result. The existence of interference with the output from the start of the frequency axis is noted and this is due to FFT output. The FFT results of stream A indicate a low-frequency point of FFT. Generally, low-frequency noise could be additionally filtered, which produces little noise that affects the final output. Moreover, the precision of the fixed-point (16-bit) of Xilinx-FFT is different than the float-point double-precision of FFT-MATLAB. For this reason, the fixed-point design with 22-bit precision was chosen as the best optimal design according to the fixed-point design. The final frequency spectrum for the 22-bit precision fixed-point design is shown in Figure 24.  
For these reasons, the float-point design was developed to achieve a better performance than the fixed-point performance due to its float-point double precision. The float point design showed the best results, which matched the MATLAB algorithm results, compared to the fixed-point design. Figure 25 shows the sampled signal from the VHDL implementation in the frequency domain. It is obvious that the shape of the VHDL output signal is very similar to the sampled signal from the MATLAB software algorithm in Figure 21. There is a small difference in the attenuation of the interference due to two reasons. The first reason is the precision difference as the FFT MATLAB-based point uses a double-precision float-point (64-bit) while in the VHDL hardware implementation, the FFT IP core uses a single-precision float-point (32-bit). The second reason is the magnitude calculation for the threshold computation as the estimated calculation is used in the hardware implementation while a real calculation is used in MATLAB, which achieved full precision.