PATENT ABSTRACT
A method and system for determining the velocity of a rotating device is described herein. The system includes an apparatus with a set of sense magnets affixed to a rotating shaft of the rotating device and a circuit assembly. The circuit assembly includes a circuit interconnection having a plurality of sense coils and sensors affixed thereto. The circuit assembly is adapted be in proximity to the set of sense magnets on the rotating part. A controller is coupled to the circuit assembly, where the controller executes an adaptive algorithm that determines the velocity of the rotating device. The algorithm is a method of combining a derived velocity with a velocity from the tachometer. The algorithm includes a plurality of functions including: receiving a position signal related to the rotational position of the shaft; determining a derived velocity from the position signal; generating a plurality of tachometer velocity signals; determining a compensated velocity in response to the plurality tachometer velocity signals; and blending the compensated velocity with derived velocity to generate a blended velocity output.

PATENT DESCRIPTION
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a divisional of U.S. patent application Ser. No. 09/661,657, filed Sep. 14, 2000, now U.S. Pat. No. 6,498,409, the contents of which are incorporated herein by reference. This application claims the benefit of U.S. Provisional Application 60/154,279 filed Sep. 16, 1999, the contents of which are incorporated herein by reference. 
    
    
     TECHNICAL FIELD 
     The invention relates to a tachometer apparatus and methodology for determining the velocity of a motor as applied to a vehicle steering system. 
     BACKGROUND OF THE INVENTION 
     Speed sensors, or detectors of various types are well known in the art. In recent years the application of speed detection to motor control functions has stimulated demands on the sophistication of those sensors. Rotational speed sensors are commonly configured in the same manner as an electric machine, for example, a coil is placed in proximity to rotating magnets whereby the magnetic field induces a voltage on the passing coil in accordance with Faraday&#39;s Law. The rotating permanent magnets induce a voltage on the coil and ultimately a voltage whose frequency and magnitude are proportional to the rotational speed of the passing magnets. 
     Many of the tachometers that are currently available in the art exhibit a trade off between capabilities and cost. Those with sufficient resolution and accuracy are often very expensive and perhaps cost prohibitive for mass production applications. Those that are inexpensive enough to be considered for such applications are commonly inaccurate or provide insufficient resolution or bandwidth for the application. 
     Thus, there is a need, in the art for a low cost robust tachometer that provides sufficient accuracy and resolution for motor control applications and yet is inexpensive enough to be cost effective in mass production. 
     SUMMARY OF THE INVENTION 
     The above-identified drawbacks of the prior art are alleviated by the method described in the invention. 
     A method and apparatus for determining the velocity of a rotating device is described herein. The apparatus includes a set of sense magnets affixed to a rotating shaft of a rotating device and a circuit assembly, which interact to form an air core electric machine. The circuit assembly includes a circuit interconnection having a plurality of sense coils and sensors affixed thereto. The circuit assembly is adapted to be in proximity to the set of sense magnets on the rotating part. 
     A controller is coupled to the circuit assembly, where the controller is adapted to execute an adaptive algorithm that determines the velocity of the rotating device. The algorithm is a method of combining a derived velocity with a velocity from the tachometer. The algorithm includes a plurality of functions including: receiving a position signal related to the rotational position of the shaft; determining a derived velocity from the position signal; generating a plurality of tachometer velocity signals; determining a compensated velocity in response to the plurality tachometer velocity signals; and blending the compensated velocity with derived velocity to generate a blended velocity output. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Referring now to the drawings wherein like elements are numbered alike in the several FIGURES: 
     FIG. 1 depicts the cross-section of the fixed and rotating parts of a tachometer; 
     FIG. 2 depicts the sense magnet end-view illustrating the low and high-resolution poles; 
     FIG. 3 depicts a partial view of a tachometer coil arrangement in the circuit interconnection; 
     FIG. 4 depict the expected output waveform from the low-resolution tachometer coils; 
     FIG. 5 depicts a partial view of an alternative embodiment of the tachometer coil arrangement in the circuit interconnection board; 
     FIG. 6 depict the expected output waveform from the high-resolution position sensor; 
     FIG. 7 depicts a top-level functional block diagram of a method for determination of the rotational speed; 
     FIG. 8 depicts the Speed Estimation process; 
     FIG. 9 depicts the Offset Compensation process; 
     FIG. 10 depicts the Get Phase process; 
     FIG. 11 depicts the Blend process; 
     FIG. 12 depicts the AlignToPolled process; and 
     FIG. 13 depicts the Gain process. 
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention may be utilized in various types of motors and other rotational devices such as, for example, motors employed in a vehicle steering system. A preferred embodiment of the invention, by way of illustration is described herein as it may be applied to a motor tachometer in an electronic steering system. While a preferred embodiment is shown and described, it will be appreciated by those skilled in the art that the invention is not limited to the motor speed and rotation but also to any device where rotational motion and velocity are to be detected. 
     A preferred embodiment of the invention provides a structure and method by which the rotational position and velocity of a motor are determined. Referring to FIG. 1, the invention employs a tachometer structure  10  comprised of rotational part  20  and a fixed circuit assembly  30 . Where the rotational part,  20  includes a rotating shaft  22  and sense magnet  24 . The rotating shaft  22  is connected to, or an element of the device, (not shown) whose rotational speed is to be determined. Referring to FIG. 2, an axial (end) view of the sense magnet  24  is depicted. The sense magnet  24  is attached to the rotating shaft  22  and arranged in two concentric, annular configurations, a first of smaller radius surrounded by the second of larger radius. The concentric, annular configurations may be coplanar. The low-resolution magnet  26  comprising the inner annulus of sense magnet  24  is constructed as a six-pole permanent magnet. While the preferred embodiment utilizes the stated configuration, other configurations are reasonable. The magnet structure need only be sufficient to allow adequate detection in light of the sensing elements utilized, processing employed, and operational constraints. The high-resolution magnet  28  comprising the outer annulus of sense magnet  24  is configured as a 72-pole permanent magnet  28 . Again, the magnet structure need only be sufficient to allow adequate detection in light of the sensing elements, processing employed, and operational constraints. Each of the magnets  26  and  28  is comprised of alternating north and south poles equally distributed around each respective annulus. One skilled in the art would appreciate that the magnets when rotated generate an alternating magnetic field which when passed in proximity to a conductor (coil) induce a voltage on the conductor. Further, using well-understood principles the magnitude of the voltage induced is proportional to the velocity of the passing magnetic field, the spacing and orientation of the coil from the magnets. 
     FIGS. 1 and 3 depict the circuit assembly  30 . The circuit assembly  30  includes; a plurality of tachometer coils  40 , low-resolution Hall sensor set  34 , and high-resolution position sensor  36 . The circuit assembly  30  is placed parallel to and in close proximity to the axial end of the rotating sense magnet  24 . A circuit interconnection  38  provides electrical interconnection of the circuit assembly  30  components and may be characterized by various technologies such as hand wiring, a printed card, flexible circuit, lead frame, ceramic substrate, or other circuit connection fabrication or methodology. A preferred embodiment for the circuit assembly  30  comprises the abovementioned elements affixed to a printed circuit board circuit interconnection  38  of multiple layers. 
     Referring to FIGS. 1 and 3, the tachometer coils  40  are located on the circuit assembly  30  in such an orientation as to be concentric with the sense magnet  24  in close proximity to the inner annulus low resolution poles  26 . In a preferred embodiment of the invention, the conductive tachometer coils  40  are an integral part of the circuit interconnection  38 . The tachometer coils  40  include two or more spiraling conductor coils  42 - 48  concentrically wound in a serpentine fashion such that each conductor comprises a twelve turn winding on each of two layers. Coil A is comprised of windings  42  and  48  and coil B is comprised of windings  46  and  44 . Each of the windings is configured such that it spirals inward toward the center on one layer and outward from the center on the second layer. Thereby, the effects of the windings&#39; physical construction variances on the induced voltages are minimized. Further, the tachometers coils  40  are physically arranged such that each has an equivalent effective depth on the circuit assembly  30 . That is, the windings are stacked within the circuit assembly  30  such that the average axial distance from the magnets is maintained constant. For example, the first layer of coil A, winding  42  could be the most distant from the magnets, and the second layer of coil A, winding  48  the closest to the magnets, while the two layers of coil B  46  and  44  could be sandwiched between the two layered windings of coil A. The exact configuration of the coil and winding arrangement stated is illustrative only, many configurations are possible and within the scope of the invention. The key operative function is to minimize the effects of multiple winding effective distances (gaps) on the induced voltages. While two twelve turn windings are described, the coil configuration need only be sufficient to allow adequate detection in light of the magnetic field strength, processing employed, physical and operational constraints. 
     FIG. 3 depicts a partial view of a preferred embodiment. Three turns of the first layer of coil A, winding  42  are shown. Each winding is comprised of six active  50  and six inactive  52  segments per turn. The active segments  50  are oriented approximately on radials from the center of the spiral while the inactive segments  52  are orientated as arcs of constant radius. The active segments  50  are strategically positioned equidistant about the circumference of the spiral and directly cutting the flux lines of the field generated by the low resolution magnet  26 . The inactive segments  52  are positioned at equal radial distances and are strategically placed to be outside the magnetic flux lines from the low resolution magnet  26 . One skilled in the art will appreciate that the winding is uniquely configured as described to provide maximum voltage generation with each passing pole of the low-resolution magnet  26  in the active segments  50  and minimal or no voltage generation with each passing pole of the low resolution magnet  26  in the inactive segments  52 . This results in predictable voltage outputs on the tachometer coils  40  for each rotation of the low-resolution magnet  26 . A preferred embodiment employs two coils, on two layers each with  144  active and  144  inactive segments. However, it will be understood that only the quantity of active segments  50  not the inactive segments  52  is relevant. Any number of inactive segments  52  is feasible, only dictated by the physical constraints of interconnecting the active segments  50 . 
     Additionally, the tachometer coils  40  are comprised of two (or more) complete spiral serpentine windings  42 - 48 ,  46 - 44 . The windings  42 - 48  and  46 - 44  may be oriented relative to one another in such a way that the voltages generated by the two coils would possess differing phase relationships. Further, that the orientation may be configured in such a way as to cause the generated voltages to be in quadrature. In a preferred embodiment where the low-resolution poles are comprised of six magnets of sixty degree segments, the two coils are rotated concentrically relative to one another by thirty degrees. This rotation results in a phase difference of 90 degrees between the two generated voltages generated on each coil. In an exemplary embodiment, the two generated voltages are ideally configured such that the voltage amplitude is discernable for all positions and velocities. In an exemplary embodiment, the two generated voltages are trapezoidal. FIGS. 4 and 6 depicts the output voltage generated on the two coils as a function of rotation angle of the rotating shaft  22  for a given speed. 
     In another embodiment of the invention, the windings may be individually serpentine but not necessarily concentric. Again, the coil configuration need only be sufficient to allow adequate detection in light of the magnetic field strength, processing employed, physical and operational constraints. One skilled in the art would recognize that the coil could be comprised of many other configurations of windings. FIG. 5 depicts one such a possible embodiment of the invention. 
     Referring again to FIG. 1, in a preferred embodiment, the Hall sensor set  34  is located on the circuit assembly  30  in an orientation concentric with the tachometer coils  40  and concentric with the rotating part  20 . Additionally, the Hall sensor set is placed at the same radius as the active segments  50  of the tachometer coils  40  to be directly in line axially with the low-resolution poles  26  of the sense magnet  24 . The Hall sensor set  34  is comprised of multiple sensors equidistantly separated along an arc length where two such sensors are spaced equidistant from the sensor between them. In a preferred embodiment, the Hall sensor set  34  is comprised of three Hall effect sensors,  34   a ,  34   b , and  34   c , separated by 40 degrees and oriented along the described circumference relative to a predetermined reference position so that absolute rotational position of the rotating part  20  may be determined. Further, the Hall sensor set  34  is positioned to insure that the active segments  50  of the tachometer coils  40  do not interfere with any of the Hall sensors  34   a ,  34   b , and  34   c  or vice versa. It is also noteworthy to consider that in FIG. 1, the Hall sensor set  34  is depicted on the distant side of the circuit assembly  30  relative to the low-resolution magnet  26 . This configuration addresses the trade between placing the Hall sensor set  34  or the tachometer coils  40  closest to the low-resolution magnet  26 . In a preferred embodiment, such a configuration is selected because the signals from the Hall sensor set  34  are more readily compensated for the additional displacement when compared to the voltages generated on the tachometer coils  40 . It will be appreciated by those skilled in the art that numerous variations on the described arrangement may be contemplated and within the scope of this invention. The Hall sensor set  34  detects the passing of the low-resolution magnet  26  and provides a signal voltage corresponding to the passing of each pole. This position sensing provides a signal accurately defining the absolute position of the rotational part  20 . Again, in the preferred embodiment, the three signals generated by the Hall sensor set  34  with the six-pole low-resolution magnet facilitate processing by ensuring that certain states of the three signals are never possible. One skilled in the art will appreciate that such a configuration facilitates error and failure detection and ensures that the trio of signals always represents a deterministic solution for all possible rotational positions. 
     The position sensor  36  is located on the circuit assembly  30  in such an orientation as to be directly in line, axially with the magnets of the outer annulus of the sense magnet  24 , yet outside the effect of the field of the low-resolution magnet  26 . The position sensor  36  detects the passing of the high-resolution magnet  28  and provides a signal voltage corresponding to the passing of each pole. To facilitate detection at all instances and enhance detectability, the position sensor  36  includes two Hall effect sensors in a single package separated by a distance equivalent to one half the width of the poles on the high-resolution magnet  28 . Thus, with such a configuration the position signals generated by the position sensor  36  are in quadrature. One skilled in the art will appreciate that the quadrature signal facilitates processing by ensuring that one of the two signals is always deterministic for all possible positions. Further, such a signal configuration allows secondary processing to assess signal validity. FIG. 6 depicts the output voltage as a function of rotational angle of the position sensor  36  for a given speed. It is noteworthy to point out that the processing of the high-resolution position allows only a relative determination of rotational position. It is however, acting in conjunction with the information provided by the low-resolution position signals from the Hall sensor set  34  that a determination of the absolute position of the rotating part  20  is achieved. Other applications of the low-resolution position sensor are possible. 
     In another embodiment of the invention, the structure described above is constructed in such a fashion that the active segments of the tachometer coils  40  are at a radial proximity to the sense magnets instead of axial. In such an embodiment, the prior description is applicable except the rotational part  20  would include magnets that are coaxial but not coplanar and are oriented such that their magnetic fields radiate in the radial direction rather than the axial direction. Further, the circuit assembly  30  may be formed cylindrically rather than planar and coaxial with the rotational part  20 . Finally, the tachometer coils  40 , Hall sensor set  34 , and position sensor  36 , would again be oriented such that the active segments  50  would be oriented in the axial direction in order to detect the passing magnetic field of the low-resolution magnet  26 . 
     FIG. 7 depicts the top-level block diagram of the processing functions employed on the various signals sensed to determine the rotational speed of a rotating device. The processing defined would be typical of what may be performed in a controller. Such a controller may include, without limitation, a processor, logic, memory, storage, registers, timing, interrupts, and the input/output signal interfaces as required to perform the processing prescribed by the invention. Referring again to FIG. 7, where the blocks  100 - 1000  depict the adaptive algorithm executed by the abovementioned controller in order to generate the tachometer output. The first four blocks  100 ,  200 ,  400 ,  600  perform the “forward” processing of the tachometer coil signals to arrive at the final blended output. While, the last two  800 ,  1000  comprise a “feedback” path thereby constructing the adaptive nature of the algorithm. 
     In FIG. 7, the function labeled Speed Estimation  100  generates a digital, derived velocity signal. The process utilizes Motor_Position_HR the high-resolution position sensed by  36 , and a processor clock signal for timing. The process outputs a signal Motor_Vel_Der_ 144  which is proportional to the velocity of the motor over the sample period of the controller. Continuing to Offset Compensation  200  where processing is performed to generate filtered tachometer signals to remove offsets and bias. The process utilizes the two tachometer coil signals HallTachVoltX 1 , HallTachVoltX 2 , the derived velocity Motor_Vel_Der_ 144  and two phase related feedback signals int_Phase 0  and int_Phase 1  as inputs and generates compensated velocity outputs X 1 _Corr and X 2 _Corr. Continuing to Get Phase  400  where processing is performed to ascertain magnitude and phase relationships of the two compensated velocities. Inputs processed include the compensated velocities X 1 _Corr, X 2 _Corr, and the motor position Motor_Position_SPI as derived from the high-resolution position detected by sensor  36 . The process generates two primary outputs, the selected tachometer magnitude tach 13  vel_mag and the selected tachometer phase tach_vel_sign. Moving to the Blend  600  process where predetermined algorithms determine a blended velocity output. The process utilizes the selected tachometer magnitude tach_vel_mag and the selected tachometer phase tach_vel 13  sign to generate two outputs; the blended velocity Blend_Vel_Signed and the velocity sign OutputSign. Considering now the AlignToPolled  800  process wherein the tachometer magnitude tach_vel_mag is time shifted based upon the magnitude of the derived velocity Motor_Vel_Der_ 144 . The selected signal is filtered and supplied as an output as Filtered_Tach. Finally, looking to Gain  1000  where the process generates an error command resultant from the difference between the derived velocity and filtered tachometer under predetermined conditions. The error signal is integrated and utilized as an error command signal for gain adjustment feedback The process utilizes the derived velocity Motor_Vel_Der_ 144  and the Filtered_Tach signal as inputs to generate two outputs int_Phase 0  and int_Phase 1 . These two signals form the gain adjustment feedback that is then utilized as an input in the abovementioned Offset Compensation  200 . 
     Referring now to FIG.  7  and FIG. 8 for a more detailed description of the functional operation of each of the processes identified above. FIG. 8 depicts the functions that comprise the Speed Estimation  100  process block. This process is a method of extracting a digital, derived velocity based on the per sample period of change of the position signal. The process utilizes as an input Motor_Position_HR the high-resolution position detected by sensor  36 , and outputs a signal Motor_Vel_Der _ 144 , which is proportional to the derived velocity of the motor. The process computes the velocity by employing two main functions. The first is the Deltact calculation process  102  where a position change DELTA_POSITION is computed by subtracting the high-resolution position Motor_Position_HR delayed by one sample from the current high-resolution position Motor_Position_HR. That is, subtracting the last position from the current position. The position difference is then divided by the difference in time between the two samples. An equation illustrating the computation is as follows:        Deltact   =         P   0     -     P     -   1             T   0     -     T     -   1                                  
     A preferred embodiment of the above equation evaluates a changing measured position over a fixed interval of time to perform the computation. It will be appreciated by those skilled in the art, that the computation may be performed with several variations. An alternative embodiment, evaluates a changing measured time interval for a fixed position change to perform the computation. Further, in yet another embodiment, both the interval of time and interval position could be measured and compared with neither of the parameters occurring at a fixed interval. 
     A filter  104  further processes the calculated Deltact value. Where the filtering characteristics are selected and determined such that the filter yields a response sufficiently representative of the true velocity of the motor without adding excessive delay. One skilled in the art will appreciate and understand that there can be numerous combinations, configurations, and topologies of filters that can satisfy such requirements. A preferred embodiment employed a four-state moving average filter. The signal is labeled Motor_Vel_Der, which is then scaled at gain  106  and output from the process as the value labeled Motor_Vel_Der_ 144 . This parameter is utilized throughout the invention as a highly accurate representation of the velocity. 
     FIG. 9 depicts the functions that comprise the Offset Compensation process  200 . The process extracts the respective offset and bias from each of the two tachometer coil signals HallTachVoltX 1  and HallTachVoltX 2  resulting in compensated velocity outputs X 1 _Corr and X 2 _Corr. The extraction is accomplished by an algorithm that under predetermined conditions subtracts from each of the tachometer signals its low frequency spectral components. The algorithm is characterized by scaling  202 ; a selective, adaptive, filter  204 ; and a gain schedule/modulator Apply Gain  210 . Where, the scaling  202  provides gain and signal level shifting resultant from the embodiment with an analog to digital conversion; the adaptive filter  204  comprises dual selective low pass filters  206  and summers  208  enabled only when the tachometer signals&#39; levels are valid; and gain scheduling, which is responsive to feedback signals int_Phase 0  and int_Phase 1  from the Gain process  1000 . 
     The adaptive filter  204  is characterized by conditionally enabled low pass filters  206 , and summers  208 . The low pass filters  206  under established conditions, are activated and deactivated. When activated, the filter&#39;s  206  results are the low frequency spectral content of the tachometer signals to a predetermined bandwidth. When deactivated, the filter  206  yields the last known filter value of the low frequency spectral content of the tachometer signals. It is important to consider that the filter  206  is activated when the tachometer signals are valid and deactivated when they are not. In a preferred embodiment, this occurs when the tachometer signals saturate at a high velocity. Various conditions may dictate the validity of the tachometer signals. In a preferred embodiment, within certain hardware constraints, to satisfy low speed resolution and bandwidth requirements, high speed sensing capability with the tachometer signals is purposefully ignored. This results in the tachometer signals saturating under high speed operating conditions. As such, it is desirable to deactivate the filters  206  under such a condition to avoid filtering erroneous information. A summer  208  subtracts the low pass filter  206  outputs to the original tachometer signals thereby yielding compensated tachometer signals with the steady state components eliminated. The filter  206  characteristics are established to ensure that the filter response when added to the original signals sufficiently attenuates the offsets and biases in the tachometer signals. One skilled in the art will appreciate that there can be numerous combinations, configurations, and topologies of filters that can satisfy such requirements. A preferred embodiment employs an integrating loop low pass filter. 
     The gain scheduling function Apply Gain  210  is responsive to feedback signals int_Phase 0  and int_Phase 1  from the Gain process  1000  (discussed below). The Apply Gain  210  process scales the compensated velocity outputs X 1 _Corr and X 2 _Corr as a function of the feedback signals int_Phase 0  and int_Phase 1 . Thereby providing a feedback controlled correction of the velocity signal for accuracy and speed correction. 
     FIG. 10 depicts the internal process of Get Phase  400  where processing is performed to ascertain magnitude and phase relationships of the two compensated velocities. Inputs processed include the offset compensated velocities X 1 _Corr, X 2 _Corr, the motor position Motor 13   Position_ SPI, and a calibration adjustment signal TachOffset. The motor position signal Motor_Position_SPI derived from the high-resolution position as detected by sensor  36  and indexed to the absolute position as described earlier. The TachOffset input allows for an initial fabrication based adjustment to address differences or variations in the orientation of the tachometer coils  40  (FIGS. 1 and 3) and the low-resolution Hall sensor set  34  (FIG.  1 ). The process generates two primary outputs, the selected tachometer magnitude tach_vel_mag and the selected tachometer phase tach_vel_sign. The process independently determines which tachometer signal magnitude and phase to select by making a comparison with the high-resolution position Motor_Position_SPI. The process determines the magnitude of the two velocities X 1 _Corr and X 2 _Corr at  402 . Then at comparator  404  determines the larger of the two and then generates a discrete, Phase_Sel, indicative of which velocity has the larger magnitude. The larger magnitude velocity is selected because by the nature of the two trapezoidal signals, one is guaranteed to be at its maximum. The discrete Phase_Sel controls a switch  406 , which in turn passes the selected tachometer velocity magnitude termed tach_vel_mag. The discrete Phase_Sel is also utilized in later processes. A second and separate comparison at  408  with the high-resolution position Motor_Position_SPI extracts the respective sign associated with the velocity. Again, it will be understood that those skilled in the art may conceive of variations and modifications to the preferred embodiment shown above. For example, one skilled in the art would recognize that the phase information could have also been acquired merely by utilizing the position information alone. Such an approach however, suffers in that it would be highly sensitive to the precise positioning and timing on the trapezoidal waveforms to insure an accurate measurement. Such a restriction is avoided in the preferred embodiment, thereby simplifying the processing necessary. 
     FIG. 11 depicts the Blend  600  process function where predetermined algorithms determine a blended velocity output. The process utilizes the selected tachometer magnitude tach_vel_mag, the derived velocity Motor_Vel Der_ 144  and the selected tachometer phase tach_vel_sign to generate two outputs; the blended velocity Blend_Vel_Signed and the velocity sign OutputSign. A blended velocity solution is utilized to avoid the potential undesirable effects of transients resultant from rapid transitions between the derived velocity and the tachometer-measured velocity. The process selects based upon the magnitude of the derived velocity Motor_Vel_Der_ 144  a level of scheduling at gain scheduler  602  of the derived velocity with the compensated, measured, and selected velocity, tach_vel_mag. Summer  604  adds the scheduled velocities, which are then multiplied at  606  by the appropriate sign as determined from the tachometer phase tach_vel_sign to generate the blended composite signal. The blended composite signal comprises a combination of the tachometer measured velocity and the derived velocity yet without the negative effects of saturation or excessive time delays. 
     FIG. 12 depicts the AlignToPolled  800  process, which time shifts (delays) the tachometer magnitude tach_vel_mag to facilitate a coherent comparison with the derived velocity Motor_Vel_Der_ 144 . The filtering is only employed when the tachometer magnitude tach_vel_mag is within a valid range as determined in processes  802  and  804 . The valid range is determined based upon the magnitude of the derived velocity Motor_Vel_Der_ 144 . As stated earlier, the validity of the tachometer signals is related to high speed saturation, while for the derived velocity it is a function of filtering latency at very low speed. A selection switch  804  responsive to the magnitude of the derived velocity Motor_Vel_Der_ 144  controls the application of the tach_vel_mag signal to the filter. The multiplication at  808  applies the appropriate sign to the tach_vel_mag signal. A filter  806  is employed to facilitate generation of the time delay. The appropriate time delay is determined based upon the total time delay that the derived velocity signals experience relative to the tachometer signals. The time shift accounts for the various signal and filtering effects on the analog signals and the larger time delay associated with filtering the derived velocity signal. As stated earlier, the derived velocity signal experiences a significant filtering lag, especially at lower speeds. Introducing this shift yields a result that makes the tachometer signals readily comparable to the derived velocity. The selected signal is delivered as an output as Filtered_Tach. 
     In a preferred embodiment, the resultant filter  806  is a four state moving average filter similar to the filter  104  (FIG. 8) implemented in the Speed Estimation process. One skilled in the art will recognize that there can be numerous combinations, configurations, and topologies of filters that can satisfy such requirements. 
     Referring now to FIG. 13, the Gain  1000  process block where an error command is generated and subsequently utilized as a gain correction in the adaptive algorithm of the present invention. In a preferred embodiment, the error command is resultant from a ratiometric comparison  1002  of the magnitudes of the derived velocity to the filtered tachometer velocity. The ratio is then utilized to generate an error signal at summer  1004 . Under predetermined conditions, controlled by state controller  1006 , error modulator  1008  enables or disables the error signal. That is, modulator  1008  acts as a gate whereby the error signal is either passed or not. The state controller  1006  allows the error signal to be passed only when the error signal is valid. For example, when both the filtered tachometer velocity and the derived velocity are within a valid range. In a preferred embodiment, the error signal is passed when the magnitude of the Motor_Vel_Der_ 144  signal is between 16 and 66.4 radians per second. However, the modulator is disabled and the error signal does not pass if the magnitude of the Motor_Vel_Der_ 144  signal exceeds 72 or is less than 10.4 radians per second. Under these later conditions, the ratiometric comparison of the two velocities and the generation of an error signal is not valid. At very small velocities, the signal Motor_Vel_Der_ 144  exhibits excessive delay, while at larger velocities, that is in excess of 72 radians per second, the tachometer signals are saturated. The error signal when enabled is passed to the error integrator  1010 , is integrated, and is utilized as an error command signal for gain adjustment feedback. The error integrators  1010  selectively integrate the error passed by the modulator  1008 . The selection of which integrator to pass the error signal to is controlled by the time shifted Phase_Sel signal at delay  1012 . These two correction signals int_Phase 0  and int_Phase 1  form the gain adjustment feedback that is then utilized as an input in the abovementioned Offset Compensation  200  process. 
     The disclosed invention may be embodied in the form of computer-implemented processes and apparatuses for practicing those processes. The present invention can also be embodied in the form of computer program code containing instructions embodied in tangible media, such as floppy diskettes, CD-ROMs, hard drives, or any other computer-readable storage medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. The present invention can also be embodied in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an apparatus for practicing the invention. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits. 
     It will be understood that those skilled in the art may conceive variations and modifications to the preferred embodiment shown herein within the scope and intent of the claims. While the present invention has been described as carried out in a specific embodiment thereof, it is not intended to be limited thereby but is intended to cover the invention broadly within the scope and spirit of the claims.