# US 10,309,781 B2 · Computing a magnetic heading

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,309,781 B2
- Document ID: US10309781B2
- Status: Granted
- Kind: B2
- Application number: 13/834,675
- Filed: 2013-03-15
- Published: 2014-09-18
- Granted: 2019-06-04
- Earliest claimed: 2013-03-15
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Gary A. Brist; Kevin J. Daniel
- Web page: https://patentgrep.com/patent/US10309781B2

## CPC

- G01C 17/38: Testing, calibrating, or compensating of compasses
- G01C: MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY (measuring liquid level G01F; radio navigation, determining distance or velocity by use of propagation effects, e.g. Doppler effects, propagation time, of radio waves, analogous arrangements using other waves G01S)

## Abstract

Techniques for computing a magnetic heading based on sensor data are described herein. An example of a device in accordance with the present techniques includes a magnetic sensor to collect sensor output data and a heading computation engine to compute a magnetic heading based on the sensor output data. The heading computation engine includes logic to measure a level of noise in the sensor output data. The heading computation engine also includes logic to determine whether to average the sensor output data based, at least in part, on the level of noise. The heading computation engine also includes logic to determine an applied sensor output based on the sensor output data. The heading computation engine also includes logic to compute a magnetic heading based, at least in part, on the applied sensor output.

## Claims

### Claim 1

A computing device, comprising:
a processor;
a magnetic sensor to collect sensor output data;
a heading computation engine to compute a magnetic heading based on the sensor output data, the heading computation engine comprising:
logic to measure a level of noise in the sensor output data;
logic to compute a threshold noise level based on a specified heading accuracy and compare the level of noise to the threshold noise level to determine whether to average the sensor output data;
logic to determine an applied sensor output based on the sensor output data; and
logic to compute a magnetic heading based, at least in part, on the applied sensor output and provide the magnetic heading to an application to be executed by the processor.

### Claim 2 (depends on 1)

The computing device of claim 1, wherein the logic to determine whether to average the sensor output data determines that the sensor output data is not to be averaged and the applied sensor output is a single sample of the sensor output data.

### Claim 3 (depends on 1)

The computing device of claim 1, wherein the logic to determine whether to average the sensor output data computes a signal magnitude threshold based on the level of noise and a desired heading accuracy and determines whether a signal magnitude of the sensor output data is above the signal magnitude threshold.

### Claim 4 (depends on 1)

The computing device of claim 1, comprising a motion sensor to determine whether the magnetic sensor is stationary, wherein the logic to measure a level of noise in the sensor output data measures the level of noise when the magnetic sensor is stationary.

### Claim 5 (depends on 1)

The computing device of claim 1, wherein the logic to determine whether to average the sensor output data determines that the sensor output data is to be averaged and the logic to determine the applied sensor output determines a sample size of the sensor output data based, at least in part, on the level of noise.

### Claim 6 (depends on 5)

The computing device of claim 5, wherein the logic to determine the applied sensor output determines the sample size based on the level of noise, the specified heading accuracy, and a confidence level.

### Claim 7 (depends on 1)

The computing device of claim 1, comprising a user interface that enables a user to specify the specified heading accuracy.

### Claim 8 (depends on 1)

The computing device of claim 1, wherein the specified heading accuracy is specified by an application of the computing device.

### Claim 9

A method, comprising:
computing a threshold noise level based on a specified heading accuracy;
receiving sensor output data from a magnetic sensor;
measuring a level of noise in the sensor output data;
comparing the level of noise to the threshold noise level and determining whether to average the sensor output data based, at least in part, on the comparison;
determining an applied sensor output based on the sensor output data;
computing a magnetic heading based, at least in part, on the applied sensor output; and
sending the magnetic heading to a component of a computing device for use by an application.

### Claim 10 (depends on 9)

The method claim 9, comprising, if it is determined that the sensor output data is not to be averaged, setting the applied sensor output as a single sample of the sensor output data.

### Claim 11 (depends on 9)

The method of claim 9, wherein determining whether to average the sensor output data comprises computing a signal magnitude threshold based on the level of noise and a desired heading accuracy and determining whether a signal magnitude of the sensor output data is above the signal magnitude threshold.

### Claim 12 (depends on 9)

The method of claim 9, wherein measuring the level of noise in the sensor output data comprises measuring the level of noise when the magnetic sensor is stationary.

### Claim 13 (depends on 9)

The method of claim 9, comprising, if it is determined that the sensor output data is to be averaged, determining a sample size of the sensor output data based, at least in part, on the level of noise.

### Claim 14 (depends on 13)

The method of claim 13, wherein the sample size is determined based on the level of noise, the specified heading accuracy, and a confidence level.

### Claim 15 (depends on 9)

The method of claim 9, comprising receiving the specified heading accuracy specified by a user.

### Claim 16 (depends on 9)

The method of claim 9, comprising receiving the specified heading accuracy from an application of the computing device.

### Claim 17

A non-transitory, tangible, machine-readable medium having instructions stored thereon that, when executed by a processor, direct the processor to:
compute a threshold noise level based on a specified heading accuracy;
receive sensor output data from a magnetic sensor;
measure a level of noise in the sensor output data;
compare the level of noise to the threshold noise level and determine whether to average the sensor output data based, at least in part, on the comparison;
determine an applied sensor output based on the sensor output data; and
compute a magnetic heading based, at least in part, on the applied sensor output.

### Claim 18 (depends on 17)

The machine-readable medium of claim 17, comprising instructions that direct the processor to use a single sample of the sensor output data as the applied sensor output if it is determined that the sensor output data is not to be averaged.

### Claim 19 (depends on 17)

The machine-readable medium of claim 17, comprising instructions that direct the processor to compute a signal magnitude threshold based on the level of noise and a desired heading accuracy and determine whether a signal magnitude of the sensor output data is above the signal magnitude threshold to determine whether to average the sensor output data.

### Claim 20 (depends on 17)

The machine-readable medium of claim 17, comprising instructions that direct the processor to determine whether the magnetic sensor is stationary and measure the level of noise of the sensor output data only if the magnetic sensor is stationary.

### Claim 21 (depends on 17)

The machine-readable medium of claim 17, comprising instructions that direct the processor to determine a sample size of the sensor output data based, at least in part, on the level of noise if it is determined that the sensor output data is to be averaged.

### Claim 22 (depends on 21)

The machine-readable medium of claim 21, comprising instructions that direct the processor to determine the sample size based on the level of noise, the specified heading accuracy, and a confidence level.

### Claim 23 (depends on 17)

The machine-readable medium of claim 17, comprising instructions that direct the processor to receive the specified heading accuracy from a user.

### Claim 24 (depends on 17)

The machine-readable medium of claim 17, comprising instructions that direct the processor to receive the specified heading accuracy from an application executing on a computing device.
