Patent Publication Number: US-11022468-B2

Title: Magnetoresistive angle sensor and corresponding strong magnetic field error correction and calibration methods

Description:
PRIORITY CLAIM TO RELATED APPLICATIONS 
     This application is a U.S. national stage application filed under 35 U.S.C. § 371 from International Application Serial No. PCT/CN2016/070743, which was filed 13 Jan. 2016, and published as WO2016/115995 on 28 Jul. 2016, and which claims priority to Chinese Application No. 201510027890.X, filed 20 Jan. 2015, which applications and publication are incorporated by reference as if reproduced herein and made a part hereof in their entirety, and the benefit of priority of each of which is claimed herein. 
     TECHNICAL FIELD 
     The present invention relates to calibration of output errors of a biaxial magnetoresistive angle sensor used in a strong magnetic field. 
     BACKGROUND ART 
     A combination of a magnetoresistive sensor and a magnet rotating along an axis provides an attractive means for non-contact measurement of rotation along an axis of various automotive, industrial, and consumer products. In the prior art, there are many different types of magnetic angle sensors for measuring the orientation of magnetic fields. Unfortunately, they all have problems well-known in the art, for example, large size, insufficient sensitivity, insufficient dynamic range, high cost, low reliability, and other problems. Therefore, magnetoresistive angle sensor designs require further improvement in order to achieve a magnetoresistive angle sensor with high performance, especially a magnetoresistive angle sensor that can be easily combined and used with an integrated circuit using existing manufacturing methods. 
     When an external magnetic field is applied, it is known in the art that the finite value of the pinning layer of a GMR or TMR magnetoresistive angle sensor increases output error. This is because the applied external magnetic field causes slight movement of the magnetization direction of the pinned layer. The present invention provides a correction algorithm to solve this problem. When this algorithm is applied to a biaxial TMR/GMR angle sensor, the measurement error related to the intensity of the external magnetic field is greatly reduced. The new algorithm includes simple mathematics and simple one-time calibration, and it expands the magnetic field application range of the biaxial TMR/GMR magnetoresistive angle sensor in addition to greatly improving the measurement precision in a high magnetic field. 
     SUMMARY OF THE INVENTION 
     To solve the above problems, the present invention provides a biaxial magnetoresistive angle sensor, including two orthogonal single-axis magnetoresistive angle sensors for detecting an external magnetic field in an X-axis direction and a Y-axis direction that are perpendicular to each other, 
     a unit for calculating in real time a measured vector magnitude of the voltage outputs of the single-axis magnetoresistive angle sensor along the X-axis and the Y-axis, 
     a unit for calculating a difference between a known calibration vector magnitude and the measured vector magnitude, 
     a unit for dividing the difference by the square root of 2 in order to calculate an error signal, 
     a unit for adding the error signal to the X-axis output and the Y-axis output respectively or subtracting the error signal from the X-axis output and the Y-axis output in order to calculate the calibrated output signals of the X-axis and the Y-axis angle sensors, and 
     a unit for calculating an arc tangent of a factor obtained by dividing the calibrated Y-axis output signal by the calibrated X-axis output signal to provide the rotation angle of the external magnetic field. 
     The X-axis output and the Y-axis output are respectively an offset-calibrated X-axis voltage output and an offset-calibrated Y-axis voltage output, a first offset calibration value is subtracted from the X-axis voltage output to obtain the offset-calibrated X-axis voltage output; and a second offset calibration value is subtracted from the Y-axis voltage output to obtain the offset-calibrated Y-axis voltage output. 
     The X-axis voltage output is divided by a first known vector magnitude calibration value, the Y-axis voltage output is divided by a second known vector magnitude calibration value, and the first known vector magnitude calibration value and the second known vector magnitude calibration value are set to 1. 
     The offset-calibrated X-axis voltage output is divided by the first known vector magnitude calibration value, the offset-calibrated Y-axis voltage output is divided by the second known vector magnitude calibration value, and the first known vector magnitude calibration value and the second known vector magnitude calibration value are set to 1. 
     Each of the single-axis magnetoresistive angle sensors is a GMR spin valve or a TMR sensor. 
     The biaxial magnetoresistive angle sensor further includes a temperature sensor. 
     A temperature signal generated by the temperature sensor is used for calculating a linearly varying peak value, offset calibration value, and/or vector magnitude calibration value with respect to temperature. 
     The voltage outputs of the X-axis single-axis magnetoresistive sensor and the Y-axis single-axis magnetoresistive sensor that are orthogonal to each other have approximately identical maximum amplitudes. 
     The known calibration vector magnitude is
 
 V   p ={Max[ Vx (θ, H )]−Min[ Vx (θ, H )]+Max[ Vy (θ, H )]−Min[ Vy (θ, H )]}/4.
 
     The first offset calibration value is Vox={Max[V cos (θ,H)]+Min[V cos (θ,H)]}/2, the second offset calibration value is Voy={Max[V sin (θ,H)]+Min[V sin (θ,H)]}/2. 
     The biaxial magnetoresistive angle sensor further includes a unit for storing the offset value and a calibration constant of the maximum amplitude, the calibration constant of the maximum amplitude is calculated by using the maximum peak value and the minimum peak value obtained when each single-axis magnetoresistive angle sensor rotates by 360 degrees in the external magnetic field, and the biaxial magnetoresistive angle sensor only needs to store the peak value and the offset value for calibration of each of the single-axis magnetoresistive sensor. 
     Correspondingly, the present invention further provides a calibration method for magnetic field error correction of a magnetoresistive angle sensor, including: 
     detecting an external magnetic field in an X-axis direction and a Y-axis direction that are perpendicular to each other by using two orthogonal single-axis magnetoresistive angle sensors; 
     calculating a measured vector magnitude of the voltage outputs of the magnetoresistive angle sensor along the X-axis and the Y-axis in real time; 
     calculating a difference between a known calibration vector magnitude and the measured vector magnitude; 
     dividing the difference by the square root of 2 in order to calculate an error signal; 
     adding the error signal to the X-axis output and the Y-axis output respectively or subtracting the error signal from the X-axis output and the Y-axis output in order to calculate the calibrated output signals of the X-axis and the Y-axis angle sensors; and 
     calculating an arc tangent of a factor obtained by dividing the calibrated Y-axis output signal by the calibrated X-axis output signal to provide a rotation angle of the external magnetic field. 
     The X-axis output and the Y-axis output are respectively an offset-calibrated X-axis voltage output and an offset-calibrated Y-axis voltage output, a first offset calibration value is subtracted from the X-axis voltage output to obtain the offset-calibrated X-axis voltage output; and a second offset calibration value is subtracted from the Y-axis voltage output to obtain the offset-calibrated Y-axis voltage output. 
     The X-axis voltage output is divided by a first known vector magnitude calibration value, the Y-axis voltage output is divided by a second known vector magnitude calibration value, and the first known vector magnitude calibration value and the second known vector magnitude calibration value are set to 1. 
     The offset-calibrated X-axis voltage output is divided by the first known vector magnitude calibration value, the offset-calibrated Y-axis voltage output is divided by the second known vector magnitude calibration value, and the first known vector magnitude calibration value and the second known vector magnitude calibration value are set to 1. 
     The peak value, the offset calibration value and/or vector magnitude calibration value vary linearly with respect to temperature. 
     The voltage outputs of the X-axis single-axis magnetoresistive sensor and the Y-axis single-axis magnetoresistive sensor that are orthogonal to each other have approximately identical maximum amplitudes. 
     The known calibration vector magnitude is
 
 V   p ={Max[ Vx (θ, H )]−Min[ Vx (θ, H )]+Max[ Vy (θ, H )]Min[ Vy (θ, H )]}/4.
 
     The first offset calibration value is Vox={Max[V cos (θ,H)]+Min[V cos (θ,H)]}/2, the second offset calibration value is Voy={Max[V sin (θ,H)]+Min[V sin (θ,H)]}/2. 
     The offset value and a calibration constant of the maximum amplitude are stored, the calibration constant of the maximum amplitude is calculated by using the maximum peak value and the minimum peak value obtained when each single-axis magnetoresistive angle sensor rotates by 360 degrees in the external magnetic field, and the magnetoresistive angle sensor only needs to store the peak value and the offset value for calibration of each of the single-axis magnetoresistive sensor. 
     Because of the above technical solutions, the present invention has the following beneficial effects: the present invention applies the correction algorithm to the biaxial magnetoresistive angle sensor, which greatly reduces the measurement error related to the intensity of the external magnetic field, expands the magnetic field application range of the biaxial magnetoresistive angle sensor, and greatly improves the measurement precision thereof in a strong magnetic field. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  is a working principle of a magnetoresistive angle sensor; 
         FIG. 2A  is an ideal voltage output curve of a biaxial magnetoresistive angle sensor  1 ; 
         FIG. 2B  is an ideal XY-curve graph of the biaxial magnetoresistive angle sensor  1  obtained by plotting of an X-axis output vs. a Y-axis output; 
         FIG. 3A  is a non-ideal voltage output curve of the biaxial magnetoresistive angle sensor  1 ; 
         FIG. 3B  is a non-ideal XY-curve graph of the biaxial magnetoresistive angle sensor  1  obtained by plotting of the X-axis output vs. the Y-axis output; 
         FIG. 4A  is effects of different intensity of the external magnetic field on an XY-curve obtained by plotting of the X-axis output vs. the Y-axis output of the biaxial magnetoresistive angle sensor  1 ; 
         FIG. 4B  is the maximum error of the output of the biaxial angle sensor  1  measured in different intensity of the external magnetic field; 
         FIG. 5  is a curve graph showing a common effect observed in all GMR/TMR angle sensors; 
         FIG. 6  is a schematic diagram of an MTJ (magnetic tunnel junction) unit; 
         FIG. 7  is a schematic diagram explaining movement of a pinning layer generated by the applied external magnetic field; 
         FIG. 8A  is the maximum error XY-curve when an angle of the external magnetic field with respect to the pinning layer is 33°; 
         FIG. 8B  is the maximum error caused by movement of the pinning layer obtained by calculation in different magnetic field intensity HPS when the angle of the external magnetic field with respect to the pinning layer is 33°; 
         FIG. 9  indicates that the magnitude of the non-ideal output waveform is equal to or less than the magnitude of the ideal output waveform; 
         FIG. 10  shows comparison between a biaxial magnitude and a single-axis error; 
         FIG. 11  is a plot of a single-axis output error as a function of a biaxial magnitude error, indicating that the single-axis error is proportional to the biaxial magnitude error; 
         FIG. 12  is a curve graph indicating that the non-ideal output of the angle sensor may be corrected by adding the measured biaxial magnitude error back to the non-ideal distorted waveform; 
         FIG. 13A  is an XY-curve obtained by plotting of the non-calibrated X-axis output vs. the Y-axis output in several external magnetic fields having different intensity; 
         FIG. 13B  is an XY-curve obtained by plotting of the corrected X-axis output vs. the Y-axis output in several external magnetic fields having different intensity, indicating that the output error can be corrected; 
         FIG. 13C  shows that the angle error after calibration is much less than the original error; 
         FIG. 14  shows that the algorithm is still effective when the output change exceeds 10%, indicating that the correction algorithm is insensitive to temperature changes; 
         FIG. 15A  to  FIG. 15C  indicate that this algorithm can reduce the error by 3 times when used for calibrating a highly distorted output; 
         FIG. 16  is a design of a biaxial magnetoresistive angle sensor; and 
         FIG. 17  is a design of another biaxial magnetoresistive angle sensor. 
     
    
    
     DETAILED DESCRIPTION 
       FIG. 1  is a schematic diagram of the working principle of a biaxial magnetoresistive angle sensor  1 . The biaxial magnetoresistive angle sensor  1  includes two single-axis magnetoresistive angle sensors that are rotated by 90° with respect to each other, in order to measure the intensity of a magnetic field along an X-axis and a Y-axis. One of the single-axis magnetoresistive angle sensors for measuring a cosine waveform is referred to as a cosine sensor, and the other one for measuring a sine waveform is referred to as a sine sensor. The magnetoresistive (MR) angle sensor  1  is placed in a rotating magnetic field  2  generated by a magnet  3 . By detecting resistance changes of the biaxial magnetoresistive angle sensor  1 , the biaxial magnetoresistive angle sensor  1  can measure a rotation angle of the magnet  3 . The resistance changes of the biaxial magnetoresistive angle sensor  1  vary according to a sine-cosine wave rule. 
       FIG. 2A  is a sine-cosine output curve of the biaxial magnetoresistive angle sensor  1 . Ideal sine and cosine output curves are obtained by plotting of the output of the biaxial magnetoresistive angle sensor  1  vs. the rotation angle of the rotating magnetic field  2 : a cosine waveform is along the X-axis, and a sine waveform is along the Y-axis; and the two waveforms are respectively an ideal Y-axis sine waveform  7  and an ideal X-axis cosine waveform  5 . A curve obtained by plotting of an ideal X-axis voltage output vs. the Y-axis voltage output is a perfect circle  9  as shown in  FIG. 2B . Specifically, this means that a vector magnitude of the output voltage component is independent of the rotating angle. As discussed in the following, such a characteristic is a key part enabling the correction algorithm proposed in the present invention to work. In any situation, the rotation angle may be calculated by using a well-known CORDIC algorithm, wherein the voltage of the sine sensor is divided by the voltage of the cosine sensor, and then an arc tangent of the ratio is calculated to determine the rotation angle of the magnet  3 . 
       FIG. 3A  and  FIG. 3B  are non-ideal output curves of a TMR (tunneling magnetoresistance) or GMR (giant magnetoresistance) biaxial magnetoresistive sensor  1  when a strong magnetic field is applied externally.  FIG. 3A  shows that a Y-axis wave curve  13  and an X-axis wave curve  11  of the biaxial magnetoresistive angle sensor  1  are strongly distorted.  FIG. 3B  shows an ideal XY-output curve  9  formed by ideal outputs and a non-ideal XY-output curve  15  formed by non-ideal outputs. In this figure, it is obvious that the non-idea XY-output curve  15  is not circular, and tends to form a shape of an asteroid or a square in an XY plane. The vector magnitude of the biaxial sensor  1  is not independent of the rotation angle. An error may be caused when an angle of the rotating magnetic field  2  is calculated by using CORDIC by the above-mentioned distortion shown by a 33-degree vector  33  and a 45-degree vector  31 . A point  32  on the distorted curve  15  should be a point  32 ′ on the curve  9  of the ideal curve. A point  34  on the distorted curve  15  is not mapped to a corresponding point on the ideal curve  9  along the vector  33 , but is mapped to a point  34 ′ having a smaller angle. This indicates that the output curve may have an error in a high field, and an angle-dependent error or a non-linear error may be generated; therefore, the output of the MR angle sensor  1  needs to be modified. 
     There is generally an optimal value that can minimize the measurement error of the non-linear external magnetic field  2  output by the sensor; however, generally, the measurement error increases as the intensity of the applied external magnetic field  2  increases.  FIG. 4  shows dependency of the measurement error on the magnetic field intensity.  FIG. 4A  shows XY-output curves measured in different magnetic field intensity. It should be noted that the enhanced external magnetic field may result in the increased error, and this is illustrated by a group of output curves  15  in a higher external magnetic field in  FIG. 4A . External magnetic fields having different intensity are applied to the magnetoresistive angle sensor  1 .  FIG. 4B  is a curve obtained by plotting of the maximum error generated by the output of the biaxial magnetoresistive angle sensor  1  vs. the intensity of the external rotating magnetic field  2  when the external rotating magnetic field  2  rotates by 360 degrees, which further clearly indicates that the output error increases as the magnetic field intensity increases. 
       FIG. 5  is a curve graph for illustrating the function of a GMR angle sensor. It relates to a structure of a GMR or TMR unit. When the rotating magnetic field is as low as 50 Oe, the output response curve  4  is identical to the ideal output curve  5 . If the intensity of the rotating magnetic field is up to 400 Oe, an output curve  6  becomes a triangle. A difference between the distorted curve and the ideal curve or a single-axis error is curve  8 . 
     Such an error deviating from the ideal output curve may be caused by a non-ideal behavior of an incompletely saturated layer as in the case of a free layer in a low external magnetic field. It may also be caused by limited strength of a pinning field of a pinning layer (PL) in a strong external magnetic field. The high field error mainly is caused by the non-ideal behavior of the pinning layer as will be illustrated in the following, wherein a magnetization direction of the pinned layer is slightly moved due to the applied external magnetic field, and such movement increases as the intensity value of the applied external magnetic field increases. 
     The present invention discloses a correction algorithm for calibrating the high field error of the sensor output caused by the pinning layer or other reasons. 
       FIG. 6  is a simple MTJ structure. The sensor units each include a ferromagnetic layer-insulation layer-ferromagnetic layer structure (FM-I-FM). Generally, there are at least two ferromagnetic metal layers separated by an insulation tunnel barrier  19 . The thickness of the tunnel barrier  19  is about 2 nm, and the thickness of the layer controls the resistance of the tunnel junction. The magnetoresistive effect of such a structure is referred to as tunneling magnetoresistance (TMR), having a magnitude easily exceeding DR/R 0 ≈200%. The resistance change of the sensing unit is in direct proportion to cosine of a relative orientation angle between magnetization directions of the free layer  17  and the pinning layer (PL)  21 . Therefore, if the MTJ is such designed that the rotation of the FL 17  responds to the applied external magnetic field H, and the magnetization direction of the PL 21  is rigidly fixed, the output resistance of the sensor unit is related to the direction of the applied magnetic field. The resistance change of the MTJ is a function of the relative angle between the magnetization directions of the FL and PL layers; therefore, any tiny rotation of the pinning layer  21  will increase the error of the sensor. 
     It is assumed that the magnetization of the FL 17  completely follows the angle of the applied external magnetic field, and analysis on the error may be made by merely considering a magnetization direction  21  of the PL 21 .  FIG. 7  shows a direction  22  of a pinning magnetic field, a magnetization direction  21 ′ of the PL 21 , and directions of two components X 2 ′ and Y 2 ″ of the external magnetic field  2 . In order to determine the response to the external magnetic field  2  applied by the PL 21 , general free energy analysis as follows is made, wherein the energy of the system depends on the magnetization direction of the PL  21  relative to the total magnetic field: 
     
       
         
           
             
               
                 
                   E 
                   = 
                   
                     
                       - 
                       
                         1 
                         2 
                       
                     
                     ⁢ 
                     
                       
                         
                           M 
                           _ 
                         
                         s 
                       
                       · 
                       
                         ( 
                         
                           
                             
                               H 
                               _ 
                             
                             p 
                           
                           + 
                           
                             H 
                             _ 
                           
                         
                         ) 
                       
                     
                   
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
             
               
                 
                   E 
                   = 
                   
                     
                       - 
                       
                         1 
                         2 
                       
                     
                     ⁢ 
                     
                       M 
                       s 
                     
                     ⁢ 
                     
                       { 
                       
                         
                           
                             ( 
                             
                               
                                 H 
                                 p 
                               
                               + 
                               
                                 H 
                                 x 
                               
                             
                             ) 
                           
                           ⁢ 
                           cos 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           θ 
                         
                         + 
                         
                           
                             H 
                             y 
                           
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           sin 
                           ⁢ 
                           
                               
                           
                           ⁢ 
                           θ 
                         
                       
                       } 
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
             
               
                 
                   
                     dE 
                     
                       d 
                       ⁢ 
                       
                           
                       
                       ⁢ 
                       θ 
                     
                   
                   = 
                   
                     0 
                     = 
                     
                       
                         - 
                         
                           1 
                           2 
                         
                       
                       ⁢ 
                       
                         M 
                         s 
                       
                       ⁢ 
                       
                         { 
                         
                           
                             
                               - 
                               
                                 ( 
                                 
                                   
                                     H 
                                     p 
                                   
                                   + 
                                   
                                     H 
                                     x 
                                   
                                 
                                 ) 
                               
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             sin 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             θ 
                           
                           + 
                           
                             
                               H 
                               y 
                             
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             cos 
                             ⁢ 
                             
                                 
                             
                             ⁢ 
                             θ 
                           
                         
                         } 
                       
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
     The rotation angle of the magnetization direction of the PL may be obtained by using an equation (3), and the rotation angle is expressed as θ err . 
     
       
         
           
             
               
                 
                   
                     θ 
                     err 
                   
                   = 
                   
                     a 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     tan 
                     ⁢ 
                     
                       { 
                       
                         
                           H 
                           y 
                         
                         
                           
                             H 
                             p 
                           
                           + 
                           
                             H 
                             x 
                           
                         
                       
                       } 
                     
                   
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
     The intensity of the pinning magnetic field (Hp) in the equation (4) is generally about 1500 Oe, and this limits the precision of the MTJ magnetoresistive sensor. 
     The measured data indicates that the measurement error of the angle is the worst when the angle of the applied external magnetic field is about 30 degrees, and this may be observed by mapping a data point from the non-ideal curve  15  to the ideal curve  9 , see  FIG. 8A . In addition, the measurement error is a minimum when the angle of the external magnetic field is 45 degrees.  FIG. 8B  is a plot of the calculated maximum PL angle error vs. Hp. It is assumed that the maximum measurement error occurs when the angle of applying the external magnetic field is 33°, and is calculated by using a formula (5). The error curve obtained by calculation with the formula 5 is very consistent with the error curve measured on a real device. 
     
       
         
           
             
               
                 
                   
                     θ 
                     err 
                   
                   = 
                   
                     a 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     tan 
                     ⁢ 
                     
                       { 
                       
                         
                           H 
                           / 
                           3 
                         
                         
                           ( 
                           
                             
                               H 
                               p 
                             
                             + 
                             
                               2 
                               ⁢ 
                               
                                 H 
                                 / 
                                 3 
                               
                             
                           
                         
                       
                       } 
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
       FIG. 9  is a plot of the voltage output wave of the biaxial magnetoresistive angle sensor  1  vs. the angle of the applied external magnetic field. In the figure, zero degree indicates an applied magnetic field parallel to the Hp direction. As for an output model of the biaxial magnetoresistive angle sensor  1 , Cos=ideal cosine axis voltage, Sin=ideal sine axis voltage, CT=triangular non-ideal cosine signal, and ST=triangular non-ideal sine signal. 
     It should be noted that the magnitudes of the non-ideal curves  11  and  13  are always equal to or less than the magnitudes of the ideal curves  5  and  7 , and the magnitudes of the measurement errors are in a 90-degree phase. The non-ideal curves  11  and  13  and the ideal curves  5  and  7  have identical maximum and minimum peak values. The above model is universal in measurement, indicating that a correction algorithm may be established accordingly. 
     To explain this correction method,  FIG. 10  is a drawn error signal curve. An ideal magnitude  27 =biaxial vector magnitude; an original magnitude  29 =vector magnitude of the biaxial triangular wave; a magnitude difference  31 =ideal magnitude−original magnitude; and a triangular wave error  33 =a single-axis difference between the ideal sine-cosine wave curve and the triangular wave error. 
     It should be noted that the magnitude difference can be easily calculated in real time. The triangular error  33  is unknown in actual measurement, but it is related to the magnitude difference; this is displayed in  FIG. 11 . In  FIG. 10 , a difference of Cos−CT (curve  7 −curve  13 ) is expressed as a plot of the curve  31  vs. vector magnitude (vector magnitudes of the curves  11  and  13 ) curve  29  of the CT and ST. Surprisingly,  FIG. 11  indicates that a difference between the magnitude of the non-ideal curve (the measured vector magnitude) and an expected peak value (amplitude) of each axis is proportional to the angle measurement error (triangular error). This proportion, that is, a slope, is:
 
1.39≈1.41=√{square root over (2)}  (6)
 
     It can be seen that, a difference calculated by the vector magnitudes between non-ideal and ideal responses may be added back to the output of the sensor  1  in real time to calibrate an orthogonal single-axis waveform. The result is that, a triangular error  34  in  FIG. 12  becomes much less than that in  FIG. 10 , and a calibrated X-axis voltage output curve  16  is obtained after the non-ideal cosine wave curve  11  is calibrated, which is identical to the ideal X-axis voltage output curve  5 . 
     The non-ideal sine waveform  13  is expressed as V SIN (θ,H); the non-ideal cosine wave  11  is expressed as Vcos (θ,H); offsets of the sine and cosine waveforms are respectively expressed as V os  and V oc ; peak values of the sine and cosine waveforms are expressed as V ps  and V pc ; V′ sin(θ,H) and V′ cos(θ,H) are used as sensor outputs having corrected offsets and magnitudes; and then the following equation can be used for correcting the non-ideal output waveform in real time: 
     
       
         
           
             
               
                 
                   
                     
                       V 
                       s 
                       ′ 
                     
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       { 
                       
                         
                           
                             V 
                             sin 
                           
                           ⁡ 
                           
                             ( 
                             
                               θ 
                               , 
                               H 
                             
                             ) 
                           
                         
                         - 
                         
                           V 
                           os 
                         
                       
                       } 
                     
                     / 
                     
                       V 
                       ps 
                     
                   
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       V 
                       c 
                       ′ 
                     
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       { 
                       
                         
                           
                             V 
                             cos 
                           
                           ⁡ 
                           
                             ( 
                             
                               θ 
                               , 
                               H 
                             
                             ) 
                           
                         
                         - 
                         
                           V 
                           oc 
                         
                       
                       } 
                     
                     / 
                     
                       V 
                       pc 
                     
                   
                 
               
               
                 
                   ( 
                   8 
                   ) 
                 
               
             
             
               
                 
                   
                     Error 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       { 
                       
                         1 
                         - 
                         
                           
                             
                               
                                 ( 
                                 
                                   
                                     
                                       V 
                                       c 
                                       ′ 
                                     
                                     ⁡ 
                                     
                                       ( 
                                       
                                         
                                           θ 
                                           , 
                                         
                                         ⁢ 
                                         H 
                                       
                                       ) 
                                     
                                   
                                   
                                     V 
                                     pc 
                                   
                                 
                                 ) 
                               
                               2 
                             
                             + 
                             
                               
                                 ( 
                                 
                                   
                                     
                                       V 
                                       s 
                                       ′ 
                                     
                                     ⁡ 
                                     
                                       ( 
                                       
                                         θ 
                                         , 
                                         H 
                                       
                                       ) 
                                     
                                   
                                   
                                     V 
                                     ps 
                                   
                                 
                                 ) 
                               
                               2 
                             
                           
                         
                       
                       } 
                     
                     / 
                     
                       2 
                     
                   
                 
               
               
                 
                   ( 
                   9 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         V 
                         
                           s 
                           ⁢ 
                           in 
                         
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           H 
                         
                         ) 
                       
                     
                     corr 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 V 
                                 s 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             ≥ 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               
                                 V 
                                 s 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             + 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 V 
                                 s 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             &lt; 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               
                                 V 
                                 s 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             - 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         V 
                         cos 
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           H 
                         
                         ) 
                       
                     
                     corr 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 V 
                                 c 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             ≥ 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               
                                 V 
                                 c 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             + 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 V 
                                 c 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             &lt; 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               
                                 V 
                                 c 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             - 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
           
         
       
     
     By calculation through formulas 12 to 15, V peak  (V peak  is the sensor or amplitude of the maximum or minimum signal) and V offset  (offset of the sensor signal) may be obtained:
 
 V   pc ={Max[ V   cos (θ,100)]−Min[ V   cos (θ,100)]}/2  (12)
 
 V   ps ={Max[ V   sin (θ,100)]−Min[ V   sin (θ,100)]}/2  (13)
 
 V   oc ={Max[ V   cos (θ,100)]+Min[ V   cos (θ,100)]}/2  (14)
 
 V   os ={Max[ V   sin (θ,100)]+Min[ V   sin (θ,100)]}/2  (15)
 
     Generally, it only needs to calculate the four parameters (V pc , V ps , V oc , and V os ,). In an actual operation, if the sine and cosine waveforms match with each other, only V p  is enough. This method is advantageous in that no waveform needs to be stored, and it only needs to store at most four parameters. The magnet  3  only needs to rotate by 360 degrees. H may be any value as long as the magnetoresistive angle sensor  1  is saturated. 
     Suppose that the sensor is saturated, as indicated by experience, the sensor only needs to be calibrated in a single magnetic field. Suppose that the sensor is saturated at 100 G, and the sine and cosine curves are well matched, then the following embodiment illustrates how the sensor  1  is calibrated:
 
 V   p ={Max[ V   c (θ,100)]−Min[ V   c (θ,100)]+Max[ V   s (θ,100)]−Min[ V   s (θ,100)]}/4  (16)
 
     The following equations are added to each measurement value for correcting the error: 
     
       
         
           
             
               
                 
                   
                     
                       V 
                       s 
                       ′ 
                     
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       V 
                       sin 
                     
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   17 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       V 
                       c 
                       ′ 
                     
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       V 
                       cos 
                     
                     ⁡ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
             
               
                 
                   
                     Error 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       { 
                       
                         
                           V 
                           p 
                         
                         - 
                         
                           
                             
                               
                                 
                                   V 
                                   c 
                                   ′ 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     
                                       θ 
                                       , 
                                     
                                     ⁢ 
                                     H 
                                   
                                   ) 
                                 
                               
                               2 
                             
                             + 
                             
                               
                                 
                                   V 
                                   s 
                                   ′ 
                                 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     θ 
                                     , 
                                     H 
                                   
                                   ) 
                                 
                               
                               2 
                             
                           
                         
                       
                       } 
                     
                     / 
                     
                       2 
                     
                   
                 
               
               
                 
                   ( 
                   19 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         V 
                         
                           s 
                           ⁢ 
                           in 
                         
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           H 
                         
                         ) 
                       
                     
                     corr 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 V 
                                 s 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             ≥ 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               
                                 V 
                                 s 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             + 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 V 
                                 s 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             &lt; 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               
                                 V 
                                 s 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             - 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   20 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         V 
                         cos 
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           H 
                         
                         ) 
                       
                     
                     corr 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               
                                 V 
                                 c 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             ≥ 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               
                                 V 
                                 c 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             + 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               
                                 V 
                                 c 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             &lt; 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               
                                 V 
                                 c 
                                 ′ 
                               
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             - 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   21 
                   ) 
                 
               
             
           
         
       
     
     In another embodiment, the offset value is small, and the sine and cosine waves have identical peak values; then, the calibration may be conducted through the following equations: 
     
       
         
           
             
               
                 
                   
                     VMag 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       
                         
                           V 
                           x 
                           2 
                         
                         ⁡ 
                         
                           ( 
                           
                             θ 
                             , 
                             H 
                           
                           ) 
                         
                       
                       - 
                       
                         
                           V 
                           y 
                           2 
                         
                         ⁡ 
                         
                           ( 
                           
                             θ 
                             , 
                             H 
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   22 
                   ) 
                 
               
             
             
               
                 
                   
                     Error 
                     ⁢ 
                     
                         
                     
                     ⁢ 
                     
                       ( 
                       
                         θ 
                         , 
                         H 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       { 
                       
                         
                           V 
                           p 
                         
                         - 
                         
                           
                             
                               Vx 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 
                                   ( 
                                   
                                     
                                       θ 
                                       , 
                                     
                                     ⁢ 
                                     H 
                                   
                                   ) 
                                 
                                 2 
                               
                             
                             + 
                             
                               
                                 Vy 
                                 ⁡ 
                                 
                                   ( 
                                   
                                     θ 
                                     , 
                                     H 
                                   
                                   ) 
                                 
                               
                               2 
                             
                           
                         
                       
                       } 
                     
                     / 
                     
                       2 
                     
                   
                 
               
               
                 
                   ( 
                   23 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         V 
                         
                           s 
                           ⁢ 
                           in 
                         
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           H 
                         
                         ) 
                       
                     
                     corr 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               Vy 
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             ≥ 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               Vy 
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             + 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               Vy 
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             &lt; 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               Vy 
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             - 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   24 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         V 
                         cos 
                       
                       ⁡ 
                       
                         ( 
                         
                           θ 
                           , 
                           H 
                         
                         ) 
                       
                     
                     corr 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               Vx 
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             ≥ 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               Vx 
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             + 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                       
                         
                           
                             
                               Vx 
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             &lt; 
                             
                               0 
                               ⁢ 
                               
                                 : 
                               
                             
                           
                         
                         
                           
                             
                               Vx 
                               ⁡ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                             - 
                             
                               Error 
                               ⁢ 
                               
                                   
                               
                               ⁢ 
                               
                                 ( 
                                 
                                   θ 
                                   , 
                                   H 
                                 
                                 ) 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   25 
                   ) 
                 
               
             
           
         
       
     
       FIG. 13A  is a group of non-ideal XY-curves  15  obtained by plotting of the non-calibrated X-axis output vs. the Y-axis output and an ideal XY-curve  9  obtained by plotting of the ideal X-axis output vs. the Y-axis output.  FIG. 13B  and  FIG. 13C  show effects after modification is made by using the formulas (18) and (19).  FIG. 13B  indicates that the calibrated XY-curve  10  obtained by plotting of the calibrated X-axis voltage output vs. the Y-axis voltage output is an ideal circle, identical to the circle of the ideal output XY-curve  9 .  FIG. 13C  shows that the angle error  41  after correction is much less than the original error  39 , and the algorithm correction seems to reduce the correlation between the non-linear angle error and the intensity of the external magnetic field. 
     When this algorithm is used, it should be noted that if the peak value and the offset varies with the temperature, in this case, temperature related calibration needs to be conducted. Generally, the calibration may be conducted through the following assumptions:
 
 V   os   =V   os ( T )= V   os ( T 1)− aT   (26)
 
 V   oc   =V   oc ( T )= V   oc ( T 1)− aT   (27)
 
 V   os   =V   os ( T )= V   os ( T 1)−β T   (28)
 
 V   oc   =V   oc ( T )= V   oc ( T 1)−β T   (29)
 
     Here, α and β are known temperature coefficients of the sensor  1 , T 1  is the temperature of the MR angle sensor  1  when being calibrated, and T is an operating temperature measured by using an on-chip thermometer. These temperature correction coefficients may be used in the formulas (7) and (8) to compensate the error caused by the temperature in the algorithm of the present invention. 
     In an alternative method, if the peak value and the offset compensation value do not vary greatly with the temperature, the algorithm does not need temperature compensation.  FIG. 14A  to  FIG. 14C ′ indicate that the error correction method of the present invention is effective within an output error change of 10%: VP/Vp′=0.99, 1, and 1.1.  FIG. 14A ′ to  FIG. 14C ′ indicate that the original maximum error increases as the external magnetic field is enhanced. In addition to being in a range of 0-150 Oe and VP/Vp′=1.1, the modified maximum error is less than the original maximum error.  FIG. 14A  to  FIG. 14C  indicate that an XY-curve obtained by plotting of the modified X-axis output vs. the Y-axis output is a circle. 
       FIG. 15A ,  FIG. 15B  and  FIG. 15C  indicate that the reduction of the output error exceeds 3 times. The algorithm is applied to a highly distorted output curve.  FIG. 15A  is a calibrated XY-curve  10  obtained by plotting of the non-ideal XY-curve  15 , the ideal XY-curve  9  and the corrected X-axis output vs. the Y-axis output. Upon real-time correction, the curves  11  and  13  of triangular waveforms become ideal cosine or sine waveform  5  and  7  in  FIG. 15B .  FIG. 15C  indicates that the corrected angle error is less than the original error by 3 times. A curve  35  is the error before calibration, and a curve  37  is the error after calibration. 
       FIG. 16  is a possible arrangement of four sensor chips  120 ,  121 ,  122 , and  123  to make a biaxial magnetic field angle sensor  1  for detecting sine and cosine components of a rotating magnetic field. The four sensors are arranged on a circumference surrounding a central ASIC 124 , and are electrically connected to each other by using a standard wire welding technology. The arrangement of the four chips enables the orthogonal full bridge to have a common center  126 . The ASIC may contain an electrostatic discharge protection circuit, and it may also provide a circuit for converting a signal output angle of the orthogonal sensor into a digital format. 
       FIG. 17  shows another possible arrangement of four sensor chips  130 ,  131 ,  132 , and  133  to make a biaxial magnetic field angle sensor  1  for detecting sine and cosine components of the rotating magnetic field. The four sensors are circularly symmetric to each other and are located on the top of an ASIC 135 . Different from the design in  FIG. 16 , the sensor chips are oblique such that the sensor  1  is closer to a common geometric center. The arrangement of the four chips enables the orthogonal full bridge to have a common center  136 . The ASIC may contain an electrostatic discharge protection circuit, and it may also provide a circuit for converting a signal output angle of the orthogonal sensor into a digital format. 
     The biaxial magnetic field angle sensor  1  is deposited to or connected to an application specific integrated chip (ASIC) circuit or another apparatus to run the algorithm disclosed in the present invention. The design further includes internal or external data storage. Specifically, the ASIC includes an apparatus for calculating a difference between a known vector magnitude calibration value and a real-time biaxial vector magnitude according to the voltage outputs of the X-axis and the Y-axis of each single-axis magnetic field angle sensor, an apparatus for dividing the difference by the square root of 2 to calculate an error signal, and an apparatus for adding the error signal to or subtracting the error signal from the X and Y voltage outputs to generate an error-corrected X voltage output signal and an error-corrected Y voltage output signal, wherein an arc tangent of a factor of the error-corrected Y voltage output signal and the error-corrected X voltage output signal is a to-be-measured angle value of the applied external magnetic field. 
     The biaxial magnetic field angle sensor  1  may further include a temperature sensor, and a temperature signal from the temperature sensor is used for the known linearly expanded calibration and offset values with respect to the temperature. 
     The temperature sensor and the data storage may be included in the ASIC 124 , or they may be located in the angle sensor chip or connected to the chip separated from the ASIC 124 . 
     The above descriptions are merely preferred embodiments of the present invention, and are not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and changes, and the implementations in the present invention may also have different combinations and changes. Any modification, equivalent replacement, improvement and the like without departing from the spirit and principle of the present invention should all fall within the protection scope of the present invention.