- Intermittent issue when using multiple channels: the generated signal could be wrong on one of the RF Outputs. All RF Outputs are now forced to use the same sampling rate.
- Window of validity for Galileo navigation message was changed. The time of ephemeris is now always in the past by 600 to 1200 seconds. The update interval is now 600s.
- Window of validity for BeiDou navigation message was changed. The time of ephemeris is now always in the past by 0 to 3600 seconds. The update interval is now 3600s.
- Updated GPS and Galileo health when importing Rinex.
- Added health page for BeiDou and GLONASS.
- Added Quit command to quit SDX through API.
- Remote API version 15:
- GetLastHilWarning (to replace GetHilWarning)
- SimulationElapsedTimeResult: Fixed typo in variable name (milliseconds)
- HilWarningResult: new parameters to indicate if extrapolation occured
- GetHilWarning (replaced by GetLastHilWarning)
- Added Commands
- In GPS->Health settings, show correct Data Health choices in combo box.
- Fixed bug where simulation would stop when pause is pressed if config has “Stop at the end of trajectory”.
- Added User Manual in Help menu
- Added Galileo E5a and E5b signals
- Added BeiDou B1 and B2 signals
- Redesigned Modulation Page to simplify signals selection. As a result, the remote API had to be changed (see details below). Existing configurations can be loaded, but the sampling rate might change. It is recommended to save the configuration to update the file format to the latest version.
- The Modulation page was renamed “Output” in the Settings menu
- Let user import Rinex navigation message file for Galileo constellation
- Added support for Rinex version 3
- Receiver and Analysis tabs are now optimized for NMEA 0183 version 4.10
- Galileo I/NAV word types 8, 9 and 10 (almanac) now set signal health status according to user parameters set in configuration. In version 16.7.0, only the word type 5 was set with user parameters.
- Added support for minute unit in CSV parser wizard
- Added F/NAV Source Diversity settings to let user choose almanac offset for each satellites (referred as parameter K in Galileo ICD)
- Added BeiDou → Motions and BeiDou → Perturbations Page
- Added Age of Issue Button in BeiDou → General Settings
- GPS time is now displayed as week and second instead of rollover, week and second. The week includes the rollover (value can exceed 1023).
- Added option to automatically stop the simulation at the end of a track or route trajectory
- Remote API version 14:
- General Commands:
- Commands related to Galileo constellation:
- Commands related to BeiDou constellation:
- General Commands:
- Removed Commands
- Added Commands
|Removed Command||Replaced by|
- Galileo E1 Signal: inversion of navigation message bits
- Changing CSV column separator in wizard now correctly update column picker
- Fixed bug introduced in 16.7.0 where update sat position check box in GPS and Galileo orbits pages had no effect
- Fixed speed of imported routes from csv, when speed is speciefied in Km/h
- Fixed heading if vehicle when vehicle motion is paused
- First message in L2C message sequence is now aligned with GPS second 0 instead of simulation start time
- Added GPS NAV/CNAV Alert Flag control during simulation
- Remote API
- SetGpsSatelliteNavAlertFlag: Changed command execution permission
- SetGpsSatelliteCNavAlertFlag: Changed command execution permission
- Modified Commands
- Added GPS NAV/CNAV Alert Flag control in Settings>GPS>Heatlh
- Remote API
- SetGpsSatelliteNavAlertFlag: Set Alert Flag value for GPS NAV message
- SetGpsSatelliteCNavAlertFlag: Set Alert Flag value for GPS CNAV message
- Added Commands
- Fixed performance issue when new satellite appears in the Skyview.
- Fixed bug introduced in 16.7.0 where edit to idot (inclination rate) was discarded.
- Added Galileo E1 signal.
- Moved Leap Seconds Future from Settings>GPS>General to Settings>Start Time.
- The LSF setting applies to both GPS and Galileo navigation message. By default, LSF is now enabled.
- Redesigned the Sky View with new color coding to improve readability when GPS, GLONASS and GALILEO are enabled simulataneously. Also, satellites with negative elevation are displayed with a minus sign above the PRN number. For GEO orbit, if a GNSS satellite is exposing its back side to the receiver, a dot will be displayed below the PRN number. Click the ‘i’ button in the Sky View to see the legend.
- Added feature to allow multiple instances of SDX to run on the same computer. Requires a new license file.
- Default ephemeris for GPS and GLONASS has changed
- Default simulation start time has changed
- Remote API
- SetGalileoSatMotionFixed: Allow to fix the Galileo satellite position in space.
- SetIssueOfDataGalileo: Set Galileo Issue of data (IOD nav & IOD alm).
- SetGalileoSatelliteDataHealth: Set Galileo data health.
- SetGalileoSatelliteSignalHealth: Set Galileo signal health.
- SetPowerGalileoE1Offset: Set global power offset for Galileo E1 signal.
- ImportGalileoRinex: Import Galileo RINEX file.
- SetGalileoEphemerisReferenceTime: Change the orbit parameters reference time for Galileo.
- SetGalileoEphemerisDoubleParam: Change Galileo orbit paramter value.
- SetGalileoEphemerisDoubleParams: Change Galileo orbit parameter value for all satellites at once.
- ResetGalileoPerturbations: Set Cxx parameters to zero for Galileo.
- SetGalileoPerturbations: Set Cxx parameters for Galileo.
- SetGalileoPerturbationsForAllSat: Set Cxx parameters for Galileo for all satellites at once.
- EnableRF / EnableRFForEachPrn: System parameter value “Galileo” is now accepted.
- EnableSignal / EnableSignalForEachPrn: Signal parameter value “E1” is now accepted.
- Added Commands
- Added antenna gain and signal power in raw (csv) log file.
- Under Linux, fixed group permissions of SDX’s lockfile. This could prevent multiple users to start SDX.
- GPS navigation message is now updated based on signal selection.
- Added option to ignore GGA fix quality when importing NMEA file.
- Reversed reserved bits in GPS NAV message (subframe 1) from 0101 to 1010…
- Fixed transmission of GPS L2C and GPS L2P signals when simulation start time is “Current Computer Time”.
- Fixed multi-user lock mechanism of SDX under Linux.
- Improve Route and Track interpolation algorithm for airborne/spaceborne vehicle to minimize acceleration and jerk.
- Add python example to import a realistic airplane track from a 6DoF csv file.
- Add Signals selection page in GLONASS settings to enable RF and/or specific signals for each satellite individually.
- Add Alpha/Beta Ionospheric corr. controls in Atmosphere Settings.
- Remote API
- EnableRFForEachPrn : Enable/disable RF for all PRN with a vector.
- SetIonoAlpha / SetIonoBeta : Set the ionospheric corr. alpha/beta.
- EnableRF : Let you set all satellites to same value using PRN 0. The command also work for GLONASS now.
- EnableSignal : The command also work for GLONASS now.
- Added Commands
- Vehicle motion now has 6 degrees of freedom (6DoF). Body position is defined with (x,y,z) in ECEF and attitude is defined with yaw, pitch and roll in the body carried NED system. The antenna offset also has 6DoF and is defined with x,y,z,yaw,pitch,roll in the body frame.
- Removed vehicle trajectory length limitation.
- Add support for Route and Track. Route are defined with speed, position and attitude while Tracks are defined with timestamp, position and attitude.
- Antenna pattern is now defined for [-90…+90] degrees instead of [0…+90].
- Add receiver GEO orbit support.
- Add Ionospheric model for spacecraft.
- Rename Ionospheric model “Simple” to “Klobuchar”.
- Improve signal strength model which now works for ground, airborne and spaceborne vehicles.
- It is now possible to set satellite power even when they are masked.
- Elevation mask now let you mask below and above user defined angles. It is also possible to disable masking function.
- Sky view now display satellites with negative elevation angle if they are not eclipsed by the Earth. The Earth masking line is also displayed in blue when the receiver altitude is above 100km.
- Remote API version 13
- ClearAutomatePage : Same as clicking on Clear button in Automate Page.
- Pause : Pause vehicle motion during simulation.
- Resume : Resume vehicle motion during simulation.
- SetElevationMaskBelow : Mask satellite with elevation angle below value.
- EnableElevationMaskBelow : Enable elevation mask.
- SetElevationMaskAbove : Mask satellite with elevation angle above value.
- EnableElevationMaskAbove : Enable elevation mask.
- SetGpsEphemerisBoolParam : Set various bool parameters in Ephemeris.
- ImportTrack : Import CSV track file (timestamped positions).
- SetVehicleAntennaOffset : Set position and angular antenna offset.
- EnableTrajectorySmoothing : Enable/Disable trajectory smoothing for Track or Route.
- ForceAttitudeToZero : Force vehicle yaw, pitch and roll to zero.
- BeginTrackDefinition / EndTrackDefinition : Functions to construct a Track for the vehicle trajectory.
- PushRouteEcef : Replaces PushRouteNode and work with ECEF XYZ instead of LLA coordinates.
- SetVehicleTrajectoryFixEcef : Same as SetVehicleTrajectoryFix but use ECEF XYZ instead of LLA coordinates.
- SetStartTimeMode : Mode is now a string instead of a boolean value
- SetVehicleTrajectoryFix : Now contains additional parameters: Yaw, Pitch and Roll.
- PushRouteNode (Replaced with PushRouteEcef)
- SetElevationMask (Use SetElevationMaskBelow instead)
- Added Commands
- Af0 and Af1 are now coerced with correct limits.
- Fix issue with Rinex import tool when file is missing satellites.
- Python script export now end lines with carriage return and line feed for Windows.
- Remote API C++: Add example to receive real-time vehicle informations broadcasted by SDX during simulation
- Import NMEA: Now accept files which contain only GGA or only RMC sentences
- Add control to set GPS orbit reference time
- L2C NAV message is replaced with CNAV message
- Add Signal Selection combinaison for X300/310:
- GPS L1C/A + GLONASS G1 on RF A and
- GPS L2C + GLONASS G2 on RF B simultaneously
- Note: This option requires 50M samples per second. Recommended GPU is GeForce GTX 980 or better
- Let user choose between GPSDO and EXTERNAL clock
- Changes to Settings menu
- Move Rinex import from Settings>GPS>Orbit to Settings>GPS>General
- Rename Settings>GLONASS>Import Files as Settings>GLONASS>General
- Warn user if selected sampling rate is insufficient for selected signals
- PPS out calibration
- Remote API version 12
- LockGUI, UnlockGUI: Useful to optimize configuration time when you need to send hundreds of commands
- EnableRF: Turn satellite RF on/off for all signals (replaces SetGpsSatelliteOn)
- EnableSignal: Turn satellite signal on/off. Allows you to control which signals are generated for each satellite. If EnableRF is off for the satellite, all signals are off as well
- EnableSignalForEachPrn: Same as EnableSignal, but applies to all PRN
- SetSatPower: Control satellite power (replaces SetGpsSatPower and SetGlonassSatPower)
- ResetAllSatPower: Reset all satellites power to nominal value (replaces ResetAllGpsSatPower and ResetAllGlonassSatPower)
- SetGpsTime: Set the simulation start time using GPS time. It replaces the command SetStartTime that was using the UTC time
- SetLeapSecond: Set the current leap seconds
SetGpsSatelliteL5HealthBit: Set L1/L2/L5 health bit for L2C CNAV
EndRouteDefinition: Allow user to create a custom track
- SetGpsEphemerisReferenceTime: Change orbital parameters reference time for each GPS satellite.
- SetSyncTime: Set time delay to start streaming in order to allign PPS out Signal with RF
MoveDownCNAVMessage: Create custom L2C message sequence
- SetModulationOutputUsrpX300: Parameter RefClk was added to let user choose between GPSDO or EXTERNAL Clock
- SetGpsSatelliteOn (replaced with EnableRF)
- SetGpsSatPower (replaced with SetSatPower)
- SetGlonassSatPower (replaced with SetSatPower)
- ResetAllGpsSatPower (replaced with ResetAllSatPower)
- ResetAllGlonassSatPower (replaced with ResetAllSatPower)
- SetStartTime (replaced with SetGpsTime)
- Added Commands
New Feature in BETA:
- Code Injection DLL (BETA 2, Interface V.2)
- Export Python script on Windows now properly format text file with carriage return and line feed (\r\n)
- Add robustness in Rinex file importation
- Rinex with missing PRN can now be imported
- Coerce leap second when importing Rinex GLONASS Navigation Message file
- Support for X300 equipped with only one daughterboard
- Add support for BladeRF Firmware version 1.9.0
- Remote API: Add functions to get current vehicle trajectory information (position, distance, speed, heading)
- Remote API: Add C# client library
- Remote API: Fix ending of simulation in HIL mode
- Remote API: Fix C++ client library when sending arrays to SDX
- Bug fix: incorrect error message indicating “Unable to set Reference clock to External clock” for USRP devices equipped with GPSDO
- Add PPS synchronization
- Multiple simulators based on NI/Ettus SDR hardware can now be synchronized with 10 MHz reference clock and PPS
- Add PSR ramp to change pseudorange in real-time
- Let user change navigation message events during the simulation
- Add simulated receiver ECEF coordinates (truth) in raw log file
- Satellite raw log files now include:
- Elapsed Time (ms)
- ECEF coordinates
- Azimuth, Elevation
- Range, PSR, Clock Correction
- Iono and Tropo Corrections
- PSR ramp (sum of all ramps at any given time)
- Logging rate can now be set to 10 Hz, 100 Hz and 1000 Hz
- Add support to import CSV file trajectory
- Multiple changes to Remote API
- Add GetState function
- Add C++ client library
- Sending remote command to Stop simulation when simulation is not running no longer returns an error. It now returns success and the command has no effect
- Remove StopOnCommandFailed function. This feature is now in the application Preferences → Stop simulation when a remote command fails
- Improved HIL
- Latency is more deterministic
- API now using UDP instead of TCP protocol
- API is simplified and works with fewer calls
- Fix an issue in HIL mode that was causing jerk even when data was received in real-time.
- Fix crash when running a script for the first time
- Fix python script exportation
- For Ettus X300/X310: Limited Send Frame size to 4KB: prevents “Transmission Sequence Errors” on some systems
- Add L2C Nav signal
- Add Earth-orbiting receiver trajectory
- Add GPU Benchmark in modulation settings page
- Show modulation settings page when creating a new configuration
- Improve locations search in track wizard
- Add Copy from Clipboard button to import KML track
- Change default power offset at -3.0dB for P-Code and -2.5 for GLONASS
- Fix a misaligned track displayed in the map widget for the analysis page
- When searching for addresses in the Route Wizard, if the given information is ambiguous, or not found, the Wizard will try to make suggestions
- When importing NMEA file, if is doesn’t contain GGA sentences, or if the GGA format is not recognized, the parser will create a track with only the RMC sentences and set the altitude to 0m
- Improve track validation. It must contain at least 3 points and be less than 300km
- Add GLONASS navigation message modification / corruption
- NMEA Import: now skip GGA sentences with fix quality set to invalid
- ladeRF: Simulator will raise an error when connected with USB 2.0 instead of 3.0
- Create Route Wizard: Fixed crash when speed was set to invalid value (0 km/h). Speed lower limit is now 1 km/h.
- NMEA Import: Add support for talker ids GL and GN
- KML Import: If file contains multiple tracks or tracks, the user can now select which one to import
- KML Import: Fixed crash when, in some cases, 2 waypoints were at the same location
- Add support for BladeRF x40 SDR (BETA). On Windows, you need to install the latest driver from Nuand
- Add support to import KML file to define receiver trajectory
- Improve track smoothing when importing NMEA or KML file
- Add GPS L2 P-Code (requires optional license)
- Add GLONASS G1 (requires optional license)
- Add “None Real-Time” option in modulation output target.
- The “None Real-Time” option can be useful to test the remote API without an SDR if you need the simulator to respond as if the SDR was connected
- The “None” option is still available. This option is useful to generate log file for offline analysis as fast as possible
- Add interference injection (CW and Chirp signal)
- Add GPS navigation message modification/corruption
- Add button to export Python script in the Automate tab
- Improve text rendering for various screen resolution and DPI