# Real-Time Water Level Monitoring Based on GNSS Dual-Antenna Attitude Measurement
## 4 Results
### Variation of Attitude Angle  
We recorded the heading and pitch angles of the baselines formed by the two antennas during the period from 4 July to 8 August 2022. Figure 11 depicts scatter plots of changes in heading angle and pitch angle during this period. As shown in Figure 11, the heading angle varies from \(0^{\circ}\) to \(360^{\circ}\) and the pitch angle varies from \(-89^{\circ}\) to \(-90^{\circ}\). However, since there is no horizontal distance between the two antennas, the heading angle obtained is not practically meaningful. As shown in Figure 2, when specular reflection occurs through the water surface, the incident angle of the satellite signal is equal to the outgoing angle. At this time, the position of the virtual antenna is located directly below the RHCP antenna, and the pitch angle of the baseline vector between the two antennas is \(-90^{\circ}\). However, electromagnetic waves can only undergo specular reflection under ideal conditions. In practical experimental environments, this situation does not occur. Therefore, we refer to the position of the virtual antenna at a pitch angle of \(-90^{\circ}\) as the position of the virtual antenna under ideal conditions. The reasons for the deviation of the pitch angle from \(-90^{\circ}\), as obtained by double-difference calculations, are as follows: (1) Multi-path effect: In the real situation, the roughness of the water surface is constantly changing due to factors such as wind, currents, and waves. This means that the reflected signal from the water surface will also be constantly changing, producing a large number of reflected signals from the same satellite. Figure 11: Variations in Heading and Pitch Angles from 4 July to 8 August 2022. Figure 10: Water level changes for the period from 4 July to 8 August 2022. These reflected signals can enter the receiving antenna from various angles and directions, resulting in multiple reflection paths. Each path generates an independent signal with different propagation times and phase delays. These signals may interfere with or superimpose on one another to produce a multi-path effect. (2) Baseline length: Longer baseline lengths can enhance attitude measurement accuracy due to the ability to generate larger distance differences [45], which in turn produce greater phase differences. This increased phase difference allows for more precise measurements, leading to higher accuracy in determining the attitude. (3) Satellite geometry configuration: The position and distribution of satellites in the satellite constellation also impact attitude measurement accuracy. When the satellite distribution is sparse, or the geometric configuration is poor, it can lead to decreased accuracy in attitude measurements. (4) Thermal noise and local oscillator-induced noise can significantly impact the received signal quality in GNSS receivers. These noise sources have the potential to introduce uncertainties in the measurement data, thereby affecting the accuracy of the results. The errors in the least-squares estimation encompass various factors such as initial state estimation errors, process noise, and measurement noise. These errors tend to accumulate during the estimation process and can subsequently influence the accuracy of the attitude measurements. As illustrated in Figure 12, the position of the virtual antenna determined using the pitch angle deviates from its ideal position. To calculate the water level, the vertical distance between the two antennas is required. However, the baseline length recorded by the receiver represents the distance between the RHCP antenna and the actual virtual antenna. From the geometric relationship it can be derived that:  
\[\mathrm{M}=\mathrm{L}\times\cos\Bigl{(}\frac{\pi}{2}+\mathrm{p}\Bigr{)} \tag{25}\]  
where, \(\mathrm{p}\) is the pitch angle, \(\mathrm{M}\) is the vertical distance between the two antennas, \(\mathrm{L}\) is the length of baseline. The vertical distance between the two antennas can be calculated using Equation (25).