Satellite Visibility Window Estimation Using Doppler Measurement for IoT Applications

Many Internet-of-Things (IoT)-over-satellite applications rely on affordable location-aware but energy-constrained IoT sensors. In this letter, we propose a novel method to estimate the satellite visibility window in IoT devices based on simple Doppler measurements. We present two scenarios where the orbital information of the serving satellite is initially unknown to the IoT device: (i) we assume that the geographic coordinates are known to the IoT device, and (ii) we assume that the coordinates are completely unknown. Accordingly, we derive the Doppler measurement likelihood function, and simplify it to a root mean square error (RMSE) minimization problem. From a sequence of Doppler measurements, we estimate the orbital parameters of the serving satellite using a stochastic optimizer to minimize the RMSE. From the orbital estimation, we then predict the satellite visibility window (satellite pass). To gauge the accuracy of the window estimation, we apply the intersection-over-union metric to compute the overlapping visibility window between the ground truth and the estimation, and consequently present the results based on extensive Monte Carlo simulations.


Satellite Visibility Window Estimation Using Doppler Measurement for IoT Applications
Iza Shafinaz Mohamad Hashim , Member, IEEE, and Akram Al-Hourani , Senior Member, IEEE Abstract-Many Internet-of-Things (IoT)-over-satellite applications rely on affordable location-aware but energy-constrained IoT sensors. In this letter, we propose a novel method to estimate the satellite visibility window in IoT devices based on simple Doppler measurements. We present two scenarios where the orbital information of the serving satellite is initially unknown to the IoT device: (i) we assume that the geographic coordinates are known to the IoT device, and (ii) we assume that the coordinates are completely unknown. Accordingly, we derive the Doppler measurement likelihood function, and simplify it to a root mean square error (RMSE) minimization problem. From a sequence of Doppler measurements, we estimate the orbital parameters of the serving satellite using a stochastic optimizer to minimize the RMSE. From the orbital estimation, we then predict the satellite visibility window (satellite pass). To gauge the accuracy of the window estimation, we apply the intersection-over-union metric to compute the overlapping visibility window between the ground truth and the estimation, and consequently present the results based on extensive Monte Carlo simulations.

