Skip to content

Improve accuracy for data field (comments requested) #4

@thisdougb

Description

@thisdougb

The data field looks at the 'current speed' to determine if the device is moving or not. Due to GPS drift, the devices report some movement even when stationary. The challenge is to improve accuracy with the limited data available (to a data field).

The first layer of not-movement detection is awareness of the device timer state (stopped, paused, etc). This is clear cut, but lots of people don't use pause (especially on watches). And a prime motivation of this data field is that it just works. So timer state detection is 'a layer'.

Another method I am trying to use is jitter detection.

Currently I am think of double-incrementing the 'stops' and single decrementing the 'moves'. This means we pause-fast and restart slow. The actual timing on the counter would still be accurate if movement had started. But with more weight given to the 0.0 speed readings, it may be more accurate.

Here are there speed readings from a stationary Edge 840:

0.000
0.000
0.000
0.196
0.261
0.196
0.000
0.000
0.000
0.196
0.000
0.336
0.205
0.000
0.280
0.308
0.420
0.205
0.000

I could do GPS location calculations, to determine if the device moves > 50 metres in X minutes. But that adds a lot of code and extra CPU (battery usage) requirements. So I'd prefer to explore simpler methods for now.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions