ELECTRONIC COMPASS AND COMPENSATION OF LARGE MAGNETIC ERRORS FOR OPERATION OVER ALL ORIENTATIONS

Abstract: A three-axis algebraic model is used to numerically compensate for magnetic errors in measured magnetic field values in an electronic compass for any orientation of the compass. This model is based on physical principles and uses a linear algebra approach that facilitates computation of the parameters needed for compensation. During a calibration procedure of the electronic compass, magnetic and gravity fields are measured in three axes at each of a variety of combinations of orientations and azimuths. This set of measured magnetic and gravity fields is used to calculate a matrix compensation coefficient and a vector compensation coefficient using a system of equations. These compensation coefficients are stored and then used during normal operations of the electronic compass to correct all subsequently measured magnetometer data to obtain corrected values for the Earth's magnetic field, from which the correct azimuth can be calculated.

Description: ELECTRONIC COMPASS AND COMPENSATION OF LARGE MAGNETIC ERRORS FOR OPERATION OVER ALL ORIENTATIONS Statement of Government Interest This invention was made with Government Support under contract number DAAB07- 95-C-M028. The Government has certain rights in the invention. Field of the Invention The present invention relates to electronic compasses. More particularly, the present invention relates to compensation of electronic compasses for magnetic errors. Background Electronic compasses are well known in the art. Such devices typically have used magnetic flux gate or other sensors to measure magnetic fields and to determine orientation with respect to the Earth's magnetic field. As with needle- or card-based compasses, however, when an electronic compass is used in an environment of ferrous metals and associated perturbing fields, the fields sensed by the magnetometer sensors are perturbed, leading to erroneous readings of the Earth's magnetic field and the compass magnetic azimuth. To obtain correct readings, it is necessary to compensate for these magnetic perturbations. Compensating needle- or card-based compasses requires the use of bar magnets and/or soft iron masses to physically neutralize and cancel perturbing magnetic fields. These magnets and soft iron masses must be positioned carefully about the compass so as to cancel preexisting perturbations and reduce the deviation errors to, for example, 3-5°. Even after this reduction, however, residual deviation errors must be plotted against true azimuth so that the user can correct the azimuth value. Electronic compasses, which use microprocessors to process the data received from the magnetometer sensors, can be compensated using numerical methods. One particular example of compensation using numerical methods is the classical five-term compensation formula for a level compass. In this formula, the deviation of the aximuth as measured by the compass from the true azimuth is expressed in degrees as a function of the true magnetic azimuth 2 as follows: Deviation = A + B- sin(2) + C- cos(2) + D- sin(22) + E- cos(22) where A, B, C, D, and E are coefficients whose values are determined through some calibration procedure. This compensation technique exhibits certain limitations. For example, the above formula is only an approximate expression, valid only for small deviations and small values of A, B, C, D, and E. Thus, this technique is only used after physical compensation to reduce deviation errors, e.g., through the addition of magnets and/or soft iron masses. In addition, the formula is valid only for a level compass and is therefore poorly suited for use in environments in which the orientation of the compass may vary widely within three-dimensional space, such as heeled ships. Changes in latitude can also affect the quality of compensation. While this compensation technique is reasonable for use also with aircraft flux gate compasses, it is only approximate for common pendulous flux gate compasses, as the coefficients are dependent on tilt attitude and magnetic latitude. Certain conventional compensation techniques have been implemented, but many are limited to two-axis compasses and do not produce adequate results for a variety of arbitrary orientations of the compass in three-dimensional space. Some conventional compensation techniques have been applied to three-axis compasses. Such conventional techniques, however, fail to adequately compensate for certain types of errors because they rely on symmetric coefficient matrices. Summary of the Invention The present invention addresses these and other problems by using a three-axis physical model to numerically compensate for errors in measured magnetic field values in an electronic compass. This model is based on physical principles rather than approximations, and thus produces more accurate compensation. Furthermore, the model uses a linear algebra approach that facilitates application of the compensation and determination of the parameters needed for compensation. By using a three-axis physical model, the present invention compensates an electronic compass over all orientations and is not limited to use in relatively level orientations. According to one embodiment, the present invention is directed to a method of compensating an electronic compass to obtain accurate azimuth data despite the presence of perturbing magnetic effects. For each of a plurality of combinations of orientations and azimuths, a measured magnetic field vector HMEA S representing magnetic field strength in three axes and a measured gravity vector G EAS representing gravitational field strength in three axes are obtained. These vector values are used to calculate a matrix compensation coefficient L E and a vector compensation coefficient H PE using a system of equations. The matrix compensation coefficient L E and the vector compensation coefficient H PE are then used to correct subsequently measured magnetometer output data to obtain the accurate Earth's magnetic field data. Additional embodiments are directed to electronic compass arrangements and microprocessor-readable media for performing these methods. The above summary of the present invention is not intended to describe each illustrated embodiment or every implementation of the present invention. The figures and the detailed description that follow more particularly exemplify these embodiments. Brief Description of the Drawings These and other aspects and advantages of the present invention will become apparent upon reading the following detailed description and upon reference to the drawings, in which: FIG. 1A illustrates the locus of the Earth's measured magnetic field in a level plane without perturbations; FIG. IB illustrates combined effects of both permanent-field and induced-field magnetic perturbations on the locus of a magnetic field as measured by a magnetometer; FIG. 2 illustrates combined effects of both permanent-field and induced-field magnetic perturbations on the locus of a magnetic field as measured by a magnetometer in three-axis space; FIG. 3 is a block diagram illustrating an example compensated electronic compass arrangement, according to a particular embodiment of the present invention; FIG. 4 depicts the coordinate systems associated with the compass of FIG. 3, as well as the local Earth-based coordinate system; FIG. 5 is a block diagram illustrating a particular embodiment of the electronic compass of FIG. 3, according to another embodiment of the present invention; FIG. 6A is a flowchart illustrating an example method for compensating an electronic compass, according to still another embodiment of the present invention; FIG. 6B is a flowchart illustrating an example method for calibrating an electronic compass, according to yet another embodiment of the present invention; FIG. 7 illustrates a particular set of orientations used in calibrating an electronic compass, according to a particular embodiment of the present invention; FIG. 8 is a set of two graphs depicting smallest singular values and convergence of a solution set of numerical compensation coefficients obtained using a calibration method according to one particular embodiment of the present invention; FIG. 9 is a set of two graphs depicting smallest singular values and convergence of a solution set of numerical compensation coefficients obtained using a calibration method according to another particular embodiment of the present invention; and FIG. 10 illustrates the effect on electronic compass accuracy of numerical compensation performed using a compensation method according to an embodiment of the present invention. The invention is amenable to various modifications and alternative forms. Specifics thereof have been shown by way of example in the drawings and will be described in detail. It should be understood, however, that the intention is not to limit the invention to the particular embodiments described. On the contrary, the intention is to cover all modifications, equivalents, and alternatives falling within the spirit and scope of the invention as defined by the appended claims. Detailed Description The present invention is applicable to electronic compasses. The invention has been found to be particularly advantageous for use for compasses operating over diverse orientations and in adverse magnetic environments with potentially large magnetic perturbations. An appreciation of various aspects of the invention can be gained through a discussion of various implementations of the invention. The invention advantageously provides accurate compensation and operation over all possible orientations of the compass, allowing completely arbitrary orientations of the vehicle or equipment on which the compass is installed. Both "hard iron" and "soft iron" errors are compensated. Large fixed magnetic perturbations, even those stronger than the Earth's magnetic field, are compensated. Because compensation is applied to the magnetic signals before they are used to calculate the azimuth, greater accuracy is achieved relative to conventional techniques. Accuracy is also improved because the compensation formula used in the present invention is based on the physics of magnetic fields, obviating the need for mathematical approximations. A further advantage is that the same magnetic compensation formula and calibration procedure also compensate for several non-magnetic sensor errors, such as zero offsets, unequal scale factors, axis misalignments, and misalignments between magnetometers and orientation sensors. According to one example embodiment of the present invention, an electronic compass is based on a three-axis electronic magnetometer fixed with respect to a vehicle or other equipment on which it is installed. Three-axis accelerometers or orientation sensors measure the direction of gravity in order to determine the local level plane in which the compass azimuth is defined. Those skilled in the art will appreciate that the direction of gravity can be sensed using other arrangements, such as an aircraft flight control sensor system. A computer microprocessor uses the numerical values obtained for the measured magnetic fields and measured gravity field to calculate the magnetic azimuth of the axis of the compass regardless of its orientation. As a result, the compass can operate in any orientation and does not need to be held level. In order to calibrate the compass, magnetic and gravity measurements are taken at various well-distributed combinations of pitch, roll, and azimuth orientations. Next, for each such orientation, an equation is constructed that expresses the estimated Earth's magnetic field as a function of the measured field, a matrix coefficient, and a vector coefficient, which are to be determined. A system of equations is thus constructed from the set of measurements. Some of these equations are linear and others are quadratic; the quadratic equations are restructured as approximately linear equations. Next, the subset of linear equations is first solved to obtain a preliminary estimate for the values of the matrix and vector coefficients. Next, the entire system of equations is solved to refine the preliminary estimate. The entire system is optionally solved iteratively to further refine the estimate, thus improving accuracy of compensation. The matrix and vector coefficient values are then stored for use during normal operation of the electronic compass to compensate for magnetometer errors. The remainder of this disclosure begins with a discussion of principles underlying the present invention. Next, a process for obtaining measurements for use in calibrating an electronic compass is described. The formula used in compensating the compass is then discussed. The disclosure concludes with a discussion of a process for solving the system of equations, which yields the necessary values for the needed numerical coefficients. Underlying principles. As previously discussed, the measured magnetic fields are susceptible to errors caused by, for example, ferrous metals in the operating environment. These errors are attributable to additive magnetic perturbations, which in turn cause azimuth deviation errors. Because of these perturbations, the measured magnetic field HMEA S differs from the Earth's magnetic field HEARTH as follows: HMEAS = HEARTH + HINDUCED + HPERM where H I N D U CED represents the induced magnetic field perturbation, and H PE RM represents the permanent magnetic field perturbation. The effect of perturbations on the measured field can be seen for a very simple two- axis case in FIGS. 1 A and IB. FIG. 1A illustrates the locus of the Earth's magnetic field without perturbations, assuming a level compass and 360 degree compass swing. As can be seen in FIG. 1 A, the locus is a circle, with azimuth defined clockwise from magnetic north. HEARTH rotates counterclockwise with compass swing, and the vertical magnetic field component Hz is constant. FIG. IB illustrates combined effects of H P E RM and H I NDU CED , which cause the locus to be off-centered and elliptical, respectively. Thus, the locus is an off -centered ellipse that can have any orientation. Further, points may be rotated along the ellipse. If H PERM is larger than HEARTH, then HMEAS does not do a full swing, resulting in 180 degree error at some point. In addition, HIND UCED perturbations can cause H MEA S to be characterized by a constant deviation error at all azimuths and to be incorrect at all orientations. The permanent field perturbation H PERM results from permanent magnetization and DC currents in any part of the compass and its installation. As a result, in the compass case, H PER is fixed and constant relative to the compass and the installation. Because HEARTH varies with orientation, the orientation of H PER M relative to HEARTH changes with the orientation of the compass. HPE RM causes zero offsets in measured fields for all three axes, which result in azimuth deviation errors. These errors vary with azimuth and tilt orientations. The induced-field perturbation H IND U C E D is attributable to magnetizable soft iron material in the environment in which the compass operates. HINDUCE D is variable in both magnitude and direction and is proportional to HEA RTH - HINDUCED = K -HEARTH, where K is a susceptibility-like matrix. The induced magnetic field perturbation vector H INDUC E D can always be resolved into three linearly independent contributions, such that HINDUCED = HI(HEARTH) + H 2 (HEARTH) + H 3 (HEARTH) = K HEARTH, where K is a 3x3 magnetic susceptibility matrix that characterizes H IND U CE D as a function of H E ART H - The directions of unit vectors hi, h 2 , and h 3 , along the three field contributions Hi, H 2 , and H 3 at the sensors, are fixed and orthogonal to each other and do not depend on the direction of the Earth's magnetic field, H E AR TH - When any of these contributions reaches a maximum positive or negative value with changing orientation of H E A R T H , the other two contributions are zero. The orientation of the field HEA RTH itself has three corresponding particular orthogonal directions, denoted by unit vectors ei, e 2 , and e 3 , along which the respective contribution of H E A RT H will reach a maximum magnitude in either a positive direction or a negative direction. These maximum magnitudes will have distinct values, denoted as k l5 k 2 , and k 3 . The two orthogonal triads, associated with HIN DUC ED and HEA RT H, are independent from each other. The triads and the maximum magnitudes can both be deduced and displayed using the magnetic susceptibility matrix K using a technique known as singular value decomposition, or SND. K ≡ [h_ | h 2 | h 3 ]CDOTscalesym300[ 0 k 2 OMeJ 0 0 k 3 e 3 K can be factored into three SND matrix factors as follows: where hi, h 2 , and h 3 are unit column vectors corresponding to induced field directions at the sensors, ki, k 2 , and k 3 are the peak magnitudes of each contribution, and ei, e 2 , and e 3 are unit row vectors corresponding to the orthogonal directions along which the Earth's magnetic field H E A RT H may lie. A three-term Dyadic representation of K may be derived as a sum of three matrices obtained from the column vectors h) and the row vectors (e, acting from the left on HEARTH: K ≡ hι)kι<eι + h 2 )k 2 (e 2 + h 3 )k 3 (e 3 = Ki + K 2 + K 3 When K acts on HEA R T H , the above equation becomes: K-HEARTH ≡ hι)k!<eι -HEARTH) + h2)k 2 <e 2 ΗE RTH) + h3>k 3 (e 3 -HEARTH) where = HI(H E ARTH), h 2 )k 2 <e 2 -H E ARTH) = H 2 (H E ARTH), and h3)k 3 (e3-HEARTH) = H 3 (HEARTH)- For any value of K, the numerical singular value decomposition of K will yield numerical values for these representations and the separate geometric contributions to HINDUCED and HEARTH- It is well known in the traditional art of physically compensating non-electronic compasses that there are nine independent types of errors associated with the induced magnetization perturbations, H INDUCED . Further, there is a particular strength value associated with each of the individual types. In this tradition, there is a also a physical description of these different errors in terms of nine distinct "rods" of permeable magnetic material, each disposed in particular arrangements about the compass. These hypothetical rods are equivalent in their consequences to, or represent, the distribution of the ferrous materials in a compass installation. The nine rods in fact correspond to the nine elements of the K susceptibility matrix. There are no physical laws of magnetics which ascribe any special properties to the matrix K; for example, it is not a symmetric matrix, which would require only six element values to fix its specification. FIG. 2 illustrates combined effects of both permanent-field and induced-field magnetic perturbations on the locus of a magnetic field as measured by a magnetometer in three-axis space. It is well known in the field of linear algebra that any symmetric 3x3 matrix defines a three dimensional ellipsoidal surface for the magnitude of the sensor- measured magnetic field, as illustrated in FIG. 2. However, the asymmetric part of the more general matrix will further define different rotations and angular displacements of locus points along the surface of the ellipsoid, without altering the shape. Therefore, three of the nine types of errors may be described instead as rotations of the resulting measured magnetic field directions, in addition to the perturbations in the field strength represented by the ellipsoid. Compasses may differ significantly in these pure rotation errors, but have very similar errors in other respects. FIG. 2 depicts several simulated examples of the locus for different fixed tilt orientations and magnetic latitudes. For each combination of tilt orientation and magnetic latitude, the locus is a closed plane ellipse obtained by taking a cross-section of the ellipsoidal surface illustrated in FIG. 2, which is characteristic of the compass and installation. The center of the ellipsoid is displaced from the origin by the line denoting the H PERM vector. On each individual locus, an asterisk marks the H MEAS value at which the compass azimuth is North. FIG. 2 illustrates the complexity and difficulty in determining how to compensate for the magnetic perturbations. There are twelve independent numerical constants associated with these characteristics of a compass. Each of the individual error types may independently be present in a compass installation, to any degree and with positive or negative strength. In order to fully compensate compass errors arising from Hι NDUCED , nine distinct types of compensation must be accurately accomplished. The permanent-magnetization perturbation, H PERM , contributes a further three independent values which must be compensated, for a total of twelve. The present invention fully and accurately compensates all types of errors arising from H INDϋCED and H PERM . K is typically relatively small. Because, in the measured field H MEAS , H EARTH and K ft HEARTH always appear added, a magnetic permeability matrix M can be used to facilitate calculations, where M is related to K as follows: Thus, (H E A RTH + K H EARTH ) == (I 3 + K) • HEARTH ≡ M ft HEARTH Considering both induced field perturbation and permanent field perturbation, the field H ME A S as measured by the magnetometer can be expressed using the formula: HMEAS ≡ M ft HEARTH + HPERM where M is the magnetic permeability matrix, as previously discussed. Any uncompensated compass can be fully characterized by determining the values of the matrix M and the vector H PERM - This formula accounts for almost all forms of magnetic error associated with a compass, except for factors related to the instability of parameters, such as thermal and hysteresis considerations, shifting loads, and equipment errors. Example Embodiments. FIG. 3 is a block diagram illustrating an example compensated electronic compass 300, according to a particular embodiment of the present invention. The compass 300 includes a three-axis magnetometer 302 that is fixed with respect to the vehicle or other equipment on which it is installed. The magnetometer 302 measures the magnetic field with respect to a three-axis internal coordinate system as depicted in FIG. 4. In FIG. 4, the compass' internal coordinate system is denoted by x-, y-, and z-axes, and is depicted relative to the Earth level plane perpendicular to the gravity vector G. Usually, but not necessarily, the z-axis of the internal coordinate system is the downward direction relative to the equipment to which the compass is attached. The y-axis is perpendicular to the z-axis and extends to the right, and the x-axis is perpendicular to the y- and z-axes and is generally defined as the "forward" direction for the compass and the equipment. The x-axis is of particular interest; its orientation relative to Earth's magnetic north is used to define the azimuth. Specifically, the angle measured from the north direction to the x-axis direction defines the azimuth; this angle lies in the horizontal level plane. If the compass is not level, but is rather at a significant pitch and/or roll angle, then the azimuth is defined by the projection of the x-axis onto the horizontal level plane. Thus, the magnetic azimuth of interest is the angle measured from the level component of the Earth's magnetic field to the level component of the x-axis of the compass' internal coordinate system. This angle is positive when measured clockwise from the north direction. The magnetometer 302 provides magnetic sensor data to a microprocessor 304, which performs all calculations. The microprocessor 304 stores the compensation data it generates in a memory 306, from which it retrieves data for use in compensating subsequently measured magnetometer data for magnetic errors. A gravity sensor 308 provides the microprocessor 304 with information as to the orientation of the electronic compass 300. This orientation data is used, along with the magnetometer data, to calibrate the electronic compass 300. The gravity sensor 308 can be implemented using, for example, a three-axis accelerometer or orientation sensors. As an alternative, the orientation data can be obtained using external information. For example, if the compass 300 is mounted on an airplane, the aiφlane' s flight control or navigation system can be used to provide the orientation data, thus avoiding the need for a dedicated gravity sensor. After the electronic compass 300 has been calibrated, the compensation data is used to compensate magnetometer data for magnetic errors, thereby enabling accurate calculation of magnetic azimuth. FIG. 5 illustrates a particular implementation of the electronic compass 300 depicted more generally in FIG. 3. Magnetic sensors 502 formed by magnetoresistive (MR) bridges obtain magnetic field measurements with respect to each of three coordinate axes of an internal coordinate system, such as the coordinate system depicted in HG. 4. MR bridges are particularly suitable for implementing the magnetic sensors 502 due to their small size and low power requirements. The magnetic sensors 502 are fixed with respect to the vehicle or equipment on which the electronic compass 300 is mounted. The measurements are provided to sensor electronics modules 504, which may also be implemented, for example, using other conventional types of sensor electronics that are well-known in the art. The outputs of the sensor electronics modules 504 are provided to a multiplexer 508, which samples each in turn. In the particular implementation depicted in HG. 5, the multiplexer 508 also receives acceleration information from accelerometers 514. These accelerometers 514 measure acceleration and gravity along each of the three axes of the internal coordinate system of the electronic compass. The multiplexer 508 provides the magnetic sensor and accelerometer signals to an analog-to-digital (A/D) converter 518, which converts the signals in turn to digital data and provides the converted data to a microprocessor arrangement 520 having a microprocessor 522 and a memory 523. The microprocessor arrangement 520 uses this information to compute the azimuth angle. Due to magnetic errors, however, if not compensated, the azimuth will typically not be correct. To correct the measured magnetic fields, the microprocessor 522 processes the data in a manner directed by software 524 loaded in the memory 523 associated with the microprocessor 522. This software 524 implements the routines for calibrating the electronic compass 300, performing magnetic compensation once the magnetic compass 300 has been calibrated, and calculating the magnetic azimuth after performing the magnetic compensation. As a result of the compensation process, the microprocessor 522 calculates the azimuth angle, which is output to the user via, for example, a conventional RS-232 data interface. To determine the Earth's magnetic field H EARTH from the measured magnetic field HMEA S , the algebraic inverse of the physical model expression HMEAS ≡ • HEARTH + HPERM is used to compensate for magnetic errors. This algebraic inverse takes the form HEARTH S M " • [HMEAS - HPERM] The coefficients can be expressed in a slightly different form with the definitions: L E ≡M '1 Hp E ≡ M 1 H] PERM The above formula thus becomes: _EARTH = E • HMEAS - HPE In this formula, _ EAR T H is the goal, accurate estimated values for the Earth's true magnetic field, calculated in real time from the magnetometer output, HMEAS- The matrix L E and the vector HP E are numerical compensation coefficients. By determining the values of these coefficients, the need to calculate the original model parameters, M and H PE RM, is obviated. Once L E and H PE are determined, the above formula is valid for any orientation in three-axis space, and the electronic compass can be used as a fully three-axis compass. Because the formula is based on a physical model, no approximations are used in arriving at this compensation formula, which is valid for magnetic perturbations of any magnitude and for any strength of the Earth's magnetic field. Further, compensation depends only on HMEAS and does not require any external information, such as knowledge about the Earth's magnetic field, gravity vector, or local level. Once the compass is calibrated, it can be used anywhere in the world, regardless of magnetic latitude. In the compensation formula of this invention, the nine elements of matrix L E are in fact the nine values as needed to fully compensate all the nine types of errors associated with H INDUCED and the susceptibility matrix, K, as known in the prior art and described here. In addition, the three elements of the vector H PE are the required three values for compensating for H PERM . Therefore, with appropriate values for the twelve elements, the compensation formula is then capable of compensating all types of errors arising from the perturbing magnetic fields. As described for matrix K, there are no special properties which can be ascribed to matrix L E . In particular matrix L E will not be symmetric, nor will it have other properties, which reduce the number of independent values needed to fully compensate all the nine types of errors. In the prior art for compensating electronic compasses simplifying approximations have sometimes been made which are equivalent to assuming that matrix L E is symmetric and requiring only six element values for its specification. In other cases additional assumptions are also made for the purpose of further reducing the number of coefficients which need to be determined, say to four values. The purpose was to simplify the algebra and their calculation from some calibration procedure. With modern microprocessors and memory there is no longer the motivation for simplification there once was. Any compensation method, which is equivalent to assuming a symmetric matrix for L E , or any additional simplifications, cannot compensate for all of the nine types of errors associated with the H INDUCED perturbations. Such a compensation method is incomplete. This invention in particular teaches a method for determining all nine values in the compensation coefficient matrix L E and for fully compensating for all errors. Because L E is a 3x3 matrix and H PE is a three-axis vector, compensating the compass using this formula requires determining twelve real-valued elements of these coefficients. The accuracy of the compensation depends on the accuracy of the coefficients. Therefore, it is particularly beneficial to obtain accurate coefficients. These coefficient values are determined using any of a variety of calibration processes. Preferably, calibration is formulated using as a reference the internal coordinate system of the compass so as to emphasize the viewpoint of the sensors as opposed to the user's Earth-based coordinate system. The internal coordinate system of the compass is shown in HG. 4, with axes defined in the x, y, and z directions. In this system, the Earth's magnetic field vector H E AR TH , which has a constant magnitude, and the gravity unit vector G together form a rigid pair with a constant angle between them. These vectors can have any orientation with respect to the x, y, and z axes, which form the only coordinate system required. It should be noted that the Earth's coordinate system is not needed for the calibration procedure. HG. 6A is a flowchart illustrating an example method 600 for compensating the electronic compass 300, according to another embodiment of the present invention. Compensation is performed during normal operations of the electronic compass. First, starting at a block 602, a three-axis magnetic field vector H MEA S and a three-axis gravity vector G MEAS are measured. Next, at a block 604, compensation coefficients, i.e., the matrix coefficient L E and the vector coefficient H PE , are retrieved from a memory associated with the electronic compass 300. These compensation coefficients are obtained, for example, as described below in connection with HG. 6B. As depicted at a block 606, the compensation formula ---EARTH ≡ LE • HMEAS - HPE is applied using the retrieved values of the matrix coefficient L E and the vector coefficient H P E- Applying the compensation formula corrects the magnetometer data for magnetic errors. Based on the corrected magnetometer data, the magnetic azimuth is then calculated at a block 608. Flow then returns to the block 602, and the process is repeated. Compensating the electronic compass 300 in this manner allows the compass to be used at any orientation. In addition, all magnetic errors are compensated, even for magnetic perturbations that may be larger than the Earth's magnetic field. FIG. 10 illustrates the effectiveness of the present invention in compensating for very large magnetic perturbations. Before the electronic compass 300 can be compensated, however, it must be calibrated. Calibration involves determining the values of the matrix coefficient E and the vector coefficient H P E to be applied in the compensation formula -EARTH s LE • HMEAS - HPE and is typically only performed occasionally. HG. 6B depicts an example method 650 for calibrating the electronic compass. First, starting at a block 652, calibration measurements, namely a three-axis magnetic field vector HM E A S and a three-axis gravity vector GM E A S , are obtained at selected combinations of orientation and azimuth. The vectors HM EAS and GMEAS in each set of measurements are expressed in terms of unit vectors x, y, and z respectively corresponding to the x, y, and z axes of the coordinate system of the compass. According to one particular embodiment, measurements are taken for a set of four orientations (pitch and roll combinations) at each of four azimuths, e.g., north, east, south, and west, as depicted in HG. 7, for a total of sixteen measurements. It should be noted that the choice of particular azimuth angles is not important, as long as the azimuths are roughly 90° apart. For example, choosing azimuths corresponding to northwest, northeast, southeast, and southwest positions would work equally well. The same tilt orientations may be used at each azimuth. For example, the set of orientations can be selected as combinations of up/down pitch angle and left/right roll angle, i.e., up/left, up/right, down/left, and down/right, where the pitch and roll angles are all approximately 30°. It should be noted that, as with the azimuth angles, the pitch and roll angles are not critical. Further, the calibration procedure is completely independent of the order in which measurements are taken. It is, however, important to maintain the compass in a steady orientation during the measurement process to obtain accurate measurements and calibration, particularly for G. Calibration accuracy is also improved by ensuring that the measurements are well distributed in terms of azimuth, pitch, and roll angles. In other implementations, a set of twenty-four or thirty-two measurements may be used. The calibration measurements are then stored in a memory associated with the electronic compass 300 at a block 654. Next, using the set of sixteen measurements thus obtained, i.e., the three-element vector HMEAS and the three-element vector GM E A S for each of sixteen combinations of pitch and roll angles, a set of equations is then formulated and solved to determine L E and H P E, as depicted at a block 656 of HG. 6B. For each measurement of H MEAS in the calibration measurement set, it is taken that ..EARTH ≡ LE • HMEAS - HPE. Moreover, over all measurements, _ E A RT H has a fixed but unknown magnitude and dip angle. These properties lead to a system of equations that is used to calculate the coefficients. First, _ EARTH has a fixed magnitude Ho. Thus, the square of the magnitude is also constant: |_EARTH| = Ho . Combining this equation with the above equation for each set of measurements leads to the following equation for each value of the set of recorded calibration measurements: (LE • HMEAS - HPE)' -(LE • HMEAS - HPE) = Ho where Ho 2 is an unknown constant, the squared magnitude of the Earth's magnetic field. Assuming a set of sixteen measurements is taken, a set of sixteen equations of the above form can be derived. In this set of equations, the values of G MEAS are not used. These equations are quadratic in the unknown coefficients L E and H PE . Second, the constant dip angle implies that the vector dot product for all measurements in the set GMEAS' • -EARTH = HGRAV where HGRAV is an unknown constant having the same value for all measurements, the vertical component of the Earth's magnetic field. Thus, GMEAS' • (LE • HMEAS - HPE.) = HGRAV for each measurement in the set. Again assuming a set of sixteen measurements is taken, a set of sixteen vector equations of the above form can be stated. These latter equations are linear in the unknown coefficients. Together, the sixteen quadratic equations and sixteen linear equations: (LE • HMEAS - HPE)' -(LE • HMEAS - HPE) = Ho GMEAS' • (LE • HMEAS - HPE.) = HGRAV form a single system of thirty-two equations in fourteen unknown quantities ~ the nine components of L E , the three of H PE , as well as Ho, and H G R AV ~ and in ninety-six known, measured, quantities, namely, the three components of HMEA S and the three components of GMEA S for each of the sixteen measurements. The equations are homogeneous in the unknown quantities, and there are no error-free fixed source values that can be substituted for H 0 2 and H GRA V- While the ratio of H GR AV to Ho is significant, their magnitudes are not. Thus, the quantities Ho 2 and HQ R AV and the unknown coefficients can be arbitrarily normalized, reducing the number of unknown quantities from fourteen to thirteen. Before turning attention to solving the system of equations, it should be appreciated that the use of a set of sixteen measurements of H ME A S and G ME A S is exemplary rather than mandatory. Fewer or more measurements may be used consistent with the present invention, though accuracy of calibration may be affected. For example, a set of twenty-four or thirty- two measurements will significantly improve the accuracy of the results. Turning now to the method of solving the system of equations, the system of equations is restructured as a set of linear equations. In particular, the estimated HEAR T H from each measurement is rotated into a north/east/down reference frame. This rotation involves an initial estimate for the coefficient values and three new parameters and yields a system of sixteen equations for each of the north, east, and down components, i.e., forty-eight equations in all. In particular, to rotate the estimated HEA RT H into the north/east/down frame, the following equation is used: HNORTH ∞ smψ 0 [ H EA sτ] = [-sin^ cos^ O]*R 1 (0) » R 2 ( ) »| E » HM__As-Hra] HDOWN 0 0 1 where Rι(θ) and R 2 (φ) are derived from each G ME A S value, and H M EAS is the corresponding magnetometer value. Ψ is a quantity that is calculated such that H E A S T is zero for each measurement. The above equation is linear in the unknown variables HEARTH . LE, and HPE. The subset of sixteen equations for H DO W N is the same subset that was used before for HGRAV = GMEAS' • -EARTH- Of these equations, the sixteen "down" equations are truly linear in the unknown coefficients L E , H P E, and H DOWN , and can be solved for these values using standard algorithms known in the art. To facilitate reference to these sixteen equations, they are collectively denoted the "A" equations. The full set of forty-eight equations, including the "A" equations, are similarly collectively denoted the "B" equations. The values of LE and HPE determined by first solving the "A" equations are then used in solving the larger "B" system of equations for refined values of LE and H P E- For purposes of compass calibration, the measured values for HM E A S and GM E A S are in fact known, while the compensation coefficients L E and H PE are the unknowns. For each of the sixteen measurements, a pair of H ME A S and GM E A S values are recorded. As discussed above, the compensation formula to be satisfied by these quantities is: where HE represents the unknown Earth's magnetic field, which is the same for all measurements. Although in any Earth-fixed coordinates H E is a fixed vector, in the internal coordinate system, the numerical value of H E will be different for each measurement because of the different orientations during calibration. To foπn a system of equations to be solved for the unknown compensation coefficients, this equation is in effect written sixteen times, once for each measurement of H ME A S and GM E A S - However, for standard numerical methods, it is necessary to restructure the equations suitably; this requires all the unknowns to be formed as elements of a column vector and multiplied by a large system matrix of known values. The restructuring is done by the following steps. For example, sixteen linear equations are obtained by forming the vector dot product of GM E A S and HE- The result is the vertical-down component of Earth's field, HQ RA V, which has an unknown value but is identical for all measurements. The equation is written as follows: Next, the matrix L E is written in terms of its three column vectors as and then the above system equation for HQR A V becomes, for any one pair of measured H M EA S and GMEAS, This is a scalar equation, as the H GRAV on the right is a single number, not a vector. The first product of GMEAS on the left is in fact the product of G MEAS and each of the three columns of L E , resulting in a row vector, which then multiplies the column vector of the measured H M - With the objective of collecting all the unknowns into a longer column vector, this equation is rearranged into an entirely equivalent form as The row vector on the left involves all measured values, and is different for each measurement; the column vector on the right, denoted as P, is composed of all the unknown compensation coefficients and is common to all measurements. Both are thirteen-element vectors. The zero on the right is a single element, not a vector. This equation can be written simply as , where P is the vector of coefficients to be determined and A is the row vector composed of measured values. When this equation is written for each of the sixteen measurements, all different because of the varied orientations used for the calibration procedure, then the A vector becomes instead a large 16x13 system matrix, one row for each measurement. This system is designated as the "A" system of equations and is linear in the unknowns. The "A" system is solved for the coefficients. The "A" system, however, is not the full system and does not provide for the complete solution. By itself, it provides only a first approximation. The full system of equations requires appending to vector P either the squared magnitude of H E or the level-north component of H E , as in previously described methods. For the resulting larger system, the same steps as just described for the "A" system are used to formulate the full system of equations, with a fourteenth element added to the P vector. Together, the system constitutes thirty-two equations in fourteen unknowns. In addition, as described, the use of rotations of each H E into North, East, and Down components may instead be used, resulting in these becoming the last three elements of the P vector, fifteen in total. The full system then comprises forty-eight equations in fifteen unknown coefficients. All of these alternative systems of equations have been demonstrated as calibration calculation methods for determination of the compensation coefficients. When a solution is obtained for the vector P, its element values are recast as the compensation coefficients and the appropriate components for Earth's field. Specifically, the first nine values of vector P are taken to be the three columns of matrix L E , the next three are taken to be the vector H PE . The remaining elements are taken to be the appropriate values for components of Earth's field, which particular ones depending on the calculation formulation and system of equations used. It is understood that the use of sixteen measurements is merely provided by way of example and not limitation; any larger number may be used without altering the structure of the system of equations, and will result in greater accuracy. A minimum of twelve measurements is needed to obtain a solution, which will then be less accurate. Calibration procedures based on 20, 24, 32 or even 40 measurements are advantageous for increased accuracy. It is also understood that the order in which the measurements are incorporated or used in the system of equations makes no difference in the solutions obtained. This has a very significant practical advantage, in that it does not matter in what order the measurements are taken in the calibration procedure. A further advantage of the calibration method is that no additional values are needed beyond the pairs of measured values HMEA S and GMEA S - Specifically, there is no need to supply numbers to the system equations for the pitch and roll tilt angles and azimuth angles at which the measurements were obtained. A calibrated compass test range is not needed, nor even one sighting at a known azimuth. In an example embodiment of the present invention, the "A" and "B" systems of equations are solved, for example, using a computer language such as MATLAB®, commercially available from The Math Works, Inc. Both systems are, according to this embodiment, solved using singular value decomposition (SND) techniques, as follows. Accompanying this disclosure is an appendix containing further enabling material, which gives more detail of the methods for carrying out the calibration calculations. These are listings of MATLAB® programs that may be used in prototyping these algorithms which are herein claimed. A «P = 0 + <5 A set of Ν linear equations in M unknowns can be written in matrix form as where the system matrix A is an ΝxM matrix and P is an M-element column vector representing the M unknowns. For an over-determined system, that is, one in which Ν>M, matrix A is not square and does not have an inverse or a unique solution for P. Therefore, the matrix product A-P produces at best an N-element column vector δ of residuals. The best solution for the vector P is determined by solving the above system of simultaneous equations using a least-squares approach to minimize |δ| 2 , which is inherent in the use of the SND. The singular value decomposition (SND) of a non-square matrix A is a factorization into three matrices, U, S, and V, such that: N A M ≡ N [U] N - N [S] M . M [N'] M where S is a matrix of singular values, diagonal in its upper left square MxM block. Some of these singular values may be zero. U and N are square orthogonal or unitary matrices; that is, U'-U≡IΝ and V'-V≡IM- Any of a variety of numerical software algorithms known in the art can be used to calculate these three matrices. Once these matrices are calculated, the complete least squares solution for the unknowns P is obtained from the smallest singular value, the last element SM M of the matrix S (as conventionally ordered), as well as the Mth column vectors of the matrices U and V. Specifically, the minimized root sum squared (RSS) residuals value σ is O ≡ SMM The solution vector P for the unknown values is given by P ≡ VM That is, the Mth column of the SND matrix factor N. The solution vector P is an Mxl column vector that can be renormalized as desired. Finally, the equation residuals δ is an Νxl vector proportional to σ and given by δ = σ • UM- The other element values of the U, S, and N matrices are not of interest and are discarded. The solution vector P is parsed back into the values for the matrix coefficients L E and Hp E . That is, the components of the solution vector P are read into the element values of L E , HPE, HΝORTH, HEAST, and HDOWΝ- The matrix coefficient LE and the vector coefficient H PE having been thus obtained, calibration of the electronic compass is complete. In a particular embodiment, the "B" system is solved iteratively to provide more accurate coefficients LE and HP E . HG. 8 illustrates smallest singular values and convergence with successive iterations. It has been observed that the "East" equations have zero for solutions and small residuals. Thus, according to another embodiment, these "East" equations are eliminated from the "B" system to advantageously improve convergence. The "B" system in this embodiment is redefined as a 32x14 system, with unknowns for H NOR T H and H DOWN forming part of the solution set. The "A" system of sixteen equations in thirteen unknowns is first solved to yield a first estimate of the coefficients LE and H P E. These results are then used to solve the "B" system of thirty-two equations in fourteen unknowns to obtain refined values of L E and H PE - Next, the "B" system is solved again to further refine L E and H E - In this embodiment, adequate convergence can be obtained in only two iterations, as illustrated in HG. 9. In another embodiment of the present invention, the measurements are used to derive an alternative set of equations for determining L E and H PE - As described above, for each individual measurement, the estimated value of the Earth's magnetic field vector _ E A R TH is given formally by: -EARTH ≡ LE • HMEAS - HPE- Another equivalent fundamental property of the Earth's magnetic field is used to derive these alternative equations. Specifically, over all measurements, the vertical and level (North) components of HEARTH are each constant. Because the vertical component is constant, the vector dot product GMEAS' • _EARTH = HGRAV where HGRAV is an unknown constant. Combining these equations for each of the sixteen measurements yields the following system of equations: GMEAS' • (LE ■ HMEAS - HPE) = HQRAV- The constant level or north component leads to the following equation for each of the sixteen measurements: Level(LE • HMEAS - HPE) = HNORTH where HNORTH is an unknown constant. Thus, a system of thirty-two equations is defined; these equations are then solved for values of LE and HPE, HQRAV, and HNORTH using, for example, computer-implemented numerical methods. The equations GMEAS' • (LE • HMEAS - HPE) = HQRAV- are linear in the unknown coefficients and are solved initially. The equations Level(LE • HMEAS - HPE) = HNORTH need initial estimates of LE and HPE in order to calculate the level components. Rotations are calculated about GMEAS in a manner similar to that described above for calculating the rotation of estimated HEARTH into the north/east/down reference frame. Next, all of the equations are solved together as a single system of thirty-two linear equations. Solving the equations is performed in substantially the same manner as described above in connection with the "A" and "B" systems. That is, the first sixteen equations of the form GMEAS' ■ (LE • HMEAS - HPE) = HQRAV are first solved to obtain preliminary estimates of L E and H PE , which are then used to solve the larger system of equations to obtain another estimate of L and H PE . The larger system is solved again to further refine the estimates of L E and H PE - It has been observed that only two iterations are involved in obtaining adequate convergence values for HGR AV and HNORTH- After completion of the calibration calculations the resulting coefficients are stored in the memory 532, as indicated at block 658 of HG. 6B. Returning to HG. 6A, during normal operation of the compass, measurements are continuously and repeatedly made of H MEAS and G ME A S , as indicated at block 602. The values for the compensation coefficients L E and HP E are retrieved from the memory in connection with block 604, and flow proceeds to a block 606, at which these coefficients are used to correct measured magnetometer output data to arrive at the accurate azimuth data. In particular, the matrix compensation coefficient L E and the vector compensation coefficient H PE are used in the formula -EARTH ≡ LE • HMEAS - HPE to obtain _EAR T H, the objective, estimated values for the Earth's true magnetic field, from the measured magnetometer output data vector HM EAS - By compensating the electronic compass as described above, a user can employ the compass at any orientation. Moreover, all magnetic errors, including magnetic perturbations larger than the Earth's magnetic field, are compensated. Certain additional benefits are observed from the calibration method described. Besides compensating for magnetic errors, the compensation techniques described above also compensate exactly for several types of sensor errors relating to the magnetometer sensors. For example, sensor bias offsets are entirely analogous to permanent magnetic field perturbations and are accounted for in the Hp E coefficient. Certain other magnetometer sensor errors, including unequal scale factors, axis alignment and nonorthogonality, and misalignment of the magnetometer and accelerometer axes are entirely analogous to induced field magnetic perturbations and are accounted for in the L E coefficient. All these such errors are fully and accurately compensated for in the compensation method and calibration procedure of the present invention. The various embodiments described above are provided by way of illustration only and should not be construed to limit the invention. Those skilled in the art will readily recognize various modifications and changes that can be made to these embodiments without strictly following the example embodiments and applications illustrated and described herein, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims. For instance, the values of the compensation coefficients can be continuously updated as the compass is used. Further, various filters, such as Kalman filters, can be used in the calibration process.

