# Blind Spoofing GNSS Constellation Detection Using a Multi-Antenna Snapshot Receiver +
## 2 Snapshot Receivers and Beamforming
### Acquisition Signal Model  
Acquisition forms the base of the entire processing chain--not just for initialization like with a conventional receiver. Therefore, it is important to have high performance during this stage. Since the transport channel between the receiver and the server is often limited, the snapshot size is reduced to satisfy data transmission requirements. This is a trade-off for the receiver, since the smaller the snapshot is, due to length, sample-rate, and quantization reduction, the poorer the acquisition performance [24]. Acquisition performance with snapshot receivers using multiple antennas has been investigated in a previous study [25]. This method has shown good performance, as it uses both spatially incoherent and spatially coherent integration (i.e., beamforming) to improve acquisition performance. The received signal system \(\mathbf{x}(t)\) can be described as:  
\[\mathbf{x}(t)=\mathbf{A}\times\mathbf{s}(t)+\mathbf{n}(t)\;, \tag{1}\]  
where \(\mathbf{x}(t)\) is the received signal for each antenna element, represented as a number of antenna elements \(N_{\text{e}}\) sized column vector; \(\mathbf{n}(t)\) is a \(N_{\text{e}}\) sized noise vector and is assumed to be additive white Gaussian noise (AWGN); \(\mathbf{A}\) is a \(N_{\text{e}}\times N_{\text{s}}\) matrix containing the array vectors for each of the \(N_{\text{s}}\) signals. This \(\mathbf{A}\) matrix is defined as:  
\[\mathbf{A}=\left[\mathbf{a}_{1},\mathbf{a}_{2},\cdots,\mathbf{a}_{N_{\text{e} }}\right]\;, \tag{2}\]  
where \(\mathbf{a}_{i}\) is a column vector of size \(N_{\text{e}}\) describing the complex array coefficients. These are a function of the DOA of the signal, the position of the antenna elements, the gain of the receiver channels, and the phase offset for the receiver channels. The received signal vector \(\mathbf{s}(t)\) is a \(N_{\text{e}}\times 1\) vector, where each element represents a different GNSS signal form a different satellite. For the \(i\)-th satellite, the received signal is defined as:  
\[s_{i}(t)=\alpha_{i}\cdot r_{i}(t-\tau)\cdot d_{i}(t-\tau)\cdot\mathrm{e}^{2 \pi\mathrm{j}\cdot f_{\text{D}}t}\;, \tag{3}\]  
where \(\alpha_{i}\) is the complex gain for the signal (i.e., amplitude and phase); \(\tau\) is the code phase (i.e., the time offset); \(r_{i}(t)\) is the pseudo random noise (PRN) code for the specific satellite; \(d_{i}(t)\) is the modulated data on the signal and is--dependent on the signal type--a combination of the navigation message and the secondary code [26]; and \(f_{\text{D}}\) is the Doppler frequency offset induced by the relative movement between the satellite and the receiver. To isolate a single signal, the acquisition stage correlates the received signal with a replica. The replica typically contains a single iteration of the PRN code. In general, PRN codes are selected to have good cross- and auto-correlation properties; hence, the correlation enhances the correct signal while suppressing other signals, interference, and noise. As an example, a single received signal will be:  
\[y_{i,j}(t)=s_{i}(t)\star r_{j}(t)= \begin{cases}\alpha_{i}\cdot d_{i}(t)\cdot R _{i,i}(\tau)\tau_{\text{int}}\text{sinc}\left(\tau_{\text{int}}f_{\text{D}} \right)&\text{if }i=j\\ 0&\text{if }i\
eq j\end{cases} \;, \tag{4}\]  
where \"\(\star\)\" is the correlation function; \(R_{i,i}(\cdot)\) is the cross ambiguity function (CAF) for the given PRN sequence; \(\tau_{\text{int}}\) is the integration time used during correlation; and \(\text{sinc}(\cdot)\) is the sinc-function, also called the sampling function [27]. From this equation, it is clearly illustrated how the PRN sequence can isolate the selected signal. Further, if the code phase offset \(\tau\) and the Doppler offset \(f_{\text{D}}\) is zero, the correlation will have a maximum value. To find these values, which are the maximum correlation peak, is the purpose of the acquisition processing. This is done by modulating the replica with different Doppler frequencies and by shifting the replica code with different time delays.