Introduction

Global positioning system (GPS) is a satellite-based navigation system that currently contains 32 satellites in earth orbit and provides users with positioning, navigation, and timing services. Typical GPS receivers have three stages, including acquisition, tracking, and navigation. The acquisition process is the first and most crucial stage in software receivers (Liu et al. 2019). During the acquisition stage, search for in-sight satellites and coarse values of the code phase and Doppler frequency of the incoming signal will be provided (Turunen 2010; Mozaffari et al. 2015). The accurate code phase and Doppler frequency values are calculated in the tracking stage. Through this process, navigation data are extracted (Kaplan and Hegarty 2017; Spilker and Parkinson 1996). With the necessary information for at least four satellites, the navigation stage can determine the position and time of the user (Tsui 2005).

All GPS receivers implement the acquisition process by analyzing the cross ambiguity function (CAF) of the code phase/Doppler maps (Li and Guo 2013; Zhu and Fan 2015). The CAF is a two-dimensional function that depends on the correlation between the received signal from the satellite and the properties of the locally generated signal.

In order to categorize the popular proposed methods for weak GPS signal acquisition, we consider nine main groups. The weak GPS signal acquisition methods are summarized in Fig. 1. Fast Fourier transform (FFT)-based methods in GPS signal acquisition are the most used methods that parallelize the search for the Doppler frequency or code phase. Akopian (2001), and Sagiraju et al. (2008) have shown that parallelization and the utilization of FFT and IFFT almost solve the time-consuming problem of the serial method, which is often used in fast signal acquisition algorithms.

Fig. 1
figure 1

Weak GPS signal acquisition methods

One category group is acquisition methods based on partial matched filter-fast Fourier transform (PMF-FFT). Guo et al. (2017) have proposed a method that divided the intermediate frequency (IF) signal and shifted the central frequency before the matched filters, and combined the FFT results to search the Doppler frequency. Thus, the detection probability is improved. Lu et al. (2021b) segmented the frequency search range and apply the PMF-FFT technique in each segment. This operation reduced the maximum frequency deviation and effectively accumulated the energy of signals.

Methods based on fractional Fourier transform (FRFT) have been proposed recently to acquire weak GPS signals. Luo et al. (2018) have proved that the power of the linear frequency modulation (LFM) signal, which is divergent in the frequency-time domain, can be concentrated and converged in the new domain of the fractional Fourier. Detection probability could be significantly improved by using this method.

Another group of GPS signal acquisition methods is based on double-block zero padding (DBZP). Jianing et al. (2018) have demonstrated that to reduce the computational complexity, DBZP uses the frequency domain to search over delay-Doppler space. This method effectively improved the signal-to-noise ratio (SNR) and the detection probability of the GPS receiver, but the navigation data bit transition still exists.

Methods based on compressive sensing were proposed recently. Compressive sensing is a signal sampling theory for sparse signals. The signal can be sampled at a lower sampling rate than Nyquist sampling theory, and small numbers of compressed measurements can be used to recover the signal precisely. Cheng and Li (2019), and He et al. (2019) have indicated that GPS signals can be compressed excellently with these methods, and the transmission energy consumption and computational complexity of acquiring GPS signals are reduced.

Some methods are based on stochastic resonance (SR). Lu et al. (2021a) have compensated the IF signal to improve the SNR of the signal and applied coherent integration to get the phase code. Lang et al. (2016) proposed a method which computes the power spectrum of the output signal of the SR system. Then, the power spectrum features are determined, and the parameters are adjusted and fed back into the SR system. When the requirements of SR are met, SR occurs, and the GPS signal is detected. These methods can effectively acquire GPS signals in low SNR conditions but still have the problems of navigation bit sign transition.

Another group of acquisition methods is code delay compensation (CDC) which is used to find the autocorrelation peak value efficiently. Yichao et al. (2016) have proposed an acquisition algorithm based on the CDC. To eliminate the impact of code phase drift, the carrier Doppler frequency offset is searched by fixed frequency steps. Then, the code-frequency offset compensation can be calculated for each dwell in the detector. Jiao et al. (2012) have shown that the relationship between carrier Doppler and code Doppler can be used to predict phase slide moment. In addition, the phase sliding is compensated by picking points in coherent integration results. It will reduce non-coherent integration loss caused by code Doppler and improve acquisition sensitivity.

Wang et al. (2018) have demonstrated that there are two major methods to enhance the acquisition sensitivity of GPS signals:

  1. (1)

    Improving the quality of correlation between the received signal and the local generated signal by employing pre-processing and post-correlation methods.

  2. (2)

    Using intelligent methods and advanced techniques to optimize the acquisition decision strategy.

