# An Improved Back-Projection Algorithm for GNSS-R BSAK Imaging Based on CPU and GPU Platform
## 3 Methods
### Data Pre-Processing  
To optimize the imaging quality of the BPA algorithm and extract the parameters needed to accelerate BPA in parallel using the GPU, a pre-processing program is designed for a GNSS-R BSAR system. Three crucial technical issues relating to the program are considered. Firstly, it is necessary to ensure the synchronization of the direct signal and the echo signal during the entire imaging process. Secondly, BPA requires accurate time, and the location of the transmitter, receiver, and imaging area [38]. Finally, the relevant parameters (the reference point, imaging area, synthetic aperture time, the pixel interval) of the BPA algorithm are obtained. The pre-processing program was designed for the above three issues; the specific process is shown in Figure 2.  
Figure 2: Pre-processing for BPA running on GPU.  
The range compression in the BPA of GNSS-R SAR is achieved through correlation operations between the direct channel and the echo channel. The performance of the autocorrelation depends on the quality of the signal synchronization between the direct and echo channel. Ideally, the direct channel and the echo channel would have good channel coherence, but unfortunately, the signal can be affected by various factors. To solve the problem of time synchronization, the signals of the direct channel and the echo channel are processed, as shown in Figure 2. The GNSS direct signal is captured and tracked to obtain a subframe start timestamp position \(T_{d}\) of the direct signal and calculate the time delay difference \(T_{delay}\) between the echo signal and the direct signal due to the different propagation paths. To ensure the time and phase synchronization of the two signals, the direct signal of 1 ms (a ranging code length) taken by timestamp \(T_{d}\), and the complete pseudorandom noise code of zero-initial phase is reconstructed as a reference signal. According to Phase-locked loop (PLL) theory [39], after compensating for the time difference \(T_{delay}\), we can obtain the direct signal and the echo signal, which was emitted by satellite at the same time. The direct signal and the echo signal have good time synchronization performance by this operation. The expression of the reference signal is  
\[h=C[\tau-\frac{R(\eta)}{c}] \tag{6}\]  
The method for improving the satellite orbit accuracy and positioning accuracy is shown in Figure 2. International GNSS Service (IGS) Ultra-Rapid Precision Ephemeris was used to extract satellite obit data and calculate its position with less than 10 cm position error and satellite clock 5 ns error [40]. As IGS Ultra-Rapid data has a 15 min update rate, interpolation was necessary to meet the sampling rate of the GNSS-R BSA system.  
As shown in Figure 2, The method of using geometric modeling is used to determine the specific parameters of the BPA imaging process. Taking the ground fixed station mode as an example, the reference point is the position of the phase center of the echo antenna. The imaged area is the area covered by the main lobe of the echo antenna. The synthetic aperture time can be selected as a period of time between the navigation satellite antenna beam enters the imaged area to the time when the beam completely leaves the imaged area. To obtain a high-resolution image, it is necessary to determine the start and end times of the synthetic aperture according to the geometric structure of acquisition time [28]. Finally, the imaged plane is determined according to the coordinate information of the imaged area. In this paper, the height of the imaged plane is determined by introducing the Google Elevation Application Programming Interface (API), which can reduce the impact of elevation errors on the imaged quality. The pixel interval is estimated by the range and azimuth resolution at the time of acquisition. The minimum requirement is that the pixel interval sampling for the range and azimuth resolution satisfies the Nyquist sampling theorem.