SAFRAN Skydel Software Defined Gnss Simulator User Manual
- June 16, 2024
- Safran
Table of Contents
- SAFRAN Skydel Software Defined Gnss Simulator
- Product Information
- Introduction
- Help
- Using Skydel
- Main Window Subtabs
- FAQ
- Skydel User Manual
- Technical Support
- Main Window Subtabs
- Command Line Options
- Performance
- Configurations
- References
- Read User Manual Online (PDF format)
- Download This Manual (PDF format)
SAFRAN Skydel Software Defined Gnss Simulator
Product Information
Specifications
- Product Name: Skydel
- Type: Software-Defined GNSS Simulator
- Manufacturer: Safran Electronics & Defense
- Revision: v23.11
- Date: 3-November-2023
- Website: safran-navigation-timing.com
Introduction
Skydel is a software-defined GNSS simulator developed by Safran Electronics &
Defense. It allows users to simulate GNSS signals for various applications.
This user manual provides detailed instructions and information on how to use
the Skydel
simulator.
Help
- About This Manual: Provides information about the user manual itself.
- Additional Resources: Provides additional resources for assistance and support.
Acronyms
This section provides a list of acronyms used throughout the user manual
for reference.
Basic GNSS Simulation Concepts
- Power Levels: Live Sky vs. Simulation: Explains the difference between live sky power levels and simulated power levels.
- Data Flow (IQ Data): Describes the flow of data in terms of IQ data.
- Additional Resources: Provides additional resources for understanding GNSS simulation concepts.
Using Skydel
Launching
Launching Skydel involves accessing the welcome screen.
Launching Multiple Instances of Skydel
Explains how to launch multiple instances of Skydel.
Interface
Describes the interface of the Skydel simulator.
Main Window Subtabs
- Constellations: Provides options for managing constellations.
- Deviation: Allows customization of deviation settings.
- Spectrums: Manages spectrum settings.
- Performance: Provides performance-related options.
- HIL: Enables Hardware-in-the-Loop simulation.
- Status Log: Displays the log of simulator status.
- Simulator State: Shows the current state of the simulator.
- Command Line Options: Allows command line configuration.
Licensing
- USB Dongle: Describes licensing using a USB dongle.
- License Feature List: Provides a list of licensed features.
- License Update: Explains how to update the license.
FAQ
Q: How do I update the license for Skydel?
A: To update the license for Skydel, follow the instructions in section
2.5.1.2 of the user manual.
Q: Can I launch multiple instances of Skydel simultaneously?
A: Yes, you can launch multiple instances of Skydel. Please refer to
section 2.2 of the user manual for detailed instructions.
ELECTRONICS & DEFENSE
Skydel
SOFTWARE-DEFINED GNSS SIMULATOR
User Manual
Revision: v23.11 Date: 3-November-2023
© 2023 Safran. All rights reserved.
Information furnished by Safran is believed to be accurate and reliable.
However, no responsibility is assumed by Safran for its use, nor for any
infringements of patents or other rights of third parties that may result from
its use. Safran reserves the right to make changes without further notice to
any products herein. Safran makes no warranty, representation or guarantee
regarding the suitability of its products for any particular purpose, nor does
Safran assume any liability arising out of the application or use of any
product or circuit, and specifically disclaims any and all liability,
including without limitation consequential or incidental damages. No license
is granted by implication or otherwise under any patent or patent rights of
Safran. Trademarks and registered trademarks are the property of their
respective owners. Safran products are not intended for any application in
which the failure of the Safran product could create a situation where
personal injury or death may occur. Should Buyer purchase or use Safran
products for any such unintended or unauthorized application, Buyer shall
indemnify and hold Safran and its officers, employees, subsidiaries,
affiliates, and distributors harmless against all claims, costs, damages, and
expenses, and reasonable legal fees arising out of, directly or indirectly,
any claim of personal injury or death associated with such unintended or
unauthorized use, even if such claim alleges that Safran was negligent
regarding the design or manufacture of the part.
Safran Electronics & Defense
safran-navigation-timing.com
Safran Trusted 4D Canada Inc.
· 1275 Av des Canadiens-de-Montreal, 5th Floor, Montreal, Quebec H3B 0G4
Canada · 45 Becker Road, Suite A, West Henrietta, NY 14586 USA · 3, Avenue du
Canada, 91974 Les Ulis, France
The industry-leading Orolia Skydel products you depend on are now brought to
you by Safran.
Do you have questions or comments regarding this User Manual? è E-mail:
simulationsupport@nav-timing.safrangroup.com
Skydel User Manual
3
Blank page.
4
Skydel User Manual
Skydel User Manual · TABLE OF CONTENTS
2.11.0.2 Current Computer Time 2.11.0.3 GPS Timing Receiver Time 2.11.0.4 Leap
Seconds 2.11.0.5 Duration
2.12 Settings: Global
2.12.0.1 Atmosphere 2.12.0.2 Earth Orientation Parameters 2.12.0.3 Logging
2.12.0.4 Signal Level 2.12.0.5 Synchronize Simulators 2.12.0.6 Synchronize
configuration between Main and Workers 2.12.0.7 Synchronize Simulators with a
GPS Timing receiver 2.12.0.8 Satellite Data Update
2.13 Settings: Constellations
2.13.1 GPS 2.13.1.1 General 2.13.1.2 Data Sets 2.13.1.3 Message Modification
2.13.1.4 Message Sequence 2.13.1.5 Orbits 2.13.1.6 Perturbations 2.13.1.7
Clock & Group Delay 2.13.1.8 Health 2.13.1.9 Multipath 2.13.1.10 Signal
Enable/Disable 2.13.1.11 Transmitted PRN 2.13.1.12 Errors 2.13.1.13 Antenna
2.13.2 GLONASS 2.13.2.1 General 2.13.2.2 Leap Seconds
2.13.3 GALILEO 2.13.3.1 F/NAV Source Diversity
2.13.4 BEIDOU 2.13.5 QZSS
2.13.5.1 L1S augmentations 2.13.6 NavIC 2.13.7 SBAS
Skydel User Manual · TABLE OF CONTENTS
71 72 72 73
74
74 77 78 91 93 94 94 95
98
99 99 100 103 112 113 116 117 118 118 121 124 125 128 133 133 135 135 135 136
137 137 138 139
VII
2.13.7.1 General 2.13.7.2 Message Sequence 2.13.7.3 Health 2.13.7.4
Ionospheric Masks 2.13.7.5 Ionospheric GIVEI
2.14 Settings: Vehicle
2.14.1 Body 2.14.1.1 Antenna 2.14.1.2 Elevation Mask
2.15 Settings: Interference
2.15.1 Advanced Jammer 2.15.1.1 Dynamic Transmitter 2.15.1.2 Simplified
Transmitter 2.15.1.3 IQ-File Jammer 2.15.1.4 Multi-band Jammer
2.15.2 Advanced Spoofing 2.15.2.1 Spoofing instance 2.15.2.2 Truth instance
2.15.2.3 Additional Jamming + Spoofing Resources
2.16 Settings: Plug-in
2.16.0.1 Plug-in Roles
2.17 Receiver 2.18 Map 2.19 Automate
2.19.1 Application Programming Interface (API) 2.19.1.1 Python 2.19.1.2 C++
2.19.1.3 C# 2.19.1.4 Vehicle Trajectory
2.19.2 Skydel Script
2.20 Basic Interference 2.21 SNMP Support
CHAPTER 3
Hardware-in-the-Loop (HIL)
3.1 Hardware-in-the-Loop (HIL)
139 139 140 141 143
145
145 159 161
162
162 163 163 175 177 178 179 180 182
182
185
187 190 192
193 196 199 199 200 201
204 206
207
208
VIII
Skydel User Manual · TABLE OF CONTENTS
3.1.1 Additional HIL Resources
3.2 Time Reference 3.3 HIL Sequence Diagram 3.4 Code Example 3.5 Latency
3.5.1 Engine Latency 3.5.2 HIL Latency
3.6 HIL Graph
3.6.1 How it works 3.6.2 Common Patterns (Extrapolation)
3.6.2.1 Optimal 3.6.2.2 Tjoin Value Too Large 3.6.2.3 Jitter 3.6.2.4 Late
Sample 3.6.2.5 Falling Behind / Catching Up
3.7 Sending Positions in Advance
3.7.1 Common Patterns (Interpolation) 3.7.1.1 Optimal 3.7.1.2 Time Offset Too
Large 3.7.1.3 Time Offset Too Small (or Sampling Rate Too Low) 3.7.1.4 Jitter
3.7.1.5 Lost Sample
CHAPTER 4
Timing
4.1 Introduction to Timing 4.2 Single Skydel Setup
4.2.1 Normal Start 4.2.2 Arm & Start 4.2.3 HIL Start 4.2.4 Sync With External
PPS
4.3 Main/Worker Setup
4.3.1 Main/Worker Normal Start 4.3.2 Main/Worker Sync With PPS
4.4 Timing Receiver Setup
Skydel User Manual · TABLE OF CONTENTS
209
209 210 212 215
216 216
219
219 226 227 227 229 231 232
233
234 234 236 236 237 238
239
240 242
242 243 244 245
245
245 246
248
IX
4.5 Trigger (USRP X300 AUX I/O)
249
CHAPTER 5
Hardware Selection
5.1 Hardware Selection
5.1.1 Building your Own Simulator
5.2 Software-Defined Radio
5.2.1 Accessories 5.2.1.1 Requirements for Ettus N310 5.2.1.2 Requirements for
Ettus X300/X310 5.2.1.3 Requirements for National Instruments USRP-294xR/USRP-
295xR 5.2.1.4 Requirements for Dektec DTA-2115B and DTA-2116
5.3 Reference Clock and PPS Generator
5.3.1 Ettus X300/X310; National Instruments USRP-294xR/USRP-295xR 5.3.2 Ettus
N310 5.3.3 Dektec cards (DTA-2115B or DTA-2116)
5.3.3.1 Multiple Dektec cards
5.4 RF Accessories
5.4.1 Attenuators 5.4.2 DC-Block 5.4.3 RF Signal Combiner
5.5 Computer
5.5.1 Minimal Computer Requirements 5.5.2 Recommended Computer
253
254
254
254
255 255 256 256 256
257
257 258 258 258
259
259 260 260
261
261 262
CHAPTER 6
Simulation Hardware Components
263
6.1 Building your Own Simulator
264
6.2 Ettus N310
6.2.1 Single Radio: 1 to 4 RF Outputs
264
264
6.3 Ettus X300/X310; National Instruments USRP- 294xR/USRP-
295xR
265
6.3.1 Single Radio: 1 or 2 RF Outputs
265
6.3.2 Dual Radio: 4 RF Outputs
266
6.3.3 Dual Radio – Multi-instance (RTK)
267
X
Skydel User Manual · TABLE OF CONTENTS
6.4 GPS Timing Receiver
6.4.1 OctoClock-G 6.4.2 Generic GPS Timing Receiver
6.5 Dektec SDR Cards
6.5.1 Single Radio: 1 RF Output 6.5.2 Multiple Radios: Multiple RF Outputs
6.5.3 Multiple Radios – Multi-instance (RTK)
CHAPTER 7
Software Installation
7.1 Firmware Programming
7.1.1 Ettus N310 Firmware (File system and FPGA image) 7.1.1.1 Programming
Under Linux Ubuntu
7.1.2 Firmware: Ettus X300/X310; NI USRP-294xR/295xR 7.1.2.1 Ettus X300/X310;
NI USRP-294xR/295xR Firmware (FPGA image)
7.1.3 Firmware: Ettus OctoClock and OctoClock-G 7.1.3.1 Computer BIOS
7.1.4 Computer Bios
7.2 Software Configuration: Linux Ubuntu
7.2.1 General Parameters 7.2.2 Nvidia GPU Driver
7.2.2.1 Nvidia GPU Driver for Ubuntu 18.04, 20.04, and 22.04(Automatic)
7.2.2.2 Network Card Driver: 10 GbE Intel X520-DA2 7.2.2.3 Dektec Drivers
7.2.2.4 Safran Skydel Installation
7.3 Software Configuration: Windows
7.3.1 General Parameters 7.3.1.1 Nvidia GPU Driver 7.3.1.2 Network Card
Driver: 10 GbE Intel X520-DA2 7.3.1.3 Dektec Driver 7.3.1.4 Safran Skydel
installation 7.3.1.5 Windows Firewall
7.4 Skydel-SDX Folder
APPENDIX
Appendix
268
268 269
269
270 271 272
273
274
274 274 274 274 281 282 283
283
284 284 285 286 287 287
288
288 289 289 291 292 292
293
295
Skydel User Manual · TABLE OF CONTENTS
XI
Technical Support
Regional Contact
8.2 References
8.2.1 Safran Skydel Download Page 8.2.2 Skydel Driver/Firmware Page
8.3 Important changes introduced in version 21.3
8.3.1 SV ID used in the GUI 8.3.2 SV ID used in the API
8.4 List of Tables 8.5 List of Images 8.6 Document Revision History
INDEX
296
296
296
296 296
297
298 300
302 302 304
XII
Skydel User Manual · TABLE OF CONTENTS
CHAPTER 1
Introduction
The following topics are included in this Chapter:
1.1 What is Skydel?
2
1.2 Help
2
1.3 Acronyms
3
1.4 Basic GNSS Simulation Concepts
4
CHAPTER 1 ·
Skydel User Manual
1
1.1 What is Skydel?
1.1
What is Skydel?
Skydel is a software application that uses GPU-accelerated computing to generate GNSS signals in real-time. Skydel generates signals in the form of I/Q data. This data can be saved to disk for offline analysis, or it can be pushed to a SDR in real-time to transform the I/Q data into RF at the appropriate carrier frequency. Skydel supports a variety of SDRs.
1.2
1.2.1
Help
To request technical assistance, ask questions, or provide feedback on how to
improve Skydel or this user manual, please contact Safran at
simulationsupport@nav- timing.safrangroup.com or via the user forum at
learn.safran- navigation- timing.com. To stay up to date on the latest Skydel
news and information, please visit our website: www.safran-
navigationtiming.com. Additional documentation can be found on the Safran
Support Documents webpage as well as the Skydel User Forums: learn
.safrannavigation-timing.com.
About This Manual
The Skydel User Manual explains how to configure and use Skydel with different
hardware setups and operating systems.
This user manual is organized into the following sections:
“Using Skydel” on page 7: Explains how to operate Skydel.
“Hardware Selection” on page 254: Describes the hardware required to build a
GNSS simulator with the Skydel software.
For users that have purchased the Skydel software only.
“Simulation Hardware Components” on page 263: Describes how to connect
hardware for different use cases
For users that have purchased the Skydel software only.
“Software Installation” on page 273: Explains how to install firmware,
drivers, and Skydel.
For users that have purchased the Skydel software only.
2
CHAPTER 1 · Skydel User Manual Rev. v23.11
1.3 Acronyms
1.2.2
Additional Resources
Here are some additional resources that can help you get started when running
your first GNSS simulation:
Creating a GNSS Test Plan A Guide for Testers of GPS Devices and Systems GNSS
Spectrum Status (blog) The GNSS Spectrum (infographic) Basic GNSS Tests: Time
to first Fix (TTFF)
1.3 Acronyms
Acronym
Description
BIOS
BOM CPU CUDA DAC DUT FPGA FTP GBAS GNSS GPS GPSDO GPU GSG
I/Q (IQ) JTAG
Built In Operating System Bill Of Materials Central Processing Unit Compute Unified Device Architecture Digital to Analog Converter Device Under Test Field Programmable Array File Transfer Protocol Ground Based Augmentation System Global Navigation Satellite System Global Positioning System GPS Disciplined Oscillator Graphical Processing Unit GNSS Signal Generator is a device that is able to create simulated satellite signals and generate real RF signals Amplitude of In-Phase (I) and Quadrature (Q) of carrier Joint Test Action Group
CHAPTER 1 · Skydel User Manual Rev. v23.11
3
1.4 Basic GNSS Simulation Concepts
Acronym
Description
LEO MEO MIMO MTU NI NMEA OCXO PC PPS RAM RF RTK SBAS SDR SFP (SFP+) SMA TX TX/RX UHD USB USRP VCTCXO
Low Earth Orbit Medium Earth Orbit Multiple Input Multiple Output Maximum
Transmission Unit National Instruments National Marine Electronics Association
Oven-Controlled Crystal Oscillator Personnal Computer Pulse Per Second Random
Access Memory Radio Frequency Real-Time Kinematic Satellite Augmentation
System Software Defined Radio Small Form-factor Pluggable
SubMiniature version A Transmission Transmission/Reception USRP Hardware
Driver Universal Serial Bus Universal Software Radio Peripheral Voltage
Controlled, Temperature Compensated Oscillator
1.4 Basic GNSS Simulation Concepts
Performance testing of GNSS equipment designs is crucial in today’s complex RF
landscape. The Skydel simulation engine was designed to reproduce a range of
4
CHAPTER 1 · Skydel User Manual Rev. v23.11
1.4 Basic GNSS Simulation Concepts
satellite constellations, realistic conditions, and even attacks. Skydel
excels at recreating a broad variety of real-world scenarios.
To run your first successful simulation with Skydel, you don’t need to read
this entire manual. You can start by reading the Power Levels: Live Sky vs.
Simulation section (below) followed by the “Simulation Hardware Components” on
page 263, and then jump directly to “Running Your First Simulation ” on page
36.
1.4.1
Power Levels: Live Sky vs. Simulation
The main objective of a GNSS simulator is to create a RF signal identical to
the “Live Sky” at the GNSS receiver’s RF input connector. The next 2 diagrams
depict the difference between the propagation of the real signal and the
simulated signal (using a USRP SDR as an example).
Figure 1-1: Propagation of the real GNSS signal from the satellite to the GNSS receiver
Figure 1-2: Propagation of the simulated GNSS signal from Skydel to the GNSS
receiver
Caution: As you can see in the simulation case, the signal power level can be
much higher at the output of the SDR compared to the live sky. We strongly
recommend that you: Use attenuators to avoid damaging your GNSS receiver; Use
a DC-Block to avoid damaging the SDR due to the DC voltage provided by the
GNSS receiver.
1.4.2
Data Flow (IQ Data)
The Skydel simulation engine creates a digital signal (made of millions of IQ
samples per second). This signal is converted to an analog signal (and then to
RF).
IQ data is extremely useful for the following uses:
CHAPTER 1 · Skydel User Manual Rev. v23.11
5
1.4 Basic GNSS Simulation Concepts
Playback: an IQ file (or mutliple) can be used as a recording. Spoofing: an IQ
file can be used as a spoofed signal along with a jamming transmitter.
Software-in-the-loop: an IQ File can be sent to a software-defined GNSS
receiver without having to go through digital to analog and analog to digital
conversion. Research: an IQ file can be processed, modified, and combined with
other IQ files. CRPA: User can create multiple IQ files, one for each element
of the CRPA.
1.4.3
Figure 1-3: IQ Signal Generation
1. Skydel, through a computer setup, generates real-time I/Q samples that
represent the GNSS baseband signals;
2. The I/Q samples are pushed over the transport link (Ethernet or USB); 3.
The I/Q samples are queued in the SDR buffer. The SDR pulls the samples
from the buffer at a steady rate and converts them to RF; 4. When the SDR has
more than one output, the signals are combined into a
single RF cable; 5. The RF signal is attenuated before it is sent through a DC
Block and
reaches the GNSS receiver being tested.
Additional Resources
Here are some additional resources that can help you get started with your
GNSS simulation:
A Guide for Testers of GPS Devices and Systems Creating a GNSS Test Plan
Create a Basic GNSS Simulation Scenario (GSG-7/8) Basic GNSS Tests: Time to
first Fix (TTFF)
6
CHAPTER 1 · Skydel User Manual Rev. v23.11
CHAPTER 2
Using Skydel
This chapter outlines the complete Skydel Software-Defined GNSS Simulator,
including basic setup, functionality, and advanced settings.
The following topics are included in this Chapter:
2.1 Launching
8
2.2 Launching Multiple Instances of Skydel
8
2.3 Interface
9
2.4 Main Window Subtabs
10
2.5 Licensing
21
2.6 Preferences
23
2.7 Configurations
34
2.8 Running Your First Simulation
36
2.9 Settings: Overview
43
2.10 Settings: Output
49
2.11 Settings: Start Time
70
2.12 Settings: Global
74
2.13 Settings: Constellations
98
2.14 Settings: Vehicle
145
2.15 Settings: Interference
162
2.16 Settings: Plug-in
182
2.17 Receiver
187
2.18 Map
190
2.19 Automate
192
2.20 Basic Interference
204
2.21 SNMP Support
206
CHAPTER 2 ·
Skydel User Manual
7
2.1 Launching
2.1 Launching
Splash Screen A splash screen will display licensee information stored in the
USB dongle (or license encrypted file if you are not using a dongle).
2.1.1
Click Continue to open Skydel.
Welcome Screen
After launching Skydel, the welcome screen lets you create a new
configuration, open an existing configuration, or reload the last used
configuration. You can read the “Configurations” on page 34 section of this
manual for more details. Click New Configuration to access the Skydel main
window. The most common way to use Skydel is to launch a single instance of
Skydel. On a Linux system, simply type skydel- sdx in the terminal. In
Windows, locate Safran’s Skydel in the start menu and click on it.
2.2
Launching Multiple Instances of Skydel
If your license permits, you can launch more than one instance of Skydel at a
time on the same computer. This enables you to have two configurations (or
more) running at the same time. This can be used to simulate:
8
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.3 Interface
multiple vehicles; multiple antennas; multiple vehicles with Real-Time-
Kinematics (RTK). If your installation can run multiple instances of Skydel,
your current licenses (see “License Feature List” on page 21) will display a
Multi-Instance of 2 or higher.
Note: Spoofing is another type of Skydel instance that requires a specific
feature activation.
2.3 Interface
Figure 2-1: Main Window
The Skydel main window contains 5 important areas: Title Bar The title bar
displays information about the Skydel multi- instance id, configuration name,
and whether it is saved or not. Menu Bar The menu lets you save or load
configurations, edit the preferences, undo or redo changes, etc. Dashboard
CHAPTER 2 · Skydel User Manual Rev. v23.11
9
2.4 Main Window Subtabs
The dashboard is the horizontal blue bar that contains the Start and Arm
buttons. It also displays the current simulation elapsed time, the simulator
state, and the current simulation time in various formats (Gregorian, GPS
week/second).
Main Window Tabs
On the left-hand side, there are 5 Main Window Tabs: Settings, Receiver, Map,
Automate, and Interference. Clicking on a tab will affect the Main Window Tab
Content in the center. *Note: if the Advanced Jammers feature is enabled in
your copy of Skydel, the Interference tab will not appear and additional
options will appear in the Settings tab.
Main Window Tab Content
The central content area changes according to the Main Window Tab selection.
Main Window Subtabs
The Settings, Receiver, and Map Tabs feature a horizontal divider that allows
you to divide the display window according to your preferences. The top
portion of the window displays content determined by the choice of Main Window
Tab (i.e., map, receiver feed, etc.), while the bottom portion offers 5
subtabs corresponding to views of: Constellations, Deviation, Spectrums,
Performance and Status Log.
The subtabs panel can be collapsed or expanded using the arrow button located
at the far right of the horizontal divider.
Constellations
This subtab information about the GNSS satellites that are simulated. You can
find more detailed information in the “Settings: Constellations” on page 98
section.
10
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.4 Main Window Subtabs
Figure 2-2: Constellations Subtab
Note: If you don’t see satellites in the sky view, it may be because the
selected constellation is not included in your scenario. See section Output to
add signals to your configuration.
2.4.2
Deviation
This subtab displays a graphic, in real-time, showing the deviation between
the position generated by the simulator and the position calculated by the
receiver under test. This subtab will not display any information unless
Skydel is connected to the NMEA serial port of the receiver under test. See
the “Receiver” on page 187 section for more details.
Figure 2-3: Deviation Subtab
CHAPTER 2 · Skydel User Manual Rev. v23.11
11
2.4 Main Window Subtabs
2.4.3
Spectrums
This subtab displays the spectrum based on the generated IQ data. It displays
an ideal spectrum based on digital data and does not represent the real output
at the radio Tx connector. This view should not be used for taking precise
measurements. However, it is very useful for visualizing the content of each
output.
Figure 2-4: Spectrums Subtab – Showing GNSS signals on RF A and B
The Spectrums subtab will display the trace only while the simulation is
running. The content that is displayed depends on the scenario.
Note: On a slower computer, it may be necessary to disable the Spectrums. You
can change this in the Preferences.
2.4.4
Performance
The Performance subtab is used to have an insight on the system’s performance
and stability. The right graph is a detailed view on the last second of
simulation, while the left graph is a summary of the last minute of
simulation.
Figure 2-5: Performance Subtab – Showing a minute of simulation
The Skydel real-time engine performs a massive amount of calculations in
realtime. If you create complex scenarios with many signals, jammers, and
spoofers, or if you want to reduce the latency to just a few milliseconds, you
might be
12
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.4 Main Window Subtabs
pushing the hardware to its limit. If at any given time during the execution
of a scenario the simulator is unable to perform these calculations in real-
time, it may stop and display the following error message in the Status Log:
“Streaming buffer underrun”. The Performance graph helps you visualize how
close to the hardware limit your scenario is, before it results in an error.
This can be used to confirm that long scenarios will run reliably on the
system. To better understand the graph, it is useful to first understand the
principles of how the Skydel real-time engine works. The engine processes the
simulation in 1 millisecond chunks, and each of them has to pass through 3
workers:
The Constellation Worker The Modulation Worker The Streamer Worker The
combination of these workers is known as the pipeline. The time it takes for a
chunk to go through the pipeline is a major factor in determining the latency
of the system. Since a chunk is 1 millisecond of simulation, the radio
consumes them at a steady rate of 1000Hz (real-time). The real-time engine is
allowed to process these chunks in advance, but this is capped by the Engine
Latency set in the “Performance” on page 32 settings. An underrun (also known
as underflow) occurs when the engine is unable to provide a chunk to the radio
in time. The Performance graph records the start and finish times when the
chunks pass through each worker.
CHAPTER 2 · Skydel User Manual Rev. v23.11
13
2.4 Main Window Subtabs
Figure 2-6: Pipeline
The time displayed on the vertical axis shows how far in advance the chunk was
processed, compared to the moment it will be transmitted by the radio. As
previously stated, the Engine Latency limits how much in advance a chunk can
be processed. The traces should therefore always be located under the Engine
Latency line.
14
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.4 Main Window Subtabs
Figure 2-7: Stable Pipeline
A healthy and stable system should always begin to work on a chunk near the
Engine Latency threshold. In other words, the blue trace should be as close as
possible to the Engine Latency line. If the blue trace is below the Engine
Latency, it means the simulator is falling behind; if it doesn’t catch up
rapidly, an underrun will occur. Depending on the system, it’s possible to
have the blue trace near the Engine Latency line, but still have the other
traces falling down, depending on the specific worker that has the bottleneck.
CHAPTER 2 · Skydel User Manual Rev. v23.11
15
2.4 Main Window Subtabs
Figure 2-8: Pipeline underrun
You can find the individual chunk traces of the last second in the right graph
of the Performance subtab, while the summary graph generates a trace for each
second of simulation from the earliest start and latest finish times of each
worker. It takes 1000 chunks to make one second of simulation, so the workers
are displayed in the detailed graph using thin vertical lines which may appear
as a single pixel. It is possible to zoom in the graph in order to see
individual traces.
16
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.4 Main Window Subtabs
Figure 2-9: Performance Subtab – Showing different scenarios in Last Second
graph
There are many factors that can cause the simulation engine to fall back,
catch up, and possibly underrun. Some features might require more processing
power or interfere with the radio capacity to transport chunks. If you get
underruns, try to observe the Performance graph in order to find any pattern
that might occur before the error. You might be able to associate the patterns
with something in your scenario, such as an excessive transmission of commands
in a short period of time, or an external factor, such as another application
competing for CPU or GPU time. If you have built your simulator with your own
hardware instead of using a turnkey system from Safran, make sure you follow
all guidelines to optimize the Operating System and use appropriate hardware.
The Skydel engine performs better on Linux, so Windows users will see more
glitches on the Performance graphs. For that reason, Linux is strongly
recommended for hardware-in-the-loop simulation when low latency is required.
2.4.5
HIL
If your software license includes Hardware-In-the-Loop option, Skydel will
show the HIL subtab. The graph shown in this subtab is a powerful
visualization tool that is designed to make precise diagnosis and give you the
confidence the HIL integration is working exactly as you expect. Read the “HIL
Graph” on page 219 section for more details.
CHAPTER 2 · Skydel User Manual Rev. v23.11
17
2.4 Main Window Subtabs
Figure 2-10: HIL Subtab
2.4.6
Status Log
This subtab is complementary to the dashboard which displays the current state
of the simulator. Sometimes, it is not enough to know the simulator’s state.
If the simulator is in an error state, or in an incomplete state, the Status
Log will display information to provide additional context.
Figure 2-11: Status Log Subtab
2.4.7
Simulator State
The simulator state is visible in the dashboard and the status log subtab.
Typically, you will see Ready or Running state. However, there are other
states you should be aware of.
Figure 2-12: Dashboard
Ready
Ready means that the simulator is ready to start. Clicking the Start button
will begin the simulation. You may get an error if you haven’t selected an
Output (see “Settings: Output” on page 49). In this case, Skydel will simply
display a message inviting you to add an output and select signals. Clicking
the Arm button will
18
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.4 Main Window Subtabs
initialize the plug-in instances then the hardware and stay in the Armed state
until the user clicks the Start button.
Initializing
Initializing means that the simulator is preparing the plug-in instances for
simulation and the radio for streaming; this happens when you click the Start
button. Depending on the selected output and plug-in instances, this state may
appear for only a fraction of a second or for up to 10 seconds.
Armed
Armed means the hardware is initialized and ready to start. If you clicked the
Arm button (instead of the Start button), the simulator will stay in the armed
state until you click the Start button. While Skydel is in an armed state, you
may change some of the settings. For example, it is possible to move a slider
to change the initial power of a satellite before the simulation starts.
However, if you are using a timing receiver to synchronize the simulation
start time, changes to the settings while in the armed state will be discarded
when the simulation starts.
Streaming RF
Streaming RF means that the simulator is running.
Error
Error means that the simulator is in an error state. The simulator will
display the “Status Log” on the previous page subtab and automatically return
to the ready state.
Incomplete
Incomplete means that Skydel is missing the information required to start a
simulation. This can happen when a trajectory type such as a track (see “Track
Playback” on page 148) or route (see “Vehicle Simulation” on page 154) hasn’t
been created properly. In this case, you will also notice that Skydel does not
display the satellites in the sky view. The reason is quite simple: Skydel
does not know the receiver position, so it is not able to calculate the
elevation and azimuth of the satellites relative to the receiver.
2.4.8
Command Line Options
When starting Skydel, you can add multiple command line arguments and a
configuration file name. For example, the following command will launch
Skydel, skip the splash screen and automatically load my_config.sdx
configuration.
skydel-sdx –skip-splash ~/Documents/Skydel-SDX/Configurations/my_config.sdx
CHAPTER 2 · Skydel User Manual Rev. v23.11
19
2.4 Main Window Subtabs
There are many command line arguments. Use the –help command to get the
complete list of commands.
skydel-sdx –help
Command Description
skip-splash Skip the Splash Screen that displays the licensee information.
skip-onboard- Skip the “Welcome Screen” on page 8 dialog box inviting the
ing
user to choose between creating a new configuration, loading
an existing configuration, or loading the last used configuration.
resetdow
win- Reset window state and geometry.
width
Set window width in pixels.
height
Set window height in pixels.
instance-id
If your software license ( see “License Feature List” on the facing page) allows multiple instance of Skydel to run simultaneously (see “Launching Multiple Instances of Skydel ” on page 8), this command is used to specify the instance id. The instance id is used in the API library to identify which instance of Skydel you want to connect to.
full-screen
Start Skydel in full screen mode (use as much space as possible and hide the title bar).
minimizedwindow
Start Skydel in minimized window size. Implicitly set skip-splash and skip- onboarding options.
maximized- Start Skydel in maximized window size (use as much space as
window
possible but does not hide the window’s title bar).
run- in- back- Start Skydel with the window hidden. Implicitly set skip-splash
ground
and skip-onboarding options.
log-path
Set the folder where the Skydel log should be stored. ex: –logpath=~/archives/
output-path Set the folder where the Skydel Output repertory should be stored.
skip- release- Skip the release notes window. note
hil-port
Explicitly set the HIL UDP port.
20
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.5 Licensing
Command
spoofing
Description
Start Skydel spoofing instance. Read “Advanced Spoofing” on page 178 for
details.
2.5 Licensing
2.5.1
USB Dongle
Most of the time, the Skydel licenses are delivered on a USB dongle. This USB
dongle contains information such as the serial number, licensee name, and a
list of enabled features (usually a list of GNSS signals). Users have the
flexibility to move the dongle to any computer properly configured to run
Skydel.
2.5.1.1
License Feature List
You can review your current Skydel licenses by following these steps: 1. Open
Skydel; 2. Click on the Help tab; 3. Select About Skydel…
The following information will be displayed: Skydel Version, SHA code, and
release date; License dongle serial number; Licensee name; Highest version of
Skydel that you can upgrade to with the current license; Number of Skydel
instances that can run simultaneously (Multi-Instance); Number of output
antennas allowed for anechoic mode option; Number of spoofing instance(s)
allowed; Listing which features are currently enabled with the license.
CHAPTER 2 · Skydel User Manual Rev. v23.11
21
2.5 Licensing
Note: The SHA code and release date in the official software release is most likely to differ from the image above.
2.5.1.2
License Update
A new license file will be required if you purchase additional features. In
order to update the license, follow the instructions below:
1. Open Skydel; 2. Go to the Help tab;
22
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.6 Preferences
3. Select Update License; 4. Select the new license file; 5. Click Open; 6. The license file will update, and Skydel will close. Reopen Skydel and verify that the new licenses appear correctly in the About screen (as shown in the figure above).
2.6
Preferences
Skydel preferences are global settings that persist across configurations,
power cycles, and Skydel instances. These preferences can be accessed from the
Edit menu in Skydel.
Note: The preferences are organized in categories (tabs). Depending on your license or detected hardware, some categories or specific attributes in a category might not show.
2.6.1
General
You can control the location on your hard drive where Skydel will save
configurations, logs, and other data.
CHAPTER 2 · Skydel User Manual Rev. v23.11
23
2.6 Preferences
The Spectrums visible by default option can be unchecked if your computer does
not have the processing power to generate FFT in real-time or if you would
like to reduce the work load on the CPU and GPU.
Note: The streaming buffer preference was moved to the Performance tab.
2.6.2
Proxy
If you are behind a firewall, Skydel will be unable to connect to
openstreetmap.org. This will prevent the street maps from properly loading.
Contact your network administrator to obtain the proxy information. You can
enter this information into the proxy preferences; this will then enable
Skydel to connect to openstreetmap.org.
24
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.6 Preferences
2.6.3
Synchronization
These preferences are used to synchronize one or many radios with an external
timing receiver that can generate a PPS output, such as the OctoClock-G from
Ettus. Detailed timing diagrams can be found in the “Introduction to Timing”
on page 240 section.
CHAPTER 2 · Skydel User Manual Rev. v23.11
25
2.6 Preferences
2.6.3.1
PPS OUT Delay
This value controls the delay applied to RF transmission to align the RF with
the PPS OUT signal. This preference is used only if both Sync Time Main and
Sync Time Worker are unchecked. In this case, the SDR is using its own
internal PPS reference. See section “Synchronize Simulators” on page 93 for
Sync Time settings details.
The value is calibrated for different sampling rates. The user may adjust this
value if it is necessary to offset or align the PPS OUT signal of the SDR with
the PPS signal of the GNSS receiver under test. In most cases, the value
should be left to its default.
26
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.6 Preferences
Note: PPS OUT Delay applies only for Ettus X300/X310 or NI USRP294xR/295xR SDR.
2.6.3.2
PPS IN Delay
This value represents a delay between a reference PPS pulse (on the PPS IN
port) and the beginning of the RF signal. The default value is 2000.000000ms.
The resolution is 0.000001ms (1ns). The effectiveness of this value differs
depending on the radio type you are using (examples follow).
Ettus N310, X300/X310, NI USRP-294xR/295xR
This value is only effective when Skydel is set as a Main in the “Synchronize
Simulators” on page 93 page. The Delay value is transmitted by the Skydel main
to each connected worker instance of Skydel, such that they will start at the
exact same time. The user can adjust this value if necessary to align the PPS
OUT signal of the SDR with the PPS signal of their GNSS receiver.
In most cases, the value should be left to its default.
Note: NOTE: An external PPS must be provided (using an OctoClock-G for example).
Dektec Cards (DTA-2115B and DTA-2116)
This value is effective whether or not Skydel is set as a Main in the
“Synchronize Simulators” on page 93 page. If Skydel is configured to be a
Main, the PPS IN Delay value is transmitted by the Skydel main to each
connected worker instance of Skydel, such that they will start at the exact
same time. The default value is calibrated in order to perfectly synchronize
the RF signal to the PPS rising edge at the PPS IN port of either the Dektec
DTA-2115B or the DTA-2116.
NOTE 1: When your system uses a Clock/PPS distribution module (such as the
Safran CDM-5 in the GSG-8), you can use the PPS IN value to account for the
time delay between the rising edge at the input of the Clock/PPS distribution
module to the PPS IN port of the DTA-2115B or DTA-2116. In the case of the
Safran CDM-5 card, this delay is 18ns.
NOTE 2: The recommended PPS IN Delay setting is the value minus 2000ms
(default value). A modulo 1000ms operation is then applied to the resulting
delay. Ex: if the value is 3200ms, the effective PPS In delay setting is
200ms.
CHAPTER 2 · Skydel User Manual Rev. v23.11
27
2.6 Preferences
2.6.3.3
Client / Server Settings
To synchronize radios connected to different computers (see “Multiple Radios
Multi-instance (RTK)” on page 272), each computer running Skydel must talk to
each other. If the radios are connected to the same computer, but used by
different Skydel instances, each instance must talk to each other as well. In
any event, one of the Skydel instances must be defined as the server (main)
while each of the other Skydel instances are clients (workers). The client
settings control which server the Skydel workers will try to connect to. The
server settings control which port the Skydel main will listen on. You can
read more details about this in the “Synchronize Simulators” on page 93
section.
2.6.3.4
GPS Timing Receiver
You can synchronize radios to the output of a timing receiver. This can be
used to synchronize Skydel to the live sky or some other signal source. The
timing receiver can be an OctoClock-G from Ettus or another receiver that
supports NMEA messages (required sentences are “$GPGGA” and “$GPRMC”). The
accuracy of this type of synchronization is better than 50 ns.
Generic GPS Timing Receiver
To connect to a generic GPS timing receiver, you must select the Serial Port
option and choose your receiver in the Edit dialog. Under Windows, it will
typically be “COM4”. Under Linux, it will typically be “ttyACM0”. See
“Receiver” on page 187 section for more details.
Octoclock-G
To connect to an Octoclock-G, you must select the IP Address option and write
the Octoclock- G’s IP address in the Edit dialog. Typically, the IP address is
“192.168.10.3”.
To use the OctoClock-G, connect a GPS signal source (such as live sky) to the
GPS antenna port on the front. See section the GPS Timing Receiver section for
connection details.
Caution: The OctoClock-G supplies 5 volts through the GPS antenna port. Ensure that you are using a 5-volts antenna! If you are not using a 5-volts antenna, use a DC-Block to isolate the GPS antenna port. If you are using a 12-volts antenna, you will have to use the “DC-Block” on page 260 and find some other means of powering the antenna.
28
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.6 Preferences
Allow approximately 15 minutes for the GPS lock light to turn green. The
following conditions may prevent the GPS lock light from turning green:
poor signal level;
bad satellite geometry;
poor multipath conditions;
poor ground plane conditions;
inability to download ionospheric data;
“time has gone backwards” issue: you may need to restart the OctoClock if the
current time of the signal source jumps backward in time.
Once the OctoClock GPS lock light turns green, you can create a time-
synchronized simulation. You can read the “Settings: Start Time” on page 70
and the “Synchronize Simulators” on page 93 sections for more details.
2.6.4
USRP
You can change the USRP preferences to specify preferred default values when
adding USRP radios in “Settings: Output” on page 49.
CHAPTER 2 · Skydel User Manual Rev. v23.11
29
2.6 Preferences
The frame size is the actual size of the packets transferred over 10 GbE. The
X300 SDR performs best when the frame size is set to 8000 bytes, but not all
network adapters can support it. If your network adapter does not support this
frame size, you will get “Transmission Sequence Error” messages when starting
the simulation. The default value is 4096 bytes and it works for all network
adapters.
Caution: In all cases, the jumbo packets must be enabled in your network
adapter’s driver settings. For Linux, see how to set the MTU size in section ”
Network Card Driver: 10 GbE Intel X520-DA2″ on page 286. For Windows, see how
to enable jumbo packets in section “Network Card Driver: 10 GbE Intel
X520-DA2” on page 289.
The default IP address setting controls the IP address that will be used by
default for any new radio that you add to “Settings: Output” on page 49. This
setting is only provided for convenience. Skydel will always use the IP
address specified in the output settings.
30
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.6 Preferences
The default clock should be set to GPSDO only if the SDR is equipped with a
GPSDO precision clock. GNSS simulation requires a high precision 10 MHz
source.
Users have the option to stop the simulation or not when a USRP “Sequence
Error” occurs. Usually, a sequence error occurs when there is a problem in the
communication link between the computer and the radio. The recommended setting
(stop on sequence error) is checked be default.
Note: If you run a long simulation (multiple hours or days), the likelihood of
dropping a packet increases. The consequence of dropping a packet is a short
period (ms) with no RF signal. Since all packets are timestamped, the RF
streaming will resume with the next packet at the appropriate time.
The GPIO refers to the AUX. I/O DB-15 connector on the front panel of the USRP
X300 radio. These I/O can be set in real-time by a custom library which can be
loaded by Skydel. See section “Trigger (USRP X300 AUX I/O)” on page 249 for an
example.
The anechoic chamber hardware description file is used only for the Anechoic
Chamber scenario and describes the list of connected radios and some low level
instructions to leverage the hardware architecture. This file is referenced
here, but edited in the Anechoic Chamber Builder software only.
Note: The anechoic chamber preference appears only if the feature is enabled.
2.6.5
Dektec
You can change the mapping between a radio output, identified by its device
number, and a Dektec card, identified by its serial number.
CHAPTER 2 · Skydel User Manual Rev. v23.11
31
2.6 Preferences
Radio outputs are by default mapped to Dektec cards in ascending serial number
order. This dialog allows you to change this order by selecting a different
device number from a drop- down in the left column to associate it with the
corresponding card serial number in the right column. If the same device
number is used in more than one association, you will get a warning message
when trying to navigate to another tab or to quit the Preferences dialog box
by clicking on the OK button.
Note: The Dektec tab is only shown if at least one Dektec card is present on
the system.
2.6.6
Performance
You can change the Engine Latency, the Streaming Buffer, as well as the configurable Optimizations in this tab.
32
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.6 Preferences
Since Skydel version 21.9.0, the Streaming Buffer is no longer as relevant when optimizing a system. The Engine Latency is what gives the Skydel’s real- time engine more room to operate, and will ultimately affect the simulation. To know more about the Engine Latency, read the Performance Graph subtab in the “Main Window Subtabs” on page 10section.
CHAPTER 2 · Skydel User Manual Rev. v23.11
33
2.7 Configurations
Caution: It is highly recommended to always have the Streaming Buffer larger
or equal to the Engine Latency, as doing otherwise can cause underruns on
start. You should not play with these preferences unless you desire to
optimize the latency of your system.
The GPU optimization setting will by default choose the best configuration for
your setup. It is possible to enable or disable the optimization for all the
GPUs used in the setup, or set them individually.
Caution: Since Skydel is scalable and we can’t test every configuration
possible, the option to enable or disable the optimization is available, but
should not be changed by most users.
The maximum number of signals define the number of signals a simulation can
modulate at the same time. Each echo counts as an additional signal. So if you
have the direct line of sight and 2 echos it counts as 3 signals.
Caution: It is recommended to modify the maximum number of signals only when
your GPU’s memory limits the configuration.
For Advanced Jammers users, you will find in the “Memory” section a preference
to preallocate GPU buffers for a given number of AWGN signals. The maximum
number of preallocated GPU buffers is 100 per RF Output.
2.7
Configurations
To run simulations with Skydel you need to create, save, open, and modify “Configurations”. Sometimes configurations are called “scenarios”. Configurations are just like any other type of computer file that is used to save or load. Use the File menu to access these options.
34
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.7 Configurations
When you make changes to settings or interferences, the configuration will be marked as modified and Skydel will indicate Not Saved in the window’s title bar. After saving the configuration, the indication will disappear until you make new changes.
2.7.1
Create New Configuration
To create a new configuration, click New Configuration in the File menu, or
use the Ctrl+N shortcut. If the current configuration is modified (not saved),
you will be prompted to discard or save it before creating a new
configuration. If you cancel, the current configuration will remain and Skydel
will not create a new configuration.
By default, a new configuration does not know anything about your hardware
setup and you will need to configure “Settings: Output” on page 49first.
Save Configuration
To save your current configuration, open the File menu and click Save or Save
As.
By default, each of your configurations is saved in the Skydel-
SDX/Configurations folder. Configuration files use the .sdx filename
extension.
2.7.3
Open Configuration
To open an existing configuration, open the File menu and click Open
Configuration. If the current configuration is modified (not saved), you will
be
CHAPTER 2 · Skydel User Manual Rev. v23.11
35
2.8 Running Your First Simulation
prompted to discard or save it before opening an existing configuration. If you choose to cancel, the current configuration will remain active and Skydel will not open the configuration.
2.7.4
Set as Default Configuration
Use this option to set the current configuration as the one to use when you
“Create New Configuration” on the previous page.
2.7.5
Reset Default Configuration
Use this option to reset the default configuration to the initial default
configuration (factory reset). Clicking this option will not change your
current configuration.
2.8
2.8.1
Running Your First Simulation
If you are new to Skydel, we recommend that you follow the instructions in
this section to create your first configuration. This is a quick walk through
of the steps required to get a simple GPS simulation up and running. We will
also highlight some interesting features along the way. Refer to the Settings
section if you would like more details on a particular area. This section
assumes you have a single radio setup using the Ettus X300 SDR. This section
will use the Dektec DTA-2116 SDR as an example, although your system may have
another model of SDR (e.g.: DTA-2115b).
Create a New Configuration
Click New Configuration in the File menu (or use Ctrl-N shortcut). If you
already have a configuration loaded and modified, you will be prompted to save
or discard it.
36
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.8 Running Your First Simulation
2.8.2
Add a radio
Next, you will need to add a radio. Navigate to Settings – Output.
Note: A radio may already be enabled in your ” Set as Default Configuration”
on the previous page. If that is the case, you can click on the Clear button
to remove all radios.
Select the X300 SDR in the dropdown list and click the Add button.
CHAPTER 2 · Skydel User Manual Rev. v23.11
37
2.8 Running Your First Simulation
The X300 will be added with the default IP address and clock settings. If the default values are incorrect for your hardware setup, click Edit to make the necessary changes and click OK when done.
2.8.3
Select GNSS Signals
Click the Edit button for the RF A output of Radio 1.
Select GPS L1 C/A and click Ok.
Note: You can also select Gaussian Noise. This will reproduce realistic C/No.
38
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.8 Running Your First Simulation
Caution: The Signal Selection dialog box enables you to change the output
gain. By default, the gain is 80 dB. It means that the signal power level
measured at the Tx connector of the X300 is 80 dB stronger than the power
level displayed in the simulator. For a receiver on the surface of the Earth,
where you would expect power level at -130 dBm, you will actually measure -50
dBm per satellite on the X300 Tx connector.
For more information about signal selection, refer to the “Settings: Output”
on page 49 section. Or, you can also consult “Additional Skydel Resources” on
page 43.
CHAPTER 2 · Skydel User Manual Rev. v23.11
39
2.8 Running Your First Simulation
2.8.4
Select Vehicle Motion
Next, we will configure our vehicle to travel in a circle. Navigate to
Settings Vehicle – Body to change the vehicle motion settings.
Next, select Circular from the dropdown list to choose a circular trajectory.
Other details, such as location, speed, and radius of the trajectory can be
modified by hitting Edit.
To navigate back to the Settings, click the back arrow.
40
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.8 Running Your First Simulation
2.8.5
Start the Simulation
Caution: Before you begin a simulation with a connected receiver, make sure
that you attenuate the RF signal to a proper power level using RF attenuators.
See section ” Reference Power Level” on page 54 for details.
To start the simulation, click the Start button. This action is only available when the status (see “Simulator State” on page 18) is Ready.
CHAPTER 2 · Skydel User Manual Rev. v23.11
41
2.8 Running Your First Simulation
The simulator state will change to Initializing for approximately 10 seconds
and if there are no issues with the plug- in instances initialization and the
hardware setup, the state will then change to Streaming RF. Now the simulation
is running.
During the simulation run (Streaming RF), you will see the elapsed time
advance. The Stop button stops the simulator and RF streaming, while the Pause
button will slow the vehicle to a halt while the simulator continues to stream
RF. If you click on the Map tab, you will see the vehicle is not moving when
you click Pause, and starts moving again when you click Resume.
42
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.9 Settings: Overview
If your GNSS receiver is streaming NMEA to a serial or USB port, you may connect to your receiver (see “Receiver” on page 187) to parse and analyze the NMEA data in real-time.
2.8.6
Additional Skydel Resources
Here is a list of additional resources, articles, and application notes that
can help you maximize Skydel’s potential in your GNSS simulation:
Configure Satellite Positions Based on User-defined Elevation/Azimuth Creating
“Fixed” GNSS Satellites Creating Custom Signals Creating and Simulating LEO
Constellations Measuring a GNSS Signal and Gaussian Noise Power
2.9
Settings: Overview
When creating and modifying configurations, you will spend the majority of
your time in the Settings tab of Skydel. You can access the Settings tab by
clicking this button:
CHAPTER 2 · Skydel User Manual Rev. v23.11
43
2.9 Settings: Overview
Remember that settings are stored in your Configurations. After making changes
to settings, you might want to save them for future use. You can see the
settings tab in the image below.
Figure 2-13: Settings Tab
The settings are divided into several categories. Depending on your license,
the settings menu may show different categories. To navigate to a specific
category, first click the Settings button. Then click on the appropriate
settings menu and sub-menu. In this document, we will refer to these sorts of
steps by instructing you to navigate Settings – Vehicle – Body (or something
similar).
44
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.9 Settings: Overview
As you navigate in the Settings, a visible path builds itself at the top of
the menu. To leave a nested settings category, click the back arrow.
CHAPTER 2 · Skydel User Manual Rev. v23.11
45
2.9 Settings: Overview
Alternatively, clicking the parent category (underlined) in the path will move
you back one level. At the bottom of the settings tab, you can see the sky
view and the power sliders. You can click & drag the horizontal splitter up
and down to adjust the sky view’s dimensions. In the sky view, you can uncheck
Show All Systems to display only a single type of constellation at a time. The
buttons on the left are called the Constellation Selectors and they let you
choose which constellation is shown in the sky view and referenced in the
power sliders. The image below shows the GPS constellation only.
Figure 2-14: GPS Constellation
The image below shows the GLONASS constellation only.
Figure 2-15: GLONASS Constellation
You can change the user interface selected signal using the combo box.
46
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.9 Settings: Overview
The selected signal affects different parts of the user interface: The sliders only change the selected signal, unless the check box “All signals” is selected The power label over or under the power bars is only for the selected signal The satellite power info button opens the dialog for the selected signal
CHAPTER 2 · Skydel User Manual Rev. v23.11
47
2.9 Settings: Overview
Once the simulation is started or armed, the sliders are enabled as well as
the Manual Offset combo box in the power info dialog. If you place your mouse
over a satellite in the sky view, you will see additional information about
that particular satellite, such as its elevation and azimuth relative to your
receiver.
Note: The sky view does not change as a result of vehicle attitude (yaw, pitch
and roll) changes.
Note: The DOP values do not change when you select one constellation in
particular. The DOP values always include all satellites from all
constellations.
In the upper right corner of the sky view, there is a round button with the
letter `i’ in it. This button brings up a window with additional information
about the sky view.
48
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
Figure 2-16: Sky View Information
2.10
Settings: Output
The Output settings are located in the Settings – Output menu.
The Output settings are where you control which RF output will generate which
signals. These settings are what bridge the gap between the software
simulation and the hardware signal generation. Proper setup of the output
settings is a key component of a successful simulation.
You start by selecting the output type for the simulation. The options are:
Anechoic Chamber: This option uses up to 16 X300 Software- defined radios to
transmit GNSS and jamming signals inside an anechoic chamber. This option is
visible only if the Anechoic Chamber feature is enabled (see “License Feature
List” on page 21).
DTA-2115B: Software-defined radio from DekTec.
DTA-2116: Software-defined radio from DekTec.
File: The IQ data will be saved to a file on the computer’s hard drive.
None: RF is not generated and IQ is not saved, raw logging data is saved.
CHAPTER 2 · Skydel User Manual Rev. v23.11
49
2.10 Settings: Output
NoneRT: Similar to None but runs in Real Time. Useful when developing
automation scripts (see “Automate” on page 192). X300: Software-defined radio
from Ettus Research. Equivalent radios from National Instruments can be used
as long as they have the correct firmware (see “Firmware: Ettus X300/X310; NI
USRP-294xR/295xR” on page 274. If you have a X310 radio, select X300 in the
list. Wavefront Controller: This option requires a special system in order to
simulate the behavior of a CRPA. This option is visible only if the Wavefront
feature is enabled (see “License Feature List” on page 21). For the remainder
of this section, we will be using the X300 SDR output type. Setting up the
other output types is very similar, except for Anechoic Chamber which has a
dedicated section, see “Anechoic Chamber” on page 59. Wavefront has its own
section too here: “Wavefront” on page 63.
2.10.0.1 Radio Selection
In the Settings – Output, select the X300 SDR in the dropdown list and click
Add.
Note: If an output is already added, you can click on the Clear button before
adding the X300 SDR. You can add multiple outputs, but they must be of the
same type. For example, you can add 2 USRP X300 radios, but you can’t add a
DTA-2115B after you have added a X300.
When adding a USRP radio such as the X300, the IP address and clock source are
preset with default values as defined in the Preferences. If the default
values are incorrect for your setup, click Edit under the radio name to edit
the radio settings.
50
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
Note: Changing the values here will not change the preferences.
2.10.0.2 Signal Selection
Take a moment to look at the front of the USRP X300 radio. You will notice
that it has an RF A TX port and an RF B TX port.
The markings on the radio correspond to the labels in the Output settings. For
example, any signals assigned to RF A in the Output settings will be generated
and output by the USRP X300 RF A TX port. To assign signals, click the “Edit”
button for the corresponding output.
CHAPTER 2 · Skydel User Manual Rev. v23.11
51
2.10 Settings: Output
The Signal Selection dialog box will help you choose the signals that you want
to be generated for each output. Start by selecting Upper L-Band (e.g. L1) or
Lower L-Band (e.g. L2).
If you have the “Advanced Jammer” on page 162 option enabled, the Output Type
will also include the Interference option.
If Gaussian Noise is checked, Skydel will add noise to reproduce realistic
C/No.
Next, select the signals that you would like this output to generate. As you
make selections, you will notice that the dialog box will update the Ideal
Sampling Rate as well as disable code types that are not compatible with your
current selection. For example, when selecting Galileo E5 AltBOC in the lower
L-band, the current sampling rate changes to 60 MSps (Mega Samples per
second). Also, the GLONASS G2 and Galileo E6 HAS signals are disabled because
they are too far away from the E5 signals to fit within the same RF band. To
work around this, you
52
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
can either choose a radio that can support higher sampling rate or use an
additional output (or additional radio).
You may constrain this output to keep its sample rate low by changing the Max
Sample Rate to a lower value. Alternatively, you may constrain the output to
remain high by changing the Min Sample Rate to a higher value.
Due to a limitation in the hardware, some SDR models require that all outputs
must have the same sampling rate. For example, if the signals selection on RF
A requires 25 MSps and the signals selection on RF B requires 12.5 MSps, both
outputs will be set to 25 MSps. For SDR models with this constraint, the
selected sampling rate is always the highest sampling rate of any available
output.
CHAPTER 2 · Skydel User Manual Rev. v23.11
53
2.10 Settings: Output
Note: Only signals for which you have an active license will be available for
choosing.
Galileo E5 AltBOC can be generated if you have an active Galileo E5 license by
clicking E5 AltBOC or both E5a and E5b under Signal. The default gain for the
USRP X300 radio is 80 dB. You can change the gain by 1 dB step between 80 dB
and 115 dB. See the” Reference Power Level” below section below for more
details. Once you have made your signal selection, click the “Ok” button to
return to the Output settings. The simulation will not run if you try to
assign the same signal to multiple outputs. Once you have completed your
signal selection for all outputs, the Output settings should look something
like this.
Note: Adding radios and selecting signals can be a repetitive task. You can
save the current output settings as the default outputs by using ” Set as
Default Configuration” on page 36.
2.10.0.3 Reference Power Level
Once you have selected a radio, you can click the Reference Power button to
get the nominal power at the TX connector.
For the X300, the reference power level is -50 dBm at the TX connector for a
single GPS L1C/A signal.
54
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
2.10.0.4 Optimizing Performance
The main concern when configuring the Output settings is staying within the
performance limitations of both the CPU and the GPU. Skydel is a software-
defined GNSS simulator, so the number of signals that can be simulated is
limited by the performance of the software running on the computer (most
simulators are limited by the number of hardware channels they have). The
number of signals that can be simulated depends on a number of factors:
the number of signals being generated (e.g., [C/A + P] x 10 satellites = 20
signals);
the sampling rate of those signals (e.g., 50 MSps, 12.5 MSps);
the complexity of those signals (some signals are harder to simulate than
others).
If you hit the performance limit of your computer, you have 2 options. Option
1 is to reduce any of the items listed above. Option 2 is to increase the
performance of the hardware.
When you select signals with different carrier frequencies, Skydel must
increase the sample rate to cover both signals and use a carrier frequency in-
between the
CHAPTER 2 · Skydel User Manual Rev. v23.11
55
2.10 Settings: Output
2 signals. However, if you assign these signals to different RF outputs (RF A
vs RF B), Skydel will reduce the sampling rate. This will greatly reduce the
workload for the GPU.
Note: You can disable the spectrum subtab in the preferences to reduce the
CPU/GPU workload.
Once you have completed the signal selection, you can test the performance of
the GPU by clicking the Test GPU Speed button. The GPU Benchmark dialog box
will display the signals that you have selected in the Output settings. Signal
types that you have not selected will not be part of the test. The benchmark
assumes 14 satellites for GPS and 10 satellites for each of the other
constellations. If you only expect 10 GPS satellites to be in view, you can
lower this value to more accurately reflect the conditions you will observe
during your simulation.
Once you are satisfied with your selection, click the Start button to begin the test. Once the test has completed, you will see a score for the GPU. A score higher than 1.00 means the GPU performance is sufficient for this signal selection. However, you don’t want to cut it too close, we recommend a score of 1.10 or higher. A score of less than 1.00 means the GPU doesn’t have enough performance to generate the signals in real time. Try reconfiguring the Output
56
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
settings to use smaller sample rates, reducing the number of satellites, or
reducing the number of signals selected.
2.10.0.5 IQ Data Files
To save IQ data to a file, select “File” as the output type and click the
“Add” button. (If you already have X300s configured, you will have to delete
each of them before proceeding).
Skydel will prompt you to name the file that you would like to save the IQ
data to. You should consider saving this data on a hard drive with plenty of
space and fast writing speed because IQ data files can grow very large over
time. You can add multiple IQ data files by clicking the “Add” button. This
step is necessary if you want to save both L1 and L2 data. Add signals to each
individual IQ file using the ” Signal Selection” on page 51 dialog box that is
used for X300 SDRs. Once you have selected each of the desired signals, your
output settings should look something like this:
CHAPTER 2 · Skydel User Manual Rev. v23.11
57
2.10 Settings: Output
When you are ready, start the simulation. Skydel will begin saving data into
the specified files.
Note: IQ files can be very large. You will quickly fill up your hard drive if
you let the simulation run for too long.
When saving data to IQ Files, your GPU does not need to pass the performance
test. Skydel will generate the file as fast as it is able, which, depending
upon the performance of your GPU and your hard drive, may be slower or faster
than realtime. When you generate an IQ file with Skydel, you get 2 files per
RF output:
IQ File Data Format
The IQ File uses the extension .iq and contains the raw 16-bit IQ samples in
binary format. The file has no header. The first 2 bytes is the integer value
for I, the following 2 bytes is the integer value for Q. The pattern simply
repeat I,Q,I,Q,I,Q, etc. The integer format is in little endian.
IQ File Metadata
This files uses the extension .xml and is consistent with the GNSS SDR
Metadata Standard (http://sdr.ion.org/). It contains multiple fields
describing how the .iq file should be read including the sampling rate and
center frequency of the signal.
58
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
Note: It is normal to have zeros at the beginning of the file. When the
simulation starts, the simulator will start the simulation of the transmission
of the signals from the GNSS satellite, but since it takes several
milliseconds to reach the receiver antenna, the file will be filled with zeros
or Gaussian noise until the signals reach the receiver. Typically, that delay
is around 70msec depending on the distance of the satellites with the
receiver.
2.10.0.6 Anechoic Chamber
Configuring Safran’s Skydel for an anechoic chamber is a 4-step process: 1.
Hardware step: where you list and assign all the connected radios and describe
the hardware architecture. 2. Spatial Configuration step: where you select
your receiver antenna’s location and you determine the elevation and azimuth
of the transmitting antennas relative to this location. 3. Calibration step:
where you perform a calibration to precisely measure power and time offset
between antennas. 4. Scenario step: where you configure Skydel for a specific
simulation scenario.
Step 1 is usually performed by an Safran engineer or qualified personnel. It
requires a keen understanding of the computer motherboard and its PCIe bus
routing in order to optimize the data transfer between the different
peripherals (CPU, GPU, RAM, NIC, etc.). Typically, the result of this step is
stored in a file named hardware.xml. The path to this file must be properly
set in Skydel ” USRP” on page 29 preferences. Steps 2 and 3 are done within
the Anechoic Chamber Builder software. Once these steps are complete, the
software will output the results into an ANEC file. Step 4 is done in Skydel.
In the Settings – Output, select the Anechoic Chamber in the dropdown list and
click Add. Locate your ANEC file and click Open.
CHAPTER 2 · Skydel User Manual Rev. v23.11
59
2.10 Settings: Output
The output settings page is divided in 2 parts: The left part shows a
tabulated view with GNSS and Interference tabs. The right part shows a sky
view depicting the ANEC file.
The sky view in the Constellations subtab does not show any satellites in view simply because there are no GNSS signals selected in this scenario. Click Select Signals.
60
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
Choose the desired signals and click OK. The main window is updated.
The GNSS tab is updated with useful information such as the RF outputs’ associations with each signals and satellites. Moving the mouse over a row in the table
CHAPTER 2 · Skydel User Manual Rev. v23.11
61
2.10 Settings: Output
will highlight in green the corresponding antenna in the sky view on the right
(see image below).
In this example, the row indicates that GPS SV ID 3 and 22 are mapped to the
same physical output: 1B. The next row also indicates the same output 1B is
being used to transmit Galileo SV ID 33.
Below the table you will find a text report listing the angular distance
between the GNSS satellite and the physical antenna used for transmission.
Skydel will do its best to minimize angular distance, but it is useful to look
at this table and validate that the distances are acceptable for your
scenario. Here’s a text report example:
Angular Distance
(degrees) 7.59 7.81 8.34 9.60 12.42 12.57 15.99 16.11 16.97 21.91
Constellation
Galileo
Galileo GPS
GPS
GPS GPS
Galileo Galileo
GPS
Galileo
Signal SV Output ID
E1 33 1B
E1 25 3B
C/A 3 1B C/A 2 3A C/A 19 4A C/A 28 2B E1 31 2B E1 12 4A
C/A 12 3B
E1 24 3A
62
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
Angular Distance (degrees)
Constellation
Signal SV Output ID
24.80
Galileo
E1 11 3A
25.02
GPS
C/A 6 4A
25.55
GPS
C/A 17 4A
27.84
GPS
C/A 24 3B
28.34
GPS
C/A 22* 1B
31.92
GPS
C/A 23* 2A
36.46
GPS
C/A 4* 2A
Some SV ID are marked with an asterisk, such as number 22*. It means that the SV ID 22 is currently below the masking angle and should it be moving above the masking angle during the simulation, it will be transmitted using this physical output.
Note: Keep in mind that the mapping is only done once at the beginning and does not updates during the simulation. Therefore, the angular distance between a GNSS satellite and its transmitting antenna may increase during the simulation.
Caution: Some Skydel features are not yet supported with the Anechoic Chamber output: The “Antenna” on page 159 patterns should be set to None. The “Basic Interference” on page 204 are ignored and will not be simulated. The “Advanced Jammer” on page 162 feature is not currently supported, but will be in a future software update. These constraints are not enforced by Skydel: the user must manually change the receiver trajectory and antenna patterns.
2.10.0.7 Wavefront
Wavefront output can only be used with the GSG Wavefront system. It leverages
the multi- instance synchronization feature (see “Synchronize Simulators” on
page 93) of the Skydel software to enable simulation scenarios including
highdynamics trajectories (GNSS and non-GNSS).
GSG Wavefront generates phase-synchronized signals in real-time, to
realistically simulate the signals received by a CRPA.
CHAPTER 2 · Skydel User Manual Rev. v23.11
63
2.10 Settings: Output
You can find a more detailed description of GSG Wavefront in the product
manual. Your GSG Wavefront also includes an XML file. This file describes your
hardware architecture and its simulation capability. Your system contains more
than one computer:
A Wavefront Controller And one or more GSG – Nodes It is only necessary to
change settings on the Wavefront Controller; those settings also control the
Nodes. The following instructions only concern the Wavefront Controller. To
view or change the GSG Wavefront settings, navigate to the Settings – Output
menu. Select Wavefront Controller in the dropdown list and click Add. Locate
the hardware file and click Open.
The output settings page will display three tabs. Monitor Signals Selection
Antenna
Monitor
The Monitor tab allows you to observe the state of your GSG Wavefront system.
64
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
Wavefront systems leverage the multi- instance synchronization feature (see
“Synchronize Simulators” on page 93) of Skydel. Connection is fully automated
and made in two steps:
1. The Wavefront Controller connects itself to the remote API of all Nodes.
2. On each Node, it activates the Worker mode through remote API in order to
synchronize all Skydel simulators.
The API Link LED will be green if the Wavefront Controller is connected to the
API of the Node, and the Main Link LED will display green if the instances on
the Nodes are synchronized with the Wavefront Controller. If an LED remains
red, you should confirm that the associate GSG Node is on and fully
operational and that all required Skydel instances are open.
Signals Selection
This tab summarizes the signal possibilities and settings within your GSG
Wavefront system.
To choose GNSS signals, click the “Edit selection” button in the desired band. As you make selections, you will notice that the dialog box will disable code types that are not compatible with your current selection. The compatibility depends on your system’s hardware.
CHAPTER 2 · Skydel User Manual Rev. v23.11
65
2.10 Settings: Output
If your system has the Interference option enabled, you can choose an
interference group for each band in the list. To configure the groups,
navigate to Settings > Interferences (see the “Advanced Jammer” on page 162
section). If you don’t need to use interferences for a band, choose the “None”
Group.
66
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
Antenna
This last tab allows you to enter your CRPA information for use by the GSG
Wavefront system.
CHAPTER 2 · Skydel User Manual Rev. v23.11
67
2.10 Settings: Output
The “CRPA Offset” refers to the attachment point and attitude of the antenna’s
center relative to the vehicle’s body. The “CRPA Offset” are coordinates in
the Body Frame, such as the vehicle’s”Antenna Offset” on page 160.
A CRPA is different from other antennas due to its multi-elements system. Each
element represents a fixed location on the antenna. The “CRPA Elements Offset”
refers to the attachment point and attitude of each element relative to the
antenna’s center. The “CRPA Elements Offset” are coordinates in the Antenna
Frame.
For each CRPA element, you can specify a position offset and a model. Models are saved data representing different antenna models. They can be defined in the Settings – Vehicle – Antenna menu and are assigned in this tab.
If you don’t want to simulate all the elements of your config file, you can disable some. Just by clicking the Enable checkbox for the elements you want to disable.
68
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.10 Settings: Output
The disabled elements will also be visible in the monitor tab:
Phase Graph
The “Wavefront Phase” tab shows a graphic of the real-time phase corrections
applied to each of the simulated antenna elements. The first enabled element
is the reference. This graphic is updated in real-time, during both the “WF
Init” and the “Running” states. During the “WF Init” state, coarse phase
corrections are applied to each element, bringing the phase offsets between
elements below the acceptance threshold. Then, during the “Running” state, the
phase offset between each elements is constantly monitored and compensated.
If, for any reason, any of the phase offsets gets above the threshold value, a
warning message will show- up in the “Status Log” tab. As you can see on the
image, the graphic has vertical bars, which indicates when the phase
calibration process changes from coarse calibration to finer calibration
steps. Note that there is a drop-down menu which permits you to view the phase
correction for the different simulated RF bands. You can also view the phase
corrections for GNSS or Interferences channels.
CHAPTER 2 · Skydel User Manual Rev. v23.11
69
2.11 Settings: Start Time
2.11
Settings: Start Time
The Start Time settings are located in the Settings – Start Time menu.
Controlling the simulation start time is one of the key considerations when
testing GNSS receivers. To compare different test runs, it is often critical
to have the same start time values to ensure that the GNSS satellites’
geometry is identical for each run.
Some GNSS receivers will refuse to lock on the simulated signal if their
internal clocks cause them to believe the time is incorrect. This is one of
the many ways a receiver can protect itself against spoofing. It is sometimes
necessary to reset the receiver before each simulation to work around this
defense mechanism.
It is not necessary to download a RINEX navigation message file matching the
simulation start time. Skydel is capable of extrapolating in both the future
and the past.
If you want to use a specific RINEX navigation message file as your ephemeris
and almanac for the simulation, you will need to import the RINEX navigation
file for each constellation (see “General” on page 99).
There are three ways you can control the start time of the simulation:
specify a custom time;
use the computer system time;
use the time from a timing receiver.
When selecting the timing option to use, a preview will be shown to the right.
70
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.11 Settings: Start Time
2.11.0.1
Custom Time
Setting a Custom Time is the most common method of controlling the start time
of the simulation. Every time you run the simulation, it will start at the
same time. You can change the custom time by clicking on the time field
itself.
You can specify the time with any of the fields provided. The other fields will update to reflect the changes that you have made. For example, you can set the date and time to 7/1/2016 and 07:00:00. The week and second will automatically be updated to 1903 and 457200.
2.11.0.2
Current Computer Time
If you select Current Computer Time, your simulation will be synchronized to
the computer system time to within approximately 10 seconds. This is due to
the time it takes to start the streaming process with the radios.
Synchronizing in this way can be useful if you want your simulation to be
close to true time. However, for tight synchronization with a time reference,
it is necessary to use a timing receiver.
CHAPTER 2 · Skydel User Manual Rev. v23.11
71
2.11 Settings: Start Time
2.11.0.3
GPS Timing Receiver Time
If you want to synchronize your simulation with more accuracy, you can select
GPS Timing Receiver Time. Ensure that your “GPS Timing Receiver” on page 28
preference is set correctly. Once everything is configured correctly, you will
be able to see a preview of the start time.
Skydel will communicate with the timing receiver during the initialization
process and ensure that the simulation starts at the specified time. This
process happens after the radio initialization, so a precise synchronization
can be achieved.
If desirable, you can add an offset to the simulation start time computed by
the GPS Timing Receiver. The value must be an integer between -3600 and +3600
seconds.
Caution: As indicated in the “Simulator State” on page 18 section, it is important to know that when using a GPS Timing Receiver, any changes made to the settings while the simulator is in the “Armed state” will be discarded when the simulation starts.
2.11.0.4 Leap Seconds
You can specify the current leap seconds (LS) value and the date of the next
leap seconds future (LSF) event.
The LS value is used by the receiver to convert GPS system time to UTC time. NMEA data is marked with UTC timestamps. If the receiver and the simulator use different LS values to compute the UTC time, it will make the NMEA output difficult to compare, especially in the receiver deviation graph (see “Receiver” on page 187).
72
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.11 Settings: Start Time
If you uncheck (disable) the LSF event, Skydel will set the LSF value in the
navigation message to the current leap seconds value regardless of the LSF
value that you entered.
Note: Leap Seconds (LS) and Leap Seconds Future (LSF) are relative to GPS
Epoch. The corresponding LS and LSF for other constellations are adjusted
accordingly.
If you enable the LSF event check box and the simulation start time is set for
after the LSF event date, Skydel will use the LSF value as the current leap
seconds value. You should keep in mind that the LSF event occurs at the end of
the specified day, at exactly midnight UTC. You can see the effective leap
seconds value (LS vs. LSF) in the dashboard. Skydel allows any date for the
leap seconds future event, but usually the date is set to either June 30th or
December 31st.
Caution: When simulating LSF event for GLONASS (see”Leap Seconds” on page
135), consider the following limitations: GLONASS supports leap second event
only at end of quarters (Mar 31st, June 30th, September 30th or December
31st). GLONASS does not support adding or subtracting more than 1 second
during the event.
2.11.0.5
Duration
By setting the duration you can choose how long you would like the simulation
to run. By default, the duration is set to Unlimited.
Click the dropdown box to select the desired duration. If you would like to
specify a duration other than what is listed, select the Other option. You can
then specify the amount of days, hours, minutes, and/or seconds you would like
the simulation to run.
CHAPTER 2 · Skydel User Manual Rev. v23.11
73
2.12 Settings: Global
2.12
Settings: Global
The Global settings are located in the Settings – Global sub-menu. The Global
sub-menu contains the “Atmosphere” below, “Earth Orientation Parameters” on
page 77, “Logging” on page 78, “Signal Level” on page 91, and “Synchronize
Simulators” on page 93 settings.
2.12.0.1
Atmosphere
The Atmosphere settings are located in the Settings – Global – Atmosphere
menu.
The Atmosphere sub- menu contains the Nominal and Errors atmosphere settings.
Nominal
The Nominal atmosphere settings are located in the Settings – Global –
Atmosphere – Nominal menu.
You can use the Nominal atmosphere settings to change the ionospheric and
tropospheric models being applied to the simulation.
74
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
The following ionospheric models are available:
None;
Klobuchar;
Spacecraft;
NeQuick;
The following tropospheric models are available:
None;
Saastamoinen;
Stanag;
DO-229;
The Spacecraft ionospheric model is meant to be used only for a vehicle in
space, above the ionosphere. For the most part, the spacecraft will have a
direct line of sight through empty space. However, when the GNSS satellites
pass behind the Earth, the line of sight will go through the ionosphere for a
short time. During that time, the effect on the GNSS signal is non-negligible.
The NeQuick model is more complex than others so it is only computed
periodically. The period T, is set to 1 second. The correction at a given
time, t, will correspond to the correction at the last computed time. For
example, the ionospheric correction, C(t), for the NeQuick model is computed
as follows: 1. C(0 < t < T) = 0. 2. C(T < t < 2T) = C(0) 3. C(2T < t < 3T)
= C(T) …N. C((N-1)T < t < NT) = C((N-2)T)
CHAPTER 2 · Skydel User Manual Rev. v23.11
75
2.12 Settings: Global
When selecting an Ionospheric model, the model is applied and affects the
pseudo-range value of the satellites of all constellations. However, the
navigation message will still be populated with values coming from the
receiver model. For example, if you use the NeQuick model with a receiver that
does not support it you might get some errors. You can configure the NeQuick
ionospheric model by importing MODIP and CCIR files. Click the Import button
in the NeQuick tab. You will then be asked to provide an appropriate path.
Sample files are located in “Skydel- SDX/Templates”.
Note: When you choose the Spacecraft model for the ionosphere, you should also
set the tropospheric model to None.
Errors
The Errors atmosphere settings are located in the Settings – Global –
Atmosphere – Errors menu. You can use these settings to add positive offsets
to the current ionospheric model. “Apply delays to ionospheric model” needs to
be checked to enable the errors when the simulation runs.
When the errors are enabled, the interactive map shows the current offsets at each Ionospheric Grid Points (IGP) of a ionospheric grid, with either colors or numbers.
76
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
Checking “Compensate ionospheric delays in SBAS long term corrections” will
add these IGP values in the SBAS long-term corrections (message 26), see
“Message Sequence” on page 139. You can move and zoom the map to focus on
areas of interest. Information related to the point highlighted with the mouse
pointer are shown below the map. The Edit button opens a dialog enabling the
modification of the map’s IGP values.
In “Select” mode, you can select points and modify their offset values.
Selected points appear in blue, and their offset can be
incremented/decremented by the value set in the field next to the +/- buttons.
Alternatively, selected points can be set to the value indicated in the field
next to the “Set” button. While selecting with the mouse, holding the Shift
Key on the keyboard will add to the current selection, while holding the
CONTROL (CTRL) key will remove points from the current selection. The “Clear”
button will reset all the values on the map. Use the “Panning” mode to move
and zoom the map. The “Best fit” button will fit the whole points in the
current canvas. You can import or export a grid in CSV format, where each line
describes a grid band (0 to 11), an IGP index (1 to 201, depending on the
band) and the offset applied (0 to 99 meters). Click OK to save your changes
or click Cancel to revert them.
2.12.0.2 Earth Orientation Parameters
The Earth Orientation Parameters settings are located in the Settings – Global
Earth Orientation Parameters menu.
CHAPTER 2 · Skydel User Manual Rev. v23.11
77
2.12 Settings: Global
Default Earth Orientation Parameters range from January 1st to December 31st
of the year of the default simulation start time. The Import button opens a
dialog to import Earth Orientation Parameters from a CSV file.
Below are the column descriptions for each Earth Orientation Parameter.
Column Description
MJD
Modified Julian Date.
X PM, Y Coordinates or the pole. PM
UT1-UTC Difference between the Universal Time and Coordinated Universal Time.
2.12.0.3 Logging
The Logging settings are located in the Settings – Global – Logging menu.
78
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
Use the Logging settings to control how Skydel logs data during a simulation.
Raw
Turn on the Raw Logging option to log simulation data such as satellite
trajectories, receiver trajectories, and signal power levels. You may also
specify the desired update rate at which data is logged.
Note: If you need only raw data without RF signals, set your output to None
and Skydel will generate the raw log files much faster than real time.
Caution: Raw logging at higher rates can interfere with the simulator’s real-
time engine on a slower computer. If you experience underrun problems with a
radio, either reduce the logging rate or do not log at all while generating
RF.
The logging data can be imported into other tools for analysis purposes. For
example, you can use Skydel to generate satellite trajectory data. You can
then use this data to model and test the satellite component of your receiver
software. This enables you to test your software easily and quickly without
the need to use hardware to generate RF signals. When raw logging is enabled,
Skydel will generate:
CHAPTER 2 · Skydel User Manual Rev. v23.11
79
2.12 Settings: Global
one file for each signal type per Skydel SV ID
one file for each multipath echo
one file for each visible dynamic transmitter (if using “Advanced Jammer” on
page 162)
one file for the receiver
Below are the column descriptions for each raw logging files. Column
descriptions for a satellite:
Column Description
Elapsed Time
The elapsed time of the simulation in milliseconds.
ECEF X, Y, Z ECEF coordinates (meters) of the origin of the transmitted signal (satellite’s antenna phase center plus errors).
ECEF Error ECEF coordinates errors (offset in meters) from the satellite’s
X, Y, Z
antenna phase center.
Body Azi- Satellite’s azimuth, in radians, from the receiver’s body position
muth
relative to North.
Body Elev- Satellite elevation, in radians, from the receiver’s body position rel-
ation
ative to the horizon.
Range
Geometrical distance, in meters, between the satellite’s and receiver’s antennas.
PSR
Pseudorange, in meters, between the satellite’s and receiver’s antennas.
ADR
Accumulated Doppler range, in number of cycles, between the satellite and receiver.
Clock Cor- Satellite’s clock correction, in seconds. rection
Clock Noise Additional clock error, in meters, not accounted for in navigation message.
Delta Af0 Clock offset in seconds.
Delta Af1 Clock drift in seconds per seconds.
Iono Cor- Ionospheric corrections, in meters. rection
80
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
Column Description
Tropo Cor- Tropospheric corrections, in meters. rection
PSR Offset Pseudorange offset, in meters.
Receiver Satellite’s azimuth, in radians, from the receiver’s antenna posAntenna Azi- ition. mut
Receiver Antenna Elevation
Satellite’s elevation, in radians, from the receiver’s antenna position.
Receiver Antenna Gain
Receiver’s antenna gain, in dBi.
SV Antenna Receiver’s azimuth, in radians, from the satellite’s antenna pos-
Azimut
ition.
SV Antenna Receiver’s elevation, in radians, from the satellite’s antenna posElevation ition.
Relative
Signal’s relative power level, in dB, corresponding to the sum of
Power Level the global power offset, the user’s power offset, the receiver’s
antenna gain and the satellite’s antenna gain.
Doppler Fre- Doppler frequency, in Hertz, due to satellites’ and receivers’ anten-
quency
nas dynamics’.
PSR Change Pseudorange rate, in meters per second, due to satellites’ and
Rate
receivers’ antennas dynamics’.
Receiver Phase offset, in radians, caused by the receiver’s antenna phase
Carrier
pattern. This column does not appear in echo log files.
Phase Off-
set
Satellite Car- Phase offset, in radians, caused by the satellite’s antenna phase rier Phase pattern. This column does not appear in echo log files. Offset
Echo Power Multipath power offset, in dB, relative to Line of Sight (LOS) sig-
Loss
nal. This column appears only in echo log file.
Echo Dop- Multipath frequency offset, in Hertz, relative to LOS signal. This pler Offset column appears only in echo log file.
CHAPTER 2 · Skydel User Manual Rev. v23.11
81
2.12 Settings: Global
Column Description
Echo Carrier Initial phase offset, in radians, in multipath relative to LOS signal. Phase Off- This column appears only in echo log file. set
Echo PSR Multipath pseudorange offset, in meters. This column appears
Offset
only in echo log file.
GPS TOW GPS time of week, in seconds.
GPS Week GPS week number. Number
SBAS t0
SBAS time of the day, in seconds.
Calibration Offset
Offset, in meters, applied to the signal during Wavefront simulation. Used to compensate for hardware differences between elements.
PSR satellite The elapsed time of the simulation when the signal was emitted
time
from the satellite, in milliseconds.
Column descriptions for receiver:
Column
Description
Elapsed Time
Elapsed time of the simulation, in milliseconds.
ECEF X, Y, Z
ECEF coordinates of the receiver’s antenna, in meters.
Yaw, Pitch, Roll
Sum of vehicle’s body and antenna’s rotation angles, in degrees.
Velocity X, Y, Z Velocity of vehicle, in meters per second.
Accel. X, Y, Z
Acceleration of vehicle, in meter/seconds.
GPS TOW
GPS time of week, in seconds.
GPS Week Num- GPS week number. ber
Column descriptions for a transmitter:
Column
Description
Elapsed Time ECEF X, Y, Z
Elapsed time of the simulation, in milliseconds. ECEF coordinates of the transmitter’s body, in meters.
82
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
Column
Description
Yaw, Pitch, Roll
Transmitter’s body rotation angles, in degrees. Does not include antenna rotation.
Transmitter Antenna Gain
Transmitter antenna gain, in dB.
Propagation loss Power loss, in dB, due to the distance between transmitter and receiver.
Receiver Antenna Receiver’s antenna gain, in dBi. Gain
Receiver Visibility True if the transmitter is visible from the receiver, false otherwise.
NMEA
Skydel can also log NMEA- style data. This data will look like the output of a
receiver that has tracked the simulation. This can be useful for testing your
postprocessing tools, or for connecting Skydel to another device that accepts
NMEA data. You may also specify the desired update rate at which data is
logged.
Note: Skydel uses GPS time (not UTC) in its NMEA output. Also, the altitude in the GGA sentence is based on the ellipsoid model, not the mean sea level.
Downlink
It is also possible to log downlink data. The downlink can be logged before
message encoding, after, or both. For a message to be logged, the transmitting
satellite has to be present.
The downlink format changes depending on the signal type.
For BeiDou D1 and D2, the encoding uses interleaving. Each word uses the
following format:
GLONASS encoding uses hamming code. The format is:
CHAPTER 2 · Skydel User Manual Rev. v23.11
83
2.12 Settings: Global
For GPS L1 C/A and QZSS L1 C/A, the encoding uses parity. Every data word uses
the following format:
The example below is a sample of L1 C/A downlink log. Elapsed Time (ms),Skydel
SV ID,PRN,GPS TOW,GPS Week Number,Subframe,Page,Navigation Message
(Hex),Modified 0,1,1,370800.000,2006,1,,22D55589 21D2DEA4 3D644032 2AAAAA95
1555556A 2AAAAA95 15557CFB 3F6925EF 3FC0079E 3E17C87C,No
GPS CNAV uses CRC encoding. The format is the following:
84
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
GPS L1C uses CRC encoding. The format is the following:
CHAPTER 2 · Skydel User Manual Rev. v23.11
85
2.12 Settings: Global
The L1C message is then encoded using BCH, LDPC and interleaving. The encoded
format is the following:
BeiDou B1C uses CRC encoding. The format is the following:
The B1C message is then encoded using BCH, LDPC and interleaving. The encoded
format is the following:
86
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global Galileo FNAV uses CRC & FEC encoding. The format is the following:
Galileo INAV uses CRC & FEC encoding. The format is the following:
CHAPTER 2 · Skydel User Manual Rev. v23.11
87
2.12 Settings: Global
SBAS uses FEC encoding. The format is the following:
88
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
“Message Modification” on page 103 are included in the logged data.
Skydel includes a Python library to parse the downlink log. The script will
parse every line in the log to extract the data in a more usable format. It
also includes an example that will parse a downlink log and generate a human-
readable output such as this:
Paramater Name,Range,Binary Value,DecimalValue,Unit
Preamble,[0, 7],10001011,139,
TLM Message,[8, 21],01010101010101,5461,
ISF,[22, 22],1,1, Reserved,[23, 23],0,0, Parity 1,[24, 29],001001,9, Truncated
TOW Count,[30, 46],01111000101101001,61801, AF,[47, 47],0,0, AS,[48, 48],0,0,
SubFrame ID,[49, 51],001,1, PC 1,[52, 53],01,1, Parity 2,[54, 59],100100,36,
WN,[60, 69],1111010110,982,week Code L2,[70, 71],01,1, SV Accuracy(URA),[72,
75],0001,1,
CHAPTER 2 · Skydel User Manual Rev. v23.11
89
2.12 Settings: Global
SV Health,[76, 81],000000,0, IODC,[[82, 83], [210, 217]],0000000010,2, Parity
3,[84, 89],110010,50, L2P,[90, 90],1,1, Reserved 1,[91,
113],01010101010101010101010,2796202, Parity 4,[114, 119],010101,21, Reserved
2,[120, 143],101010101010101010101010,11184810, Parity 5,[144, 149],101010,42,
Reserved 3,[150, 173],101010101010101010101010,11184810, Parity 6,[174,
179],010101,21, Reserved 4,[180, 195],1010101010101010,43690, TGD,[196,
203],00001100,5.58793544769e-09,s Parity 7,[204, 209],111011,59, t0C,[218,
233],0101101101101000,374400,s Parity 8,[234, 239],101111,47, af2,[240,
247],00000000,0.0,s/s^2 af1,[248, 263],1111111111100001,-3.52429196937e-12,s/s
Parity 9,[264, 269],011110,30, af0,[270,
291],1111100001011111001000,-5.82002103329e-05,s PC 2,[292, 293],01,1, Parity
10,[294, 299],111100,60, For Windows users, the library can be found in the
Skydel-SDX/API/Python/downlink_parser folder.
Note: In the current Skydel version, the following signals support downlink
data logging: GPS: L1 C/A, L1P, L1C, L2P, L2C, L5 GLONASS: G1, G2 Galileo: E1,
E5a, E5b, E6 HAS BeiDou: B1, B2, B1C, B2a, B3I QZSS: L1 C/A, L1 C/B, L1C, L1S,
L5, L5S SBAS: L1 NavIC: L5
RINEX
Skydel can log RINEX navigation data. The RINEX file version generated is
V3.03 for all constellations. Skydel will generate one file for each active
constellation. Currently, you cannot configure the log sampling rate. A first
batch of data is logged when simulation start and the following batches will
be logged when Time of Ephemeris change.
90
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
Note: The data logging sampling rate for RINEX Navigation is: GPS: Every 7200
seconds. GLONASS: Every 1800 seconds. Galileo: Every 600 seconds. BeiDou:
Every 3600 seconds. QZSS: Every 3600 seconds. SBAS: Just one batch at the
start of the simulation. NavIC: Every 4800 seconds.
HIL Input
When HIL Input Logging is checked, the data received from the HIL interface is
logged as is. This is useful to determine what was actually received from a
remote computer. This data can be compared with the receiver’s trajectory
included in the Raw Logging to determine if the HIL input was properly
processed by Skydel. Logging at 1000 Hz will also reveal any HIL input problem
that may have occurred during the simulation.
2.12.0.4 Signal Level
The Signal Level settings are located in the Settings – Global – Signal Level
menu.
CHAPTER 2 · Skydel User Manual Rev. v23.11
91
2.12 Settings: Global
You can use the Signal Level settings to control the output power of the
satellite signals being generated relative to the nominal value, which depends
on your hardware setup. When you configure the output, (see”Settings: Output”
on page 49), you can click on the ” Reference Power Level” on page 54 button
to see the nominal value of your hardware. To adjust the power level of the
transmitted signal, you can either change the Global offset or the offset
specific to the code type that you are adjusting. By default, Skydel uses a 0
dB global offset, and a realistic offset for all of the other code types. This
will correctly model the fact that not all constellations and code types are
generated at the same power level. For example, according to the
specifications, P-Code should operate at 3 dB less than C/A code. When using
the default settings, the transmit power of a GPS C/A code signal has 80 dB of
gain. Typically, for a vehicle on Earth, this will translate into a power
level of -50 dBm (measured at the TX port of a X300 radio). When using 60 dB
of attenuation, this -50 dBm signal will become -110 dBm. This is the correct
power level to simulate a 20 dB LNA. You may refer to the power level section
for more details, see “Power Levels: Live Sky vs. Simulation ” on page 5.
Note: To model the noise floor correctly on the X300 Ettus radio, you should
use 80 dB of attenuation and a real 20 dB LNA.
There are three ways you can increase or decrease the power level of a signal:
global power offset (+30 dB to -50 dB); code-specific power offset (+10 dB to
-50 dB); power sliders (+10 dB to -50 dB);
By using any of these three options, you can obtain a +50 dB increase in the
power level of a generated signal. However, it is not recommended to push the
power levels this high on too many satellites. At some point, it will end up
saturating the I/Q data samples. When this happens, Skydel will warn you that
I/Q has been saturated. If you need to increase the global power offset by
more than 30 dB, you can remove some of the attenuation instead. You can
enable or disable the “Signal Strength Model” by checking or unchecking the
box. The Signal Strength Model adjusts the transmit power of each satellite by
modeling the following effects:
power loss due to the distance between the satellite and the receiver; power
loss due to the antenna pattern of the satellite itself. Use the “Antenna” on
page 128 settings to modify patterns.
92
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
Note: The power loss due to the antenna pattern of the receiver is not part of
the Signal Strength Model. Use the Vehicle”Antenna” on page 159 settings to
enable or disable receiver antenna modeling.
2.12.0.5 Synchronize Simulators
The Synchronize Simulators settings are located in the Settings – Global –
Synchronize Simulators menu. You can use the Synchronize Simulators settings
to specify how Skydel instances connect to each other to perform the
synchronization. This setting will be used for both multiple Skydel instances
running on the same computer as well as synchronization among multiple
computers (see “Multiple Radios – Multi-instance (RTK)” on page 272).
Determine which Skydel instance will be the Main. Check the Sync Time (Main)
check box on that instance of Skydel. Skydel will then begin listening for
incoming connections.
Check the Sync Time (Worker) checkbox on each remaining instance of Skydel.
These Skydel instances will then connect to the Main instance.
At this point, all Skydel instances are connected and will synchronize their
radios. Once you start the simulation on the Main instance, each Skydel
instance should start running automatically. It does not matter whether each
Skydel instance are running on the same computer, or separate ones.
Note: If you are using only one instance of Skydel, and only one Ettus radio
such as the X300, you might want to check the Sync Time (Main) checkbox. This
will force the radio to use the PPS from an external source. This is important
if you are planning on using the PPS output to perform time-error analysis.
CHAPTER 2 · Skydel User Manual Rev. v23.11
93
2.12 Settings: Global
2.12.0.6 Synchronize configuration between Main and Workers
Skydel is capable of pushing a Main instance’s configuration to all of the
workers. To do so, in the main instance of Skydel, go to the Settings – Global
– Synchronize Simulators section.
Pushing the configuration can be done either manually by clicking the
Broadcast now button. It can also be automatically broadcast at every
simulation start by checking the Broadcast configuration on simulation start
checkbox.
Applying exclusions is used to control which parts of the Workers’
configuration will be retained. For example, if you check the Vehicle Motion
filter, after a configuration broadcast all the Workers will use the Main’s
configuration, except for the vehicle motion. This can be useful to simulate
the same scenario with different vehicles.
When the Skydel Main broadcast a configuration, radios are associated by their
names. For example, “Radio 1” on the Main instance will be matched to “Radio
1” on the Worker (s). When excluding Radios only, only the physical radio
configuration (IP address and Clock) will be retained by the Worker(s). The
output signals configuration will be pushed. To exclude both, check the
Outputs and Radios option.
2.12.0.7 Synchronize Simulators with a GPS Timing receiver
It is possible to use the GPS Time from the “GPS Timing Receiver Time” on page
72 as the start time of the simulation for all instances of Skydel. For
94
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
example, this can be very handy when simulating RTK scenarios and you don’t
want to reset the GNSS receivers at each simulation. In this case, only the
Main instance of Skydel needs to be connected to the GPS Timing Receiver. For
the Main instance: in the “Start Time” settings screen, “GPS Time” must be set
to “GPS Timing Receiver Time”. For the Worker instance(s): in the “Start Time”
settings screen, “GPS Time” must be set to “Custom Time”. When starting the
simulation, the Main instance will read the “GPS Timing Receiver” time. This
will become the GPS simulation’s start time. The Main instance will push this
value to each of the Worker instances. In order to have synchronized
simulators, each radio must be connected with a common 10 MHz and PPS signal
as indicated in the “Simulation Hardware Components” on page 263 section.
2.12.0.8 Satellite Data Update
The Satellite Data Update settings are located in the Settings – Global – SV
Data Update menu.
Use the settings in this page to control how Skydel updates satellite data
during a simulation.
There are two different modes to choose from:
CHAPTER 2 · Skydel User Manual Rev. v23.11
95
2.12 Settings: Global
Extrapolation Dynamic The selection of the mode is done either directly in the
interface or using the API command SetSVDataUpdateMode.
Extrapolation Mode
If this mode is selected, Skydel uses the satellite data found in the
configuration and extrapolates it forward in time during the simulation. The
configuration’s satellite data comes from imported files. If no files were
imported by the user, Skydel defaults to the files found in the Skydel-
SDX/Templates folder. In the case where multiple blocks are present for a
satellite in an imported file, Skydel will only use one. As the simulation
advances, the initial block is extrapolated and used for the satellite’s
trajectory, ephemeris and almanac. See sections Import the RINEX file
(“General” on page 99) and Data Sets ( see “Data Sets” on page 100) for
information regarding the import of satellite data files.
Dynamic Mode
When selected, Skydel uses satellite data that is dynamically pushed by the
user to the engine using the Skydel API (see “Application Programming
Interface (API)” on page 193). To push a block of satellite data, the
PushDynamicSVData command is used.
Note: This mode is currently only available for the following constellations:
GPS, Galileo, BeiDou, QZSS and NavIC.
In Dynamic mode, Skydel only simulates satellites blocks that are pushed. This
means Skydel does not use any default or imported satellite data file. In
addition, it is possible to start a simulation without any satellites and
dynamically add them during the simulation. When Skydel first receives a block
of data for a satellite, it adds that satellite to the simulation. The
received block is used to compute the satellite’s trajectory, ephemeris, and
almanac. Skydel continues to use this block of data until a new block is
received or until the end of the simulation if no new block is pushed by the
user. When receiving additional blocks of satellite data, Skydel uses the new
block of data to compute its trajectory and ephemeris (the almanac is not
updated with additional blocks). For the trajectory of the satellite, Skydel
interpolates between the previous block of data and the new block of data.
This interpolation ensures that no jumps occur in the satellite’s trajectory.
At the end of the interpolation,
96
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.12 Settings: Global
Skydel drops the previous block and only uses the new block. The duration of
this interpolation depends on the constellation. Blocks can’t be sent during
the interpolation period.
The interpolation durations follow this table:
Constellation Interpolation Duration (seconds)
GPS Galileo BeiDou QZSS NavIC
3600 300 1800 1800 2400
Python API example
The Python API directory under “Skydel-SDX/API/Python” contains an example
script to use Skydel in the Dynamic Update Mode: example_dynamic_sv_data.py.
This script uses a Rinex navigation file containing satellite data blocks for
many satellites. It parses the file and pushes the blocks to Skydel at the
start of the simulation. See section import the RINEX file (“General” on page
99) and Data Sets (“Data Sets” on page 100) for information regarding
satellite data files.
Note: This example script only pushes the first block of satellite data for
each satellite at the start of the simulation. The same approach can be used
to push new blocks of satellite data at a later time during the simulation.
Note: The script used to parse the Rinex navigation file is also provided:
rinex_parser.py.
Although this example uses a Rinex navigation file, the user is not restricted
to the use of this file format in fact, any satellite data source can be
used. Skydel only requires the block of data to be formatted in a particular
way, so some parsing may be necessary before pushing the block. See the
documentation of the command PushDynamicSVData as well as the parsing script
rinex_parser.py. The example_dynamic_sv_data.py script starts by connecting to
the simulator:
CHAPTER 2 · Skydel User Manual Rev. v23.11
97
2.13 Settings: Constellations
sim = RemoteSimulator(True) sim.connect() sim.setVerbose(True) Then, amongst
other configuration, it sets Skydel into the Dynamic Update Mode:
sim.call(SetSVDataUpdateMode(SVDataUpdateMode.Dynamic)) Once the configuration
is done, the simulator is then armed:
sim.arm() The script then parses the Rinex file and obtains the satellite data
blocks using the rinex_parser.py script, where rinex_file_path is the path to
the Rinex file.
rinex_parser = RinexParser() blocks = rinex_parser.parse(rinex_file_path)
Next, it iterates over the parsed blocks and pushes them to Skydel:
for block in blocks: sim.post(PushDynamicSVData(system, block.sv_id,
block.toc, block.params)) Finally, the scripts starts the simulation and
disconnects the script from the simulator:
sim.start() sim.disconnect() The same script can be used at a later time
during the simulation to push new blocks of satellite data. In the case of
pushing blocks of data during simulation, only the code to parse the file and
push blocks is needed. The code to configure the simulator, arm and start the
simulation should not be used as the simulation is already running.
2.13 Settings: Constellations
The following topics are included in this section:
2.13.1 GPS
99
2.13.2 GLONASS
133
2.13.3 GALILEO
135
2.13.4 BEIDOU
136
2.13.5 QZSS
137
2.13.6 NavIC
138
2.13.7 SBAS
139
98
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
2.13.1
GPS
The GPS settings are located in the Settings – GPS sub-menu.
GPS settings control the orbits, downlink data, and signals of the GPS
satellites. These settings have no effect on other constellations (i.e.,
GLONASS, Galileo, BeiDou, QZSS and NavIC), except SBAS. Some “Errors” on page
125 can be corrected with “SBAS” on page 139.
2.13.1.1
General
The General settings are located in the Settings – GPS – General menu.
The General settings control the “Issue of Data” (IODC and IODE) of the
downlink data. Disabling the checkbox “Override RINEX IODE” makes Skydel use
the IODE values from the RINEX instead of the value indicated in the “Issue of
Data” button.
The “almanac first upload” offset controls when the first almanac update will
occur after the simulation starts. The update can occur in the middle of a
message as illustrated in the image below.
By default, the first update will occur 12 hours (43200 seconds) after the
start of the simulation. This setting can be changed independently of the
update interval. For example, you could set the first update to occur at 300
seconds and then every 43200 seconds after that first update.
In the general settings, you can also import a RINEX Navigation, YUMA or SEM
file to set the orbits of the GPS Satellites.
To import a RINEX navigation file, click the Import button in the General
settings screen. Skydel will prompt you to confirm your intent. You will then
be asked to provide a RINEX-compatible file. Sample files are located in
“Skydel-SDX/Templates”. Importing a RINEX file will override each of the
current “Orbits” on page 113, “Perturbations” on page 116, “Clock & Group
Delay” on page 117, and”Health” on page 118 settings. Note that ionospheric
parameters of the RINEX files are not imported.
Note: RINEX Source RINEX navigation message files can be found here:
https://cddis.nasa.gov/archive/gnss/data/daily A registered account is needed
to access the RINEX files.
CHAPTER 2 · Skydel User Manual Rev. v23.11
99
2.13 Settings: Constellations
For information on navigating in the database and finding the desired RINEX
files, please use the following resources from NASA: For daily navigation data
on all constellations:
https://cddis.nasa.gov/Data_and_Derived_Products/GNSS/daily_
30second_data.html
For daily broadcast ephemeris data specifically for GPS and GLONASS:
https://cddis.nasa.gov/Data_and_Derived_
Products/GNSS/broadcast_ephemeris_data.html
The “signal propagation delay” should always be checked. When unchecked, the propagation delay and the Doppler shift are removed from the simulation. This feature is useful for calibrating the simulator’s PPS with an oscilloscope before measuring or calibrating a timing receiver. If you want to use Skydel to calibrate or verify the calibration of a timing receiver, contact Safran Trusted 4D Canada’s technical support.
2.13.1.2
Data Sets
The data sets settings are located in the Settings – GPS – Data Sets menu.
This menu manages the different data sets imported in the configuration.
Note: These settings are not available for the GLONASS constellation.
A data set describes the state of the satellites in the constellation. This
includes orbital, health, perturbation, and signal control information for all
satellites. Different data sets can be used to simulate specific parameters
for satellite orbits as well as the information transmitted in ephemeris and
almanac parts of the navigation messages. Data sets are imported using RINEX
Navigation, SEM or YUMA files.
In the Data Sets settings page, each column represents an imported data set.
Each row represents a type of data set to which a data set is assigned. The
data set types are:
Ephemeris – parameters from this data set will be used in the “ephemeris” part
of the navigation message.
Almanac – parameters from this data set will be used in the “almanac” part of
the navigation message.
Orbit – parameters from this data set will be used to compute the position of
the SV’s.
100
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
Adding a Data Set
To add a data set to the configuration, click the “Add Data Set…” button and
select the RINEX, SEM or YUMA parameter file to import. The name of the data
set will by default be the name of the imported file. All data set names must
be unique.
By default, there is only the default data set and it is not displayed in the
page as shown in the image above.
Active Data Set
The active data set is the working set of the user. It is the data set that is
displayed in the other settings pages like “Orbits” on page 113,
“Perturbations” on page 116, “Clock & Group Delay” on page 117, and”Health” on
page 118 settings. The name of the current active data set is displayed at the
top of these pages.
CHAPTER 2 · Skydel User Manual Rev. v23.11
101
2.13 Settings: Constellations
Modifying fields in one of these pages will modify the active data set.
Switching to another active data set will not revert the changes made on the
previous active data set.
By default, the active data set is the default data set.
Assigning a Data Set
Each row (Ephemeris, Almanac, Orbit) represents the assignations of data sets
to these data set types. Only one data set can be assigned to a specific data
set type – each row is mutually exclusive. By default, all data set types are
assigned to the default data set.
Actions on Data Sets
By clicking on any of the data set’s name, a menu containing the following
actions will appear:
102
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
Overwrite data – replace the parameters of the data set with the ones from a
new RINEX, SEM or YUMA file. Copy – create a duplicate of the data set. Rename
– change the name of the data set. Delete – remove the data set from the list.
Caution: Changing assignment of data sets may affect SV’s status see “Signal
Enable/Disable” on page 121 section.
2.13.1.3
Message Modification
The Message Modification settings are located in the Settings – GPS – Message Modification menu.
Up to four sub-menus can be present:
LNAV Use this page to modify the navigation message for L1C/A, as well as
P-Code on L1 and L2.
CNAV Use this page to modify the navigation message for L2C and L5.
MNAV Use this page to modify the navigation message for M-Code on L1 and L2.
CNAV-
2
Use this page to modify the navigation message for L1C.
CHAPTER 2 · Skydel User Manual Rev. v23.11
103
2.13 Settings: Constellations
Note: If only the GPS L1C/A and P-Code features are active, the Message
Modification menu displays directly the LNAV message modification page.
Message Modification settings let you override the downlink data being
transmitted by the GPS satellites. All Message Modifications globally work the
same way. The modifications will be applied only if all their specified
conditions are met. Some conditions are common to all navigation message types
like start time, stop time, sender SV ID and signals. And some are specials to
the navigation message type (subframe, page, message type, word, etc…).
Note: If a subframe is partially overlapped by the start and stop time
interval, the subframe is considered to be inside the interval.
Messages modifications can be added either in idle mode or during a
simulation. During a simulation, the message modification events are applied
at the start of the next navigation message respecting the event’s conditions.
Note: For users sending message modification events during a simulation using
the RAPI, take into account the network latency in addition of the latency
preference.
104
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
LNAV
To create a navigation message modification for L1C/A and P-Code, go to
Settings – GPS – Message Modification – LNAV and click the Add button. When
creating a message modification, you may choose the start and end time
relative to the start of the simulation. In the example shown below, the
message modification will begin 15 minutes into the simulation, and will end
30 minutes into the simulation. You can also control which SVs, signals, sub-
frames, pages, and words are affected by the modification. You may set bits to
0, 1, or X. The X indicates that the bit will be negated (0 becomes 1, and 1
becomes 0). By default, message modifications will re- compute the parity bits
so that the message passes parity. You may disable this by unchecking the
“Calculate parity” check box. This is considered to be a form of message
corruption because the message will no longer pass parity.
Note: The “X” on the first indicates that it will be negated (0 becomes 1, and 1 becomes 0). Bit negation is disabled by default; enable it by selecting “Enable bit negation”.
CHAPTER 2 · Skydel User Manual Rev. v23.11
105
2.13 Settings: Constellations
To select the signals which will receive the modification, click on the Change
button. Select All to apply to all possible signals, or Selection to manually
select which one you want.
The Add button will add the message modification to the list. The dialog box
will stay open so that you may easily add a similar message modification. When
you are done creating modifications, close the dialog box.
To edit a message modification, simply select the desired line in the list and
click on the Edit button.
Note: The navigation message sub-frames and pages are aligned with the
beginning of the GPS week. When you set the start and stop times for the
modification, they are relative to the simulation start time, not GPS time.
Changing the simulation start time could make the message modification
ineffective because the specified sub-frame and page are no longer transmitted
at the specified modification start and stop times.
CNAV
To create a navigation message modification for L2C or L5, go to Settings –
GPS Message Modification – CNAV and click the Add button.
106
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
Similar to LNAV message modification, CNAV modifications are defined with
conditions and modifications. The modifications (or corruptions) are applied
only when each of the conditions are met.
Besides the usual conditions such as start, stop, signals and SV ID, you may
specify the message type. You may also specify the message content to match.
For example, you may specify that a modification has to be applied only if a
portion of the message is matching an expected value. Click the Add button on
the Content Match row to enter the expected value.
CHAPTER 2 · Skydel User Manual Rev. v23.11
107
2.13 Settings: Constellations
Click OK to close the Expected Content dialog box. The content match condition
is automatically formatted into a string, becoming in this example:
EQUAL(37, 16, 0x8b27)
108
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
Note: You can leave the Content Match condition empty.
Because the CNAV message is 300 bits long and it is not subdivided in words
like the LNAV message, it is impractical to show a dialog box with 300 buttons
to specify the modifications. Instead, modifications are defined for portions
of the message. To do so, click Add in the Modifications section.
CHAPTER 2 · Skydel User Manual Rev. v23.11
109
2.13 Settings: Constellations
Similar to LNAV message modification, you can force bits to zero or one, or you can invert them (i.e., 0 becomes 1 and 1 becomes 0) using the X symbol. In the example above, the modification 1 – – 0 X X 0 – 1 1 0 1 applies to bits 120 through 131. The table below shows this modification in details.
Bit
Modification
120
Set to one
121, 122
Unchanged
123
Set to zero
124, 125
Inverted
126
Set to zero
127
Unchanged
128, 129
Set to one
130
Set to zero
131
Set to one
Click OK to add the modification. You can add as many modifications as you require.
110
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
Once you are finished adding modifications, click Add to add the event to the
list.
MNAV
To create a navigation message modification for M-Code, go to Settings – GPS
Message Modification – MNAV and click the Add button. MNAV modifications are
similar to CNAV message modification. An additional “occurrence” condition is
available.
CNAV-2
To create a navigation message modification for L1C, go to Settings – GPS –
Message Modification – CNAV-2 and click the Add button.
CHAPTER 2 · Skydel User Manual Rev. v23.11
111
2.13 Settings: Constellations
CNAV-2 modifications are similar to CNAV message modification. The “message type” condition is replaced with a “page” condition.
2.13.1.4
Message Sequence
The Message Sequence settings appear in the menu only if GPS L2C, L5, M-Code
and/or L1C features are enabled on your license.
If more than one of these features are enabled, the Message Sequence settings
are located in the Settings – GPS – Message Sequence menu.
If only one of these features is enabled, the Message Sequence menu is
replaced with the appropriate settings screen (L2C Message Sequence, L5
Message Sequence, MNAV Message Sequence or CNAV-2 Message Sequence).
Use the Message Sequence settings to modify the transmission order of L2C or
L5 messages. Once all messages have been transmitted, the satellites will loop
back to the beginning of the sequence.
Use the Message Sequence settings to modify the different pages of L1C messages. The messages will loop on the enabled pages.
112
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
2.13.1.5
Orbits
The Orbits settings are located in the Settings – GPS – Orbits menu.
You can use the Orbits settings to control the locations of the satellites
within the constellation. To make a change to a satellite’s orbit, you must
first select the appropriate SV ID.
CHAPTER 2 · Skydel User Manual Rev. v23.11
113
2.13 Settings: Constellations
Click the value of an orbital parameter to modify it. When modifying a parameter, you have the option to replicate this value for all remaining satellites.
If you want to remove Doppler shift on the satellite, you can uncheck the “Update sat. position during simulation” checkbox. This will violate the laws of physics and suspend the satellite in a fixed location relative to the Earth. This can be useful for certain types of testing.
114
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
The Orbits settings will display the parameters of the active data set (see
“Data Sets” on page 100).
Geostationary
You can also put a GPS satellite on a geostationary orbit. To do so, simply
check the Geostationary box. You will notice that the orbital parameters are
automatically changed to reflect the geostationary orbit. These parameters are
readonly when the geostationary box is checked.
When the Geostationary box is checked, the satellite longitude can be
modified. Click on the button to enter the desired value.
Caution: When you check the Geostationary box, it changes the orbital
parameters. When you uncheck the Geostationary box, the previous orbital
parameters are not restored. The values stay the same and match the last
geostationary longitude entered.
If your last actions were made in this settings panel and you want to restore
the orbital parameters to what they were before you checked the geostationary
box,
CHAPTER 2 · Skydel User Manual Rev. v23.11
115
2.13 Settings: Constellations
you can use the Undo command (Ctrl+Z) several times until you rollback to the
desired settings.
2.13.1.6
Perturbations
The Perturbations settings are located in the Settings – GPS – Perturbations
menu.
The Perturbations settings can be used to modify the harmonic corrections of
the satellite’s orbit. To make a change to a satellite’s perturbations, you
must first select the appropriate SV ID.
You can easily clear the perturbations for a satellite by clicking the Clear
Sat button. You can clear the perturbations for all satellites by clicking the
Clear All Sat button.
The Perturbations settings will display the parameters of the active data set
(see “Data Sets” on page 100).
116
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations
2.13.1.7
Clock & Group Delay
The Clock & Group Delay settings are located in the Settings – GPS – Signal
Control menu.
You can use the Clock & Group Delay settings to modify the satellite clock
errors and inter-signal biases. To make a change to a satellite’s clock and
group delay, you must first select the appropriate SV ID.
Changing the availability of a clock correction term will only affect the
downlink data and not the pseudorange.
The Clock & Group Delay settings will display the parameters of the active
data set (see “Data Sets” on page 100).
CHAPTER 2 · Skydel User Manual Rev. v23.11
117
2.13 Settings: Constellations
2.13.1.8
Health
The Health settings are located in the Settings – GPS – Health menu.
Use the Health settings to modify the health bits being broadcast by the
satellites. These values will be broadcast in the ephemeris, the almanac, and
in the page 25 health message. To make a change to a satellite’s health you
first have to select the appropriate SV ID.
Use the Apply-to-all button to apply the health bits to all satellites. L1/L2
Signal Health and Data Health are applied to the NAV message for both L1 C/A
and P-Code signals. L1, L2 and L5 Health Bits are applied to the CNAV message
for L2C signals. L1C Health Bit is applied to the CNAV-2 message for L1C
signals. If the health value indicates that the signal is not being
transmitted and you want the satellite to stop transmitting the signal, you
must manually turn off the RF in the “Signal Enable/Disable” on page 121
screen. The Health settings will display the parameters of the active data set
(see “Data Sets” on page 100).
2.13.1.9 Multipath
The Multipath settings are located in the Settings – GPS – Multipath menu.
118
CHAPTER 2 · Skydel User Manual Rev. v23.11
2.13 Settings: Constellations To simulate multipath propagation, each path (or
echo) must be entered manually. To replicate a NLOS (Non-Line-of-Sight)
scenario, it’s also possible to disable the direct line of sight so that only
echoes will reach the receiver antenna. To do so, uncheck the Line of Sight
(LoS) Enabled box.
For each echo, you can control 4 fundamental attributes: pseudorange offset,
power loss, Doppler shift and carrier phase offset.
CHAPTER 2 · Skydel User Manual Rev. v23.11
119
2.13 Settings: Constellations
Pseudorange offset
This value indicates the extra distance the echo signal has to
References
- USRP Hardware Driver and USRP Manual: GPIO API
- USRP Hardware Driver and USRP Manual: OctoClock
- navigation-timing.com
- OpenStreetMap
- The World Leader in Resilient PNT - Safran - Navigation & Timing
- GNSS Software Defined Receiver Metadata Standard
- streetmap.org
- DekTec Drivers and SDKs
- DC to 6 GHz Daughterboards for USRP SDRs - Ettus Research | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)
- Ettus Research - Cables & accessories for USRP SDRs | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)
- Board Mounted GPSDO (OCXO) | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)
- OctoClock Clock Distribution Module - Ettus Research | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)
- OctoClock Clock Distribution Module with GPSDO - Ettus Research | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)
- Official Drivers | NVIDIA
- cddis.nasa.gov/Data_and_Derived_Products/GNSS/broadcast_ephemeris_data.html
- cddis.nasa.gov/Data_and_Derived_Products/GNSS/daily_30second_data.html
- Earth-centered, Earth-fixed coordinate system - Wikipedia
- Euler angles - Wikipedia
- World Geodetic System - Wikipedia
- USRP Hardware Driver and USRP Manual: OctoClock
- GitHub - learn-safran-navigation-timing/skydel-snmp: SNMP support for Skydel
- Safran GNSS & Skydel Simulation Community - Skydel User Forum
- The World Leader in Resilient PNT - Safran - Navigation & Timing
- Building your own GNSS Simulator - Safran - Navigation & Timing
- Contact Us - Safran - Navigation & Timing
- Convert a Motion-Based Trajectory Into a Waypoint Trajectory for Skydel - Safran - Navigation & Timing
- Advanced GNSS Jamming with a GSG-8 - Safran - Navigation & Timing
- Adding Jamming and Spoofing to a GNSS Simulation - Safran - Navigation & Timing
- The GNSS Spectrum - Safran - Navigation & Timing
- GNSS Spectrum Status - Safran - Navigation & Timing
- Guide for GPU Selection for GNSS Simulation - Safran - Navigation & Timing
- Skydel Support Hub - Safran - Navigation & Timing
- ASF-10G-T
- DekTec Drivers and SDKs
- DC to 6 GHz Daughterboards for USRP SDRs - Ettus Research | Ettus Research, a National Instruments Brand | The leader in Software Defined Radio (SDR)
Read User Manual Online (PDF format)
Read User Manual Online (PDF format) >>