In the first method, pre-processing methods such as denoising GPS signals using wavelet transform is another group of our categorization. Sharie et al. (2020), and Madadi et al. (2010) have shown that these methods reduce or eliminate the received signal noise. In this operation, the SNR of the incoming signal increases and then improves the quality of the correlation process. Post-correlation methods are another group of our categorization, including coherent, non-coherent, and differential integration, which are suggested to increase the integration time. Extending the integration time is an effective method to improve the sensitivity of GPS receivers. Nezhadshahbodaghi et al. (2020a) have shown that the problems of the coherent integration method are navigation bit sign transition and residual carrier phase. Zeng et al. (2015), and Strassle et al. (2007) have resolved the problem of the navigation bit transition in non-coherent integration, but squaring loss occurs due to squaring operations. Nezhadshahbodaghi et al. (2020b) have shown that the differential integration methods are the most popular and impressive techniques to improve acquisition performance. The differential integration is divided into five smaller categories based on the integration of differential outputs. These smaller categories are including (1) coherent differential integration, (2) non-coherent differential integration, (3) pair-wise coherent differential integration, (4) pair-wise non-coherent differential integration, and (5) real differential integration.

For the second method, Wang et al. (2018) have proposed a double dwell scheme for optimizing the acquisition decision strategy. This processing method is based on a convolutional neural network (CNN) which is used to compress the GPS acquisition search space in the first dwell, and a long coherent integration which is exerted in the second dwell to achieve a high-quality correlation.

Current acquisition methods select the largest correlation peak in the CAF results and compare it with a predefined threshold value. This approach works well under optimal conditions (e.g. Gaussian or linear channel). However, it is very challenging in real terms, and optimal conditions are not always maintained. In more complicated situations such as multi-mode distributions or moderate-to-severe nonlinearities, which influence and interfere with the received signal, the optimal conditions are not consistent; Borhani-Darian and Closas (2020) have demonstrated that such complex behaviors can be taught using efficient methods trained on large datasets.

We present an acquisition method based on a deep convolutional neural network (DCNN) and a non-coherent integration post-correlation method to acquire GPS signals. The experiment results represent that the proposed method improves the sensitivity of the receiver.

The first section describes the GPS signal model. Then, we present the GPS signal acquisition process and problems of signal acquisition in weak signal environment. The structure of DCNN and post-correlation technique are discussed in the “Proposed method,” section and it will be followed by results and discussion. Finally, the conclusions are made in the last section.

Signal model

GPS L1 C/A signal is a direct sequence spread spectrum (DSSS) code sequence modulated by binary phase-shift keying (BPSK). The received GPS signals mixed to the baseband can be represented in the following form:

$$x\left(n{T}_{s}\right)=AC\left({nT}_{s}-\tau \right)D\left(n{T}_{s}-\tau \right)\mathrm{cos}\left(2\pi {(f}_{d}+{f}_{IF}){nT}_{s}+\varphi \right)+w\left(n{T}_{s}\right)$$
(1)

where A is the signal amplitude. C and D indicate the C/A code of the satellite and navigation data, respectively. \({f}_{d}\) is the Doppler frequency shift, \({f}_{IF}\) is the intermediate frequency, \(\tau \) is the code delay, \(\varphi \) is the initial phase of the satellite, w(n \({T}_{s}\)) represents the white Gaussian random noise (WGN) with zero mean and variance \( \sigma ^{2} = N_{0} / 2T_{s}\), \({N}_{0}\) is the single-side noise power spectral density (PSD), and \({T}_{s}\) is the sampling period.

GPS signal acquisition process

The acquisition system is generally based on the CAF, a circular correlation between the incoming and locally generated signals. Satyanarayana et al. (2011) showed that the correlator outputs under the presence of data modulation can be defined in the following form:

$${R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)=A{D}_{k}\mathrm{exp}\left(j\phi \right)+{w}_{k}= {I}_{k}+j{Q}_{k}$$
(2)

where \(\phi \) represents the residual phase difference between the received signal and the local generated signal, the index k = 1, 2, …, P represents the time instant when the \({R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)\) is computed, P is the number of non-coherent integrations, \({D}_{k}\) represents the navigation data bit and uniformly distributed between ± 1. \({I}_{k}\) and \({Q}_{k}\) denote the real part and imaginary part of \({R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)\), respectively.

The search for the i-th satellite can be formulated with two hypotheses:

