# The Potential of LEO Satellite-Based Opportunistic Navigation for High Dynamic Applications
## 3 Simulation and Signal Processing Tools
### Iridium-like Signal Simulator  
We developed an Iridium-like signal simulator software that consists of a constellator, a waveform generator and a signal conditioner. The constellator generates the ranging and power information for each satellite visible to the observer. The satellites positions and velocities are computed at times of bursts transmission based on the SPG4 model fed with a TLE file (this latter contains the Iridium Next satellite orbit parameters diffused by NORAD). They are then used together with a user-defined trajectory to compute at each epoch \(t\) the range \(\rho(t)\) (distance between the satellite's and the receiver's antennas), the  
Figure 5: PLL frequency thermal noise std along with the std of the averaged frequency estimate over _Ta_ = \(50\times\)_Ti_.  
Figure 6: Estimated Doppler frequency (blue circles) along with expectation (black curves). From left to right: SV number 135, 167, 151, and 171.  
range rate \(\dot{\rho}(t)\) and the received signal power level \(P(t)\) for the satellites in view. The range and range rate are perturbed to take into account the receiver and satellites clock errors as:  
\[\widetilde{\rho}^{k}=\rho^{k}+c\;\delta t-c\dot{\delta t}^{k}\;\;\left[\text{m}\right] \tag{29}\]  
\[\dot{\widetilde{\rho}}^{k}=\dot{\rho}^{k}+c\;\dot{\delta t}-c\dot{\delta t}^{k} \;\;\left[\text{m}/\text{s}\right] \tag{30}\]  
Based on the computed ranging and power, the waveform generator generates baseband bursts \(\left(d_{l}+j\;d_{Q}\right)\), with \(d_{l}\) is the in-phase modulated data and \(d_{Q}\) is the quadrature-phase modulated data. The baseband signal is up-converted to an intermediate frequency (IF), \(F_{IF}\), then the signal is added a Gaussian thermal noise \(\eta(t)\) having a power spectral density \(No\). A received Iridium burst in IF can therefore be written as:  
\[r(t)=\sqrt{P}\big{(}d_{l}(t+\tau)+j\;d_{Q}(t+\tau)\big{)}e^{j(2\pi(F_{IF}+F_{d} )t+\phi)}+\eta(t) \tag{31}\]  
where \(\tau=\widetilde{\rho}(t)/c\) is the signal propagation time corrupted by clock errors, \(F_{d}=-\dot{\widetilde{\rho}}(t)/\lambda\) is the Doppler frequency shift corrupted by clock drifts, \(\lambda\) is the wavelength of the captured frequency channel, and \(\phi(\text{rad})\) is the initial carrier phase.  
The baseband signal starts with a tone (i.e., \(d_{l}=1,\;d_{Q}=0\)) over \(T_{tone}=2.56\) ms, followed by a BPSK word (i.e., \(d_{l}=\{\pm 1\},\;d_{Q}=0\)) over \(1\) ms, itself followed by a QPSK sequence (i.e., \(d_{l}=\{\pm 1\},\;d_{Q}=\{\pm 1\}\)) until the end of the burst, which is assumed to last \(T_{burst}=10\) ms. The 25 ksps-rate data are a fake sequence of bits (the data are not used by the navigation filter). The BPSK and QPSK data bits are shaped using a root raised cosine shaping filter with a roll-off of 0.4 [2,6]. The IF signal samples are then saved to a binary file with a resolution of 8 bits.  
An illustration of the processing of a generated synthetic burst by the signal processing tool is given in Figure 7. We can see the consistency of the signal structure with that of a real Iridium burst.  
Figure 7: Processing results of a synthetic Iridium burst. (a) PLL baseband signal showing the structure of the burst; (b) the PLL frequency estimate; (c) CNR estimate.