1. Field of the Invention
The disclosed technology relates to magnetic compasses and their calibration.
2. Description of the Related Technology
Generally, a compass is used to orientate the user with respect to the earth. Such orientation can be used for navigation or to convert measurements into a fixed reference frame. Multiple measurements, once converted into a fixed reference frame, can be compared, combined, or otherwise used together. A magnetic compass often determines the strength of a magnetic field, in geographic coordinates, at the location of the compass. In most cases, the determined magnetic field will be that of the earth. This information can be used to, for example, determine magnetic north. In another application, a magnetic compass simply indicates the direction of magnetic north.
Several challenges exist when calibrating a magnetic compass. For example, the compass may be on a relatively unstable platform, such as a small boat, during the calibration. In general, the quality of the calibration is reduced in highly dynamic conditions, such as when the platform is in motion during the calibration. In one application, the velocity of a given volume of water is desired referenced to a fixed coordinate system, e.g. geographic coordinates. Because the measuring platform may move in relation to this coordinate system (e.g., roll, pitch, yaw, and relative velocity), measurements made by the platform in its own coordinate system can be transformed to the fixed coordinate system.
As another example, local distortions of the earth's magnetic field may be present as a result of nearby magnetic minerals, such as basalt, or from solar activity. Further, magnetic north does not coincide with geographic (polar) north. Local perturbations from the substantially uniform magnetic field of the earth are generally classified as either hard iron effects or soft iron effects. Hard iron effects are measured as an offset from the earth's magnetic field, whereas soft iron effects are measured as a rotation and/or scaling of the earth's magnetic field.
Some magnetic compasses include a magnetometer and an accelerometer. A magnetometer senses and provides information regarding magnetic fields. An accelerometer senses and provides information regarding acceleration. By combining these measurements, the difference between a fixed reference frame, such as the earth, and a local reference frame, such as a vessel, can be determined.
Accordingly, a need exists for improved calibration methods.
The system, method, and devices of the invention each have several aspects, no single one of which is solely responsible for its desirable attributes. Without limiting the scope of this invention as expressed by the claims which follow, its more prominent features will now be discussed briefly. After considering this discussion, and particularly after reading the section entitled “Detailed Description of Certain Embodiments” one will understand how the features of this invention provide advantages that include improved calibration when samples are received at less than all orientations.
Aspects include systems and methods of magnetic compass calibration. One aspect includes a method of calibrating a magnetic compass which includes receiving sample data indicative of a measured magnetic field vector and a measured gravity vector from at least one sensor oriented at a first plurality of orientations, and receiving a plurality of stored magnetic compass calibration components associated with a second plurality of orientations of the at least one sensor. The second plurality of orientations includes at least one orientation that is absent from the first plurality of orientations. The method further comprises estimating a plurality of calibration coefficients based on the sample data and based on previously stored magnetic calibration components. In one aspect, the estimating comprises partitioning a first estimate of the calibration coefficients based on observability of the calibration coefficients at the first plurality of orientations. Observability of the calibration coefficients is determined based on the sample data at the first plurality of orientations. The method further comprises generating a weighting of the stored magnetic compass calibration components and the first estimate of the calibration coefficients based on the sample data and determining the estimated plurality of coefficients based at least in part on the weighting. Other aspects include magnetic compasses and calibration systems.
In one aspect, estimating the plurality of calibration coefficients comprises performing an iterative least squares estimate based on minimizing the sum of the squared error between the actual and estimated magnetic field in geographic coordinates over the sample data. In one such embodiment, the iterative least square estimate is further based on minimizing a distance between the estimated plurality of calibration coefficients and the plurality of stored magnetic compass calibration components.
One aspect further comprises receiving accelerometer data indicative of pitch and roll of the magnetic compass; and estimating the plurality of calibration coefficients based on the received accelerometer data.
In one aspect, generating a weighting comprises weighting the stored calibration coefficients based on an inverse relationship to the observability of the first estimate of the calibration coefficients at the first plurality of orientations.
One aspect is a method of determining a magnetic field vector, the method comprising storing, for each of a plurality of sensor orientations, one or more calibration components, determining, for a sensor orientation not included in the plurality of sensor orientations, a magnetic field vector and a gravity vector, iteratively estimating one or more calibration coefficients based on the stored components, the determined magnetic field vector, and the determined gravity vector, wherein the calibration coefficients are updated during each of a plurality of iterations, and determining a sensor-orientation-independent magnetic field vector based on at least one of the calibration coefficients.
Another aspect is a magnetic compass comprising a memory storing, for each of a plurality of sensor orientations, one or more calibration components, a magnetometer configured to determine a magnetic field vector for a sensor orientation not included in the plurality of sensor orientations, an accelerometer configured to determine a gravity vector for the sensor orientation not included in the plurality of sensor orientations, and a processor configured to i) iteratively estimate one or more calibration coefficients based on the stored components, the determined magnetic field vector, and the determined gravity vector, wherein the calibration coefficients are updated during each of a plurality of iterations and ii) determine a sensor-orientation-independent magnetic field vector based on at least one of the calibration coefficients.
Another aspect is a system for determining a magnetic field vector, the system comprising means for storing, for each of a plurality of sensor orientations, one or more calibration components, means for determining, for a sensor orientation not included in the plurality of sensor orientations, a magnetic field vector and a gravity vector, means for iteratively estimating one or more calibration coefficients based on the stored components, the determined magnetic field vector, and the determined gravity vector, wherein the calibration coefficients are updated during each of a plurality of iterations, and means for determining a sensor-orientation-independent magnetic field vector based on at least one of the calibration coefficients.
Another aspect is a computer-readable storage medium storing instructions, which when executed by a processor, cause the processor to receive data, for each of a plurality of sensor orientations, indicative of one or more calibration components, determine, for a sensor orientation not included in the plurality of sensor means for determining, for a sensor orientation not included in the plurality of sensor orientations, a magnetic field vector and a gravity vector, iteratively estimate one or more calibration coefficients based on the data indicative of one or more calibration components, the determined magnetic field vector, and the determined gravity vector, wherein the calibration coefficients are updated during each of a plurality of iterations, and determine a sensor-orientation-independent magnetic field vector based on at least one of the calibration coefficients.
The following detailed description is directed to certain specific embodiments of the invention. However, the invention can be embodied in a multitude of different ways as defined and covered by the claims. In this description, reference is made to the drawings wherein like parts are designated with like numerals throughout.
One embodiment relates to an improved magnetic calibration to remove soft and hard iron effects which can reduce the accuracy of a magnetic compass. As noted above, in one embodiment, the accuracy of the calibration is reduced in highly dynamic conditions, such as when the platform upon which the compass is mounted is moving during the calibration. In addition, the compass user may not know or trust the source of the data or the quality of the data originally used in an initial calibration, as such initial calibration may be performed by the manufacturer or prior to arriving at the location at which measurements are being taken. In one embodiment, calibration is performed by placing the compass in a variety of orientations from which the distortions in the magnetic field can be determined. However, it may not be possible to position the compass in as many orientations as desired. In such a situation, it is desirable for the compass to be accurate over the sampled orientations and at least not worse over the unsampled orientations.
Desirably, according to one embodiment, for calibrations over a limited range of orientations, the post-calibration compass accuracy is better over that limited range and does not deteriorate over the unsampled orientations as compared to prior to the calibration. According to one embodiment, a method blends the new calibration with the old calibration coefficients.
Although described separately, it is to be appreciated that functional blocks described with respect to the system 100 need not be separate structural elements. For example, the processor 110 and memory 120 may be embodied in a single chip. Similarly, two or more of the processor 110, modem 150, and transceiver 160 may be embodied in a single chip.
The processor 110 can be a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any suitable combination thereof designed to perform the functions described herein. A processor 110 may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The processor 110 can be coupled, via one or more buses 115, to read information from or write information to the memory 120. The processor may additionally, or in the alternative, contain memory, such as processor registers. The memory 120 can include processor cache, including a multi-level hierarchical cache in which different levels have different capacities and access speeds. The memory 120 can also include random access memory (RAM), other volatile storage devices, or non-volatile storage devices. The storage can include hard drives, optical discs, such as compact discs (CDs) or digital video discs (DVDs), flash memory, floppy discs, and magnetic tape.
The processor 110 is also coupled to an input device 130 and an output device 140 for, respectively, receiving input from and providing output to, a user of the system 100. Suitable input devices include, but are not limited to, a keyboard, buttons, keys, switches, a pointing device, a mouse, a joystick, a remote control, an infrared detector, a video camera (possibly coupled with video processing software to, e.g., detect hand gestures or facial gestures), a motion detector, or a microphone (possibly coupled to audio processing software to, e.g., detect voice commands). Suitable output devices include, but are not limited to, visual output devices, including displays and printers, audio output devices, including speakers, headphones, earphones, and alarms, and haptic output devices, including force-feedback game controllers and vibrating devices. The input device 130 and output device 140 can provide a user interface for the system 100. In other embodiments, the system may be connected to a system that provides the user interface.
The processor 110 is further connected to a transceiver 150. The transceiver 150 prepares data generated by the processor 110 for wireless transmission via one or more antennas 170 according to one or more air interface protocols or for wired transmissions according to one or more wired interface protocols. One or both of these protocols may be a standard. The transceiver 150 also demodulates data received over the interface.
The system 100 includes one or more magnetometers 160 which sense and provide information to the processor 110 regarding magnetic fields. One or more of various types of magnetometers may be employed including, but not limited to, a rotating coil magnetometer, a Hall effect magnetometer, a proton precession magnetometer, a gradiometer, a fluxgate magnetometer, a cesium vapor magnetometer, a spin-exchange relaxation-free (SERF) atomic magnetometer, or a superconducting quantum interference device (SQUID) magnetometer. In one embodiment, the magnetometer is a MEMS device (microelectromechanical system) based on magnetoresistivity. Magnetoresistive-based magnetometers are solid state, not mechanical, and are therefore not susceptible to many of the effects that normally corrupt mechanical systems.
The system 100 includes one or more accelerometers 170 which sense and provide information to the processor 110 regarding acceleration. Because gravity provides a substantially constant acceleration, an accelerometer can be used to orient a device with respect to the center of the earth. In addition to the information from the magnetometers 160, this information can be used to determine the difference between a fixed reference frame (such as the earth) and a local reference frame (such as a vessel). One or more of various types of accelerometers may be employed including, but not limited to, piezoelectric sensors, shear mode accelerometers, laser accelerometers, or mechanical accelerometers.
In one embodiment, the system 100 can be integrated with an acoustic Doppler current profiler (ADCP) or a Doppler log. An ADCP is a type of sonar system used to remotely measure water velocity over varying ranges. Such a system measures the velocity of water by calculating the Doppler shift associated with received echoes from an acoustic signal produced by transducers and radiated into the water in vertical columns or beams. Particles, inhomogeneities, and other phenomena present in the water of a given vertical column result in reflection of the radiated acoustic signal back toward the transducer. The frequency of the backscattered acoustic signal is shifted in frequency according to the well known Doppler relationship. One embodiment of an ADCP is disclosed in U.S. Pat. No. 5,208,785, herein incorporated by reference in its entirety.
As mentioned above, in one embodiment, the velocity of a given volume of water under measurement is desired referenced to the geographic coordinate system. In one embodiment, a measuring instrument, such as an ADCP, provides information in a local coordinate system relative to the instrument. Because the measuring platform on which the instrument is mounted may move in relation to geographic coordinates (e.g., roll, pitch, yaw, and relative velocity), measurements made by instrument in its own coordinate system can be transformed to the fixed coordinate system. In one embodiment, a magnetic compass is used to determine how to perform this transformation.
As mentioned above, several challenges exist when calibrating a magnetic compass, such as a dynamic platform, unknown initial calibration quality, local distortions in the magnetic field, or the inability to sufficiently sample local distortions in the magnetic field in a variety of orientations.
Overview of Calibration
A compass is a device used to orientate the user with respect to the earth. In one embodiment, a magnetic compass determines the strength of a magnetic field, in geographic coordinates, at the location of the compass. In most cases, the determined magnetic field will be that of the earth. This information can be used to, for example, determine magnetic north or, as described below, transform measurements in a local coordinate system to a fixed coordinate system. As used herein, BG is a 3×1 vector of the actual magnetic field of the earth in geographic coordinates. Further, {circumflex over (B)}G is a 3×1 vector of the determined magnetic field of the earth in geographic coordinates. The magnetic field of the earth can be determined using one or more movable instruments. Accordingly, BI is a 3×1 vector of the actual magnetic field of the earth in instrument coordinates. Further, {circumflex over (B)}I is a 3×1 vector of the determined magnetic field of the earth in instrument coordinates. In one embodiment, the compass includes a magnetometer which measures the magnetic field in instrument coordinates. As used herein, FI is a 3×1 vector of the actual magnetic field in instrument coordinates. Further, {circumflex over (F)}I is a 3×1 vector of the determined magnetic field in instrument coordinates. However, this magnetic field, FI, includes perturbations from the magnetic field of the earth BI, as described in the equations below.
Ideally, conversion between instrument coordinates and geographic coordinates could be obtained using a 3×3 conversion matrix, M, based on a measurement of the compass' position with respect to the earth. Accordingly, as used herein, MIG is a 3×3 matrix for converting between instrument coordinates and geographic coordinates having a matrix inverse MGI for converting between geographic coordinates and instrument coordinates. Because these conversation matrices may be based on measurements from, in one embodiment, an accelerometer, {circumflex over (M)}IG and {circumflex over (M)}GI represent estimates of these matrices.
Distortions of the earth's magnetic field are a result of external magnetic influences generally classified as either hard iron effects or soft iron effects. Hard iron effects are measured as an offset from the earth's magnetic field, whereas soft iron effects are measured as a rotation and/or scaling of the earth's magnetic field. Thus, in one embodiment, the relationship between the earth's magnetic field and the magnetic field in instrument coordinates is
FI=U−1MGIBG+P+η, (1)
where P is a 3×1 vector representing the hard iron effects, U−1 is a 3×3 matrix representing the soft iron effects, and η is a 3×1 vector of measurement noise. In one embodiment, U=(I−T)−1, wherein T is a 3×3 tensor of soft iron perturbations. Following the conventions above, Û and {circumflex over (P)} are estimates of U and P, respectively.
When the field is measured, this measurement is sampled by hardware and converted to ADC (analog-to-digital conversion) counts. This can be modeled by the following equation:
X=S0{circumflex over (F)}I+K0, (2)
where S0 is a 3×3 matrix of hardware sensitivity coefficients, K0 is a 3×1 vector of hardware offsets, and {circumflex over (F)}I is, as mentioned above, a 3×1 vector of the determined magnetic field in instrument coordinates. It is related to an estimate of the earth's field by the following equation:
{circumflex over (F)}I=U−1({circumflex over (B)}I−P) (3)
S0 and K0 are, in one embodiment, determined at calibration and account for hardware scale factors and offsets. Thus, in one embodiment, the equation used by firmware is as follows:
{circumflex over (F)}I=S0−1(X−K0). (4)
The field calibration allows estimation of the earth's field in instrument coordinates (i.e., the local field without the soft iron and hard iron perturbations). This can be described by the following equation:
{circumflex over (B)}I=ÛU−1MGIBG+P−{circumflex over (P)}. (5)
Combining equations 3 and 4 yields another equation for the earth's field in instrument coordinates:
{circumflex over (B)}I=S1−1(X−K1), (6)
where
S1−1=ÛS0−1
K1=K0+S0Û−1{circumflex over (P)}. (7)
Thus, Equation 6 allows for conversion from instrument measurement to an estimate of the earth's magnetic field in instrument coordinates, accounting for hardware scale factors and offsets as well as scale factors and offsets caused by soft and hard iron perturbations.
Magnetic Hard and Soft Iron Calibration Algorithm
As noted above, one model for the magnetic field in instrument coordinates is
FI=U−1MGUBG+P+η. (8)
This equation can be solved for BG, the earth's magnetic field in geographic coordinates as shown below.
BG=MIGU(FI−P−η) (9)
Setting Q=UP, where Q is a 3×1 vector, this can be rewritten as
BG=MIGUFI−MIGQ−MIGUη. (10)
In one embodiment, a least squares algorithm is applied to the error in the horizontal and vertical components of the earth's magnetic field in geographic coordinates. The least squares problem is solved in the geographic coordinate frame. Because the East-West component of the earth's magnetic field vector is zero in this frame, the remaining horizontal component and vertical component are used. Rather than carry zeros throughout the equations below, BG, defined as a 3×1 vector above, is treated as a 2×1 vector below. After some manipulation, it can be written that
{circumflex over (B)}G=Ŵ{circumflex over (V)} (11)
where {circumflex over (B)}G is an estimate of the earth's magnetic field in geographic coordinates, a 2×1 vector. Ŵ is a 2×12 vector composed of the measured field and the estimated rotation matrix and {circumflex over (V)} is a 12×1 vector of estimated perturbation parameters composed as shown below.
Above, {circumflex over (F)}i is the ith element of vector {circumflex over (F)}I, {circumflex over (Q)}i is the ith element of vector {circumflex over (Q)} (an estimate of Q), {circumflex over (M)}ij is the element in the ith row and jth column of the matrix {circumflex over (M)}IG (an estimate of MIG), and Ûij, is the element in the ith row and jth column of the matrix Û (an estimate of U).
Least Squares Solution
One embodiment includes a least squares method that minimizes the sum of the squared error between the actual and estimated magnetic field in geographic coordinates over all N samples during the calibration, where N is one or more. The mean-squared error, εB, can be expressed as below.
where {circumflex over (B)}i,G is the estimate of the earth's magnetic field for the ith sample and Ŵi is the measured field and the estimated rotation matrix for the ith sample.
The actual field, BG, is unknown and must be solved for during the calibration as well. The average field,
where {circumflex over (M)}i,IG is the estimated rotation matrix for the ith a priori parameter, and {circumflex over (F)}i is the measured field in instrument coordinates for the ith a priori parameter.
This is a nonlinear problem because both
In one embodiment, an iterative approach is used to deal with the nonlinearity, as described below with respect to
The method 200 begins, in block 210, by initializing estimates for perturbation parameters. In one embodiment, the initialization is performed by the processor 110 in conjunction with the memory 120, in which initial values are written into the memory 120. In one embodiment, Û is initialized as an identity matrix, I, and {circumflex over (Q)} is initialized as a zero vector.
Next, in block 220, the estimates for iteration k, Ûk and {circumflex over (Q)}k are used to correct the field measurements in instrument coordinates. The correction can be performed, for example, by the processor 110 of
{circumflex over (F)}I=ÛkU−1MGIBG+P−{circumflex over (P)}k+η (16)
Continuing to block 230, the corrected field and an estimate of the rotation matrix is used to update the perturbation parameters. In one embodiment, the updating is performed by the processor 110. In one embodiment, the estimate of the rotation matrix is determined in conjunction with data from one or more accelerometers 170 used to estimate heading, pitch, and roll.
In one embodiment, the perturbation parameters are updated by first accumulating the two summations for equation 15. Next, using the following equations, {circumflex over (V)}k+1 Ûk+1, {circumflex over (Q)}k+1 and {circumflex over (P)}k+1 are determined.
where {circumflex over (V)}i is the ith element of the vector {circumflex over (V)}k+1.
In one embodiment, Ûk+1 is normalized as follows:
Equation 19, which normalizes the Ûk matrix, assumes that the soft iron perturbations do not change the strength of the magnetic field. If this is not true, then an embodiment of the method 200 in which equation 19 is used will over estimate the magnetic field, {circumflex over (B)}G, by the same magnitude as the soft iron perturbations. However, the estimated magnetic field dip angle will not be effected.
The method 200 continues to block 240 where it is determined if the iterative process has converged. This determination can be performed, in one embodiment, by the processor 110 of
If it is determined that the process has converged, the method 200 ends in block 250. Otherwise, the method 200 returns to block 220 and repeats.
The method 200 may not converge, according to some criteria, unless
is a matrix with full rank. The matrix will be full rank if the attitude during calibration covers rotations about all three axes.
The Constrained and Weighted Least Squares Solution
The parameters being solved for may not all be observable, e.g., when
is not full rank. One embodiment allows the calibration data to determine parameters that are easily determined from the data when the calibration orientations fail to make all the parameters observable. Hence, according to one embodiment, the cost function is then:
with the least squares error minimized when:
One embodiment of assigning a cost function weights the original parameters in an inverse relationship to the observability of the parameters in the calibration data. This information is contained in the matrix ŴiTŴ and is apparent after applying singular value decomposition to the matrix ŴiTŴ:
ŴiTŴ=UsvdSsvdVsvdT. (24)
Examining the diagonal matrix Ssvd will indicate whether the calibration data makes the parameters observable. Small values on the diagonal of this matrix indicate a singular or near singular matrix. The vectors in Vsvd corresponding to the singular values span the null space of ŴiTŴ whereas the vectors in Usvd that correspond to the non-singular values span the range of ŴiTŴ.
In one embodiment, the method includes inverting these diagonal entries (with zero entries replaced with suitably small ones in one embodiment) to determine weights for the original parameter set and then reapplying the decomposition matrices Usvd and Vsvd to weight the original parameter by these diagonal entries. Then the weights are
C=UsvdSsvd−1VsvdT. (25)
This weighting function effectively splits the solution into a part that is determined by the calibration data and a part that is determined by parameters before the calibration.
Convergence Criterion
The algorithm will typically converge in less than 10 iterations for typical soft and hard iron perturbations. However, if the prior calibration misaligned the magnetic sensor axis relative to the accelerometer axes, the convergence can take longer.
In one embodiment, determining if convergence has occurred, such as is described above with respect to block 240 of
|Ûk−1,norm|diag(Ûk−1TÛk−1), (26)
the average distance the soft iron parameters have moved since the last iteration can be estimated as:
Similarly, the average distance the hard iron perturbations have moved can be estimated as:
User Interface Description.
In one embodiment, a screening test is performed during calibration which checks the sensor data, such as that from the magnetometer 160 or accelerometer 170 of
A calibration algorithm that runs on a host system can provide a user with graphical feedback on the orientation of the samples taken and their quality.
Other features (which may or may not be found in all embodiments) that can contribute to improved calibration results are:
1) a verification test which is run following the calibration to ensure a quality calibration;
2) user-adjustable sample screening which automatically rejects samples that do not meet a stability threshold; and
3) heading error estimation (of single and/or double cycle errors) for the prior and new calibration.
One or more of the aspects described above may be employed in a method of determining a magnetic field vector.
The method 400 continued to block 420, where, for a sensor orientation not included in the plurality of sensor orientations, a magnetic field vector and a gravity vector are determined. The determined magnetic field vector can be determined, for example, by the magnetometer 160 of
Next, in block 430, one or more calibration coefficients are iteratively estimated based on the stored calibration components and the determined vectors. The estimation can be performed, for example, by the processor 110 of
The method 400 continues to block 440 where a sensor-orientation-independent magnetic field vector is determined based on at least one of the calibration coefficients. In one embodiment, the sensor-orientation-independent magnetic field vector is an estimate of the magnetic field in geographic coordinates. In another embodiment, the sensor-orientation-independent magnetic field vector is an estimate of the magnetic field in another non-geographic set of coordinates which are independent of the sensor orientation. As an example, the sensor-orientation-independent magnetic field vector may be an estimate of the magnetic field in ship coordinates or in laboratory coordinates.
In one embodiment, the method 400 further comprises outputting the sensor-orientation-independent magnetic field vector to a display, a memory, or a transmitter. In one embodiment, the method 400 repeats. In certain embodiments, determining a magnetic field vector and a gravity vector is performed for more than one sensor orientation not included in the plurality of sensor orientations. All, or a subset, of these orientations may be used in estimating the calibration coefficients and determining a sensor-orientation-independent magnetic field vector.
The method 400 can be used to calibrate a magnetic compass.
The method 500 continues to block 520 where a plurality of stored magnetic calibration components associated with a second plurality of orientations of the at least one sensor are received. The reception can be performed, for example, by the processor 110 from the memory 120 of
Next, in block 530, a plurality of calibration coefficients are estimated based on the sample data and the stored components. The estimation can be performed, for example, by the processor 110 of
In one embodiment, estimating the plurality of calibration coefficients includes an iterative least squares estimate based on minimizing the sum of the squared errors between the actual and estimated magnetic field in geographic coordinates over the sample data. In one embodiment, the least squares estimate is based on minimizing a distance between the estimated plurality of calibration coefficients and the plurality of stored components. In one embodiment, the estimation is based on received accelerometer data indicative of pitch and roll.
In one embodiment, the method 500 further comprises outputting the estimated coefficients to a display, a memory, or a transmitter. In one embodiment, the method 500 repeats. The estimated coefficients can be used to determine a sensor-orientation-independent magnetic field vector such as an estimate of the magnetic field in geographic coordinates.
A magnetic compass calibrated using the methods described above can be used in a variety of applications. In one embodiment, the magnetic compass is used in conjunction with a current profiler.
Because the vessel 602 is moving in the illustrated embodiment, the measured velocity of the range cell 607 is relative to the velocity of the vessel 602. Therefore, a bottom range pulse is periodically interleaved in the beams 604 to determine the orthogonal velocity components of the vessel 602 such as those indicated at 610. Further, orienting the velocity of the range cell 607 to a fixed reference frame, such as the earth, can be performed with knowledge of the orientation of the vessel 602. The orientation of the vessel 600 and the current profiler 600 attached to the vessel 602 can be determined using a magnetic compass 690. The magnetic compass can be integrated with the current profiler or could be separate and connected via data communications either wired or wireless. In one embodiment, the magnetic compass is calibrated using the methods and systems described above. A processor 692 receives measurements from the current profile 600 and the magnetic compass 690 and calculates orientation-independent measurements. These measurements can be stored in a memory 694.
Although bottom tracking using a downward looking current profiler 600 attached to a vessel 602 is described herein, it is to be recognized that other uses may be made of the methods and systems described herein. For example, embodiments may include, a current profiler 600 moored to the ocean bottom in an upward looking configuration. Such a configuration may be used to measure the movement of sheets of ice in one of the polar regions. In one embodiment, the current profiler 600 is used for river discharge measurements.
It is to be recognized that depending on the embodiment, certain acts or events of any of the methods described herein can be performed in a different sequence, may be added, merged, or left out all together (e.g., not all described acts or events are necessary for the practice of the method). Moreover, in certain embodiments, acts or events may be performed concurrently, e.g., through multi-threaded processing, interrupt processing, or multiple processors, rather than sequentially.
Those of skill will recognize that the various illustrative logical blocks, modules, circuits, and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
The various illustrative logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
While the above detailed description has shown, described, and pointed out novel features of the invention as applied to various embodiments, it will be understood that various omissions, substitutions, and changes in the form and details of the device or process illustrated may be made by those skilled in the art without departing from the spirit of the invention. As will be recognized, the present invention may be embodied within a form that does not provide all of the features and benefits set forth herein, as some features may be used or practiced separately from others. The scope of the invention is indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
This application claims the benefit under 35 U.S.C. §119(e) of U.S. Provisional Application No. 61/246,501, filed Sep. 28, 2009, the disclosure of which is herein incorporated by reference in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4031630 | Fowler | Jun 1977 | A |
4114436 | Suminsby | Sep 1978 | A |
4124897 | Martin | Nov 1978 | A |
4327498 | Setter et al. | May 1982 | A |
4611293 | Hatch et al. | Sep 1986 | A |
4622843 | Hormel | Nov 1986 | A |
4698912 | Fowler et al. | Oct 1987 | A |
4720992 | Hormel | Jan 1988 | A |
4797841 | Hatch | Jan 1989 | A |
4953305 | Van Lente et al. | Sep 1990 | A |
5046031 | Wanous | Sep 1991 | A |
5065521 | Waldrop et al. | Nov 1991 | A |
5161311 | Esmer et al. | Nov 1992 | A |
5165269 | Nguyen | Nov 1992 | A |
5208785 | Brumley et al. | May 1993 | A |
5297063 | Cage | Mar 1994 | A |
5297065 | Cage et al. | Mar 1994 | A |
5396709 | Swan, Jr. | Mar 1995 | A |
5632092 | Blank et al. | May 1997 | A |
5644851 | Blank et al. | Jul 1997 | A |
5689445 | Vogt et al. | Nov 1997 | A |
5737226 | Olson et al. | Apr 1998 | A |
5802727 | Blank et al. | Sep 1998 | A |
6173501 | Blank et al. | Jan 2001 | B1 |
6282803 | Dunne | Sep 2001 | B1 |
6301794 | Parks et al. | Oct 2001 | B1 |
6356851 | Young et al. | Mar 2002 | B1 |
6427349 | Blank et al. | Aug 2002 | B1 |
6513252 | Schierbeek et al. | Feb 2003 | B1 |
6543146 | Smith et al. | Apr 2003 | B2 |
6643941 | Parks et al. | Nov 2003 | B2 |
6651003 | Woloszyk et al. | Nov 2003 | B2 |
6857194 | Parks et al. | Feb 2005 | B2 |
6871411 | Kang et al. | Mar 2005 | B1 |
6877237 | Withanawasam | Apr 2005 | B1 |
6922902 | Schierbeek et al. | Aug 2005 | B2 |
6964108 | Parks et al. | Nov 2005 | B2 |
7020971 | Currie et al. | Apr 2006 | B1 |
7112793 | Wright | Sep 2006 | B2 |
7127823 | Parks et al. | Oct 2006 | B2 |
7154267 | Withanawasam | Dec 2006 | B2 |
7191533 | Parks et al. | Mar 2007 | B2 |
7248983 | Fillatreau et al. | Jul 2007 | B2 |
7260896 | Fillatreau et al. | Aug 2007 | B2 |
7331115 | Schierbeek et al. | Feb 2008 | B2 |
7353614 | Parks et al. | Apr 2008 | B2 |
7451549 | Sodhi et al. | Nov 2008 | B1 |
7458166 | Parks et al. | Dec 2008 | B2 |
20090254294 | Dutta | Oct 2009 | A1 |
20090281739 | Ikkink et al. | Nov 2009 | A1 |
Number | Date | Country | |
---|---|---|---|
20110077889 A1 | Mar 2011 | US |
Number | Date | Country | |
---|---|---|---|
61246501 | Sep 2009 | US |