\({H}_{0}: {R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={w}_{k}\), i-th satellite is not present.

\({H}_{1}: {R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={A{D}_{k}\mathrm{exp}\left(j\phi \right)+w}_{k}\), i-th satellite is present.

After (2) is calculated for the i-th satellite, the magnitude result of the CAF is compared with a predefined threshold value, and if it is greater than the threshold value, the i-th satellite is acquired, and the code phase and Doppler frequency are estimated. The results of the CAF for two PRNs of the GPS in the presence or absence of signal are shown in Fig. 2.

Fig. 2
figure 2

CAF results for code phase/Doppler grid in the: (top) presence, and (bottom) absence of signal

The post-correlation techniques can be utilized to increase the SNR in the output of the signal detector by extending the integration time because exerting a correlation process for a single C/A code period is insufficient in weak signal conditions. The main problem of post-correlation techniques is the reduction in SNR caused by navigation bit sign transitions and code Doppler. The code chip slips during correlation due to the effects of code Doppler. Navigation bit sign transitions can also cause a major problem for acquisition performance.

Code Doppler effect

As mentioned in the previous section, the acquisition process is generally based on the CAF, which is a circular correlation between the incoming signal and the local generated signal can be defined in the following form too:

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={\sum }_{{\varvec{n}}=0}^{{\varvec{N}}-1}x\left({nT}_{s}\right)C\left({nT}_{s}-{\overline{\tau }}_{i}\right)\mathrm{exp}\left(-j2\pi \overline{{f }_{d,i}}{nT}_{s}\right)$$
(3)

where N is the integration time, \(c\left({nT}_{s}-{\overline{\tau }}_{i}\right)\) is the local replica of C/A code. \({\overline{\tau }}_{i}\) and \(\overline{{f }_{d.i}}\) are the tentative code delay and Doppler shift frequency for the i-th satellite, respectively.

The signal after carrier synchronization can be written as:

$${\overline{x} }_{b}\left({nT}_{s}\right)=x\left({nT}_{s}\right)\mathrm{exp}\left(-j2\pi b\Delta {f}_{d,b}{nT}_{s}\right)$$
(4)

where \(b\Delta {f}_{d,b}\) is the frequency estimation in b-th frequency bin. b is from \(\left\lfloor { - \frac{{f_{d} }}{{\Delta f_{d} }}} \right\rfloor\) to \(\left\lfloor {\frac{{f_{d} }}{{\Delta f_{d} }}} \right\rfloor\), \(\Delta f_{d}\) is the frequency search step, and \(\left\lfloor a \right\rfloor\) represents the largest integer less than or equal to a. By applying FFT operation on \({\overline{x} }_{b}\left({nT}_{s}\right)\) and \(C({nT}_{s})\) with respect to \({nT}_{s}\):

$$\overline{R }\left(s\right)=FFT\left[{\overline{x} }_{b}\left({nT}_{s}\right)\right]$$
(5)
$$\overline{C }\left(s\right)=FFT\left[C({nT}_{s})\right]$$
(6)

Then, the circular correlation using FFT-IFFT operation can be represented as follows:

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)=IFFT\left[\overline{C }\left(s\right){\overline{R }\left(s\right)}^{*}\right]={R}_{c}\left({\tau }_{0}-\tau \right)sinc\left[\left({f}_{d}-b.\Delta {f}_{d}\right){T}_{c}\right]\mathrm{exp}\left({\phi }_{r}\right)$$
(7)

where \({R}_{c}\) is the C/A code self-correlation function, \({T}_{c}\) is the correlation time, and \({\phi }_{r}\) represents the residual carrier phase. Thus, the output of detector for k-th correlation number can be expressed in the following form:

$${y}_{k}=\left|R\left({\overline{\tau }}_{i},b.\Delta {f}_{d}\right)\right|=\left|{R}_{c}\left({\tau }_{0}-\tau -{\xi }_{d}{T}_{c}\right)sinc[\left({f}_{d}-b.\Delta {f}_{d}\right){T}_{c}]\right|$$
(8)

In which k represents of the correlation number in b-th frequency bin, \({\xi }_{d}{T}_{c}\) is the code phase drift of k-th correlation in b-th frequency bin. According to (8), due to this code phase drift, the peak value of the highest correlation occurs in different situations. This is called the code Doppler phenomenon because the correlation peak is not generated in a single code phase during different correlations when satellites are detected. This code Doppler phenomenon reduces the amplitude of correlation results, shifts the real code phase, and decreases the acquisition performance and accuracy.

Navigation data bit sign transition issue

The location of the data bit transition in the correlation interval is unknown. In the presence of data bit transition, \(D\left(n{T}_{s}\right)\) becomes a two-pulse signal. After the calculation of the correlation between the received signal and locally generated signal, when the Doppler shift and code delay are both aligned. From (1) and (3), it is concluded that:

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={\sum }_{{\varvec{n}}=0}^{{\varvec{N}}-1}AC\left({nT}_{s}-\tau \right)D\left(n{T}_{s}-\tau \right).$$
$$\widehat{C}\left({nT}_{s}-{\overline{\tau }}_{i}\right)\mathrm{cos}\left(2\pi {(f}_{d}+{f}_{IF}){nT}_{s}+\varphi \right)\mathrm{exp}\left(-j2\pi (\overline{{f }_{d,i}}+{f}_{IF}){nT}_{s}\right)$$
(9)

Because \(C\left({nT}_{s}-{\overline{\tau }}_{i}\right)=\widehat{C}\left({nT}_{s}-{\overline{\tau }}_{i}\right)\) have the same sign, thus:

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={\sum }_{{\varvec{n}}=0}^{{\varvec{N}}-1}AD\left(n{T}_{s}-\tau \right)\mathrm{cos}\left(2\pi ({f}_{d,i}+{f}_{IF}){nT}_{s}+\varphi \right)\mathrm{exp}\left(-j2\pi (\overline{{f }_{d,i}}+{f}_{IF}){nT}_{s}\right)$$
(10)

In which, \(AD\left(n{T}_{s}-\tau \right)\mathrm{cos}\left(2\pi ({f}_{d,i}+{f}_{IF}){nT}_{s}+\varphi \right)\) can be written in the following form:

$${E}_{i}\left[n\right]={u}_{i}\left[n\right]\mathrm{cos}\left(2\pi ({f}_{d,i}+{f}_{IF}){nT}_{s}+\varphi \right)$$
(11)

where \({u}_{i}\left[n\right]\) is a rectangular window function which has the interval [0, N-1], N represents the number of code phases in a C/A period. The \({u}_{i}\left[n\right]\) function is shown in Fig. 3. As shown in the figure, when data bit sign transition occurs, a two-pulse signal appears. In Fig. 3, \({N}_{\tau }\) represents the code delay. By applying the Euler’s formula, Eq. (10) turns into:

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={\sum }_{n=0}^{N-1}\frac{1}{2}{u}_{i}\left[n\right]\{\left(\mathit{exp}\left(j[2\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){nT}_{s}+\varphi \right))+exp\left(j[2\pi \left(2{f}_{IF}+{f}_{d,i}+\overline{{f }_{d,i}}\right){nT}_{s}+\varphi \right)\right\}$$
(12)

where due to high-frequency of the second term of (10), this equation can be written as follows:

Fig. 3
figure 3

\({u}_{i}\left[n\right]\) function in the presence of data bit sign transition

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={\sum }_{{\varvec{n}}=0}^{{\varvec{N}}-1}\frac{1}{2}{u}_{i}\left[n\right]\mathit{exp}\left(j[2\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){nT}_{s}+\varphi ]\right)$$
(13)

By replacing the \({u}_{i}\left[n\right]\) into (11):

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)\approx \frac{1}{2}Aexp(j\varphi )\left\{{\sum }_{n=0}^{{N}_{\tau }-1}\mathit{exp}\left(j2\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){nT}_{s}\right)-{\sum }_{n={N}_{\tau }}^{N-1}\mathit{exp}\left(j2\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){nT}_{s}\right)\right\}$$
(14)

