Abstract
Exploiting the reflected signals from the surface of the Earth to provide information about the reflecting surface is the primary concept of GNSS Interferometric Reflectometry (GNSS-IR). One of the most common usages of GNSS-IR is the estimation of the absolute vertical distance from a GNSS antenna to the reflective surface. In this work, the authors present a developed MATLAB-based GNSS software, namely, GNSS-IR-UT that translates the various signal from different systems such as GPS (L1, L2 and L5), GLONASS (G1, G2 and G3), Galileo (E1, E5a, E5b, E5 and E6), and BeiDou (B1, B2 and B3), more precisely the signal-to-noise ratio (SNR) data, into the reflection height. This user-friendly software permits users to evaluate a variety of processing options and parameters in height calculation by taking advantage of the Graphic User Interface (GUI) of MATLAB. In this software, to extract the dominant frequency in reflectometry concept, the Least Square Harmonic Estimation (LS-HE) has been used for the first time. Moreover, besides the reflectometry applications, the users can use some parts of this software in working with GNSS data for their specific usage. All in all, we aimed at providing a new, easy to use, and powerful software to the scientific community to make it easy for new users of the GNSS-IR concept.
Similar content being viewed by others
Avoid common mistakes on your manuscript.
Introduction
Global Navigation Satellite Systems (GNSS) have been used for various purposes such as positioning, monitoring, meteorology, altimetry, timing, etc. since its invention in the 20th century (Zheng et al. 2012; Yalvac 2021). In general, a multipath signal including the reflected GNSS signal, also known as a scattered signal, is regarded as one of the main error sources and often considered as an unwelcome feature that needs to be overcome (Üstün and Yalvaç 2018). However, this undesired reflected signal has recently (since the mid-90s) been used by various scientists in various fields such as studying soil moisture, sea surface height (SSH), sea surface wind speed, snow thickness, etc. Experiments and missions based on GNSS reflected signals are commonly known as GNSS reflectometry (GNSS-R). This technique works based on the interference between the direct and reflected signal (see Fig. 1) at the receivers’ platforms where are space borne, airborne or can be installed near the ground or sea surface. This yields an inborn disturbance evident on Signal-to-Noise Ratio (SNR) data, known also as SNR-based GNSS Reflectometry (GNSS-R). Based on the included observables such as SNR or carrier phase, GNSS-R has also been designated in the literature as interference-pattern technique (GNSS-IPT), interferometric reflectometry (GNSS-IR) or multipath reflectometry (GNSS-MR).
One of the most intriguing fields that GNSS-IR properly showed its strength is monitoring the sea surface phenomena based on exploiting its accidental radio waves reflected by the water surface. Martin-Neira, who studied oceanic surface using the Global Positioning System (GPS) signals reflected by the water surface for the first time, is the pioneer of this scope (Martin-Neira 1993). After that, Larson et al. (2008) used the multipath effect in GNSS observables to infer the properties of the reflector surface and evaluated the soil moisture. In addition, the GPS-IR method developed further for snow depth evaluation by Larson et al. (2009). Recently, GNSS-IR has been used for coastal sea‑level altimetry (Geremia-Nievinski et al. 2020), snow surfaces (Rover and Vitti 2019), sea level estimation based on GNSS dual-frequency carrier phase linear combinations and SNR (Wang et al. 2018a), tidal modeling (Löfgren et al. 2014), storm surge monitoring (Peng et al. 2019). For more read about the work area of reflectometry concept, one can refer to other studies like (Wang et al. 2018b) and (Zhang et al. 2019). Also, Larson et al. (2017) estimated a ten-year comparison of water levels obtained by GNSS-IR with the conventional tide gauges (TG) stations.
Therefore, there are other ways to monitor the sea level variations besides TGs and altimetry methods. However, in the coastal areas, the GNSS-IR technique has lots of advantages rather than the traditional methods (TGs) that have been used in monitoring the sea level rises since the 19th century or even Satellite radar altimetry (SA) in more recent dates (Haddad et al. 2013). The regular TGs provides a relative measure concerning the land adjacent to the station. This would cause inaccurate measurements, especially when the subsidence or uplift has occurred. Moreover, there are limited TG stations across the beach zone which makes the measurements sparse (Wang et al. 2018a). On the other hand, to fulfill the high-resolution results, the SA needs devoted transmitters and receivers with a large directional antenna. In addition, the SA often has a poor accuracy in near-shore regions because of the intricate and fast-changing dynamics of the ocean in such areas (Jin and Komjathy 2010). The other side, the GNSS-IR technique, however, does not have such limitations although it has some points that need to be considered with high attention such as selecting the receiver station in an area without any too much noise and the selection of the right prevailing frequency to gives the proper height, etc.
As it has been discussed, GNSS-IR exploits the interference between the direct and reflected signals in an ordinary receiver that this characteristic is included in SNR data. Although the SNR values for the GNSS signals cannot be found in all of the RINEX observation files, almost all GNSS-IR studies are based on SNR data. Using Eq. 1 for sea level analyzing, consist of more details that are involved a lot in the literature and we explain it briefly in the SNR data inversion section, however, most of them pursue the following steps (Larson et al. 2008, 2009):
-
Reading the GNSS data stored in the RINEX file and extract the SNR of various signals
-
Estimate the dominant frequencies using spectral analysis methods (Stoica and Moses 2005; Båth 2012)
-
Evaluate the antenna height relative to the reflecting surface
To implement these 3 general steps and reach the sea-level variations, it is necessary to devote sort of much time and energy and tolerate the complex mathematical computations. Therefore, it would be really hard to introduce new users to the GNSS-IR technique. Concerning these, many scholars tried to propose software for these purposes such as, the Matlab-based software for GNSS-IR by Roesler and Larson (2018) where the soil moisture and antenna height to land surface through a set of open-source codes has been estimated, an open-source Python-based codes for GNSS-IR by Martín et al. 2020 that use just GPS observation, and GiRsnow by Zhang et al. (2021) where determined the snow depth using multi GNSS signals. All this software is useful and facilitates the sea phenomena analysis, although they carried some defects. As an example, the Matlab based software which has been proposed to estimate the changes in the height of a reflecting surface is a series of codes that are not user friendly, although it has been provided some updates for this package which can be accessed via the GitHub platform (https://github.com/kristinemlarson). Another defect for this package is, needing to prepare SNR data from RINEX and SP3 files in advance to run the codes. In addition, the software proposed by Martin et al. in (2020) is a Python-based without any user interface, so it would be hard to use it for new users especially for those who are not familiar with Python coding. Finally, Zhang et al. in 2021 presented a user-friendly package for snow depth analysis merely.
In this study, we have proposed a user-friendly GNSS analysis software known as GNSS-IR-UT that is capable to operate multi-GNSS analysis by processing GPS, GLONASS, BeiDou, and Galileo data, in post-processing mode for the various applications in GNSS interferometric reflectometry. This package uses the Graphical User Interface (GUI) of MATLAB to read GNSS data, perform the various processes and output analysis because MATLAB has the advantages of matrix-based structure, and highly suitable graphic for mathematical computation, coding, etc. Furthermore, since MATLAB has been used by various community and engineers, it is an almost common software which could be accessed and expanded quickly. The GNSS-IR-UT, which uses only the toolbox and functions of the MATLAB, merely has been constructed by the MATLAB (2020b), however, it is capable to be implemented on any version of the MATLAB. Besides the mentioned attributes of GNSS-IR using the aforementioned packages, our package uses the Least Square Harmonic Estimation (LS-HE) to select the reflected height with maximum power spectrum along with the common methods in Lomb-Scargle periodogram such as PSD, Normalized, and Power.
In the following sections, a brief theory of GNSS-IR for the reflecting height calculation has been provided. Then, flowchart and vision for the proposed software will be discussed. Within this part, a brief introduction of LS-HE is given. After that, the experimental example and results conducted for a station located in Alaska to estimate and accredit the ability of GNSS-IR-UT for sea surface monitoring are presented. In the last section, the conclusions of the study are provided. Finally, the tutorial of the proposed software has been added after reference section.
Inversion of the SNR data
The relation between the antenna height: the vertical distance between the GNSS antenna phase center and the horizontal reflecting surface (h) and SNR data (Fig. 1) can be modeled as below,
where \(A\) is the amplitude of the SNR data, \(\Phi\) is the phase of the main signal, \(\lambda\) represents the GNSS signal wavelength, and \(\theta\) explain the satellite elevation angle with respect to the surface.
With the development of technology, and also the advances that happened within the scientific community of GNSS-IR, it is plausible to implement the concept of GNSS-IR with a single simple antenna concerning the interference between the direct and reflected signals which is included in the SNR data and is defined as follow (Vu et al. 2019),
where \(A_{D}\) and \(A_{R}\) are the amplitudes of direct and reflected signals while \(\psi\) describes the phase difference between the two signals. By considering Fig. 2 and presume a planar reflector, the additional distance traveled by reflected signal, also known as path delay, is \(\delta = 2h\sin (\theta )\). So, the relative multipath phase and its derivative with respect to the time can be calculated as Eq. 3 and Eq. 4 respectively:
where \(\theta\) and \(\dot{\theta }\) are the satellite elevation angle and its velocity, \(h\) and \(\dot{h}\) are the vertical distance between the reflecting surface and the antenna phase center and its velocity, finally \(\lambda\) represents the GNSS signal wavelength. In addition, Eq. 4 can be rewritten as below:
now by making use of a simple change of variable as \(\chi = \sin (\theta (t))\), we have the following formula:
Then, by entering the right side of Eq. 6 into Eq. 5, we can have,
Therefore if we solve Eq. 7 for \(h\), we reach the following formula \(h = \frac{\lambda }{2}(\frac{1}{2\pi }\frac{d\psi }{{d\chi }})\) . Finally, by considering the relation between the phase and frequency of an arbitrary signal, we could have the multipath frequency and eventually evaluate the associate height as follow (Vu et al. 2019):
that \(f_{M}\) represents the multipath frequency which usually determined by spectrum analysis methods.
GNSS-IR-UT software
In this section, the GNSS-IT-UT software main ideas and the way of implementation is presented. As it has been mentioned, our proposed software package (GNSS-IT-UT) is able to process multi-GNSS signals i.e. GPS, GLONASS, BeiDou, and Galileo and also provides a new way for multipath frequency analysis. Fig. 3 depicts the overall view of the software and different subsections. Generally, after set pathing i.e. introducing the directory of the main folder to the software, there would be four major parts to run the software: reading the data, extract the required information, spectrum analysis, and finally, setting the initial values and evaluate the height of sea surface. Each of these steps is explained within the following subsections. In addition, the figure of the separate steps of the process involved in the software in sequential order is depicted in Fig. 4.
Read RINEX and SP3 files
After set pathing, the users should import the input files i.e. GNSS observations known as RINEX (Receiver Independent Exchange Format) and satellite orbits precise ephemeris named as SP3 data through this section (see up-left part of Fig. 3). As it is clear, it would be plausible to select and import multiple files. Moreover, the GNSS-IR-UT package reads pseudo range and carrier observations for all versions of both RINEX 2 and 3. Last but not least, one could merely use this section just to read and analyze the RINEX or SP3 files and use its result for his/her special usage.
Extract the required information
These days, the multi-frequency and multi-system GNSS constellations, including the Global Positioning System owned by the United States government, Russia’s restored GLONASS, the European Union’s GALILEO system and China’s Beidou/COMPASS system as well as some others, have been operated and consequently, the coverage of the signal has been grown up properly. Therefore, GNSS-IR-UT can use different observables and user would be able to select their required component according to the observation types within each GNSS system. More specifically, we impose a constraint on satellite elevation angle which is useful for extracting the right signal with the proper angle with respect to the surface in sea level analyzing matter. Clearly, users freely capable to extract their considered components from arbitrary systems with any elevation angle according to their specific usages.
Spectrum analysis to evaluate the dominant frequencies
According to Larson et al. (2013) and Nievinski and Larson (2014), the frequency of multipath \(f_{M}\) associate with antenna height to the reflecting surface \(h\) through the \(h = \frac{{\lambda f_{M} }}{2}\). As it is clear, to achieve the height in meter, it is needed to have the multipath frequency in the unit of meter. On the other hand, SNR data within each RINEX file are sampled regularly without any functional relation to the sin of elevation angles which is an irregular time-independent quantity. In this case, usually, a spectrum analysis would be required to manage the sampling sequence (Larson et al. 2013). There are some methods to do this step which the Lomb Scargle Periodogram (Lomb 1976) is the most common way. In this section of GNSS-IR-UT software, we used a new method in calculating the dominant frequency namely Least Square Harmonic Estimation (LS-HE), which had been proposed by Amiri-Simkooei et al. (2014). This method which will be described briefly in the following sub-section could be verified through statistical tests and has been used in various studies such as, tidal frequency extraction by Amiri-Simkooei et al. (2014), analyzing ionospheric total electron density by Sharifi et al. (2012), Tropopause parameters estimation by Sharifi et al. (2013), and Pirooznia et al. (2019). Besides, three other methods namely Normalized, Power, and PSD that are common among the scientific community have also been adopted in this section.
Lease square harmonic estimation (LS-HE)
In order to introduce a periodic pattern in a functional model, Harmonic Estimation is used. As for a given time series, the easiest way to consider a periodic behavior is to include, \(y(t) = a_{j} \cos (\omega_{j} )t + b_{j} \sin (\omega_{j} )t\) that represents a sinusoidal signal with a primary phase, amplitude (\(a_{j} ,b_{j}\)), and frequency (\(\omega_{j}\)). As a result, the functional model can be formulated as follow:
where \(E\) and \(D\), are the expectation and dispersion operators, respectively, \(A\) is the \(m \times n\) design matrix, \(Q_{y}\) is the \(m \times m\) covariance matrix of the m-vector of observables \(y\), \(x\) is the n-vector of unknown parameters, and the matrix \(A_{j}\) consists of two columns corresponding to the frequency \(\omega_{j}\) of the sinusoidal function. \(A_{j}\) in Eq. 9 can be written in matrix form as below:
The first part of Eq. 9, i.e. \(Ax\) represents the general trend of the signal and the rest represents the variations that are included within that signal. The goal is to find the dominant frequency within the variations known as \(\omega_{j}\). To do so, two suppositions namely, \(H_{0}\) and \(H_{a}\) have been considered as (Amiri-Simkooei 2007),
as a matter of fact, in \(H_{0}\) we suppose that there is no variation and the data contain dominant frequency, in contrast, in \(H_{a}\), we suppose that there is a variation and consequently the dominant frequency is implicitly hidden in the data and can be determined. In other words, we are looking for the frequencies that return the maximum spectral power by solving the \(\omega_{j} = \arg \max P(\omega_{j} )\) maximization problem where,
with \(\hat{e}_{0}^{{}} = P_{A}^{ \bot } y\) is the least-squares residuals and \(P_{A}^{ \bot }\) which is equal to \(I - A(A^{T} Q_{y}^{ - 1} A)^{ - 1} A^{T} Q_{y}^{ - 1}\) is an orthogonal projector. In this method, to analyze the possible existing frequencies in a signal, a recursive formula as \(T_{j + 1} = T_{j} (1 + \frac{{\alpha T_{j} }}{T})\), \(\alpha = 0.1,j = 1,2,...\) has been used where \(T_j\) is the considered periods for the test and \(T\) is the total time span. For more details, see Amiri-Simkooei (2007).
Setting initial values and height calculation
After implementing previous sections, it would be possible to achieve the final goal which is the antenna height with respect to the reflecting surface. At this stage, users should insert some quantities as initial values based on the used station and RINEX files. Among these parameters, which are selected based on the RINEX file, can mention the sampling rate of the observations as well as the name of the SNR observation. More specifically, the signal wavelength should be selected according to Table 1 based on each existing signals within each system. \(k\) parameter that is involved within Table 1 represents the coefficients and equal to [1 -4 5 6 1 -4 5 6 -2 -7 0 -1 -2 -7 0 -1 4 -3 3 2 4 -3 3 2 0 0]. Considering that for the GLONASS satellite system, each satellite has its own frequency, 26 coefficients have been set for the \(k\) parameter corresponding to each satellite. Each satellite has a coefficient. This coefficient is placed in the formula presented in Table 1. Finally, the frequency is calculated for each GLONASS satellite. Also, \(c\) is the speed of light which is equal to \(3 \times 10^{8} {\raise0.7ex\hbox{$m$} \!\mathord{\left/ {\vphantom {m s}}\right.\kern-\nulldelimiterspace} \!\lower0.7ex\hbox{$s$}}\). Moreover, users are able to limit the received satellites by defining minimum and maximum value for azimuth which should be a quantity between 0 to 360 degrees. Another parameter is antenna height that is necessary to be added by users. In addition, maximum allowable height represents the range of the height that users expect to have regarding the station. By inserting this quantity, the software calculates a reasonable multipath frequency that is needed for calculating the height. On the other hand, if there would a severe multipath frequency (e.g. from features around the station) which yields an unreasonable height, users could delete it by adding this quantity. In fact, by entering the minimum and maximum height values in the analysis section, heights outside this range are not considered. Epoch jump represents the permissible gap that may exist within the satellite data. It means that, if the differences between two consecutive epochs are greater than the epoch jump inputted by the user, the information regarding the signal from the beginning up to the time of jump occurrence would be considered as an arc for that satellite. Then, this process will continue to reach the end of the epoch. Finally, minimum arc length is the least angular and temporal length which works as a prerequisite for considering the arcs depicted in Fig. 1. If a satellite satisfies this minimum quantity in both degree and minute unit (differences between maximum and minimum elevation angles \(\ge\) Minimum Arc Length), its observations will be considered in height computation. In fact, arc selection depends on azimuth angle, elevation angle and time range (hour) as well as arc length (degree) which are inputted by the users.
GNSS-IR example
To evaluate the proposed software, we performed two tests using real data, which are described here. In the first test, we have used the AT10 station in St Michael, Alaska, with 63.48400 as latitude and 162.006 as longitude for one day, namely January 1, 2019. Figure 5 shows the antenna located within the used experiment area. The receiver was set for 15 s sampling and the initial value for the height of the antenna to the ground was set at 2 m. In the second test, a local geodetic receiver located on the campus of the University of Tehran has been selected. In this case, the antenna height of 1.6 meters has been selected. We report the result just for the GPS system here although, this software can work with other systems i.e. GLONASS, BeiDou, and Galileo. It is worth mentioning that this software gives the result per day within its corresponding date at the distinguished folders. In the following, we show the major results of our experiment.
Figure 5a shows the station of the antenna within the test area. In addition, the antenna location with the yellow circle as well as the ground tracks of the satellites that occur between the minimum and maximum elevations angles (5 to 25 degree) is depicted in Fig. 5b. Also, Fig. 6 shows the received satellites within one day that satisfy the initial constraints. On the other hand, the elevation angles for the tracked satellites are depicted in Fig. 7. In detail, the sky plot of elevation angles between 5 to 25 degree for azimuths of the satellites between 0 to 360 are shown in Fig. 7a. The different elevation angles for the different satellites regarding the time in one day are illustrated in Fig. 7b.
The SNR data for these satellites in 24 hours are illustrated in Fig. 8. Also, the Lomb Scargle Periodograms (LSP) for the SNR data depicted in Fig. 9a, is shown in Fig. 9b section of the same figure. This Periodogram has been created using the LS-HE method. As it is clear, different multipath frequencies have been detected by the software and the most dominant one (red circle) has been selected as the desired frequency and consequently, the height associated with this frequency is the final result for sea level regarding this arc. As it can be seen, the evaluated height for this station is equal to 11 m to the sea surface around this station that is reasonable concerning the information about this station. Moreover, the SNR data in volts/volts unit along with the adjusted one using a 2-degree polynomial have been illustrated in Fig. 9c section. Note that the users are able to fit various polynomials with different degrees to the major SNR signal through the box of Polynomial Degree within the software.
Finally, Fig. 10 shows the time series of sea surface height related to AT01 station for 01/06/2018 to 31/12/2020. Also, the map of Fresnel zones for the used GNSS site AT01 is shown in Fig. 11. These two figures have been created with respect to the azimuth and elevation angles of the satellites within each arc by considering the (a) different calculated values for the reflected height and (b) constant value for the reflected height which is the average of all reflected heights. The formula for these elliptical sensing zones could be found in the Appendix of (Nievinski and Larson 2014).
To validate the proposed software, a second case study has been considered. To do this, a local geodetic receiver located on campus of University of Tehran has been selected. The placement of the receiver is showed in Fig. 12.
Concerning the information of this station, processing had been done within the GNSS-IR-UT software. And the result of this process is depicted in Fig. 13.
After analyzing the data of this station using the GNSS-IR-UT software, the minimum, maximum, and average obtained height are equal to 1.56, 1.68, and 1.62 respectively. Based on the results obtained (as shown in Fig. 13) in the second test mode, the estimated height has good quality. Considering that the height of the antenna at the desired point was 1.6 meters and Also, due to the small slope of the ground surface, the obtained values have good precision.
Summary and conclusions
The major purpose of this study was to provide user-friendly software in GNSS-IR matter just to facilitate the exploiting of this concept and making it easier to introduce this almost new field in GNSS to others especially the new users. This is a MATLAB-based GNSS analysis software for GNSS reflectometry named GNSS-IR-UT. GNSS-IR-UT has been structured in such a way that users can use the results of each part of the software for their specific applications. Moreover, this software also provides the output files for each day within the distinguished associated folder. Although the presented results are related to the GPS satellites. The software can be used for processing multi GNSS signals such as GLONASS, Galileo, and BeiDou. Also, the performance and the contents of the GNSS-IR-UT software will be updated and extended for further applications.
Reference
Amiri-Simkooei A (2007) Least-squares variance component estimation: theory and GPS applications. Ph.D. thesis, Mathematical Geodesy and Positioning, Faculty of Aerospace Engineering, Delft University of Technology, Delft
Amiri-Simkooei AR, Zaminpardaz S, Sharifi MA (2014) Extracting tidal frequencies using multivariate harmonicanalysis of sea level height time series. J Geod 88(10):975–988
Båth BM (2012) Spectral analysis in geophysics. Elsevier
Geremia-Nievinski F, Hobiger T, Haas R, Liu W, Strandberg J, Tabibi S, Williams S (2020) SNR-based GNSS reflectometry for coastal sea-level altimetry: results from the first IAG inter-comparison campaign. J Geod 94(8):1–15
Gurtner W, Estey L (2007) Rinex-the receiver independent exchange format-version 3.00. Astronomical Institute, University of Bern and UNAVCO, Bolulder, Colorado
Haddad M, Hassani H, Taibi H (2013) Sea level in the Mediterranean Sea: seasonal adjustment and trend extraction within the framework of SSA. Earth Sci Inform 6(2):99–111
IGS RS (2015) RINEX-The Receiver Independent Exchange Format (Version 3.03). ftp://igs.org/pub/data/format/rinex303.pdf
Jin S, Komjathy A (2010) GNSS reflectometry and remote sensing: New objectives and results. Adv Space Res 46(2):111–117
Larson KM, Small EE, Gutmann E, Bilich A, Axelrad P, Braun J (2008) Using GPS multipath to measure soil moisture fluctuations: initial results. GPS Solut 12(3):173–177
Larson KM, Gutmann ED, Zavorotny VU, Braun JJ, Williams MW, Nievinski, FG (2009) Can we measure snow depth with GPS receivers. Geophys Res Lett 36(17)
Larson KM, Löfgren JS, Haas R (2013) Coastal sea level measurements using a single geodetic GPS receiver. Adv Space Res 51(8):1301–1310
Larson KM, Ray RD, Williams SD (2017) A 10-year comparison of water levels measured with a geodetic GPS receiver versus a conventional tide gauge. J Atmos Ocean Technol 34(2):295–307
Löfgren JS, Haas R, Scherneck HG (2014) Sea level time series and ocean tide analysis from multipath signals at five GPS sites in different parts of the world. J Geodyn 80:66–80
Lomb NR (1976) Least-squares frequency analysis of unequally spaced data. Astrophys Space Sci 39(2):447–462
Martin-Neira M (1993) A passive reflectometry and interferometry system (PARIS): Application to ocean altimetry. ESA J 17(4):331–355
Martín A, Luján R, Anquela AB (2020) Python software tools for GNSS interferometric reflectometry (GNSS-IR). GPS Solut 24(4):1–7
MATLAB and Statistics Toolbox Release (2020b) The MathWorks, Inc., Natick, Massachusetts, United States
Nievinski FG, Larson KM (2014) Forward modeling of GPS multipath for near-surface reflectometry and positioning applications. GPS Solut 18(2):309–322
Peng D, Hill EM, Li L, Switzer AD, Larson KM (2019) Application of GNSS interferometric reflectometry for detecting storm surges. GPS Solut 23(2):47
Pirooznia M, Raoofian Naeeni M, Amerian Y (2019) A Comparative Study Between Least Square and Total Least Square Methods for Time-Series Analysis and Quality Control of Sea Level Observations. Mar Geod 42(2):104–129
Roesler C, Larson KM (2018) Software tools for GNSS interferometric reflectometry (GNSS-IR). GPS Solut 22(3):80
Rover S, Vitti A (2019) GNSS-R with Low-Cost Receivers for Retrieval of Antenna Height from Snow Surfaces Using Single-Frequency Observations. Sensors 19(24):5536
Sharifi MA, Safari A, Masoumi S, Khaniani AS (2012) Harmonic analysis of the ionospheric electron densities retrieved from FORMOSAT-3/COSMIC radio occultation measurements. Adv Space Res 49(10):1520–1528
Sharifi MA, Khaniani AS, Masoumi S, Schmidt T, Wickert J (2013) Least-squares harmonic estimation of the tropopause parameters using GPS radio occultation measurements. Meteorol Atmos Phys 120(1):73–82
Stoica P, Moses RL (2005) Spectral analysis of signals
Üstün A, Yalvaç S (2018) Multipath interference cancelation in GPS time series under changing physical conditions by means of adaptive filtering. Earth Sci Inform 11(3):359–371
Vu PL, Ha MC, Frappart F, Darrozes J, Ramillien G, Dufrechou G, Gegout P, Morichon D, Bonneton P (2019) Identifying 2010 Xynthia storm signature in GNSS-R-based tide records. Remote Sens 11(7):782
Wang N, Xu T, Gao F, Xu G (2018a) Sea level estimation based on GNSS dual-frequency carrier phase linear combinations and SNR. Remote Sens 10(3):470
Wang X, Zhang Q, Zhang S (2018b) Water levels measured with SNR using wavelet decomposition and Lomb-Scargle periodogram. GPS Solut 22(1):22
Yalvac S (2021) Investigating the historical development of accuracy and precision of Galileo by means of relative GNSS analysis technique. Earth Sci Inform 14(1):193–200
Zhang S, Liu K, Liu Q, Zhang C, Zhang Q, Nan Y (2019) Tide variation monitoring based improved GNSS-MR by empirical mode decomposition. Adv Space Res 63(10):3333–3345
Zhang S, Peng J, Zhang C, Zhang J, Wang L, Wang T, Liu Q (2021) GiRsnow: an open-source software for snow depth retrievals using GNSS interferometric reflectometry. GPS Solut 25(2):1–8
Zheng Y, Nie G, Fang R, Yin Q, Yi W, Liu J (2012) Investigation of GLONASS performance in differential positioning. Earth Sci Inform 5(3–4):189–199
Acknowledgment
The authors are going to gratitude the CDDIS center of NASA for providing the SP3 (precise ephemeris) data (https://cddis.nasa.gov/) and also the SOPAC center (http://sopac-csrc.ucsd.edu/) for the RINEX data.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: H. Babaie
Appendix
Appendix
Tutorial of the GNSS-IR-UT
-
1.
Read RINEX and SP3 file
1.1. Main folder path selection
1.2. Files type selection, single or multiple. In this section, the user can choose to process for one day from the desired station (single mode), or select multiple modes, select a large number of RINEX files for the desired station to perform processing.
1.3. Determination of RINEX version
1.4. RINEX observation file(s) import
1.5. Orbit and clock file(s) import
1.6. Pushing “Read” box to read the inputted files
-
2.
Extract information
2.1. Select satellite system(s) among G, R, E, C
2.2. Minimum and maximum elevation angle
2.3. Pushing “Extract” box to extract the necessary information
-
3.
Inputting the initial values for height calculation
3.1. Initial values
3.1.1. Fixing the minimum and maximum acceptable height. Given that one of the applications of the GNSS-IR method is to determine the height of the water level. On the other hand, this height changes a lot during the year. For this reason, we select a range in this section. In this range, the desired elevations should be examined. This is because the signal received from annoying complications is not analyzed.
3.1.2. Fixing the minimum and maximum azimuth
3.1.3. Inputting the antenna height
3.1.4. Determining the polynomial degree used to adjust the SNR signal
3.1.5. Defining the Epoch jump
3.1.6. Determining the arc length
3.2. Spectrum analysis method definition (Normalized, Power, PSD and LS-HE)
3.3. Pushing “RUN” box to calculate the different parameters including height from reflecting surface.
-
4.
Plot: arbitrary number of plots for each of the parameters listed in the “plot” box. As for illustration, if users input “2” for “Number of plots”, “G” for “Systems” and “1” for “Signal”, it means that for the L1 signal of the GPS satellite two plots would be created from the parameter that had been selected by the users. Note that each plot is associated with one RINEX file and users are supposed to input less than or equal number for “Number of plots”.
Rights and permissions
About this article
Cite this article
Farzaneh, S., Parvazi, K. & Shali, H.H. GNSS-IR-UT: A MATLAB-based software for SNR-based GNSS interferometric reflectometry (GNSS-IR) analysis. Earth Sci Inform 14, 1633–1645 (2021). https://doi.org/10.1007/s12145-021-00637-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s12145-021-00637-y