SatGen v3 Software History

Stock code:
Latest update:

3.14.17 BETA

3.14.17 Beta - April 2022
Bugfix: maps within SatGen now accessible.
New Feature: Custom leap second simulation.
New Feature: Repeat KML - repeate the route of a loaded KML file a specific number of times.
Misc: HASP drivers upgraded to version 8.31.
Misc:.NET 6 is now required and .NET 6.0.4 is installed when not present.
Bugfix: GLONASS carrier is no longer transmitted by LabSat 2 RT when only simulating GPS.
Bugfix: wrong longitude of ascending note was transmitted in GPS L1C/A almanacs whose reference time was in a different GPS week.
Bugfix: Correct dummy satellite ID is now transmitted in subframes 4 and 5 of the GPS L1C/A navigation message.
Optimization: RealTime (Current Time) simulations now start on a whole minute only (UTC).  
Bugfix: GLONASS simulations were not accepted by Topcon receivers.
	o  SatGen now transmits a non-zero value of "Tau n" parameter in the navigation message (around 1ns, a corresponding delay is introduced to the signal).
Bugfix: Unable to disable constellation(s) during Real-Time simulation.
Bugfix: customers using a password protested proxy server were not able to download almanacs.
Bugfix: real time simulations randomly stopping the transmission to LabSat and spinning the progress out of control on some machines.
Optimization: common problems in NMEA files acquired from real GNSS receivers are now automatically fixed:
	o Correct timestamps are applied retrospectively in situations when the receiver started without satellite visibility and used timestamps starting at some arbitrary time of day and then at some point acquired the correct time 
	o A small (and usually negative) time shift resulting from a different number of leap seconds applied at some point by the GNSS receiver now gets fixed.  All timestamps prior to that shift get updated.
Optimization: LabSat Real Time USB communication library updated to version 2.4.7691 (21.01.2021).
Bugfix: The simulated time displayed in the title bar during Real Time (current time) simulations was not precisely synchronised with the real world clock
Bugfix: SatGen no longer crashes when loading an almanac with unsupported (high) satellite IDs.
New feature: "Total" satellite count limit mode introduced. It is similar to "Auto", limits the total number of satellites, but doesn't decrement it after each buffer underrun.
Optimzation: Support for more than 64 processors.
Misc: Real time simulations now force entering the administrator mode. Running whole SatGen as administrator will allow the user to avoid having to click the UAC prompt each time a real time simulation begins.
Optimization: Two out of the three new features introduced in Galileo ICD ver. 2.0 are now implemented:
	o Eight SSP bits are now transmitted in place of the "Reserved 2" sequence on E1B.
	o Word type 16 containing the Reduced CED (Clock and Ephemeris Data) is now transmitted on E1B in line with the published nominal subframe layout.
	o Word types 17-20 containing the FEC2 Reed-Solomon correction code will be implemented later.

3.13.1 - Oct 2020
Bugfix: wrong date (precisely one week forward) was indicated by receivers during the last 2 hours before the end of the GPS week (Saturday/Sunday night).
Bugfix: .NET Core version newer than 3.1.3 was not correctly recognised during installation.
UI Fearture: Support added for allowing stops along a KML route.
UI Bugfix: Navic L5 was treated as a different frequency than GPS L5 and Galileo E5a.  As a result the reported number of simulated frequency bands was too high and noise functionality was disabled too early for LS3W.
Feature: Navic S-SPS signal is now officially available.
Optimization: Performance improved by 50-82% (depending on the simulated signals and the CPU model).
Misc: Memory management rewritten.
Misc: .NET Core 3.1.8 is now installed with SatGen
Bugfix: wrong order of LabSat 3 channels.
UI Bugfix:  Navic signal selection was not preserved between sessions.
Misc: HASP drivers ver. 8.13.