where, two truncated geometrical series are in (14) which can be written in the following form:

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)\approx \frac{1}{2}Aexp\left(j\varphi \right)\left\{\mathrm{exp}\left(j\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){(N}_{\tau }-1){nT}_{s}\right)\frac{sin\left(\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){N}_{\tau }{nT}_{s}\right)}{sin\left(\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){nT}_{s}\right)}-\mathrm{exp}\left(j\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){(N+N}_{\tau }{-1)nT}_{s}\right)\frac{sin\left(\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right)({N-N}_{\tau }{)nT}_{s}\right)}{sin\left(\pi \left({f}_{d,i}-\overline{{f }_{d,i}}\right){nT}_{s}\right)}\right\}$$
(15)

If the estimated Doppler frequency is perfectly matched with the received Doppler frequency (\({f}_{d,i}-\overline{{f }_{d,i}}\)), Eq. (15) turns into:

$$R\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)=\frac{1}{2}Aexp\left(j\varphi \right)\left[{N}_{\tau }-(N-{N}_{\tau })\right]$$
(16)

where if \({N}_{\tau }=\frac{N}{2}\), Eq. (16) becomes zero. It means that, if the data bit sign transition occurs at the middle of C/A code period (in range [0, N-1]), the CAF peak has completely disappeared. Thus, it is crucial to resolve the problem of navigation bit sign transition.

The block diagram of the acquisition process for the conventional GPS receiver is shown in Fig. 4. As shown in Fig. 4, the post-correlation techniques are exerted after the correlation process. These methods are divided into three major categories, as mentioned in the previous section: (1) coherent integration (COI), (2) non-coherent integration (NOCI), and (3) differential integration (DI).

Fig. 4
figure 4

Block diagram of the acquisition process for the conventional GPS receiver

The coherent integration method can be defined as follows:

$${Z}_{i}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={|\sum_{k=1}^{P}{R}_{k}\left({\overline{\tau }}_{i}.\overline{{f }_{d.i}}\right)|}^{2}$$
(17)

where P represents the number of performed correlations. The navigation bit sign transition and residual carrier phase Doppler frequency are the problems of this method that can decrease the output SNR. The non-coherent integration method can be expressed in the following form:

$${Z}_{i}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)=\sum_{k=1}^{P}{|{R}_{k}\left({\overline{\tau }}_{i}.\overline{{f }_{d.i}}\right)|}^{2}$$
(18)

Although the problem of the navigation bit transition is solved in the non-coherent integration, it suffers from loss due to squaring operations. The differential integration method can be displayed as follows:

$${Z}_{i}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)={|\sum_{k=2}^{P}{R}_{k}\left({\overline{\tau }}_{i}.\overline{{f }_{d.i}}\right){{R}^{*}}_{k-1}\left({\overline{\tau }}_{i}.\overline{{f }_{d.i}}\right)|}^{2}$$
(19)

where \({{R}^{*}}_{k-1}\) represents the complex conjugate of \({R}_{k-1}\). Some of the problems of the earlier methods are solved. The mentioned methods can be used in the post-correlation block in Fig. 4.

Proposed method