Claims: What is claimed is; 1. A method of compensating an electronic compass to obtain accurate azimuth data for any orientation of the electronic compass despite the presence of perturbing magnetic effects, the method comprising: obtaining a measured magnetic field vector H M EA S representing magnetic field strength along three axes and a measured gravity vector GMEA S representing gravitational field strength along the same three axes; using a matrix compensation coefficient LE and a vector compensation coefficient H P E to correct measured magnetic field data by applying a formula of the form _ EA R TH - LE • HM E A S - H PE , where _ E A RT H is the compensated value for the Earth's true magnetic field; and calculating the azimuth data as a function of the corrected magnetic field data. 2. The method of claim 1, further comprising, before using the matrix compensation coefficient LE and the vector compensation coefficient H P E to correct measured magnetometer output data to obtain the accurate magnetic field data: obtaining, for each of a plurality of combinations of orientations and azimuths, a measured magnetic field vector HM E A S representing magnetic field strength along three axes and a measured gravity vector G ME A S representing gravitational field strength along three axes; and calculating, as a function of the plurality of measured magnetic field vectors HMEA S and the plurality of measured gravity vectors G ME A S , a matrix compensation coefficient L E and a vector compensation coefficient H PE by solving a system of equations. 3. The method of claim 2, wherein the plurality of measured magnetic field vectors H ME AS and the plurality of measured gravity vectors G M EAS are measured at four orientations for each of four azimuths, the orientations and azimuths being substantially evenly distributed in all angles. 4. The method of claim 3, wherein the four orientations are substantially similar for each of the four azimuths. 5. The method of claim 2, further comprising storing a plurality of component values of the matrix compensation coefficient L E and of the vector compensation coefficient H PE in a memory associated with the electronic compass. 6. The method of claim 2, wherein the system of equations comprises a plurality of equations of the form (LE • HMEAS - HPE)' -(LE • HMEAS - HPE) = Ho wherein Ho is the magnitude of _ E A RTH , and further comprises equations of the form GMEAS' • (LE • HMEAS - HPE-) = HGRAV wherein HQRAV is a constant but unknown vertical component of _ JEARTH - 7. The method of claim 2, further comprising deriving a full system of equations by rotating _ E ARTH for each of the plurality of measured magnetic field vectors H ME A S into a north/east/down coordinate frame of reference. 8. The method of claim 2, wherein the system of equations comprises a first subset of linear equations. 9. The method of claim 8, further comprising: solving the first subset of linear equations to calculate an estimate of the matrix compensation coefficient L E and an estimate of the vector compensation coefficient HPE; and using the estimate of the matrix compensation coefficient L E and the estimate of the vector compensation coefficient H PE to solve the full system of equations to calculate the matrix compensation coefficient L E and the vector compensation coefficient H PE . 10. The method of claim 9, further comprising iteratively solving the system of equations to refine the calculated matrix compensation coefficient L E and the calculated vector compensation coefficient H PE - 11. A method of compensating an electronic compass to obtain accurate azimuth data for any orientation of the electronic compass despite the presence of perturbing magnetic effects, the method comprising: obtaining, for each of a plurality of combinations of orientations and azimuths, a measured magnetic field vector HMEA S representing magnetic field strength along three axes and a measured gravity vector GMEA S representing gravitational field strength along three axes; calculating, as a function of the plurality of measured magnetic field vectors HM E A S and the plurality of measured gravity vectors G MEAS , a matrix compensation coefficient L E and a vector compensation coefficient H PE by solving a system of equations; storing a plurality of component values of the matrix compensation coefficient LE and of the vector compensation coefficient H PE in a memory associated with the electronic compass; subsequently retrieving the plurality of component values of the matrix compensation coefficient LE and of the vector compensation coefficient H E from the memory; obtaining a measured magnetic field vector H ME A S representing magnetic field strength along three axes and a measured gravity vector GMEA S representing gravitational field strength along three axes; using the matrix compensation coefficient LE and the vector compensation coefficient HP E to correct measured magnetic field data by applying a formula of the form _EA RTH ≡ LE • HMEAS - HPE, where _E A RTH is the compensated value for the Earth's true magnetic field; and calculating the azimuth data as a function of the corrected magnetic field data. 12. An electronic compass arrangement, comprising: a three-axis magnetometer, configured to obtain a measured magnetic field vector H ME A S representing magnetic field strength along three axes; a three-axis gravity sensor arrangement, configured to obtain a measured gravity vector GMEAS representing gravitational field strength along three axes; a microprocessor arrangement, communicatively coupled to the three-axis magnetometer and to the three-axis gravity sensor arrangement and configured to use a matrix compensation coefficient LE and a vector compensation coefficient H PE to correct measured magnetic field data by applying a formula of the form - EARTH - L E • H M EA S - H PE , where _JEARTH is the compensated value for the Earth's true magnetic field, and calculate the azimuth data as a function of the corrected magnetic field data.; and a memory, communicatively coupled to the microprocessor arrangement and configured to store the matrix compensation coefficient L E and the vector compensation coefficient H P E- 13. The electronic compass arrangement of claim 12, wherein: the three-axis magnetometer is further configured to obtain, for each of a plurality of combinations of orientations and azimuths, a measured magnetic field vector H M EA S representing magnetic field strength along three axes; the three-axis gravity sensor arrangement is further configured to obtain, for each of the plurality of combinations of orientations and azimuths, a measured gravity vector GM E A S representing gravitational field strength along three axes; and the microprocessor arrangement is further configured to, before using the matrix compensation coefficient LE and the vector compensation coefficient H PE to correct measured magnetometer output data to obtain the accurate magnetic field data, calculate, as a function of the plurality of measured magnetic field vectors H ME A S and the plurality of measured gravity vectors GMEA S , a matrix compensation coefficient L E and a vector compensation coefficient HP E by solving a system of equations. 14. The electronic compass arrangement of claim 13, wherein the plurality of measured magnetic field vectors H ME A S and the plurality of measured gravity vectors GMEAS are measured at four orientations for each of four azimuths, the orientations and azimuths being substantially evenly distributed in all angles. 15. The electronic compass arrangement of claim 13, wherein the system of equations comprises a plurality of equations of the form (LE • HMEAS - HPE)' -(LE • HMEAS - HPE) = Ho wherein Ho is the magnitude of _ EA RTH , and further comprises equations of the form GMEAS' • (LE • HMEAS - HPE.) = HQRAV wherein HQ RAV is a constant but unknown vertical component of _EARTH- 16. The eletronic compass arrangement of claim 13, wherein the microprocessor arrangement is further configured to derive a full system of equations by rotating _ E A RTH for each of the plurality of measured magnetic field vectors H ME A S into a north/east/down coordinate frame of reference. 17. The electronic compass arrangement of claim 13, wherein the system of equations comprises a first subset of linear equations. 18. The electronic compass arrangment of claim 17, wherein the microprocessor arrangement is further configured to: solve the first subset of linear equations to calculate an estimate of the matrix compensation coefficient LE and an estimate of the vector compensation coefficient H PE ; and use the estimate of the matrix compensation coefficient L E and the estimate of the vector compensation coefficient H PE to solve the full system of equations to calculate the matrix compensation coefficient L E and the vector compensation coefficient HPE- 19. The electronic compass arrangement of claim 18, wherein the microprocessor arrangement is further configured to iteratively solve the system of equations to refine the calculated matrix compensation coefficient L E and the calculated vector compensation coefficient H PE . 20. A microprocessor-readable medium having microprocessor-executable instructions stored thereon, the microprocessor-executable instructions causing a microprocessor to, upon execution of the microprocessor-executable instructions: obtain a measured magnetic field vector H ME A S representing magnetic field strength along three axes and a measured gravity vector G ME A S representing gravitational field strength along three axes; use a matrix compensation coefficient L E and a vector compensation coefficient H PE to correct measured magnetic field data by applying a formula of the form _EARTH ≡ L E • HMEAS - HPE, where _ E A RTH is the compensated value for the Earth's true magnetic field; and calculate the azimuth data as a function of the corrected magnetic field data. 21. The microprocessor-readable medium of claim 20, wherein the microprocessor- executable instructions further cause the microprocessor to, upon execution of the microprocessor-executable instructions and before using the matrix compensation coefficient L E and the vector compensation coefficient H PE to correct measured magnetometer output data to obtain the accurate magnetic field data: obtain, for each of a plurality of combinations of orientations and azimuths, a measured magnetic field vector H ME A S representing magnetic field strength along three axes and a measured gravity vector G ME A S representing gravitational field strength along three axes; and calculate, as a function of the plurality of measured magnetic field vectors H ME A S and the plurality of measured gravity vectors G M EA S , a matrix compensation coefficient L E and a vector compensation coefficient H PE using a system of equations. 22. The microprocessor-readable medium of claim 21, wherein the plurality of measured magnetic field vectors H MEAS and the plurality of measured gravity vectors G MEAS are measured at four orientations for each of four azimuths, the orientations and azimuths being substantially evenly distributed in all angles. 23. The microprocessor-readable medium of claim 21, wherein the system of equations comprises a plurality of equations of the form (LE • HMEAS - HPE)' -(LE • HMEAS - HPE) = Ho wherein H 0 is the magnitude of _EA RTH , and further comprises equations of the form GMEAS' • (LE • HMEAS - HPE.) = HGRAV wherein HQRAV is a constant but unknown vertical component of _ E A RT H- 24. The microprocessor-readable medium of claim 21 , further comprising microprocessor-executable instructions causing a microprocessor to, upon execution, derive a full system of equations by rotating _ EARTH for each of the plurality of measured magnetic field vectors H ME A S into a north/east/down coordinate frame of reference. 25. The microprocessor-readable medium of claim 21, wherein the system of equations comprises a first subset of linear equations. 26. The microprocessor-readable medium of claim 25, further comprising microprocessor-executable instructions causing the microprocessor to, upon execution: solve the first subset of linear equations to calculate an estimate of the matrix compensation coefficient L E and an estimate of the vector compensation coefficient H PE ; and use the estimate of the matrix compensation coefficient L E and the estimate of the vector compensation coefficient H PE to solve the full system of equations to calculate the matrix compensation coefficient L E and the vector compensation coefficient H PE . 27. The microprocessor-readable medium of claim 26, further comprising microprocessor-executable instructions causing the microprocessor to, upon execution, iteratively solve the system of equations to refine the calculated matrix compensation coefficient L E and the calculated vector compensation coefficient H PE .

Inventors: ELGERSMA MIKE, MORTON BLAISE GRAYSON, SMITH ROBERT B, ELGERSMA, MIKE, MORTON, BLAISE, GRAYSON, SMITH, ROBERT, B.
Applicants: HONEYWELL INT INC, HONEYWELL INTERNATIONAL INC.
Application year: 2001
Main classification: G01C
IPC codes: G01C17