SAFRAN Skydel Software Defined Gnss Simulator User Manual

June 16, 2024
Safran

SAFRAN Skydel Software Defined Gnss Simulator

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

Read User Manual Online (PDF format)

Read User Manual Online (PDF format)  >>

Download This Manual (PDF format)

Download this manual  >>

Related Manuals