Author: Michael George
Created: 11 Feb 2025
This is a very quick look at the data issue(s) affecting the Suunto Ambit3. The issue(s) were first mentioned in the GPS-Speedsurfing forum on 1 Feb 2022, and attributed to a recent software update by Suunto. Details can be found in the “Suunto Probleem” thread.
Whilst it is possible to identify timing issues in Suunto files (missing speeds, early records, late records, missing records) this document is not advocating these fixes in any analysis software. The purpose of this document is simply to draw analogies with timing issues in some Garmin watches.
The following screenshot serves as a good overview of the general data issues(s), since all of the files that have been examined contain similar artefacts.
Several issues are clearly evident in the screenshot.
This brief investigation looks at 3 tracks from 3 different riders:
The Suunto Ambit3 watches use the SiRFstar V, according to the technical specifications of the Ambit3 Sport and Ambit3 Run.
All of the tracks contain exactly the same issues, which are clearly timing related and were introduced by Suunto in late 2021.
Four specific data quality issues are believed to be due to timing issues, caused by the Suunto firmware.
Examination of the FIT files clearly shows that some records are missing fields, except for latitude and longitude.
The missing fields include distance, vertical speed, horizontal speed, and altitude.
The easiest fix for missing fields such as speed and altitude is to use linear interpolation.
The screenshot below illustrates “early” records and how they affect the position-derived speeds (dotted line).
The first “early” record is highlighted and the corresponding data is shown in the following table.
# | Time | Speed | Pos. Speed | Filter | Comment |
---|---|---|---|---|---|
3027 | 12:16:24.000 | 16.737 | 18.93 | ||
3028 | 12:16:25.000 | 0.000 | 19.39 | V | Missing speed |
3029 | 12:16:26.000 | 17.728 | 19.23 | A | |
3030 | 12:16:27.000 | 18.117 | 17.86 | ||
3031 | 12:16:28.000 | 18.058 | 31.44 | Position-derived speed is doubled | |
3032 | 12:16:29.000 | 0.000 | 0.00 | - | Dummy record |
3033 | 12:16:30.000 | 17.320 | 7.28 | T | Position-derived speed is halved |
3034 | 12:16:31.000 | 16.678 | 14.65 | ||
3035 | 12:16:32.000 | 16.095 | 15.20 | ||
3036 | 12:16:33.000 | 0.000 | 15.68 | V | Missing speed |
3037 | 12:16:34.000 | 15.784 | 16.92 | A |
The fields in 3031 are essentially “early” and belong to 3032. The easiest fix for this particular “early” record would be as follows:
The screenshot below illustrates the effect of “late” records and how they affect the position-derived speeds.
The “late” record is highlighted and the corresponding data is shown in the following table.
# | Time | Speed | Pos. Speed | Filter | Comment |
---|---|---|---|---|---|
2670 | 14:35:33.000 | 13.704 | 14.35 | ||
2671 | 14:35:34.000 | 14.112 | 13.59 | ||
2672 | 14:35:35.000 | 13.821 | 13.80 | ||
2673 | 14:35:36.000 | 0.000 | 0.00 | - | Dummy record |
2674 | 14:35:37.000 | 14.326 | 7.38 | T | Position-derived speed is halved |
2675 | 14:35:38.000 | 14.404 | 28.82 | Position-derived speed is doubled | |
2676 | 14:35:39.000 | 14.365 | 14.32 | ||
2677 | 14:35:40.000 | 14.229 | 14.05 | ||
2678 | 14:35:41.000 | 14.151 | 13.74 |
The fields in 2674 are essentially “late” and belong to 2673. The easiest fix for this particular “late” record would be as follows:
In addition to “early” and “late” records there are also a lot of missing records.
One of the missing records is highlighted and the corresponding data is shown in the following table.
# | Time | Speed | Pos. Speed | Filter | Comment |
---|---|---|---|---|---|
2664 | 14:35:27.000 | 17.456 | 16.71 | ||
2665 | 14:35:28.000 | 17.086 | 17.37 | ||
2666 | 14:35:29.000 | 17.222 | 17.20 | ||
2667 | 14:35:30.000 | 0.000 | 0.00 | - | Dummy record |
2668 | 14:35:31.000 | 16.134 | 14.00 | T | |
2669 | 14:35:32.000 | 14.248 | 13.28 | ||
2670 | 14:35:33.000 | 13.704 | 14.35 |
The easiest fix for missing records is to use linear interpolation for fields such as latitude, longitude, and speed.
The way that the speed data lags behind position-derived speeds is rather suspicious.
There appears to be a constant lag of 2 seconds, which usually indicates the speed is being filtered / smoothed. In sports watches this behavior can also be indicative of speeds being calculated from latitude and longitude, so not the Doppler-derived speeds.
This document shows the obvious data issues for the Suunto Ambit3 watches, most of which are related to timing issues.
It is perhaps worth considering the Suunto issues and how they relate to the timing issues on the Garmin Forerunner 255. Whereas Suunto drops entire records (or fields) when timing issues occur, Garmin persists the previous field values due to the design + implementation of their FIT writer.
Whilst it is possible to identify timing issues in Suunto files (missing speeds, early records, late records, missing records) this document is not advocating these fixes in any analysis software. The purpose of this document is simply to draw analogies with timing issues in some Garmin watches.
The early / late / missing issues discussed throughout this document are also evident in some Garmin FIT files, but the symptoms are slightly different. The FIT writer in Garmin watches persists field values in the absence of any updates, so the effects of timing issues are far less dramatic.
Due to the obvious parallels, taking an holistic view of timing issues in sports watches may prove to be beneficial.