## 2 GPS SDR Architecture for CRPA Processing and Computational Challenges
The measurement vector, \(\mathbf{X}\), is composed of the digitized signals right after the analog-to-digital converter in our implementation, but it can be the sample vector after carrier wipeoff for pre-correlation adaptation or the inphase and quadrature prompt correlator output vector for post-correlation adaptation [\(\Phi\) in Equation (1) is a signal covariance matrix and \(\mu\) is a signal power scaling factor. The \({}^{*}\) operator represents complex conjugate]:  
\[\mathbf{\Phi}\equiv E\Big{[}\mathbf{X}^{*}\mathbf{X}^{T}\Big{]} \tag{1}\] \[\mathbf{W}=\mu\,\mathbf{\Phi}^{-1}\,\mathbf{T}^{*}\]  
For computational efficiency, a propagating approach to update weight vector by Equation (2) is implemented in our SDR [37]. This approach does not require to calculate an inverse of \(\Phi\) (\(\gamma\) is a misadjustment parameter which controls convergence speed and steady-state misadjustment):  
\[\mathbf{W}_{n+1} =\mathbf{W}_{n}+\Delta\mathbf{W}_{n} \tag{2}\] \[\Delta\mathbf{W}_{n} =\gamma\Big{[}\mu\,\mathbf{T}^{*}-\mathbf{\Phi}_{n}\,\mathbf{W}_ {n}\Big{]}\]Before discussing the required computational power for our GPS SDR for a four-element CRPA, the number of multiplications and additions for a conventional GPS SDR with a single antenna is calculated as follows (see Table 2 for summary). The carrier wipeoff is a complex multiplication of digitized input signals and receiver-generated carrier samples (this is not simply two real multiplications because input signal is a complex signal with inphase and quadrature samples). Since one input sample takes four multiplications and two additions of real numbers for the carrier wipeoff as shown in Equation (3), the total number of multiplications and additions for \(N\) inphase samples and \(N\) quadrature samples per millisecond is \(6N\):  
\[(a+jb)(c+jd)=(ac-bd)+j(ad+bc) \tag{3}\]  
The code wipeoff is the correlation of signals after the carrier wipeoff and receiver-generated C/A code replica samples. A correlation of \(N\) input inphase samples and \(N\) code replica samples takes \(N\) multiplications and \(N-1\) additions. Since \(N\) is much larger than 1, approximately \(2N\) multiplications \begin{table}
\begin{tabular}{l l l}  & **GPS SDR for** & **Conventional** \\  & **four-element CRPA** & **GPS SDR** \\ \hline Carrier and code wipeoff & 1,080 N\({}_{\text{L}5}\) & 216 N\({}_{\text{L}1}\) \\ Data synthesis by weighting & 360 N\({}_{\text{L}5}\) & N/A \\ Covariance calculation & 64 N\({}_{\text{L}5}\) & N/A \\ \hline \end{tabular}
\end{table} 
Table 2: Comparison of the required number of multiplications and additions for the GPS SDR for CRPA in this paper and a conventional GPS L1(C/A) SDR. N is the number of inphase or quadrature samples per millisecond (N\({}_{\text{L}5}\) = 10 N\({}_{\text{L}1}\)). N\({}_{\text{L}5}\) = 20,000 is used in this work. Figure 3: Adaptive RFI cancellation by MVDR processing with given array steering vectors from the phase alignment in Figure 2.  
and additions are required for inphase samples. Usually, a GPS receiver correlates incoming signals with an early, a prompt, and a late code replica. Thus, \(6N\) operations are performed for inphase samples. The same operations are performed for quadrature samples, so the total number of operations is \(12N\). Considering both carrier and code wipeoff, \(6N+12N=18N\) multiplications and additions are required every millisecond for a single tracking channel of a conventional GPS SDR, where \(N\) is the number of inphase or quadrature samples per millisecond. For a 12-channel SDR, \(12\times 18N=216N\) multiplications and additions are required. Other operations such as tracking and position calculation are neglected in this simple analysis because those operations are not as computationally expensive as the carrier and code wipeoff. The carrier and code generation operations are not included in the number of operations calculation because lookup tables are used instead of generating code and carrier on-the-fly.