## Instrument Description
### Offline Signal Processor
#### 2.6.1 Beamformer  
The purpose of the beamformer is to maximize the antenna beam gain towards the desired direction. It is achieved by combining the signals of the different antenna elements with a proper phase shift. Thus, the first step is to obtain the phases to be applied. The basic idea behind this concept is to coherently add the different contributions from the same signal source sensed at the different antenna elements. Given that their positions are separated by distances of an order of magnitude of the wavelength, the phase-delay for each antenna, which depends on the direction of arrival, must be compensated for. These compensations, called _beamformer phases_ hereafter, can be seen as phase rotations applied to the signals detected at each antenna element in order to align them to a reference (differential measurement). Two different methodologies for the computation of these phases are described next, while the approach that is finally adopted is explained afterwards. Figure 7: Data Recorder data flux between stages. Theoretical Method  
By knowing the precise positions of the transmitter and the receiving antenna elements, we can simply compute the beamformer phases as the delay path difference between the transmitter to the array element and the transmitter to the reference element in the array as multiples of wavelength cycles. Figure 8 shows a scheme of the delay path distances involved in this method, particularly applied for a typical SPIR experimental scenario. While the up-looking array points towards a given GNSS satellite, the down-looking array points towards its corresponding reflection at the surface of the sea. The beamformer phases for the up-looking array are expressed as relative phases with respect to the first antenna element in the array and are given by:  
\[ \begin{array}{rcl}\beta_{i}&=&\frac{2\pi(R_{\text{d}i}-R_{\text{d}i})}{ \lambda}\\ &=&\frac{2\pi(||\vec{r_{i}}-\vec{r_{i}}||-||\vec{r_{i}}-\vec{r_{i}}||)}{\lambda }\end{array}  \tag{1}\]  
with \(i\) being the element number (from one to eight), \(R_{\text{d}i}\) representing the delay path distance of the direct signal for element \(i\), \(\vec{r_{i}}\) being the vector of the position of element \(i\) and \(\vec{r_{i}}\) representing the vector of the position of the transmitter (GNSS satellite), both in an ECEF (Earth-Centered, Earth-Fixed) coordinate system. Similarly, the beamformer phases for the down-looking array are expressed relative to antenna element number nine and are given by:  
\[ \begin{array}{rcl}\beta_{i}&=&\frac{2\pi(R_{\text{d}i}-R_{\text{d}\rho})}{ \lambda}\\ &=&\frac{2\pi(||\vec{r_{i}}-\vec{r_{i}}||-||\vec{r_{i}}-\vec{r_{i}}||)}{\lambda }\end{array}  \tag{2}\]  
with \(i\) being the element number (from nine to 16), \(R_{\text{r}i}\) representing the delay path distance of the reflected signal for element \(i\), \(\vec{r_{i}}\) being the vector of the position of element \(i\) and \(\vec{r_{i}}\) representing the vector of the position of the specular point over a geoid model (ellipsoid WGS84), both in an ECEF coordinate system. We can assume that the position of the specular point does not vary for the different array elements given the high altitude of the GNSS satellite compared to the array baseline and the receiver's height. Figure 8: Scheme of the beamformer theoretical method. This example shows the different components involved in the computation of the beamformer phases for elements eight and 15 (where one and nine are the reference ones) in the up- and down-looking arrays, respectively. The distribution of the antenna elements is displayed as in the real experiment. This method compensates for the geometrical phase differences, but does not correct instrumental antenna phase differences. GNSS-Tracking Method  
The development of this method was motivated as a solution to beamformer pointing without a knowledge of the precise position and orientation of the arrays.