# An Improved Back-Projection Algorithm for GNSS-R BSAK Imaging Based on CPU and GPU Platform
## 4 Results
### Simulation  
Simulations were conducted to demonstrate the performance of the proposed algorithm, which were carried out using the CPU and GPU of the hardware platform described above, respectively. The geometric configuration of the satellite and receiver is shown in Figure 5(a). Some parameters used in the simulation are listed in Table 1.  
Figure 5(b) shows the multitarget simulation results of the proposed algorithm; all point targets are focused on the correct position in the image. Table 2 shows the elapsed time involved in the whole processing using CPU and GPU. The total running time of using the GPU and CPU to generate images of the size 4 km \(\times\) 4 km is 106.468 s, while the running time of the improved BPA on the CPU is about 17,456.88 s, and the total speedup is about 163.96 times. FFT and IFFT process are accelerated by 117 times, the complex multiplication is accelerated by 261 times, and the back projection is accelerated by 164.1 times. Each step of the entire process of the BPA can be accelerated by GPU in parallel, and since most of the time of the algorithm is consumed in the back projection process, the overall acceleration ratio mainly depends on the back projection acceleration ratio.  
To verify the imaging quality of the proposed algorithm, cross-sectional measurements were taken along the range and azimuth in the point targets. The imaging results of chosen target 25 are presented in Figure 7. As can be seen, Target 25 is well focused. The range profile and the azimuth profile were well consistent with theoretical ones [23]. Table 3 shows the comparison of the proposed algorithm imaging and CPU imaging of target 25, the range and azimuth imaging resolution, Peak Side-Lobe Ratio (PSLR), and Integral Side-Lobe Ratio (ISLR) are the same. This effectively shows that GPU-accelerated BPA can effectively reduce the imaging time without reducing the image quality at all. In the simulation, we ignored the cross-correlation interference caused by other navigation satellite signals. Firstly, the GPS-L5 signal's autocorrelation peak is about 35 dB higher than the sidelobe and cross-correlation results. Secondly, the strength of the autocorrelation signal will increase by \(10\log_{10}{}^{N_{r}}\) times after azimuth focus, \(N^{r}\) is the number of azimuth samples, while the strength of the cross-correlation signal will not increase due to the different slant range of different satellites.  
\begin{table}
\begin{tabular}{c c} \hline
**Parameters** & **Value** \\ \hline Satellite PRN & 3 \\ Carrier frequency & 1176.45 MHz \\ Synthetic aperture time & 300 s \\ Signal band width (GPS L5) & 20.46 MHz \\ Sampling rate & 62 MHz \\ Equivalent PRF & 1000 Hz \\ Receiver position & (0, 0, 100) m \\ Satellite position at center time & (20,133.7258, 10,697.3032, 728.0291) km \\ Satellite speed at center time & (1392.7068, \(-\)2766.6856, 138.3063) m/s \\ \hline \end{tabular}
\end{table}
Table 1: Simulation parameters.  
Figure 6: Layout of the point targets in simulation and the imaging results. (**a**) is the distribution of the simulation scene, and (**b**) is the imaging results with improved BPA on CPU and GPU.  
The simulation of scenes of different sizes is performed, and the results are shown in Table 4. In terms of computing efficiency, GPU and CPU-based methods are superior to CPU-based methods. The time consumed by the simulation increases as the size of the scene increases. When the scene size increases to a certain extent, the GPU stream processors are all in a working state, and the speedup ratio no longer changes. This illustrates that the acceleration capability of GPU-accelerated BPAs is largely dependent on the number of stream processors, with the higher the number of stream processors, the better the acceleration performance. To obtain better acceleration performance, developers can choose GPUs with more stream processors or use multiple GPU parallel methods to improve performance.