This work aims to design an acquisition method that combines a DCNN and a non-coherent integration post-correlation method. The deep neural network (DNN) can recognize the presence/absence of the GPS signal for each satellite. We use the CAF results to achieve this target, which can be supposed as an image (refer to Fig. 2). It is possible to determine whether the signal is present or not from these images based on specific characteristics which belong to each of them. This information and characteristics can help us to design and train a neural network classifier that learns to classify the input images. The use of deep learning (DL) in signal processing has become increasingly important in recent years, especially in classifying, detecting, and regressing images based on data. Deep learning algorithms such as Neutral Networks (NN) are data-driven models that use vast and extensive datasets to determine correlations in data without relying on complicated physics-based models. A computer trains a neural network with multiple layers over a while to achieve acceptable accuracy using large datasets. Li et al. (2020) have shown that NNs may seem redundant when physics-based models exist, such as those used in CAF computations, but when a physics-based model cannot be used or is too complex to use, these deep learning methods appeal.

Deep learning neural network

Neural networks, also known as artificial neural networks (ANNs), are a subset of machine learning at the heart of deep learning algorithms. Hopfield (1982) showed that a neural network is a network of biological neurons or an ANN composed of artificial neurons. ANNs comprise node layers containing an input layer, one or more hidden layers, and an output layer. Each node, artificial neuron, is connected to another and has an associated weight and bias, usually specified during the training process (O’Shea et al. 2018). If the output of any individual node is above the specified threshold value that node is activated and sent data to the next layer of the network. Otherwise, no data is passed along to the next layer of the network. In continue, we utilize the CNN to design the DNN. The CNN detection scheme of GPS signals is shown in Fig. 5.

Fig. 5
figure 5

Detection outline of GPS signal acquisition by using the convolutional neural network and fully connected layer

The first step in the acquisition phase is to detect the presence or absence of a signal from a specific satellite in the received signal and then calculate the approximate value of the code phase and Doppler frequency. Therefore, detecting the presence or absence of a signal is necessary. It is complicated and challenging to detect the presence or absence of a signal and the proper functioning of the receiver in weak signal conditions or the presence of unusual phenomena and conditions such as noises and severe nonlinearities. Therefore, neural networks can be trained using the data collected from these environments and expect correct and better performance from these networks than existing acquisition methods. CNN has been used due to its excellent ability to detect complex nonlinear phenomena. A CNN can successfully capture the spatial and temporal dependencies in an image by applying relevant filters. The architecture performs a better fitting to the image dataset due to the reduction in the number of parameters involved and the reusability of weights. In other words, the network can be trained to understand the sophistication and complexity of the image better.

The CNN is one of the most famous and well-known models for deep learning in the subject of classification problems. CNN is a particular type of neural network with multiple layers that process data with a grid arrangement and then extract essential features. These networks are designed to work well for matrix-structured inputs (2D and 3D). CNN does not change the input structure and cares about the connection between neighboring pixels. Each layer receives inputs from a set of units in a small neighborhood, based on filter size and stride, in the previous layer (LeCun et al. 1998). CNN comprises an input layer, many hidden layers with equal or different numbers of filters, and an output layer. A significant advantage of CNN over its predecessors is that it recognizes relevant features automatically without human intervention. The procedure of the filter sweep of the convolution layer on the input data is shown in Fig. 6.

Fig. 6
figure 6

The operation of filter sweep of convolution layer on the input data

After each convolution layer, a dropout layer with a probability of 0.3 is considered. The dropout layer is a simple way to prevent DCNN from overfitting and, if it is used between all convolution layers, has the best results (Srivastava et al. 2014). Each convolution layer is followed up with rectified unit layer (ReLU) activation function, which maps negative values to zero to speed up the training process and make it more effective (Hara et al. 2015; Goodfellow et al. 2016). The equation of ReLU can be written as follows:

