Methods and apparatuses for calibrating attitude-independent parameters of a 3-D magnetometer are provided. A calibration method includes storing and updating data related to a N×9 matrix T and a N×1 matrix U extended for each measurement with an additional row and an additional element, respectively, the additional row and the additional element being calculated based on values measured by the 3-D magnetometer for the respective measurement. The method further includes calculating analytically (1) a symmetric non-orthogonal 3×3 matrix D representing scaling and skew of the 3-D magnetometer measured values and (2) a vector b representing bias of the 3-D magnetometer measured values, using the stored data and a singular value decomposition (SVD) method.
Legal claims defining the scope of protection, as filed with the USPTO.
2. The method of claim 1 , wherein F = [ 1 + K ( 1 ) + K ( 2 ) K ( 3 ) K ( 4 ) K ( 3 ) 1 + K ( 1 ) - 2 K ( 2 ) K ( 5 ) K ( 4 ) K ( 5 ) 1 - 2 K ( 1 ) + K ( 2 ) ] .
3. The method of claim 1 , wherein T = [ [ B x 2 + B y 2 - 2 B z 2 B x 2 - 2 B y 2 + B z 2 2 B x · B y 2 B x · B z 2 · B y · B z - 2 B x - 2 B y - 2 B z 1 ] 1 … [ B x 2 + B y 2 - 2 B z 2 B x 2 - 2 B y 2 + B z 2 2 B x · B y 2 B x · B z 2 · B y · B z - 2 B x - 2 B y - 2 B z 1 ] N ] and U = [ - ( B x 2 + B y 2 + B z 2 ) 1 … - ( B x 2 + B y 2 + B z 2 ) N ] , wherein B x is a measurement of axis x, B y is a measurement of axis y, and B z is a measurement of axis z.
4. The method of claim 1 , further comprising estimating accuracy of determining the symmetric non-orthogonal 3×3 matrix D and the vector b.
5. The method of claim 4 , wherein the accuracy of determining the symmetric non-orthogonal 3×3 matrix D and the vector b is estimated by computing matrices Y 1 = [ 0 0 0 2 3 pD 11 0 - 2 3 pD 33 2 3 pD 12 0 - 2 3 pD 23 0 0 0 2 3 pD 11 - 2 3 pD 22 0 0 2 3 pD 13 - 2 3 pD 23 0 0 0 pD 12 pD 12 0 pD 11 + pD 22 pD 23 pD 13 0 0 0 pD 13 0 pD 13 pD 23 pD 11 + pD 33 pD 12 0 0 0 0 pD 23 pD 23 pD 13 pD 12 pD 22 + pD 33 pD 11 pD 12 pD 13 b x 0 0 b y b z 0 pD 12 pD 22 pD 23 0 b y 0 b x 0 b z pD 13 pD 23 pD 33 0 0 b z 0 b x b y 2 b x 2 b y 2 b z 0 0 0 0 0 0 ] Y 2 = K × [ 0 0 0 4 3 pD 11 4 3 pD 22 4 3 pD 33 2 pD 12 2 pD 13 2 pD 23 ] ∂ K ∂ J = 1 co · ( Y 1 - Y 2 ) A = A + ( T n + 1 T × T n + 1 ) and P KK = σ z 2 · A - 1 ; calculating an error covariance matrix P JJ = ( ∂ K ∂ J ) - 1 × P KK × ( ∂ K ∂ J ) - 1 ; and computing error of the elements of b and D as elements of J=[b x b y b z pD 11 pD 22 pD 33 pD 12 pD 13 pD 23 ] T according to ε J =sqrt(diag(P JJ )) wherein pD = I 3 × 3 + D = [ pD 11 pD 12 pD 13 pD 12 pD 22 pD 23 pD 13 pD 23 pD 33 ] .
7. The method of claim 6 further comprising: determining if the 3-D magnetometer measured values meet a predetermined criterion; and using the 3-D magnetometer measured values in the updating of the matrices T and U only if they meet the predetermined criterion.
8. The apparatus of claim 7 , where F = [ 1 + K ( 1 ) + K ( 2 ) K ( 3 ) K ( 4 ) K ( 3 ) 1 + K ( 1 ) - 2 K ( 2 ) K ( 5 ) K ( 4 ) K ( 5 ) 1 - 2 K ( 1 ) + K ( 2 ) ] .
9. The apparatus of claim 7 , wherein T = [ [ B x 2 + B y 2 - 2 B z 2 B x 2 - 2 B y 2 + B z 2 2 B x · B y 2 B x · B z 2 · B y · B z - 2 B x - 2 B y - 2 B z 1 ] 1 … [ B x 2 + B y 2 - 2 B z 2 B x 2 - 2 B y 2 + B z 2 2 B x · B y 2 B x · B z 2 · B y · B z - 2 B x - 2 B y - 2 B z 1 ] N ] and U = [ - ( B x 2 + B y 2 + B z 2 ) 1 … - ( B x 2 + B y 2 + B z 2 ) N ] wherein B x is a measurement of axis x, B y is a measurement of axis y, and B z is a measurement of axis z.
10. The apparatus of claim 7 , wherein the data processing unit is further configured to estimate accuracy of determining the symmetric non-orthogonal 3×3 matrix D and the vector b.
11. The apparatus of claim 10 , further wherein the data processing unit estimates the accuracy of determining the symmetric non-orthogonal 3×3 matrix D and the vector b is estimated by computing matrices Y 1 = [ 0 0 0 2 3 pD 11 0 - 2 3 pD 33 2 3 pD 12 0 - 2 3 pD 23 0 0 0 2 3 pD 11 - 2 3 pD 22 0 0 2 3 pD 13 - 2 3 pD 23 0 0 0 pD 12 pD 12 0 pD 11 + pD 22 pD 23 pD 13 0 0 0 pD 13 0 pD 13 pD 23 pD 11 + pD 33 pD 12 0 0 0 0 pD 23 pD 23 pD 13 pD 12 pD 22 + pD 33 pD 11 pD 12 pD 13 b x 0 0 b y b z 0 pD 12 pD 22 pD 23 0 b y 0 b x 0 b z pD 13 pD 23 pD 33 0 0 b z 0 b x b y 2 b x 2 b y 2 b z 0 0 0 0 0 0 ] Y 2 = K × [ 0 0 0 4 3 pD 11 4 3 pD 22 4 3 pD 33 2 pD 12 2 pD 13 2 pD 23 ] ∂ K ∂ J = 1 co · ( Y 1 - Y 2 ) A = A + ( T n + 1 T × T n + 1 ) and P KK = σ z 2 · A - 1 ; calculating an error covariance matrix P JJ = ( ∂ K ∂ J ) - 1 × P KK × ( ∂ K ∂ J ) - 1 ; and computing error of the elements of b and D as elements of J=[b x b y b z pD 11 pD 22 pD 33 pD 12 pD 13 pD 23 ] T according to ε J =sqrt(diag(P JJ )) wherein pD = I 3 × 3 + D = [ pD 11 pD 12 pD 13 pD 12 pD 22 pD 23 pD 13 pD 23 pD 33 ] .
12. The apparatus of claim 7 wherein the data processing unit is further configured to: determine if the 3-D magnetometer measured values meet a predetermined criterion; and use the 3-D magnetometer measured values in the updating of the matrices T and U only if they meet the predetermined criterion.
14. The computer readable medium of claim 13 , where F = [ 1 + K ( 1 ) + K ( 2 ) K ( 3 ) K ( 4 ) K ( 3 ) 1 + K ( 1 ) - 2 K ( 2 ) K ( 5 ) K ( 4 ) K ( 5 ) 1 - 2 K ( 1 ) + K ( 2 ) ] .
15. The computer readable medium of claim 13 , wherein T = [ [ B x 2 + B y 2 - 2 B z 2 B x 2 - 2 B y 2 + B z 2 2 B x · B y 2 B x · B z 2 · B y · B z - 2 B x - 2 B y - 2 B z 1 ] 1 … [ B x 2 + B y 2 - 2 B z 2 B x 2 - 2 B y 2 + B z 2 2 B x · B y 2 B x · B z 2 · B y · B z - 2 B x - 2 B y - 2 B z 1 ] N ] and U = [ - ( B x 2 + B y 2 + B z 2 ) 1 … - ( B x 2 + B y 2 + B z 2 ) N ] wherein B x is a measurement of axis x, B y is a measurement of axis y, and B z is a measurement of axis z.
16. The computer readable medium of claim 13 , wherein the method further comprises estimating accuracy of determining the symmetric non-orthogonal 3×3 matrix D and the vector b.
17. The computer readable medium of claim 16 , wherein the method further comprising wherein the accuracy of determining the symmetric non-orthogonal 3×3 matrix D and the vector b is estimated by computing matrices Y 1 = [ 0 0 0 2 3 pD 11 0 - 2 3 pD 33 2 3 pD 12 0 - 2 3 pD 23 0 0 0 2 3 pD 11 - 2 3 pD 22 0 0 2 3 pD 13 - 2 3 pD 23 0 0 0 pD 12 pD 12 0 pD 11 + pD 22 pD 23 pD 13 0 0 0 pD 13 0 pD 13 pD 23 pD 11 + pD 33 pD 12 0 0 0 0 pD 23 pD 23 pD 13 pD 12 pD 22 + pD 33 pD 11 pD 12 pD 13 b x 0 0 b y b z 0 pD 12 pD 22 pD 23 0 b y 0 b x 0 b z pD 13 pD 23 pD 33 0 0 b z 0 b x b y 2 b x 2 b y 2 b z 0 0 0 0 0 0 ] Y 2 = K × [ 0 0 0 4 3 pD 11 4 3 pD 22 4 3 pD 33 2 pD 12 2 pD 13 2 pD 23 ] ∂ K ∂ J = 1 co · ( Y 1 - Y 2 ) A = A + ( T n + 1 T × T n + 1 ) and P KK = σ z 2 · A - 1 ; calculating an error covariance matrix P JJ = ( ∂ K ∂ J ) - 1 × P KK × ( ∂ K ∂ J ) - 1 ; and computing error of the elements of b and D as elements of J=[b x b y b z pD 11 pD 22 pD 33 pD 12 pD 13 pD 23 ] T according to ε J =sqrt(diag(P JJ )), wherein pD = I 3 × 3 + D = [ pD 11 pD 12 pD 13 pD 12 pD 22 pD 23 pD 13 pD 23 pD 33 ] .
18. The computer readable medium of claim 13 wherein the method further comprises: determining if the 3-D magnetometer measured values meet a predetermined criterion; and using the 3-D magnetometer measured values in the updating of the matrices T and U only if they meet the predetermined criterion.
Cooperative Patent Classification codes for this invention. Click any code to explore related patents in that topic.
November 17, 2011
June 18, 2019
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.