Validating calibrated magnetometer data
First Claim
1. A method comprising:
- receiving a reading from a magnetometer of a mobile device;
selecting a cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected cluster has a representative bias offset, a mean of magnitudes in the selected cluster, and a magnitude threshold;
estimating an external magnetic field based on the reading and the representative bias offset for the selected cluster;
determining whether a magnitude of the estimated external field is within a magnitude range defined by the mean magnitude and the mean magnitude plus the magnitude threshold;
determining a gravitational vector;
determining an inclination angle between the gravitational vector and the estimated magnetic field;
determining whether the inclination angle is within an angle range defined by a mean inclination angle for the selected cluster and the mean angle plus an angle threshold;
determining the magnitude of the estimated external field matches the magnitude range and the inclination angle matches the angle range;
determining a first heading for the mobile device using the estimated external field;
comparing the first heading with a second heading obtained from data provided by a location processor of the mobile device; and
validating the first heading in response to the comparing,where the method is performed by one or more hardware processors.
1 Assignment
0 Petitions
Accused Products
Abstract
Implementations are disclosed for validating data retrieved from a calibration database. In some implementations, calibrated magnetometer data for a magnetometer of a mobile device is retrieved from a calibration database and validated by data from another positioning system, such as course or heading data provided by a satellite-based positioning system. In some implementations, one or more context keys are used to retrieve magnetometer calibration data from a calibration database that is valid for a particular context of the mobile device, such as when the mobile device is mounted in a vehicle. In some implementations, currently retrieved calibration data is compared with previously retrieved calibration data to determine if the currently retrieved calibration data is valid.
77 Citations
21 Claims
-
1. A method comprising:
-
receiving a reading from a magnetometer of a mobile device; selecting a cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected cluster has a representative bias offset, a mean of magnitudes in the selected cluster, and a magnitude threshold; estimating an external magnetic field based on the reading and the representative bias offset for the selected cluster; determining whether a magnitude of the estimated external field is within a magnitude range defined by the mean magnitude and the mean magnitude plus the magnitude threshold; determining a gravitational vector; determining an inclination angle between the gravitational vector and the estimated magnetic field; determining whether the inclination angle is within an angle range defined by a mean inclination angle for the selected cluster and the mean angle plus an angle threshold; determining the magnitude of the estimated external field matches the magnitude range and the inclination angle matches the angle range; determining a first heading for the mobile device using the estimated external field; comparing the first heading with a second heading obtained from data provided by a location processor of the mobile device; and validating the first heading in response to the comparing, where the method is performed by one or more hardware processors. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method comprising:
-
receiving a reading from a magnetometer of a mobile device; selecting, at a first time, a first cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected first cluster has a first representative bias offset, a first mean of magnitudes in the selected first cluster, and a first magnitude threshold; selecting, at a second time, a second cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected second cluster has a second representative bias offset, a second mean of magnitudes in the selected second cluster, and a second magnitude threshold; comparing the first and second representative bias offset; validating the second representative bias offset based on the comparing; estimating an external magnetic field based on the reading and the second representative bias offset for the selected second cluster; determining whether a magnitude of the estimated external field is within a magnitude range defined by the second mean magnitude and the second mean magnitude plus the second magnitude threshold; determining a gravitational vector; determining an inclination angle between the gravitational vector and the estimated magnetic field; determining whether the inclination angle is within an angle range defined by a mean inclination angle for the selected cluster and the mean angle plus an angle threshold; determining the magnitude of the estimated external field matches the magnitude range and the inclination angle matches the angle range; and determining a heading for the mobile device using the estimated external field, where the method is performed by one or more hardware processors.
-
-
10. A computer-implemented method, comprising:
-
receiving a reading from a magnetometer of a mobile device; selecting a cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected cluster has a representative bias offset, a mean of magnitudes in the selected cluster, and a magnitude threshold, where the selecting uses a context key; estimating an external magnetic field based on the reading and the representative bias offset for the selected cluster; determining whether a magnitude of the estimated external field is within a magnitude range defined by the mean magnitude and the mean magnitude plus the magnitude threshold; determining a gravitational vector; determining an inclination angle between the gravitational vector and the estimated magnetic field; determining whether the inclination angle is within an angle range defined by a mean inclination angle for the selected cluster and the mean angle plus an angle threshold; determining the magnitude of the estimated external field matches the magnitude range and the inclination angle matches the angle range; and determining a first heading for the mobile device using the estimated external field, where the method is performed by one or more hardware processors. - View Dependent Claims (11)
-
-
12. A system comprising:
-
one or more processors; memory coupled to the one or more processors and configured for storing instructions, which, when executed by the one or more processors, causes the one or more processors to perform operations comprising; receiving a reading from a magnetometer of a mobile device; selecting a cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected cluster has a representative bias offset, a mean of magnitudes in the selected cluster, and a magnitude threshold; estimating an external magnetic field based on the reading and the representative bias offset for the selected cluster; determining whether a magnitude of the estimated external field is within a magnitude range defined by the mean magnitude and the mean magnitude plus the magnitude threshold; determining a gravitational vector; determining an inclination angle between the gravitational vector and the estimated magnetic field; determining whether the inclination angle is within an angle range defined by a mean inclination angle for the selected cluster and the mean angle plus an angle threshold; determining the magnitude of the estimated external field matches the magnitude range and the inclination angle matches the angle range; determining a first heading for the mobile device using the estimated external field; comparing the first heading with a second heading obtained from data provided by a location processor of the mobile device; and validating the first heading in response to the comparing. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A system comprising:
-
one or more processors; memory coupled to the one or more processors and configured for storing instructions, which, when executed by the one or more processors, causes the one or more processors to perform operations comprising; receiving a reading from a magnetometer of a mobile device; selecting, at a first time, a first cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected first cluster has a first representative bias offset, a first mean of magnitudes in the selected first cluster, and a first magnitude threshold; selecting, at a second time, a second cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected second cluster has a second representative bias offset, a second mean of magnitudes in the selected second cluster, and a second magnitude threshold; comparing the first and second representative bias offset; validating the second representative bias offset based on the comparing; estimating an external magnetic field based on the reading and the second representative bias offset for the selected second cluster; determining whether a magnitude of the estimated external field is within a magnitude range defined by the second mean magnitude and the second mean magnitude plus the second magnitude threshold; determining a gravitational vector; determining an inclination angle between the gravitational vector and the estimated magnetic field; determining whether the inclination angle is within an angle range defined by a mean inclination angle for the selected cluster and the mean angle plus an angle threshold; determining the magnitude of the estimated external field matches the magnitude range and the inclination angle matches the angle range; and determining a heading for the mobile device using the estimated external field.
-
-
21. A system comprising:
-
one or more processors; memory coupled to the one or more processors and configured for storing instructions, which, when executed by the one or more processors, causes the one or more processors to perform operations comprising; receiving a reading from a magnetometer of a mobile device; selecting a cluster from a plurality of clusters of bias offsets generated from previously-calibrated readings, wherein the selected cluster has a representative bias offset, a mean of magnitudes in the selected cluster, and a magnitude threshold, where the selecting uses a context key; estimating an external magnetic field based on the reading and the representative bias offset for the selected cluster; determining whether a magnitude of the estimated external field is within a magnitude range defined by the mean magnitude and the mean magnitude plus the magnitude threshold; determining a gravitational vector; determining an inclination angle between the gravitational vector and the estimated magnetic field; determining whether the inclination angle is within an angle range defined by a mean inclination angle for the selected cluster and the mean angle plus an angle threshold; determining the magnitude of the estimated external field matches the magnitude range and the inclination angle matches the angle range; and determining a first heading for the mobile device using the estimated external field.
-
Specification