$$ReLU(x)=\left\{\begin{array}{c}0 \,for\, x<0\\ x\, for\, x\ge 0\end{array}\right.$$
(20)

The mathematical operation of the filter sweep of the convolution layer on the input data for a single layer is briefly shown in Fig. 7. The convolution operator (*) takes a convolutional kernel or filter and slides it over the input image or matrix. Each convolutional filter consists of a set of numbers. By placing the filter on each part of the image, the numbers in the filter are multiplied one by one in the corresponding pixels of the image. Finally, all the numbers are added together. A filter can include and follow a specific pattern in the image.

Fig. 7
figure 7

Mathematical operation of the filter sweep of convolution layer on the input data

As shown in Fig. 7, the filter with a window size of 3 × 3 and stride of one, sweeps the input data from right to left and from top to bottom, and the result of multiplying the filter in the input data after passing through an activation function, each of the elements of the feature map has been specified. The mathematical equation of this operation can be written in the following form:

$$Z=ReLU\left({X}_{i}. W+{b}_{s}\right)$$
(21)

where \(Z\) is the feature map matrix, \({X}_{i}\) is the input data (CAF results), \(W\) represents the filter window, and \({b}_{s}\) is the bias. The computation of an element of resulted feature map with the information of Fig. 7 can be written as follows (the numbers are assumed):

$$z=ReLU\left(\left(1*2\right)+\left(-2*-1\right)+\left(9*0\right)+\left(1*5\right)+\left(2*0\right)+\left(4*1\right)+\left(-1*3\right)+ \left(0*-2\right) +\left(1*0\right)+1.5\right)=ReLU\left(11.5\right)=11.5$$
(22)

This operation is repeated for each element of the feature map to calculate all the elements. After the computation of all elements for a single convolution layer, this procedure is repeated for all convolution layers.

After each convolution layer, the batch normalization layer is used. Batch normalization is a technique for training DNNs that normalize the inputs to a layer for each mini-batch, stabilizing the learning process and dramatically reducing the number of training epochs required to train deep networks (Ioffe and Szegedy 2015). The mathematical equation of batch normalization can be defined in the following form:

$$\widehat{{X}_{i}}= \frac{{X}_{i}-{\mu }_{B}}{\sqrt{{\sigma }_{B}^{2}+\varepsilon }}$$
(23)

where \({\mu }_{B}\) and \({\sigma }_{B}^{2}\) are the per-dimension mean and variance, respectively, and \(\varepsilon \) is an arbitrarily small constant.

The network design is inspired by the VGG 16 network, one of the most famous networks in image processing and classification (Tao et al. 2021). The VGG 16 network consists of 16 layers, 13 of which are convolutional layers and three are fully connected. We optimized the number of network layers to 13 by removing one convolution layer and two fully connected layers to reduce the number of trainable parameters and shrink the deep neural network. Figure 8 depicts the proposed CNN structure. As shown in figure, the proposed DCNN has 12 convolution layers and a fully connected layer. The last layer, which is a fully connected layer, contains two neurons used to predict the class to which the input image belongs. The last layer is followed by the softmax activation function, which calculates the probabilities of each class for a given dataset. We use supervised learning for training the designed network, which classifies the input images. This learning method deals with labeled data. When considering such a technique, a neural network has a set of inputs and outputs, and each input image has a unique label (\({H}_{0}\) and \({H}_{1}\), in our case). We designed a neural network model capable of detecting the presence/absence of a satellite signal. In other words, we generated CAFs in which half of the signals were present, and in the other half, there was no signal. Then, a unique label is assigned to each of them. The \({H}_{0}\) and \({H}_{1}\) are assigned to the CAFs in which there is no signal or there is signal, respectively. The network learns to classify the input data into two classes by processing the inputs and adjusting the weights and biases of each layer. The CAFs produced are considered inputs; these CAFs have special and unique features that can be used to train deep learning networks to determine whether there is a signal. CNN has been used due to its excellent ability to detect complex nonlinear phenomena. 50,000 CAF results were generated for training and evaluating the designed DCNN, 75% of which were used for training and 25% for evaluation. Half of these generated CAFs are related to the presence of the GPS signal in them and the other half are related to the absence of the signal. As shown in Table 1, the training options are determined after defining the DCNN structure. Also, the maximum number of epochs is set to 40, and the data are shuffled at every epoch. The designed network is trained with stochastic gradient descent (SGD) optimizer with an initial learning rate of 0.001.

Fig. 8
figure 8

Proposed structure of DCNN presence/absence detection of GPS signal

Table 1 Training options for designed DCNN

Non-coherent post-correlation method

A post-correlation technique based on the generalized likelihood ratio test (GLRT) in the presence of navigation data bit sign transition was discussed by (Gómez-Casco et al. 2019) which improved the detection probability of GPS receivers. Borio and Lachapelle (2009) have demonstrated that the probability density function (PDF) of the correlator \({R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)\) in the presence of signal an under \({H}_{1}\), can be written as follows:

$$p\left(R;{H}_{1},\phi \right)=\frac{1}{{\left(\pi {\sigma }^{2}\right)}^{P}}\mathrm{exp}\left(-\sum_{k=1}^{P}\frac{1}{{\sigma }^{2}}\left({{I}_{k}}^{2}+{{Q}_{k}}^{2}+{A}^{2}\right)\right)\times \prod_{k=1}^{P}\mathrm{cosh}(\frac{2A}{{\sigma }^{2}}({I}_{k}\mathrm{cos}\left(\phi \right)+{Q}_{k}\mathrm{sin}\left(\phi \right)))$$
(24)

When the signal in not present and under \({H}_{0}\), \(A=0\) and the PDF of \({R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)\) can be defined in the following form:

$$p\left(R;{H}_{0},\phi \right)=\frac{1}{{\left(\pi {\sigma }^{2}\right)}^{P}}\mathrm{exp}\left(-\sum_{k=1}^{P}\frac{1}{{\sigma }^{2}}\left({{I}_{k}}^{2}+{{Q}_{k}}^{2}\right)\right)$$
(25)

By applying log-likelihood function for \(\phi \) on (24), the terms that are not affected by \(\phi \) will be removed:

$$\sum_{k=1}^{P}ln\left(\mathrm{cosh}(\frac{2A}{{\sigma }^{2}}({I}_{k}\mathrm{cos}\left(\phi \right)+{Q}_{k}\mathrm{sin}\left(\phi \right)))\right)\gtrless \mathrm{ln}(\beta )$$
(26)

where \(\beta \) is the acquisition threshold value. To simplify and write (26) in a closed-form the following approximate expression is used:

$$\mathrm{ln}\left(\mathrm{cosh}\left(a\right)\right)\cong \frac{{a}^{2}}{2}$$
(27)

By applying (27), Eq. (26) turns into:

$$ \sum\limits_{k = 1}^{P} {\left( {\frac{{\mathop { \, A}^{\prime } }}{{\sigma^{2} }}\left( {I_{k} \cos \left( \phi \right) + Q_{k} \sin \left( \phi \right)} \right)} \right)^{2} } { \gtrless }\beta^{\prime } $$
(28)

Making some simplifications turn (28) into the following form:

$$ \mathop \sum \limits_{k = 1}^{P} \left( {I_{k} \cos \left( \phi \right) + Q_{k} \sin \left( \phi \right)} \right)^{2} { \gtrless }\beta^{\prime \prime } $$
(29)

Thus, the correlator output can be written as follows:

$${Z}_{i}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)=\sum_{k=1}^{P}{\left({I}_{k}\mathrm{cos}\left(\phi \right)+{Q}_{k}\mathrm{sin}\left(\phi \right)\right)}^{2}=\sum_{k=1}^{P}\left[{{I}_{k}}^{2}{\mathrm{cos}}^{2}\left(\phi \right)+{{Q}_{k}}^{2}{\mathrm{sin}}^{2}\left(\phi \right)+2{I}_{k}{Q}_{k}\mathrm{cos}\left(\phi \right)\mathrm{sin}\left(\phi \right)\right]$$
(30)

