Note: This feature is not available in GSG-51/52/53.
In the context of GNSS testing, a trajectory is the predefined path a receiver is traveling during the execution of a scenario. GSG-5/6 can be used to simulate virtually any user trajectory. You can:
- Use predefined (built-in) trajectories
- Modify predefined trajectories (using the GSG unit, or the GSG StudioView software)
- Create trajectory files in StudioView, and upload them.
At the start of the scenario the nose of the user is pointing north. The orientation of the vehicle body changes with movement so that its nose is aligned with the vehicle’s course. In cases with changing altitude the nose will still point in a horizontal direction, not changing the body attitude. This default behavior can be changed by using SCPI commands which change pitch, roll, and yaw of the simulated vehicle.
GSG units come with several built-in trajectories. The exact list of these predefined trajectories varies from GSG model to model. The following is a selection:
- Static: The user is not moving, but the latitude, longitude and altitude defined in the Scenario configuration are used as user position throughout the scenario replay.
- 3GPP: The user is moving on a rectangular trajectory as defined in the Technical Specification 3GPP TS 25.171 V7.1.0, Section 5.5, Table 11 and Figure 1:
The specification describes the trajectory as follows:
“The UE [User Equipment, (Spectracom)] moves on a rectangular trajectory of 940 m by 1440 m with rounded corner defined in figure 1. The initial reference is first defined followed by acceleration to final speed of 100 km/h in 250 m. The UE then maintains the speed for 400 m. This is followed by deceleration to final speed of 25 km/h in 250 m. The UE then turn 90 degrees with turning radius of 20 m at 25 km/h. This is followed by acceleration to final speed of 100 km/h in 250 m. The sequence is repeated to complete the rectangle.”The complete specification can be found under http://www.3gpp.org/DynaReport/25-series.htm.
- Circle: The user is moving in a circle throughout the scenario replay. When Circle is selected, a dialog is shown asking the parameters describing this trajectory. These parameters include diameter [meter], speed [m/s] and direction [clockwise/anticlockwise].
The start position of the trajectories is the position specified in the Configuration View 1/3, under Latitude, Longitude and Altitude.
GSG supports the simulation of custom-made trajectories. The trajectories are typically created with the GSG StudioView software (see also: Creating a Trajectory in StudioView).
Two trajectory file types are supported:
Even if the RSG Option (OPT-RSG) is not installed on your GSG, and you can therefore not run scenarios in real time, you can still use the Spectracom-proprietary RSG format by up-loading RSG trajectories onto your GSG unit. The RSG format is further described under RSG Command Reference.
It is also possible to use custom trajectories in the NMEA format (as generated with the help of Spectracom's GSG StudioView software, or created otherwise) by uploading the NMEA trajectory to your GSG from a Windows PC.
Note: As of firmware version 3.0, Spectracom GSG series simulators support 10 Hz NMEA data.
GSG will transform the first timestamp in the NMEA trajectory so as to adjust it to fit the scenario start-time and start position. Hence, the start time for the scenario does not need to match NMEA time-stamp. All other timestamps in the NMEA trajectory will be transformed accordingly, thus keeping the relative position/times in the NMEA trajectory intact.
A given NMEA trajectory can be replayed in any GPS time frame, utilizing any earth coordinates by specifying the desired start time and start position in the scenario.
The NMEA trajectory files can be configured either to be executed once, or to loop repeatedly throughout the scenario execution. For the looping to be allowed, the NMEA trajectory has to be continuous, meaning the first and last specified coordinates of the trajectory must be identical (see also: Duration).
RMC vs. GGA
GSG-5/6 Seriess accept NMEA streams containing any set of valid NMEA sentences, yet only information from RMC and/or GGA sentences will be used to build the trajectory (for detailed information on GGA and RMC, purchase the NMEA 0183 through nmea.org, or see e.g., here). Either RMC messages, or GGA messages are accepted, or a combination of both. The latter is preferable. All other types of sentences are ignored without user notification.
All NMEA sentences – i.e. all characters between the start marker (‘$’) and the checksum (‘*’ plus two hex digits) – are validated for correct syntax. The only accepted error is an incorrect checksum (because incorrect checksums can be useful for manually correcting the contents of an NMEA file).
Date, time, position, speed, heading
Date and time along with longitude, latitude, speed over ground, and heading will be extracted from the RMC message (NMEA’s Recommended Minimum), in order to build the trajectory.
RMC messages do not include altitude data, hence if no GGA messages are available, the start position altitude specified in scenario parameters will be used instead.
Heading and speed over ground specified in the NMEA file will be applied only to the last epoch of the trajectory, since all other points they will be computed by two adjacent positions. This technique prevents the undesirable behavior of some receivers which generate NMEA data using heading and speed data that does no correspond to position change.
Heading and speed changes
GNSS receivers are generally very sensitive to g-forces, and unrealistic movements will result in the receiver losing track of the simulated signals. Therefore, trajectories should at all times describe smooth, realistic movements, i.e. using gradual transitions in acceleration and heading, rather than abrupt commands (such as random user-set coordinates or speed changes). Any parts of a trajectory describing changes in heading and/or speed must be provided in 10 Hz increments.
Note: One GSG epoch equals a 100 ms block of time.
The navigation receiver warning field will always be verified. An epoch will be skipped if…
- …the field value is ‘V’, or
- …there is no date/time data, or
- …there is no position data.
Note that NMEA trajectory files can become quite large if the sampling rate is high and a large distance is covered. Simulation files uploaded to the GSG unit cannot contain more than 12000 epochs (~19 minutes RMC + GGA at 10 Hz).
If you start a scenario that uses an NMEA file with more than 12000 epochs, GSG will initiate a dialog upon start of the scenario, asking you to either cancel the simulation execution, or to truncate the NMEA trajectory file down to its first 12000 epochs.
As the GSG unit uses the heading and speed information of the RMC sentences, only one (!) NMEA sentence is actually required to describe a simple, continuous movement.
For example, the following one-line trajectory specifies a continuous north bound trajectory (as the heading field is set to 0.0 degrees) at a speed of 77 knots.
One-line trajectories like this can be easily be made by manually creating desired NMEA files. The example above can be taken as a baseline, then edit speed and/or heading fields as required. For the validity of the sentence, the last 2 digits contain a checksum of the data (XOR of all bytes between $ and * symbols) – this checksum must be correct and can be calculated with e.g., this online tool: http://www.hhhh.org/wiml/proj/nmeaxor.html. Note that the NMEA messages, including the checksums, are case sensitive and should be given in UPPERCASE even if the GSG unit (firmware version 3.00 and above) accepts messages in lower case.