3.12.5 - May 2020
* SatGen now requires .NET Core 3.1.3 *
Bugfix: U-centre KML format from LabSat 3 HDD now supported.
Optimization: The algorithm responsible for choosing which satellites to simulate in real time mode (when the number of satellites is restricted) has been changed.  It now offers better satellite geometry.
Optimization: RealTime window is now slightly wider to show more satellites by default (it can always be resized if necessary).
Bugfix: simulation without a dongle was interrupted too late, not exactly after 120s.
Optimization: Ionospheric delay algorithm improved for situations when the receiver flies through the ionosphere.
Optimization: Simulation performance improved by 5-10% (depending on the selected signals).
Feature: NAVIC (formerly known as IRNSS) L5 signal has been added to SatGen.
Feature: The carrier-to-noise-density ratio C/N0 is no longer displayed as an absolute value, but it is now expressed as attenuation from the pure signal level.  C/N0 can now be reduced by up to 15 dB-Hz in 1 dB-Hz steps.  If attenuation is not zero, same amount of noise is added to all simulated signals.
Optimization: Improved reliability of Real Time simulations– unless a serious problem occurs, individual buffer underruns should not affect the continuity of the signal.
Feature: The anti-spoofing flag transmitted in the GPS L1C/A navigation message is now automatically set depending on the selected signals:
  o	When L1C/A is simulated, but neither L1P nor L2P:
The anti-spoofing flag is ON.
This tells the receiver that the encrypted Y-Code is transmitted instead of the public P-Code on L1 and L2.  SatGen can't simulate the Y-Code, but we set the anti-spoofing flag to ON, because some receivers refuse to work if that flag is OFF.
  o	When L1C/A is simulated together with any of L1P and L2P signals:
The anti-spoofing flag is OFF.
This tells the receiver that the public P-Code is transmitted on L1 and L2.
Misc: HASP drivers upgraded to version 7.103.

3.11.42 - December 2019
Bugfix: BeiDou is now simulated correctly using the almanacs downloaded from the server.

3.11.42 - October 2019
SatGen UI: 
    Noise controls added back.  Noise is disabled when more than 3 frequency bands are in use.
    Elevation mask text box now greys out the displayed number when True Horizon is selected.
Feature: Noise functionality added back to the simulation engine.
Misc: HASP HL drivers ver. 7.100.

3.11.39 - July 2019
Feature: Galileo signals added:
         E1 B/C
         E6 B/C*
         *Dummy navigation message transmitted on E6.
Feature: BeiDou B3-I signal added.
Misc: BeiDou B1-2I signal removed.  
Misc: A single checkbox is now displayed for GPS L5 in place of two separate checkboxes for GPS L5 I and GPS L5 Q.
      GPS L5 is one signal, which consists of data and pilot components, which are always transmitted together:
      L5 = L5I (data) + L5Q (pilot)
      Same rule applies for the new Galileo signals:
      E1 B/C = E1B (data) + E1C (pilot)
      E5a = E5aI (data) + E5aQ (pilot)
      E5b = E5bI (data) + E5bQ (pilot)
      E6 B/C = E6B (data) + E6C (pilot)