The expression of \(\phi \) that approximately maximizes (30) is (Borio and Lachapelle 2009):

$$\widehat{\phi }=\frac{1}{2}arctan2\left(\frac{2\sum_{k=1}^{P}{I}_{k}{Q}_{k}}{\sum_{k=1}^{P}{({I}_{k}}^{2}-{{Q}_{k}}^{2})}\right)$$
(31)

By replacing the \(\widehat{\phi }\) in (31) into (30), and simplifying the resulting expression:

$${Z}_{i}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)=\sum_{k=1}^{P}\left[{{I}_{k}}^{2}+{{Q}_{k}}^{2}+\left({{I}_{k}}^{2}-{{Q}_{k}}^{2}\right)\bullet cos2\widehat{\phi }+2{I}_{k}{Q}_{k}sin2\widehat{\phi }\right]$$
(32)

Finally, the resulting expression turns into the following form:

$${Z}_{i}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)=\sum_{k=1}^{P}\left({{I}_{k}}^{2}+{{Q}_{k}}^{2}\right)+\sqrt{{\left(\sum_{k=1}^{P}\left({{I}_{k}}^{2}-{{Q}_{k}}^{2}\right)\right)}^{2}+{\left(\sum_{k=1}^{P}2{I}_{k}{Q}_{k}\right)}^{2}}$$
(33)

Thus, the non-coherent squaring detector (NOSD) can be obtained as:

$${Z}_{i}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)=\sum_{k=1}^{P}{|{R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)|}^{2}+|\sum_{k=1}^{P}{{R}_{k}\left({\overline{\tau }}_{i},\overline{{f }_{d.i}}\right)}^{2}|$$
(34)

The NOSD method consists of two non-coherent integration techniques. The first integration technique is the conventional NOCI method. The second integration technique is the squaring detector (SD) which is obtained by summing the squared values of complex correlator outputs.

The proposed method is a combination of the deep learning approach and the NOSD method. The block diagram of the proposed method is shown in Fig. 9. The NOSD method mentioned above is used in the post-correlation block in Fig. 9. As shown in the figure, the CAF results after the post-correlation stage are fed to the input layer of DCNN. The output of DCNN would be the classification between the presence or absence of the i-th satellite signal.

Fig. 9
figure 9

Block diagram of the proposed method

The pseudo-code of proposed method has been shown in Algorithm 1:

figure d

The input of Algorithm 1 is the incoming signal. After calculating the correlation between the incoming signal and the local generated signal for all satellites, the post-correlation technique is performed on the correlation results. Then, the output of the post-correlation technique is fed to the input of DCNN to determine the presence or absence of GPS signal.

Results and discussion

Our proposed method is simulated in the MATLAB 2020b by a laptop with a Core i7-4900MQ 2.80GHZ CPU and 16 GB memory capacity. The real GPS dataset has been recorded in front of the Iran University of Science and Technology (IUST)’s School of Electrical Engineering laboratory building, where the buildings and trees block the view to the sky. The setup and location of recording the dataset is presented in Figs. 10 and 11, respectively. The characteristics of the dataset are as the following. The C/A code is a gold sequence with a length of 1023 chips. The carrier frequency of the received signal is 1575.42 MHz. The maximum Doppler carrier-frequency range is 20 kHz (± 10 KHz). The intermediate frequency of the acquisition stage is 1.4 MHz, and the location of the code phase in the signal and the existence of bit transitions are random. The sampling rate is set at 5.7143 MHz. The number of correlations between the received signal and the local C/A code is 20. In order to achieve weaker signals and validate the performance of the proposed method under different SNR values, the WGN function in MATLAB is utilized. For this reason, various kinds of Gaussian noise with different powers are generated and combined with the main signal.

Fig. 10
figure 10

Setup for recording the real dataset around IUST

Fig. 11
figure 11

