IP Library Granted Patent US 12,674,850
Granted Patent B2
US 12,674,850 · App. 18/488,750 · Granted Jul 7, 2026

System and method for fast magnetometer calibration using gyroscope

Inventors: Mahaveer Jain (Milpitas, CA); Mahesh Chowdhary (San Jose, CA)
Assignee: STMICROELECTRONICS, INC.
G01R33/0035G01C25/005
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,674,850
App. No.
18/488,750
Filed
Oct 17, 2023
Granted
Jul 7, 2026
Kind
B2
Art Unit
2858
USPC
324/244
Abstract

An electronic device includes a magnetometer that outputs magnetometer sensor signals and a gyroscope that outputs gyroscope sensor signals. The electronic device includes a magnetometer calibration module that calibrates the magnetometer utilizing the gyroscope sensor signals. The electronic device generates a first magnetometer calibration parameter based on a Kalman filter process. The electronic device generates a second magnetometer calibration parameter based on a least squares estimation process.

Claims (36)

1 . A method, comprising:

generating gyroscope sensor signals with a gyroscope of an electronic device;

generating magnetometer sensor signals with a magnetometer of the electronic device;

estimating a first magnetometer calibration parameter by performing a first analysis process with the gyroscope sensor signals and the magnetometer sensor signals;

estimating a second magnetometer calibration parameter by performing a second analysis process different than the first analysis process with the gyroscope sensor signals and the magnetometer sensor signals;

validating the first and second magnetometer calibration parameters by analyzing a convergence between the first magnetometer calibration parameter and the second magnetometer calibration parameter; and

simultaneously operating multiple instances of the first analysis process and the second analysis process, wherein the multiple instances of the first analysis process are offset from each other in time, wherein simultaneously operating multiple instances of the first analysis process includes continuously calibrating the magnetometer.

2 . The method of claim 1 , wherein estimating the first magnetometer calibration parameter includes determining a hard iron offset.

3 . The method of claim 2 , wherein estimating the hard iron offset includes minimizing an error constraint on a total magnetic field based, in part, on the gyroscope sensor signals.

4 . The method of claim 1 , wherein estimating the second magnetometer calibration includes determining a hard iron offset.

5 . The method of claim 4 , wherein estimating the hard iron offset includes minimizing an error between a first derivative of magnetic field and a gyroscope propagated magnetic field.

6 . The method of claim 1 , wherein validating the first and second magnetometer calibration parameters includes determining a difference between the first and second magnetometer calibration parameters.

7 . The method of claim 1 , wherein the first analysis process is a Kalman filter.

8 . The method of claim 7 , wherein the second analysis process is a least squares process.

9 . The method of claim 8 , wherein the multiple instances of the Kalman filter and the least squares process are offset from each other in time.

10 . The method of claim 1 , further comprising determining an orientation of the electronic device based on the first and second magnetometer calibration parameters.

11 . An electronic device, comprising:

a gyroscope configured to output gyroscope sensor signals;

a magnetometer configured to output magnetometer sensor signals; and

a magnetometer calibration module configured to receive the gyroscope sensor signals and the magnetometer sensor signals and to generate a first magnetometer calibration parameter with a first analysis process with the gyroscope sensor signals and the magnetometer sensor signals and to generate a second magnetometer calibration parameter based on a second analysis process different than the first analysis process with the gyroscope sensor signals and the magnetometer sensor signals, wherein the magnetometer calibration module is configured to simultaneously operate multiple instances of the first analysis process and the second analysis process to continuously calibrate the magnetometer, wherein the multiple instances of the first analysis process and the second analysis process are offset from each other in time.

12 . The electronic device of claim 11 , wherein the magnetometer calibration module is configured to validate the first and second magnetometer calibration parameters based on a convergence of the first magnetometer calibration parameter and the second magnetometer calibration parameter.

13 . The electronic device of claim 12 , further comprising a sensor processor configured to receive the at least one of the first and second magnetometer calibration parameters and to determine an orientation of the magnetometer based on at least one of the first and second magnetometer calibration parameters.

14 . The electronic device of claim 11 , wherein the magnetometer calibration module is configured to determine a first hard iron offset with the first analysis process.

15 . The electronic device of claim 14 , wherein the magnetometer calibration module is configured to determine a second hard iron offset with the second analysis process.

16 . The electronic device of claim 15 , wherein the first analysis process is a Kalman filter and the second analysis process is a least squares process.

17 . The electronic device of claim 11 , further comprising:

at least one memory configured to store software instructions; and

at least one processor configured to execute the software instructions, wherein the magnetometer calibration module is a software module implemented by executing the software instructions with the at least one processor.

18 . A method, comprising:

generating a first magnetometer calibration parameter by performing a first analysis process on gyroscope sensor signals and magnetometer sensor signals;

generating a second magnetometer calibration parameter by performing a second analysis process different than the first analysis process with the gyroscope sensor signals and the magnetometer sensor signals;

validating the first and second magnetometer calibration parameters by comparing the first and second magnetometer calibration parameters;

determining an orientation of the electronic device based on the magnetometer sensor signals and at least one of the first and second magnetometer calibration parameters; and

continuously calibrate the magnetometer sensor by simultaneously operating multiple instances of the first analysis process and the second analysis process, wherein the multiple instances of the first analysis process and the second analysis process are offset from each other in time.

19 . The method of claim 18 , further comprising determining a heading of the electronic device based on the magnetometer sensor signals and at least one of the first and second magnetometer calibration parameters.

