## 3 Proposed Method  
### Receiver Calibration Mode  
The model proposed in Equation (3) separates the uncertainties into constant and variable parts wherein the variable part is a function of the received signal DOA. In the calibration process, the polar plane formed by \(\varphi^{g}\) and \(\lambda^{g}\) is first partitioned into a uniform grid consisting of a set of cells represented by their centre coordinates as \(\{(\Phi_{{}_{I}},\Lambda_{{}_{k}  
\[\min_{ \begin{subarray}{c}\mathbf{P}(\Phi_{l},\Lambda_{k})\\ \left\|\mathbf{z}_{\text{diagMat}}(\mathbf{P}(\Phi_{l},\Lambda_{k})\mathbf{I}) \mathbf{I}\right\|\end{subarray} }\sum_{i}\left\|\tilde{\mathbf{y}},\tilde{ \mathbf{\delta}}^{T}\overline{\mathbf{C}}\overline{\mathbf{P}}(\Phi_{l}, \Lambda_{k})\mathbf{a}_{i}-\overline{\mathbf{C}}\overline{\mathbf{P}}(\Phi_{ l},\Lambda_{k})\mathbf{a}_{i  
However, in most cases this cannot be done unless employing a calibrated array. In this section, it is assumed that the antenna array is calibrated using the method introduced in the previous section. In other words, the amplitude and phase compensation coefficients are available through matrix \(\mathbf{\overline{P}}(\Phi_{i},\Lambda_{k})\), \(l=1,\cdots,g_{A}\)\(k=1,\cdots,g_{E}\), in the form of several look-up tables, and the constant matrix \(\mathbf{\overline{C}}\). The block diagram of a multi-antenna receiver in the operation mode is shown in Figure 3. It is worth mentioning that in order to estimate satellite signal steering vectors, position information is only used to calculate the azimuth and elevation angles of incident signals in the ENU coordinate system. These angles can be accurately estimated even with a low cost GNSS receiver (due to the long distance between satellite and the receiver). Therefore, assuming a perfect calibration, position errors do not significantly affect the accuracy of the estimated angles and consequently of the estimated steering vectors. An iterative approach for estimating the steering vector is now proposed. Considering Equation (3), after calibration, the steering vector can be stated as a normalized solution of a least squares (LS) problem represented by (normalized since amplitude of a steering vector does not convey any information):  
\[\mathbf{\hat{a}}_{i}=\frac{(\mathbf{\overline{P}}^{\mu}(\Phi_{i},\Lambda_{k}) \mathbf{\overline{C}}^{\mu}\mathbf{\overline{C}}\mathbf{\overline{P}}(\Phi_{i },\Lambda_{k}))^{-1}\mathbf{\overline{P}}^{\mu}(\Phi_{i},\Lambda_{k})\mathbf{ \overline{C}}^{\mu}\mathbf{\tilde{y}}_{i}}{\left\|(\mathbf{\overline{P}}^{\mu }(\Phi_{i},\Lambda_{k})\mathbf{\overline{C}}^{\mu}\mathbf{\overline{C}} \mathbf{\overline{P}}(\Phi_{i},\Lambda_{k}))^{-1}\mathbf{\overline{P}}^{\mu}( \Phi_{i},\Lambda_{k})\mathbf{\overline{C}}^{\mu}\mathbf{\tilde{y}}_{i}\right\|} \tag{15}\]  
Although the values of \(\Phi_{i},\Lambda_{k}\) are not available at the beginning, these angles are related to the unknown steering vector of interest through Equations (2) and (7). For this reason, herein, an iterative method is suggested to solve Equation (15) through the following steps:  
Figure 3: Multi-antenna receiver structure in the operation mode. Step (1) Initialize \(\hat{\mathbf{a}}_{i}\) as \(\hat{\mathbf{a}}_{i}(0)=\dfrac{(\overline{\mathbf{C}}^{H}\overline{\mathbf{C}})^{ -1}\overline{\mathbf{C}}^{H}\overline{\mathbf{y}}_{i}}{\left\|(\overline{ \mathbf{C}}^{H}\overline{\mathbf{C}})^{-1}\overline{\mathbf{C}}^{H}\overline {\mathbf{y}}_{i}\right\|}\), q = 0 ;  
Step (2) At the \(q^{\text{th}}\) recursion, considering Equation (2), \(\mathbf{e}^{B}\) can be derived as:  
\[\mathbf{e}^{B}=\dfrac{\kappa}{2\pi}(\mathbf{T}^{H}\mathbf{T})^{\ast}\mathbf{T }^{H}\angle\mathbf{a}_{i}(\text{q}) \tag{16}\]  
in which array configuration matrix \(\mathbf{T}\) ( which is known) is defined as:  
\[\mathbf{T}= \begin{bmatrix}\mathbf{r}_{1}^{T}\\ \mathbf{r}_{2}^{T}\\ \vdots\\ \mathbf{r}_{N}^{T}\end{bmatrix}