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).

Fig. 1
figure 1

Geometry of a GNSS Interferometric Reflectometry

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,

$$SNR = A\cos (\frac{4\pi h}{\lambda }\sin (\theta ) + \Phi )$$
(1)

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),

$$SNR^{2} = A_{D}^{2} + A_{R}^{2} + 2A_{D} A_{R} \cos \psi \, \approx \, A_{D}^{2} + 2A_{D} A_{R} \cos \psi {\text{ (A}}_{D} \gg {\text{ A}}_{R} {)}$$
(2)

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:

$$\psi = \frac{2\pi }{\lambda }\delta = \frac{4\pi h}{\lambda }\sin (\theta )$$
(3)
$$\frac{d\psi }{{dt}} = \frac{4\pi }{\lambda }(\dot{h}\sin (\theta ) + h\cos (\theta ) \, \dot{\theta })$$
(4)
Fig. 2
figure 2

Schematic structure of GNSS-IR applied in this study and using with only one right hand circularly polarized antenna and one receiver

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:

$$\frac{1}{{\cos (\theta ) \, \dot{\theta }}}\frac{d\psi }{{dt}} = \frac{4\pi }{\lambda }(\dot{h}\tan (\theta ) + h)\mathop{\longrightarrow}\limits^{{\text{Static usages}}}{ = }\frac{4\pi }{\lambda }h$$
(5)

now by making use of a simple change of variable as \(\chi = \sin (\theta (t))\), we have the following formula:

$$\frac{d\chi }{{dt}} = \cos (\theta ) \, \dot{\theta } \Rightarrow \frac{1}{{\cos (\theta ) \, \dot{\theta }}} = \frac{dt}{{d\chi }}$$
(6)

Then, by entering the right side of Eq. 6 into Eq. 5, we can have,

$$\frac{d\psi }{{d\chi }} = \frac{4\pi }{\lambda }h$$
(7)

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):

$$h = \frac{\lambda }{2}(f_{M} )$$
(8)

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.

Fig. 3
figure 3

Schematic of the GNSS-IR-UT software

Fig. 4
figure 4

Flowchart of the GNSS-IR-UT and different subsections. G: GPS, R: GLONASS, E: Galileo, and B: BeiDou

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:

$$E(y) = Ax + A_{j} x_{j} { , }D(y) = Q_{y}$$
(9)

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:

$$A_{j} = \left[ \begin{gathered} \cos \omega_{j} t_{1} \,\,\,\,\,\,\,\,\,\,\sin \omega_{j} t_{1} \hfill \\ \cos \omega_{j} t_{2} \,\,\,\,\,\,\,\,\,\,\sin \omega_{j} t_{2} \hfill \\ \;.\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;.\;\; \\ \;.\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;.\;\; \\ \;.\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;.\;\; \\ \cos \omega_{j} t_{n} \,\,\,\,\,\,\,\,\,\,\sin \omega_{j} t_{n} \hfill \\ \end{gathered} \right]\,\,$$
(10)

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),

$$H_0:E(y)=Ax\,\;H_a:E(y)=Ax+A_jx_j$$
(11)

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,

$$P(\omega_{j} ) = \hat{e}_{0}^{T} Q_{y}^{ - 1} A_{j} (A_{j}^{T} Q_{y}^{ - 1} P_{A}^{ \bot } A_{j} )^{ - 1} A_{j}^{T} Q_{y}^{ - 1} \hat{e}_{0}^{{}}$$
(12)

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.

Table 1 Different observables along with their specifications within the RINEX file (Gurtner and Estey 2007; IGS 2015)

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.

Fig. 5
figure 5

View of Station. (a) GNSS antenna located in the experiment area that the specification of this station can be found: https://www.unavco.org/instrumentation/networks/status/other/overview/AT01 , (b) Location of the station (yellow circle) and the ground track of the satellites that satisfy the initial constraints for the elevation angles between 5 and 25 degrees

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.

Fig. 6
figure 6

Received satellites within the one day that satisfy the initial constraints. Each color represents a satellite-tracked by the receiver based on elevation angle

Fig. 7
figure 7

Elevation angles. (a) Sky plot for the satellites within the azimuth [0,360] and elevation angles [5,25], (b) Illustration of different elevation angles for different satellites concerning the time in hour unit

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.

Fig. 8
figure 8

The extracted SNR data for the used satellites in the unit of decibel (dB)Hertz (Hz) with respect to the time

Fig. 9
figure 9

Final results of the software. The above section (a) illustrates the whole SNR signal in one arc (dB Hz), the middle plot (b) shows the spectrum analysis to find the dominant frequency and consequently the evaluated height associate with. Green: Indicates all peaks, Red: Indicates the maximum peak (peak with the highest spectral power), and finally (c) the SNR signal(volts/volts) along with its adjusted signal using a 2-degree polynomial has been illustrated

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).

Fig. 10
figure 10

Time series obtained for sea surface height for the AT01 station

Fig. 11
figure 11

Fresnel zones in map view for the AT1 GNSS site concerning the azimuth and elevation angles of the satellites within each arc with (a) different calculated heights and (b) constant reflected height value equal to average calculated heights

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.

Fig. 12
figure 12

Local geodetic station at the university of Tehran

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.

Fig. 13
figure 13

Obtained time series for the local station using GNSS-IR-UT software (Y axis represents the calculated heights in meter while X represents the number of observation of the satellite)

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.