Location of recording the real dataset in front of the IUST’s school of electrical engineering laboratory building where the view to the sky is blocked by the buildings and trees

Figures 12 and 13 show the number of acquired satellites in the proposed method for P = 20, T = 1 ms, and two different SNR values. As it turns out, PRN 19 has the best performance in both Figs. The proposed method is robust against Doppler frequencies uncertainties for acquiring GPS signals. In addition, the proposed method uses squaring operation to remove data bit transitions and block processing to allow long integrations. So, the NOSD presented method is inherently immune to data bit transitions since both terms in (34) have been obtained through squaring operations. The non-coherent detector removes the phase dependence (data bit transition effect) by summing the absolute square value of the correlator outputs. Because the presented method is the sum of two non-coherent techniques, the output of this method is a little similar to the NOCI method.

Fig. 12
figure 12

Acquisition results of the proposed method for P = 20, and T = 1 ms, and SNR = 16.30 dB

Fig. 13
figure 13

Acquisition results of the proposed method for P = 20, and T = 1 ms, and SNR = 6.20 dB

The tracking results of some acquired satellites (PRN 18 and PRN 24) of the proposed method for P = 20, T = 1 ms, and SNR = 16.30 dB values are shown in Fig. 14. Figure 14 shows the outputs of the delay locked loop (DLL) discriminator, phase locked loop (PLL) discriminator, correlation results, and bits of navigation message for each acquired PRN in the acquisition stage.

Fig. 14
figure 14

Tracking results of proposed method for: (top) PRN 18, (bottom) PRN 24 for P = 20, and T = 1 ms, and SNR = 16.30 dB

Also, to verify the results of the proposed method, Fig. 15 indicates the sky plots results of the proposed method for P = 20, and T = 1 ms, and SNR = 16.30 dB. As shown in Fig. 15, 11 satellites have been acquired by the proposed method.

Fig. 15
figure 15

Sky plots results of the proposed method for P = 20, and T = 1 ms, and SNR = 16.30 dB

The proposed method is simulated and compared with four alternative methods in combination with DCNN: (1) Traditional (parallel phase code search) + DCNN, (2) COI + DCNN, (3) NOCI + DCNN, and (4) DI + DCNN. Table 2 compares the maximum peak, the number of acquired satellites, and execution time between three post-correlation methods and the traditional method (parallel phase code search) in combination with DCNN for different SNR values. As shown in the table, the proposed method has the best results in the number of acquired satellites compared to other methods. The DI + DCNN method is fully robust against the presence of frequency offsets. Usually, it offers better performance than the non-coherent methods, but it experiences performance degradation in the presence of data bit transitions. However, the proposed method is robust against Doppler frequencies uncertainties and data bit transitions problems. According to (30), the output of the NOSD method is the sum of two non-coherent integration, and the receiver needs more calculation. Adding DCNN to the acquisition steps increases complexity and a slight increase in acquisition time due to large computations. Therefore, the execution time of the proposed method is greater than other mentioned methods. The measurement of the execution time of the acquisition process and code execution has been done using tic and toc commands in MATLAB software, while all other programs were closed and only MATLAB software was running. In other words, during the execution of the acquisition process, no other program used RAM or CPU, and these conditions were the same for all simulations and measurements.

Table 2 Acquisition results for P = 20, and T = 1 ms, and different SNR values

Under different SNR values, the Monte Carlo simulation experiment can be performed to obtain the detection probability of the conventional algorithms and the proposed algorithm. The Monte Carlo simulation is used for sensitivity analysis and described completely in Rofatto et al. (2020). This simulation is based on 20 correlations (P = 20) between the received signal and the local C/A code. To perform Monte Carlo simulations, the input SNR was changed from −20 dB to + 20 dB with the step of 2 dB with the false detection probability being 1e-6. The detection threshold for each post-correlation technique is fixed through Monte Carlo simulations. The result illustrates that the proposed method shows the highest detection probability. Figure 16 shows that for low SNR values, the performance of the proposed method is close to other mentioned methods. However, the detection probability of all methods for high SNR values is equal. As represented, the proposed method outperforms compared to the other presented methods. As shown in Fig. 16, the proposed method has a better performance in the acquisition of GPS signals at lower SNR values compared to other mentioned methods.

Fig. 16
figure 16

Detection probability of the different methods based on P = 20, T = 1 ms, and different input SNR values with the false detection probability being 1e-6

Conclusion

We proposed a new method based on deep learning and post-correlation methods to acquire GPS signals. The post-correlation methods are utilized in weak signal environments to increase the output SNR of the detector and enhance the ability of the receivers to acquire GPS signals. It resolves the data bit transition and code Doppler problems caused by post-correlation methods. In addition, when nominal conditions do not hold and standard conditions are disturbed, the acquisition of weak GPS signals is complicated. So, using DNNs to substitute traditional approaches could be useful when nominal conditions do not hold. The results showed that the proposed method performs better than the traditional methods in the number of acquired satellites. The goal of the proposed method was to make the software receivers more effective in challenging situations where nominal conditions do not maintain. The simulation results showed that the proposed method improved the detection probability and the sensitivity of GPS receivers.