20 . The method of claim 18 , wherein the electronic device is a virtual reality headset or an augmented reality headset.

Continuity (2)
Continuation 17135628 · Dec 28, 2020
Related Publication 20240045001A1 · Feb 8, 2024
References Cited (50)
US 7930148B1 · Figaro et al. · 2011 [cited by applicant]
US 8577637B2 · Vogt · 2013 [cited by applicant]
US 8577640B2 · Keal · 2013 [cited by applicant]
US 9151610B2 · Chow et al. · 2015 [cited by applicant]
US 9229084B2 · Tu · 2016 [cited by applicant]
US 9534924B2 · Ahuja et al. · 2017 [cited by applicant]
US 10444030B1 · Bogatsky et al. · 2019 [cited by applicant]
US 10502576B2 · Trigoni et al. · 2019 [cited by applicant]
US 20080208527A1 · Kavaklioglu · 2008 [cited by applicant]
US 20110301897A1 · Weiss et al. · 2011 [cited by applicant]
US 20110301904A1 · Bartholomeyczik et al. · 2011 [cited by applicant]
US 20120086438A1 · Tu · 2012 [cited by applicant]
US 20120101766A1 · Snow et al. · 2012 [cited by applicant]
US 20120217958A1 · Oka et al. · 2012 [cited by applicant]
US 20140361763A1 · Chow · 2014 [cited by examiner]
US 20150019159A1 · Elgersma · 2015 [cited by examiner]
US 20150177020A1 · An et al. · 2015 [cited by applicant]
US 20150241390A1 · Figaro · 2015 [cited by applicant]
US 20150354980A1 · Wahdan et al. · 2015 [cited by applicant]
US 20170059667A1 · Bassoli et al. · 2017 [cited by applicant]
US 20170176546A1 · Jain et al. · 2017 [cited by applicant]
US 20170211936A1 · Howell et al. · 2017 [cited by applicant]
US 20190250218A1 · Anfiteatro et al. · 2019 [cited by applicant]
US 20200233043A1 · Caplinger · 2020 [cited by applicant]
US 20210095966A1 · Li et al. · 2021 [cited by applicant]
US 20220206085A1 · Jain et al. · 2022 [cited by applicant]
US 20220413081A1 · Mahfouz · 2022 [cited by applicant]
CN 101156120A · 2008 [cited by applicant]
CN 102353917A · 2012 [cited by applicant]
CN 104296776A · 2015 [cited by applicant]
CN 104865539A · 2015 [cited by applicant]
CN 104884902A · 2015 [cited by applicant]
CN 106033131A · 2016 [cited by applicant]
CN 106660573A · 2017 [cited by applicant]
CN 106660576A · 2017 [cited by applicant]
CN 107003144A · 2017 [cited by applicant]
CN 110779553A · 2020 [cited by applicant]
WO 2014134710A1 · 2014 [cited by applicant]
WO 2016150312A1 · 2016 [cited by applicant]
Cai et al., “Nine-axis inertial fusion method based on dynamic magnetic field calibration”, Optics and Precision Engineering, vol. 28, No. 9, Sep. 2020, 10 pages. [cited by applicant]
Fang et al., “Design and implementation of MAV attitude estimation system”, Journal of Electronic Measurement and Instrumentation, vol. 31, No. 3, Mar. 2017, 7 pages. [cited by applicant]
Fang et al., “A Novel Calibration Method of Magnetic Compass Based on Ellipsoid Fitting,” IEEE Transactions on Instrumentation and Measurement, vol. 60, No. 6, Jun. 2011, pp. 2053-2061. [cited by applicant]
Mirko, “How to calibrate a 2D magnetometer with ellipsoid fitting,” URL: <<https://www.mirosertic.de/blog/2023/01/magnetometer-calibration-ellipsoid/>> last retrieved Jun. 25, 2025, 4 pages. [cited by applicant]
Olivares et al., “Automatic Determination of Validity of Input Data Used in Ellipsoid Fitting MARG Calibration Algorithms,” Sensors 13(9): 11797-11817, Sep. 2013. [21 pages]. [cited by applicant]
Vitali, STMicroelectronics, DT0103 Design Tip, “Compensating for magnetometer installation error and hard-iron effects using accelerometer-assisted 2D calibration,” Aug. 2018, Rev 1, 12 pgs. [cited by applicant]
Vitali, STMicroelectronics, DT0059 Design Tip, “Ellipsoid or sphere fitting for sensor calibration,” Oct. 2018, Rev 3, 8 pages. [cited by applicant]
Wu et al., “Magnetometer and Gyroscope Calibration Method with Level Rotation,” Sensors 2018, 18, 748; 16 pages, doi:10.3390/s1803078. [cited by applicant]
Troni et al., “Field Sensor Bias Calibration With Angular-Rate Sensors: Theory and Experimental Evaluation With Application to Magnetometer Calibration,” IEEE/ASME Transactions on Mechatronics, vol. 24, No. 4, Aug. 2019… [cited by applicant]
Zhang, “Two-Step Calibration Methods for Miniature Inertial and Magnetic Sensor Units,” IEEE Transactions on Industrial Electronics, Vo.. 62, No. 6, Jun. 2015, pp. 3714-3723. [cited by applicant]
Wu et al., “An improved magnetometer calibration and compensation method based on Levenberg-Marquardt algorithm for multi-rotor unmanned aerial vehicle,” Measurement and Control 2020, vol. 53(3-4), pp. 276-286. [cited by applicant]