I. INTRODUCTION
I NTERNET-OF-THINGS (IoT)-over-satellite applications have been proliferating in recent years due to the highly accessible satellite platforms, especially in the low Earth orbit (LEO). The moderate costs of development and deployment of LEO satellites have enabled the expansion of IoT-over-satellite applications [1]. However, LEO satellites are known to have a short visibility window due to their fast relative velocity. Typically, the orbital period of LEO satellites is around 90 to 120 minutes; thus, LEO satellites are only visible within a few minutes window, also called the satellite pass duration [2]. On the other hand, many IoT access technologies are based on simple protocols with short and random transmissions. Therefore, to increase the probability of a successful transmission between the IoT device and receiving satellite, it is crucial to align the IoT transmission time with the satellite visibility window. By doing so, the lifetime of IoT devices can be prolonged as well as enhancing the transmissions (frames) success rate. Besides obtaining sensor data from the ground device, it is also beneficial to gain its location information [3]. Therefore, ensuring a window alignment between the ground device and satellite is one of the major requirements for more reliable IoT services. Estimating the visibility window requires some knowledge of satellites orbit. To do so, there are two types of observations that can be made; (i) optical observations such as visual, photographic, and laser ranging measurements, and (ii) radio measurements such as radio ranging, radar, Doppler observations, and interferometry [4]. Assuming a perfect Keplerian motion, an orbit can be fully described using six fundamental elements: the semi-major axis, eccentricity, inclination angle, argument of periapsis, true anomaly, and the right ascension of ascending node. The three established orbit determination methods include Gaussian, Gibbs' method, and Laplacian [4]. The Gaussian orbit determination only requires the knowledge of two orbital positions and the observation interval. Then, the velocity can be computed from a distance between two points on an ellipse and the difference in the observation times. However, this method has limited use cases in satellites as it only allows small spread between the true anomalies angles [5]. The Gibbs' method takes three position observations, and thus provide better estimation since only one ellipse can pass through three points. Time is not essential in this method except when the satellite's position on the ellipse is desired. Laplacian utilizes three of the right ascension, declination, and time observations unlike the other methods that use Cartesian positions. By using three pointing angles and their observation times, the orbit can be fully characterized [6]. These traditional methods have been used over the last centuries for planetary motion and other celestial bodies; however, they are not suitable to be applied in IoT use cases since either the position or angular measurements are not available in simple IoT devices.
Modern methods such as [7] has introduced a least-squares (LS) technique for orbit determination, where a computed curve is fitted to the Doppler observations using LS. The curve is obtained from the six Keplerian orbital parameters. By using differential corrections, the estimation of the parameters is improved iteratively until they converge to the ground truth. In addition, two orbit determination methods are proposed in [8]; the first method utilizes a perturbed circular motion prediction model which can estimate the orbit from the collected telemetry radio measurements with no NORAD database information, while for the second method, the SGP4 model and NORAD two-line element (TLE) information are used. Moreover, a maximum likelihood estimation (MLE) method is proposed by [9] to solve the orbit determination problem. The estimator can produce the optimal parameter (state) estimates from the Doppler observations. The parameter estimates are determined by maximizing the conditional density function of the state given the observations. The work in [9] demonstrates how standalone Doppler shift measurements can be used to estimate an orbit. However, [9] attempts to solve the estimation analytically; thus, requiring the derived likelihood function to be differentiable. Therefore, it is essential to look at other methods if the measurement likelihood function is non-differentiable. In this work, Doppler measurements are performed at the ground IoT device, which are consequently used to estimate the orbit and the corresponding visibility windows. By acquiring the knowledge of the satellite pass, the power can be efficiently conserved where the IoT device needs only to turn on its transceiver when the satellite is visible, and it can then be switched off during the rest of the time [10]. Many literature works [8], [9] propose the utilization of Doppler shift measurements obtained from telemetry signals. Thus, we further leverage these Doppler measurements from communication signals for estimating the visibility window.
For IoT-over-satellite services, there are two common approaches: (i) indirect-to-satellite and (ii) direct-to-satellite (DtS) connections [11], [12], [13]. Indirect-to-satellite IoT is usually utilized in regions that have a justifying number of IoT devices, thus deploying IoT gateways is reasonable. However, in a challenging regions such as mountains and oceans, it is preferable to use DtS service [11]. Since the ground IoT devices that are deployed in this area need to efficiently transmit to conserve power, they will benefit from the visibility window estimation using available measurements, such as Doppler.
Accordingly, this letter presents a framework to determine the satellite visibility window in two scenarios; (i) when geographic location is available to the ground IoT device by an external input, e.g., using global navigation satellite system (GNSS), and (ii) when IoT device has no knowledge of its location. In the first scenario, the prediction can be performed even when limited information regarding the satellite is available; namely only the satellite's altitude is assumed to be known. Therefore, we need to estimate three relative orbital parameters: the orbit's inclination, right ascension of ascending node (RAAN), and initial mean anomaly with respect to the IoT device timing. In the second scenario, the IoT device needs to estimate its own latitude. Thus, we need to estimate an additional parameter to the first scenario on top of the other three orbital parameters. Following is a summary of the main contributions of this letter: • It proposes a novel framework to predict the satellite visibility window based solely on Doppler measurements obtained from the communication signal. • It compares the performance of different stochastic optimizer methods in minimizing the objective function. • It analyzes the predicted visibility window for several passes using a newly introduced intersection-over-union metric.

II. SYSTEM MODEL
In this system, we are targeting to apply the proposed approach in the enhanced machine-type communication (eMTC) IoT application. eMTC is a low power wide area technology that is used for massive IoT deployments. To estimate the satellite's visibility window, we outline the (i) geometric model of the satellite orbit, and (ii) Doppler measurements error model. For convenience, we list relevant notations and symbols in Table I.

A. Satellite Orbit Geometric Model
A Keplerian orbit can be fully described using six fundamental parameters; (i) semi-major axis a, (ii) eccentricity e, which defines the oblateness of the orbit, (iii) inclination angle i, which is the angle between the equatorial plane and orbital plane, (iv) right ascension of the ascending node Ω which is the rotation of the orbital plane from the reference axis, (v) argument of periapsis ω which is the angle from the ascending node to the perigee point, however, in a circular orbit scenario, there is no perigee point; thus this angle can be set to zero without loss of generality, and (vi) true anomaly which is the angle between the perigee point and the satellite's position at a given reference time. Accordingly, for generating the ground truth orbit, we apply the Simplified General Pertubations 4 (SGP4) propagator using the supplied Keplerian orbital elements. SGP4 takes into account the secular and periodic variations that are caused by the atmospheric drag and Earth's geometry. The propagator is suitable for satellites that have an orbital period of less than 225 minutes.

