FAQ: Speed Smoothing on GOTOES

A place for the community to help each other out with getting the most out of the Combine FIT, GPX or TCX files for Strava Upload Tool.
Post Reply
User avatar
fulmar2
Site Admin
Posts: 229
Joined: Wed Nov 25, 2020 4:21 am
Contact:

FAQ: Speed Smoothing on GOTOES

Post by fulmar2 »

Hey Guys -
I wanted to let you in on a little information on how speed works in GOTOES, Strava, Garmin, and Training Peaks. You may have noticed in GOTOES that you have the option to "smooth speed" when exporting as TCX or FIT (see screenshot below):

Screen Shot 2023-07-16 at 12.23.23 PM.png

When you select this option, GOTOES will calculate your speed based on the distance that you traveled between each point. You even have the option of reversing the calculation - by telling GOTOES to use the speed in your original file to calculate the distance. I know, that sounds weird and redundant, but bear with me.


How Strava and Training Peaks Display Speed
When GOTOES creates a file for export, it tries to create the "perfect" file that has all of the necessary information to display correctly on the many platforms that are popular with GOTOES users. Thus, GOTOES will include a speed value based on your selected settings (smoothed, calculated from distance, calculated from speed, etc.). See a piece of a GOTOES export below where I have included "<ns3:Speed>1.25</ns3:Speed>":

Code: Select all

          <Trackpoint>
            <Time>2023-06-15T14:17:13Z</Time>
            <DistanceMeters>10</DistanceMeters>
            <Extensions>
              <ns3:TPX>
                <ns3:Speed>1.25</ns3:Speed>
              </ns3:TPX>
            </Extensions>
          </Trackpoint>
But, just because that information is included in the GOTOES export, does NOT mean that the platform you are uploading to will actually read the data! It turns out that Strava and Training Peaks both ignore speed data. I've tried to feed them "speed" as well as "enhanced_speed" in FIT files, and both of these platforms ignore the speed! Instead, these platforms look at the distance data instead - and they will calculate (and probably smooth) your speed based on how far you travel between each point - just like GOTOES is doing. The issue here is that their algorithm may not match the GOTOES algorithm, so if you're repairing files using GOTOES, your speed might not show the way you want it.


How Garmin Connect Displays Speed
Unlike Training Peaks and Strava, Garmin Connect, still respects the speed values in the original file. Below is a screen shot of a file with speed smoothing (top) and no speed smoothing (bottom). Notice how in the bottom capture, there is a point that shoots up to nearly 200mph. By using smoothing, we can eliminate this errant point which is messing up the scale of the graph tremendously.


Screen Shot 2023-07-16 at 12.20.45 PM.png


Why does GOTOES have two speed calculation options?
It turns out that a lot of times, the speed value stored in the FIT file (from Garmin for example) does not match the value that you would get if you took the distance traveled and divided it by time (remember: Speed = Distance / Time). That may seem odd, but I think it is because Garmin is putting in their own on-device-smoothing algorithm. This is actually a good thing. Unfortunately, Strava and Training Peaks are ignoring this information, so GOTOES by default will just "do what they do" and make speed from the distance traveled over time. Speed = Distance / Time. If you use the default settings on GOTOES (default is "Use Distance")... then you will get a GOTOES calculated speed in your speed field. If you do this, your speed profiles might look a little different on Garmin Connect (but will be unchanged on Strava and Training Peaks because they recalculate anyway).

Alternatively, you can select the "Use Speed" option for calculating speed. This will reverse the process on GOTOES, and GOTOES will calculate your distance from your speed. That way, when you upload your GOTOES processed file to Strava or Training Peaks, the distance will be based on your speed... and when those platforms go to calculate your speed, it will match the speed in your original file! It's kind of a round-about way to address the issue, but having these options on GOTOES helps to address various speed graph issues that crop up on some platforms. Please tinker with the options if your speed graph doesn't look right.



Distance issues can cause speed issues:
Some GPS devices do not record distance with a fine granularity. If that happens, you will get a lumpy speed graph when using GOTOES to process your file (although it will be better if you have smoothing turned on). Here is what that might look like in a table if you select the "Edit Points" tool in GOTOES:


Each row in the table represents one second.  Notice how the distance traveled in the source file is the same (10 meters) for the first 3 seconds. Then it jumps up to 20 meters all of a sudden, and stays there for another 3 seconds.  This is what causes &quot;lumpy&quot; speed graphs.
Each row in the table represents one second. Notice how the distance traveled in the source file is the same (10 meters) for the first 3 seconds. Then it jumps up to 20 meters all of a sudden, and stays there for another 3 seconds. This is what causes "lumpy" speed graphs.


The above is a problem with GPS source files - but it can be overcome by telling GOTOES to calculate the distance for you. If you select that option, GOTOES will calculate the distance between each position point (latitude and longitude) and discern a very fine granularity of distance (and thus speed) for each time frame. You can still use the speed smoothing slider option to apply smoothing to the GOTOES algorithm; these features work in tandem.

Sometimes, it is better to select &quot;Calculate Distance&quot; and have GOTOES calculate your distance - which will become the foundation for your speed calculations.  Notice the difference in these two speed/pace graphs.
Sometimes, it is better to select "Calculate Distance" and have GOTOES calculate your distance - which will become the foundation for your speed calculations. Notice the difference in these two speed/pace graphs.


I hope that helps explain speed smoothing a little and why you might not see any changes (on Strava/Training Peaks) when fiddling with the smooth-speed-slider. As always, please feel free to contact me when you have any questions about this feature.
Post Reply