Gps accuracy refinement using external sensors
Abstract
Biometric monitoring devices, including various technologies that may be implemented in such devices, are discussed herein. Additionally, techniques for enhancing GPS speed and distance measurements based on step counts measured by a biometric monitoring device are provided. Such techniques may, in some implementations, involve blending two independently-measured data streams of raw distance traveled—one based on inter-coordinate GPS coordinate distances and one based on step count and stride length—using a Kalman filter to provide an enhanced-accuracy measurement of distance or speed traveled. In some other or additional implementations, distances or speeds calculated based on inter-coordinate GPS coordinate distances may be smoothed with a smoothing constant that is proportional to the variance in measured step count.
Claims
exact text as granted — not AI-modified1 . A system comprising:
one or more processors and one or more memory devices; and one one or more motion sensors, wherein:
the one or more processors, the one or more memory devices, and the one or more motion sensors are communicatively connected, and
the one or more memory devices store computer-executable instructions for controlling the one or more processors to:
a) receive motion data from the one or more motion sensors,
b) identify, based on the motion data, step events within an interval,
c) determine a step count frequency for the interval based on the step events for the interval,
d) determine a stride length associated with the interval based on the step count frequency for that interval, and
e) determine a first distance traveled for the interval based, at least in part, on the stride length associated with the interval and the step events within the interval.
2 . The system of claim 1 , wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to perform (b) through (e) for each of a plurality of intervals.
3 . The system of claim 2 , wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to:
associate a first stride length with at least one interval of the plurality of intervals having a step count frequency above a first threshold, and associate a second stride length with at least one interval of the plurality of intervals having a step count frequency below the first threshold, wherein the second stride length is shorter than the first stride length.
4 . The system of claim 2 , wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to determine stride lengths for the intervals of the plurality of intervals that are longer for intervals of the plurality of intervals having higher step count frequencies and shorter for intervals of the plurality of intervals having lower step count frequencies.
5 . The system of claim 2 , further comprising a global-position system (GPS) receiver, wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to:
receive GPS data from the GPS receiver, and determine a second distance traveled for each interval of the plurality of intervals based on the GPS data.
6 . The system of claim 5 , wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to:
input the first distance for each interval of the plurality of intervals and the second distance for each interval of the plurality of intervals into a Kalman filter, and obtain a refined distance measurement for at least one interval of the plurality of intervals using the Kalman filter.
7 . The system of claim 6 , wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to:
obtain a first error estimate for each first distance for each interval of the plurality of intervals, obtain a second error estimate for each second distance for each interval of the plurality of intervals, and input the first error estimate for each interval of the plurality of intervals and the second error estimate for each interval of the plurality of intervals into the Kalman filter.
8 . The system of claim 2 , wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to:
determine a first speed for each interval of the plurality of intervals based, at least in part, on the first distance for that interval.
9 . The system of claim 8 , further comprising a global-positioning system, wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to:
receive GPS data from the GPS receiver, and determine a second speed for each interval of the plurality of intervals based on the GPS data.
10 . The system of claim 9 , wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to:
input the first speed for each interval of the plurality of intervals and the second speed for each interval of the plurality of intervals into a Kalman filter, and obtain a refined speed measurement for at least one interval of the plurality of intervals using the Kalman filter.
11 . The system of claim 10 , wherein the one or more memory devices further store computer-executable instructions for further controlling the one or more processors to:
obtain a first error estimate for each first speed for each interval of the plurality of intervals, obtain a second error estimate for each second speed for each interval of the plurality of intervals, and input the first error estimate for each interval of the plurality of intervals and the second error estimate for each interval of the plurality of intervals into the Kalman filter.
12 . A method comprising:
a) receiving, by one or more processors of a biometric monitoring device, motion data from one or more motion sensors of the biometric monitoring device, b) identifying, by the one or more processors and based on the motion data, step events within an interval,c) determining, by the one or more processors, a step count frequency for the interval based on the step events within the interval, d) determining, by the one or more processors, a stride length associated with the interval based on the step count frequency for that interval, and e) determining, by the one or more processors, a first distance traveled for the interval based, at least in part, on the stride length associated with the interval and the step events within the interval.
13 . The method of claim 12 , further comprising performing (b) through (e) for each of a plurality of intervals.
14 . The method of claim 13 , further comprising:
associating, by the one or more processors, a first stride length with at least one interval of the plurality of intervals having a step count frequency above a first threshold, and associating, by the one or more processors, a second stride length with at least one interval of the plurality of intervals having a step count frequency below the first threshold, wherein the second stride length is shorter than the first stride length.
15 . The method of claim 13 , further comprising determining stride lengths for the intervals of the plurality of intervals that are longer for intervals of the plurality of intervals having higher step count frequencies and shorter for intervals of the plurality of intervals having lower step count frequencies.
16 . The method of claim 13 , further comprising:
receiving, by the one or more processors, GPS data from a GPS receiver in communication with the one or more processors, and determining, by the one or more processors, a second distance traveled for each interval of the plurality of intervals based on the GPS data.
17 . The method of claim 16 , further comprising:
inputting, by the one or more processors, the first distance for each interval of the plurality of intervals and the second distance for each interval of the plurality of intervals into a Kalman filter, and obtaining, by the one or more processors, a refined distance measurement for at least one interval of the plurality of intervals using the Kalman filter.
18 . The method of claim 17 , further comprising:
obtaining, by the one or more processors, a first error estimate for each first distance for each interval of the plurality of intervals, obtaining, by the one or more processors, a second error estimate for each second distance for each interval of the plurality of intervals, and inputting, by the one or more processors, the first error estimate for each interval of the plurality of intervals and the second error estimate for each interval of the plurality of intervals into the Kalman filter.
19 . The method of claim 13 , further comprising determining, by the one or more processors, a first speed for each interval of the plurality of intervals based, at least in part, on the first distance for that interval.
20 . The method of claim 19 , further comprising:
receiving, by the one or more processors, GPS data from a GPS receiver in communication with the one or more processors, and determining, by the one or more processors, a second speed for each interval of the plurality of intervals based on the GPS data.
21 . The method of claim 20 , further comprising:
inputting, by the one or more processors, the first speed for each interval of the plurality of intervals and the second speed for each interval of the plurality of intervals into a Kalman filter, and obtaining, by the one or more processors, a refined speed measurement for at least one interval of the plurality of intervals using the Kalman filter.
22 . The method of claim 21 , further comprising:
obtaining, by the one or more processors, a first error estimate for each first speed for each interval of the plurality of intervals, obtaining, by the one or more processors, a second error estimate for each second speed for each interval of the plurality of intervals, and inputting, by the one or more processors, the first error estimate for each interval of the plurality of intervals and the second error estimate for each interval of the plurality of intervals into the Kalman filter.Join the waitlist — get patent alerts
Track US2019269353A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.