B. Doppler Measurement Model
Doppler shift is caused by the change in signal's frequency due to the relative velocity between the transmitter (satellite) and the receiver (IoT device). The model assumes that the satellite transmitter is orbiting the Earth in a certain orbit while the ground IoT device receiver is stationary with respect to the Earth-centered Earth-fixed coordinates (ECEF). The relative radial velocity can be computed as follows, where ρ is the slant distance between the satellite and the ground device, t is the time variable, and ∆t is the simulation time step.
To model a realistic Doppler shift frequency measurement, we obtain the ground truth of the actual Doppler measurements from NOAA 15 satellite signal with the help of a GPS disciplined oscillator as explained in our previous work [14]. We perform a Kolmogorov-Smirnov normality test on the measurements, where Doppler error distribution passes the test with 95% confidence, indicating a suitable resemblance to the Normal distribution. Therefore, the Doppler shift measurement is represented as f d ∼ N µ d , σ 2 d , where µ d is the true Doppler shift given by µ d = vf c /c, and the standard deviation σ d , where c is the propagation speed of light in vacuum, and f c is the carrier frequency.

III. SATELLITE VISIBILITY WINDOW ESTIMATION FRAMEWORK
Satellite passes and the corresponding visibility window depend on the time, the location of the observer, and the orbit of the satellite. Accordingly, the visibility prediction is calculated by propagating the satellite orbit and iteratively sampling it using a fine time grid [15]. However, this is only possible if we have a prior knowledge of the satellite's orbit. As an inverse problem, we want to use the readily available Doppler measurements to estimate the orbit and hence future visibility windows.

A. Orbit Determination
In this framework, we first estimate the satellite's orbit using the Doppler shift frequency measurements. To sufficiently define an orbit, all aforementioned six parameters need to be estimated in addition to the observer location. To reduce the complexity of computation, we reduce the number of orbital parameters needed to be estimated. In IoT applications, we investigate the two following cases: • Case 1: We estimate three of the satellite's orbital parameters, namely the inclination, RAAN, and the initial mean anomaly. This is because we assume a typical case of a circular orbit, where we can assume e = 0 and argument of periapsis at zero without loss of generality. Also, we assume the altitude is known. In addition, the position of the IoT ground device is assumed to be known. • Case 2: In addition to the parameters in Case 1 we estimate the latitude of the ground IoT device. Note that we do not need the longitude of the device as the orbit is referenced to the device's timing and assuming its longitude as the meridian. The only known parameter is the satellite's altitude. The number of times the SGP4 orbit propagator needs to be run is dependent on the number of iterations required to achieve a good estimation of the orbit. The estimation is only needed to be run at the beginning of the deployment since the accuracy is expected to be maintained throughout the next few passes. However, the estimation can be executed sparingly since the orbital parameters might experience slight perturbations due to several intractable reasons.

B. Likelihood Function
To estimate the orbital parameters, we derive the likelihood function that represents the Doppler measurements given a set of orbital parameters and location. Then, we maximize the function by utilizing a stochastic optimizer to find the parameters. Accordingly, the state vector is given by, x = [i, Ω, θ o ] for case 1 and x = [i, Ω, θ o , Θ] for case 2, where Θ is the latitude of the IoT device. Since, Doppler shift measurements are normally distributed, the likelihood function can be expressed as follows: where f d is the measured Doppler shift frequency at time index k, µ d is the true Doppler shift frequency which depends on the state vector x, and σ d is the error standard deviation.
We can simplify the likelihood maximization problem, based on K measurements, into a root mean squared error (RMSE) minimization problem, as follows, which represents the RMSE between the measured Doppler vector and calculated mean based on the orbital geometry.
) is a constant, which does not contribute to the minimization problem. Accordingly, we apply a stochastic optimizer to minimize the RMSE, which is equivalent to maximizing the likelihood function.