SatGen UI: all signals unavailable for the currently plugged dongle or for the device are greyed out.  Quantisation may drop from 3 to 2 or from 2 to 1 if it is unavailable for the selected combination of signals.
Optimization: Galileo E1 B/C is transmitted on the same frequency as GPS L1 C/A hence those two signals are treated as one constellation when using single-, dual- and triple-constellation dongles.
Optimization: Almanacs transmitted in the navigation message are now updated at an interval appropriate for the constellation (e.g. once per day for GPS).  
Misc: GPS rollover almanac removed from the installer as rollovers can now be simulated with any almanac.
Feature: Elevation mask can now be set to "True horizon".  This is going to be very useful for space simulations where more and more satellites become visible when the rocket is climbing.
Optimization: Memory management improved.  That is especially significant for space simulations.
Bugfix: L2C and L5 navigation message checksums were wrong
Optimization: GPS L5 performance improved by 11%
Feature: Signal-to-noise ratio controls have been removed.  From now on, SatGen always generates pure signal without any artificial noise added.
Optimization: Optimal algorithm is now used to split the requested signals into LabSat 3 Wideband output channels and choose best centre frequencies and bandwidths.
Feature: Racelogic almanac server is now used for downloading almanacs.
Misc: HASP HL drivers updated to ver. 7.91.
Optimization: EGM96 geoid is now available (previously we only had EGM84, but most of modern receivers, especially the high grade ones, use EGM96)
Optimization: Running real time simulations no longer requires administrator privileges.  After recent changes, running SatGen as user is faster than running it as administrator.
Misc: Simulation engine now performs some basic sanity checks on the input NMEA file and an error message is displayed if samples are missing, timestamps are wrong or sampling rate is not consistent.  
Misc: Racelogic Clock sync intervals changed to 15m, 1h, 3h.  Default: 1h.
SatGen UI bug fix: Redmine entries 13275,13278,13279
Optimization: Slightly tweaked signal bandwidths for LabSat 3 Wideband.
Feature: BeiDou almanacs can now be downloaded from the server.
Optimization: Improved error handling (informative message boxes displayed in situations where previously the error was quietly logged to a file).
Feature: SatGen now officially supports space simulations.  
Bugfix: detected NMEA file errors were written to the log file twice.
SatGen UI Bug Fix: Redmine 13415, 13416
SatGen UI Bug Fix: RT simulations allowed without RT dongle

3.11.26 - November 2018
SatGen UI: Default signal to noise ratio changed to 4dB below the maximum.
SatGen UI Bug Fix: Google Maps was displayed in Developer Mode.
SatGen UI Bug Fix: only GPS L1C/A was available with a single constellation dongle plugged in.
Optimization: height limit of 2000km is no longer in force, SatGen can now efficiently simulate trajectories even beyond the geostationary orbit.The maximum heights when simulating different constellations are:
              GPS – 56000 km
              GLONASS – 57000 km
              BeiDou – 40400 km
Optimization: Racelogic Clock now uses a monospaced font to prevent digits from moving when displaying different values.  

3.11.19 - September 2018
Optimization: Performance improved by 12%.
Bugfix: Wrong ephemeris parameters transmitted by BeiDou geostationary satellites (SV 1 to 5) directly after crossing a BDS week boundary.  
Bugfix: Wrong ephemeris was causing very short signal dropouts every even hour for GPS and every half an hour for Glonass.
Optimization: Newest HASP driver is now included in SatGen Installer.
Bugfix: Occasionally (near the BeiDou week boundary) the "toa" (Time of Almanac) parameter in the BeiDou navigation message was wrong.  This had no effect on the position reported by receivers.
Bugfix: Most of satellites rising during the simulation had wrong ephemeris and receivers were not able to get a lock.
Feature: New EULA for SatGen installer.
Optimization: Several changes improving simulation accuracy.
Optimization: Simulating highly dynamic trajectories is now much improved. 
Bugfix: LabSat 2 Real Time simulations no longer write exceptions to the log file when closing.
Feature: Support added for GPS L1P, L2P, L2C, L5I, L5Q, L1M (noise), L2M (noise), GLONASS L2OF and BeiDou B1-2 I, B2I.  All signals can be selected simultaneously for LabSat 3 Wideband with a Wideband dongle plugged in.
Optimization: "time left" estimate during simulation is now much more stable and accurate.
Feature: SatGen log files now include the simulation engine version.
Feature: Any problems experienced when writing output files (such as running out of disk space) are now reported using message boxes. 
Feature: Simulation engine prevents the operating system from shutting down until the currently running simulation is fully stopped.
Feature: Simulation engine now pops up a message box if an almanac with no satellites is used.
Bugfix: Rare crash when running space simulations (satellite visibility issue when flying at orbital speeds and using negative elevation mask).
Bugfix: Crash when running extremely short simulations (e.g. 1 second – the minimum permitted simulation length).
Bugfix: Crash when no satellites in view.
Bugfix: State of the "Satellite number limit" checkbox in RealTime mode was not preserved between sessions.
SatGen UI: signal levels for individual constellations now default to their maximum values.  
Feature: negative elevation masks down to -20° are now permitted. 
SatGen UI: acquisition delay is now disabled for Static simulations. 
SatGen UI Bugfix: Crash when attempting to write or create satgenV3.ini file in Program Files when running SatGen from a user (non-administrator) account. 
*-SatGen now requires .NET Framework 4.7.2-*

3.11.3 - February 2018
Feature: Error message is now displayed when simulation engine detects an invalid almanac file (selected in the SatGen UI).
Feature: Error message is now displayed when simulation engine detects an empty trajectory.
SatGen UI Bugfix: LabSat 3 Wideband output filename had two dots after being edited manually
SatGen UI Bugfix: example scenarios were broken (Square, Figure of Eight)
SatGen UI Bugfix: German VBO file issues (comma as a decimal point still present in the nmeaInput.txt file)
SatGen UI Bugfix: NMEA file written by SatGen had the East and West swapped
SatGen UI Bugfix: if you set the simulation output to NMEA, if the file already existed, it wasn't overwritten
SatGen UI Bugfix: the velocity and acceleration values in rawoutput.txt didn't match the units in the header (the values were in cm/s and cm/s2 instead of m/s and m/s2)
SatGen UI Bugfix: generated nmeaInput.txt was longer than the defined scenario length, it contained extra samples rounding up to a whole second
Bugfix: problem with reading geoid separation from the configuration file Profile.txt.  It seems NMEA option was not working.
Almanac loading routines rewritten.
Bugfix: broken LabSat 1 output.  The *.bin files didn't have the LS1 intermediate frequency applied and the resulting signal was unstable.
Bugfix: broken LabSat2 RealTime simulation for BeiDou and Glonass.  Only GPS was working correctly.

3.10.7 - November 2017
Bug fix: UI - VBO file import was swapping East with West.

3.10.6 - October 2017
Bug fix: UI - File extension from a cancelled attempt to load a KLM or VBO file was displayed when loading an NMEA file.
Bug fix: UI - Height command with metres was freezing the software and throwing "Out of Memory" error, validation message now present.
Bug fix: UI - Comma was not accepted as a decimal point when loading VBO files.
Bug fix: The default almanacs for BeiDou were outdated.  A new almanac has been added "BDS_20170822.alm" and it is automatically selected for simulations starting on 1st July 2016 and after.
Bug fix: Output files were sometimes longer than the scheduled simulation time.
Bug fix: UI - wrong distance written to the NMEA file when executing the following commands: speed=72@100m wait 4s. One NMEA sample was missing.
Bug fix: Wrong GPS L1C/A subframe was transmitted just before midnight on Saturday/Sunday night (GPS week boundary).
Feature: Support added for NMEA files with lat/long expressed as fractional degrees.
Bug fix: Simulations which were just a few seconds long were crashing.
Feature: LabSat 3 Wideband output added. 1, 2 and 3bit quantisation is available for up to 3 constellations at a time in LS3W format.
Feature: 2-bit and 3-bit files now use the AGC (Automatic Gain Control) to maintain the optimum level of quantisation.
Optimization: Performance improved by 48%. RealTime performance on machines with 2 or more physical processors improved by 68%.
Bug fix: GLONASS accuracy has been greatly improved (pseudo range residuals dropped from 3-7m to 0.5-2m).  
Bug fix: GPS and BDS receivers were losing satellite lock for up to one minute on a week boundary (around midnight on Saturday/Sunday night).
Bug fix: Occasional 2-second drop-outs of individual satellites starting to occur after 5-6 minutes of simulation.
Feature: BeiDou GEO satellites (B1, B2, B3, B4, B5) are now implemented.  Note that they will only be simulated for LabSat 3 Wideband.
Feature: Due to performance optimisations the maximum permitted trajectory height is 2000km (1243 miles).  
Feature: LabSat2 and LabSat3 files now include the version of SatGen in the file header. LabSat 3 Wideband .ini files now have the SatGen version written to their [notes] section.
Bug fix: All output file names were lower case even if the typed in output names were using Capital Letters.
Bug fix: 1-bit RealTime output was broken on all machines.
Bug fix: Both 1-bit single constellation RealTime output and 1-bit single constellation files were broken on machines with 2 physical processors.
Bug fix: "Link sliders" in RealTime mode was not working if it was already ticked on startup.
Feature: Double-clicking a signal level slider in Real Time mode moves it to its maximum value.

