Changes

GPS Testing Methodology

347 bytes added, 19:18, 2 November 2016
no edit summary
* The measurement ride started at one end with the wheel on the end of the asphalt. The first measurement was after 1/8 of a mile, then every 1/4 mile until the last marker that was at 1/8 mile. Permanent markers were placed at each interval.
* All tangents were taken within the required 12 inches of the apex, aiming for approximately 6 inches which reflects my usual distance from the edge of the asphalt.
In addition, I verified the course using a surveyor's wheel, measuring each segment of the course twice. All measurements were within a few inches, confirming the accuracy.
=Data Gathering=
On first usage, a watch is left on and with GPS acquired with a full view of the sky for ~45 minutes. This is to ensure the watch can download the full ephemeris data (it should only take 12.5 mins, but I want to be sure.) To prevent per-run startup problems each device was turned on, satellites acquired, and then left for around 5 minutes before the run starts. This is to counter the problem of a device claiming to have acquired the satellites when it only has a minimal lock. The watches are worn on the left wrist or held in the left hand in roughly the same orientation as it would be on the left wrist. The lap button is pressed as I passed over the marker, and if it is not possible to press at the correct time the lap button is not pressed until the next marker. (Software will reject the data from missing lap marks.)
=Initial Data Preparation=
Some preparation was required to allow for subsequent analysis.
=Data Extraction=
The software uses the TCX format for analysis. Many devices provide TCX files by default, but others require conversion.
{| class="wikitable"
! '''Device '''
! '''Extraction'''
|-
| [http://www.amazon.com/Garmin-Forerunner-910XT-GPS-Enabled-Sport/dp/B005SPCJ74 Garmin 910XT]
| From Ant agent
|-
| Garmin 205
| Native TCX support
|-
| [http://www.amazon.com/Garmin-Forerunner-310XT-Waterproof-Running/dp/B0025VKW5K Garmin 310XT]
| From Ant agent
|-
| [http://www.amazon.com/Garmin-Forerunner-Touchscreen-Watch-Monitor/dp/B004XC3MXI Garmin 610]
| From Ant agent
|-
| iPhone 4s
| Native TCX support
|-
| [http://www.amazon.com/RC3-GPS-with-Heart-Rate/dp/B0089OYZQ4 Polar RC3 GPS]
| Convert Polar files using TcxConverter
|-
| [http://www.amazon.com/dp/B00IKNDDNK Garmin Fenix 2]
| Upload to Garmin Connect, then export to TCX
|-
| [http://www.amazon.com/dp/B0090C7A3O Garmin 10]
| Upload to Garmin Connect, then export to TCX
|-
| [http://www.amazon.com/Garmin-Forerunner-620-Black-Bundle/dp/B00FBYYC90 Garmin 620]
| Upload to Garmin Connect, then export to TCX
|-
| Suunto Ambit2 R
| Convert internal XML to TCX using Neotrack
|-
| Samsung Galaxy S3
| Native TCX support
|}
=Data Analysis=
The analysis process uses an application I wrote in C#.
** The standard deviation from the arithmetic mean.
** The standard deviation from the known true value.
* For the overall course the data is calculate for each segment and then combined. The mean (trueness) is mean of the means. The standard deviation (precision) is the square root of the average of the squared standard deviations.
=Footpod Analysis=
The footpod data was collected with a no calibration in the watch (factor = 1.0), and then retrospectively calibrated. This allowed me to provide both raw and calibrated data. I tried several calibration methods:
* A weighted average of the three prior runs using weights of 3, 2, 1 for the three prior days.
* The average of the prior day's run.
{| class="wikitable"
! Calibration
! Trueness
| 2.51% (132.3 Ft/Mile, 25.1 m/Km)
|}
=GPS Satellite Analysis=
I calculated the theoretical GPS error for each point using the agi.com C# library. I followed their cookbook for [http://www.agi.com/resources/help/online/AGIComponents/Programmer%27s%20Guide/Overview/Navigation%20Accuracy/AccuracyAnalysisSetup.html GPS Accuracy Analysis], which consists of:
* Create a constellation of satellites using AGI's SEM formatted almanac.
* Modify the constellation based on AGI's outage data.
* Configure a GPS receiver model.
** Set Elevation Angle Constraint to between 5 and 40 degrees.
** Set the latitude/longitude to that recorded by the point.
** I set the receiver to have 12 channels, which is the norm for a GPS watch.
* Evaluate the recorded GPS accuracy, Dilution of Precision and the number of satellites in view.
=Sources of Error=
There are a number of possible sources of error.