C. Stochastic Optimizer
There are several stochastic optimization algorithms to choose from, such as pattern search (PS), simulated annealing (SA), genetic algorithm (GA), multi-objective genetic algorithm (MOGA), particle swarm (PSO), and surrogate optimization (SO). As such, we investigate the performance using a range of optimizers to find the most suitable for this problem. Thus, we run the optimizers under Case 1 condition using the same satellite orbit for 300 runs. The goal of the optimizer is to minimize the RMSE cost function in (3), by finding the most suitable state vector, wherex represents the estimated state vector. It can be observed from Fig. 2 that the particle swarm optimizer has the best performance in minimizing the objective function. PSO is one of the bio-inspired algorithms that is based on the movement of organisms in a group such as school of fish, and flock of bird [16]. It is categorized as a metaheuristic optimization algorithm where it combines the diversification and intensification components. The organisms, referred to as particles in the algorithm are spread out in the solution space, and each particle tries to find the optimal solution, which refers to diversification. Once the particles have found a good solution within the space, they will move towards the good solution region to conduct a focused search, which is the intensification component of the algorithm [17]. Finding a good balance between these two components can ensure the algorithm to converge to the global solution. Also, it is a simple algorithm which requires only basic mathematical operations, thus making it computationally inexpensive [16].

D. Visibility Window
Satellite's elevation angle ζ with respect to an observer is measured between the satellite point and the local horizon of the observer. The angle can be calculated based on the satellite and observer locations. Accordingly, the satellite is deemed to be visible when its elevation angle exceeds a certain minimum threshold ζ h , where the visibility window(s) in a given time interval [a, b] can be expressed as,  IV. SIMULATION AND RESULTS In the simulation, we utilize a single transmitting satellite and a receiving ground IoT device. Firstly, we propagate the orbital scenario and based on the simulated geometry we obtain Doppler measurements as explained in Sec. II-B. Accordingly, we use the first two passes for the orbital estimation, and the consecutive passes for testing the goodness of the estimation. The obtained results are based on 300 Monte Carlo runs, where the simulation steps are further explained as follows,

A. Orbital Estimation Results
The statistics of the estimated parameters errors for both Case 1 and Case 2 are shown in Fig. 3. The median error is represented as a dot marker. It can be seen that for Case 1, all of the three orbital parameters errors have a narrow spread, and their error medians are approximately close to 0 • . In contrast, Case 2 has a wider spread and the error medians are higher than Case 1.
In Fig. 4 we further depict an example of the true and estimated orbit in a three dimensional (3D) geometry. The estimated orbit is computed from the estimated parameters, and has a very good match to the true orbit for both Case 1 and Case 2.

B. Evaluating the Visibility Window
To fairly evaluate the estimation fitness of the visibility window, we adopt the metric of intersection-over-union (IoU) which is commonly used in evaluating bounding box prediction in machine vision applications [18]. IoU is computed by finding the percentage of the overlapping bounding boxes, where in our case, the bounding box is the satellite visibility window. The following shows the IoU computation, where A ∩ is the area of the intersection, and A ∪ is the area of union of the estimated and the ground truth windows. W represents the estimated visibility window, whereas W denotes the ground truth which was previously defined in (5). We illustrate in Fig. 5 further example of the satellite visibility window simulation, showing both the estimated window and the ground truth window. In this example, the true and estimated window are fully overlapping. The figure also shows the estimated and the ground truth Doppler profiles.
To further investigate the performance of the proposed framework in estimating the visibility window, we present the IoU statistics comparing two cases: (i) when the measurements from two passes are used for the estimation, and (ii) when using the measurements from four passes. The comparison is shown in Fig. 6, where it is imperative to note that by adding more measurements in the estimation, we are able to improve the bounds of the prediction. However, in practical scenarios, there is an energy cost for each Doppler measurement. Consequently, it is a design choice to balance the trade-off between accuracy and battery life of the device.
V. CONCLUSION In this letter, we presented a framework for predicting satellite's visibility window using a series of Doppler measurements. We estimated the satellite's orbit by deriving the likelihood function of the Doppler measurements given a set of orbital parameters; inclination, RAAN, and initial mean anomaly. We simplified the likelihood function maximization into a root mean square (RMSE) minimization problem. Then, we applied a stochastic optimizer to minimize the RMSE. From the estimated orbit, we investigated the accuracy of the visibility window using the intersection-over-union metric. Based on the results, it can be concluded that the visibility window can be adequately estimated based on the Doppler measurements.