# Satellite-Based Localization of IoT Devices Using Joint Doppler and Angle-of-Arrival Estimation
## 6 Experiment and Results
### Doppler Error Measurements
Figure 7.0 The connection between the Software-Defined Radio (National Instruments (NI) Universal Software Radio Peripheral (USRP) 2950) and the GPS-disciplined oscillator. error distribution and its corresponding \(p\)-value. All the five measurements passed the Kolmogorov-Smirnov test at a \(p\)-value of 5%. For a qualitative illustration, we depict an example in Figure 13 showing that the empirical cumulative distribution function (CDF) is similar to the theoretical normal CDF. In order to better understand the sources of Doppler error, we depict in Figure 14 an abstracted block diagram of the Doppler measurement chain and the corresponding sources of error at each of the steps: (i) the local oscillator of the transmitter would have an inherent phase error around a slowly drifting carrier affected by factors including the supply voltage and the ambient temperature. However for the purpose of the short measurement window,  
Figure 7.1 Doppler measurement error distribution for five different satellite pass examples collected over a few days. All measurements passed the Kolmogorov–Smirnov test at the 5% significance level with the corresponding \(p\)-values. Note that these results are for the case when the SDR is phased locked with a GPS-disciplined oscillator (GPSDO). Figure 7.2 An example of empirical and theoretical Doppler error cumulative distribution functions (CDFs) for pass index 1.  
the center of the drift, \(\mu_{\mathrm{Tx}}\) is taken as a constant, while the faster variations are captured as a normal distribution \(\mathcal{N}\big{(}\mu_{\mathrm{Tx}},\sigma_{\mathrm{Tx}}^{2}\big{)}\)[32]. (ii) The signal at the receiver is shifted by the true Doppler value of \(f_{\mathrm{d}}\), then (iii) it is mixed with the receiver's local oscillator that also exhibits a similar behavior to the transmitter's local oscillator with a normal model of \(\mathcal{N}\big{(}\mu_{\mathrm{Rx}},\sigma_{\mathrm{Rx}}^{2}\big{)}\). Accordingly, the final Doppler error can be expressed as follows,  
Figure 7.3  
where \(\epsilon_{\mathrm{Tx}}\sim\mathcal{N}\big{(}\mu_{\mathrm{Tx}},\sigma_{ \mathrm{Tx}}^{2}\big{)}\) and \(\epsilon_{\mathrm{Rx}}\sim\mathcal{N}\big{(}\mu_{\mathrm{Rx}},\sigma_{ \mathrm{Rx}}^{2}\big{)}\) are the error caused by the Tx and Rx local oscillators, and \(\epsilon_{\mathrm{E}}\) is the error caused by the estimation algorithm. Since the signal should incur no Doppler shift at the highest elevation point (_inflection point_), we could estimate the constant drifts and subtract it from the Doppler measurement vector. In this case, the Doppler error reduces to,  
Figure 7.4 Figure 7.5  
Furthermore, the error at the receiver is practically negligible because of the use of the GPS disciplined oscillator which is in the range of \(\mu\)Hz. Accordingly, a simpler error model can be expressed as \(\epsilon_{\mathrm{d}}\sim\mathcal{N}(0,\sigma_{\mathrm{Tx}}^{2}+\sigma_{ \mathrm{E}}^{2})\), where by going back to (5) we note that \(\sigma_{\mathrm{d}}^{2}=\sigma_{\mathrm{Tx}}^{2}+\sigma_{\mathrm{E}}^{2}\). In the IoT localization context, the transmitter would be the ground IoT device, while the receiver is the satellite. Hence, it is reasonable to assume/stipulate that the satellite has access to a highly stable oscillator to minimize the localization error.