3.8.4 - August 2016
Bug fix: UI - Fix Google maps.
Feature: Real Time Simulation implemented. 

3.3.3 - September 2015
Bug fix: 1 bit BDS and GLONASS files not working.
Bug fix: unable to create 3 constellation scenarios for LabSat3.
Bug fix: LabSat 3 file header broken. 
Bug fix: crash when simulating a GPS+BDS LabSat 3 scenario. 
Bug fix: all output files (except 3-constellation LabSat 3 files) were suffering from a minor glitch - 1 in 32 output samples on average had wrong value.
Bug fix: on some machines the progress bar was occasionally going back and forth.  
Bug fix: crash when satellite number 1 was missing from the almanac.
Optimization: Cancelling the simulation takes just a few seconds (previously the user had to wait at least 15 seconds).
Feature: "Days" box added in the UI to allow simulations longer than 24 hours.
UI change: the height of the main window has been reduced which means SatGen can now be run on 1024x768 screens.  
Bug fix: setting noise above the default level was still generating default noise.
Feature: Added the latest broadcasted almanac for BeiDou: BDS_20150610.alm. It is automatically selected for simulations starting on 10.06.2015 or later. 
Feature: The simulation progress window no longer stays on top of other windows.

3.2.3 - June 2015
Support added for BeiDou simulation. 

3.0.20 - February 2015
Bug fix: LabSat1 output was generating unreadable signal. 
Bug fix: "ghost" satellites were appearing when GLONASS satellites were manually deleted from the almanac file. 

3.0.19 - February 2015
Bug fix: Elevation mask selected in the UI had no effect on the simulation.
Bug fix: no more problems with manually modified almanac files.
	AGL and YUMA almanac files can now be loaded even if individual satellites have been manually deleted.
	GLONASS simulation no longer crashes when satellites are missing from the almanac.
Bug fix: UI - fixed Google Maps scripting errors.

3.0.17 - February 2015
Final implementation of GPS leap seconds - added information about the leap second which will be added on 30th June 2015.
GLONASS frequency slots are now up to date with recent constellation changes.
Front End change: Addition of VTG strings to NMEA output file.
Bug fix: resolved LabSat 2 GPS Monitor freezing problem. 
Bug fix: problems with SatGen on German operating system.
Feature: ability to manually load separate almanacs for different constellations.
Feature: 2-bit output available for LabSat 2 and 3 when running a single constellation.

3.0.3 - August 2014
Cosmetic changes to Labsat 3 headers.
EGM84 Height GEOID bug fix.
Bug fix for demo mode unexpectedly terminating on certain machines.
Bug fix to resolve issue with Google Earth creating .KML files with unusable dynamics.
SatGen now opens up a folder containing the output file after it has been generated to make it easier for users to locate.
Improvements to dongle detection on remote desktop connections.
LabSat 1 created scenarios now will allow receivers to obtain GPS lock.
NOTE: LabSat 3 units will not play back LabSat 2 GLONASS only scenarios. These will need to be converted to Labsat 3 to play on a Labsat 3.  

3.0.2 - July 2014
Initial Release.