Abstract:
A method and apparatus are provided for ripple suppression of brushless DC motors at any given velocity irrespective of the limited bandwidth of the driver/amplifier supplying the excitation currents to the stator. In a preferred embodiment, Fourier coefficients of the current waveform are calculated as a function of rotor velocity by taking into account the driver/amplifier&#39;s finite bandwidth dynamics. For a given velocity, Fourier coefficients of the series approximating the waveform (control signal) are calculated as a function of the rotor velocity and the amplifier dynamics, to generate a waveform that results in no torque or velocity pulsations. When changing the motor speed, the coefficients are updated (recalculated) based on the new desired velocity (and amplifier dynamics), resulting in generation of an updated waveform that results in no torque or velocity pulsations at the new motor speed.

Description:
BACKGROUND OF THE INVENTION 
       [0001]    1. Field of the Invention 
         [0002]    The present invention is directed to brushless DC motors, and more particularly to a method and apparatus for ripple suppression in brushless DC motors having limited drive/amplifier bandwidth when operated at high velocity. 
         [0003]    2. Description of the Related Art 
         [0004]    Brushless DC (BLDC) motors, or electronically commutated motors (ECMs, EC motors) are electric motors that are powered by direct-current (DC) electricity via electronic commutation systems. BLDC motors exhibit linear current-to-torque and frequency-to-speed relationships and are commonly used as servo drives for precision motion control in numerous applications ranging from silicon wafer manufacturing, medical, robotics and automation industries to military applications. 
         [0005]    BLDC motors comprise a rotor having a plurality of permanent magnets, a stator with electromagnetic coil armature windings, and a commutator for continually switching the phase of the current in the armature windings to induce motion in the rotor. More particularly, an electronic controller causes the commutator to apply excitation current to the armature windings in a specific order in order to rotate the magnetic field generated by the windings thereby causing the rotor magnets to be pulled into alignment with the moving magnetic fields and thereby drive rotation of the rotor. 
         [0006]    Prior art relating generally to the construction of BLDC motors and controllers therefor, includes: U.S. Pat. No. 6,144,132; U.S. Pat. No. 7,715,698; U.S. Pat. No. 7,852,025; U.S. Pat. No. 7,906,930; US 2010/0109458; US 2010/01487101; US 2010/0176756; US 2010/0181947; US 2010/0270957; US 2010/0314962; US 2011/0031916; US 2011/0074325; US 2011/0133679. The following patent documents are directed to methods of controlling speed (velocity) of BLDC motors: U.S. Pat. No. 4,720,663; U.S. Pat. No. 4,855,652; U.S. Pat. No. 5,563,980; U.S. Pat. No. 5,757,152; U.S. Pat. No. 6,049,187; U.S. Pat. No. 6,313,601; U.S. Pat. No. 6,822,419; U.S. Pat. No. 6,828,748; U.S. Pat. No. 6,922,038; U.S. Pat. No. 7,375,488; U.S. Pat. No. 7,994,744; US 2005/0035732; US 2009/0128078; US 2010/0001670; US 2010/0134055; US 2010/0171453. 
         [0007]    In order to control the speed of rotor rotation, the electronic controller requires information relating to the rotor&#39;s orientation/position (relative to the armature windings). The following patent documents are directed to methods of commutating and controlling BLDC motors relying on feedback of the sensed rotor position: US 2010/0117572; US 2010/0134059; US 2010/0237818; US 2010/0264862; US 2010/0270960; US 2011/0043146; US 2011/0176229. 
         [0008]    Some electronic controllers use Hall Effect sensors or rotary encoders to directly measure the rotor position. Other controllers measure the back EMF in the windings to infer the rotor position. The following patent documents disclose methods of commutating and controlling BLDC motors relying on feedback of sensed back electromotive force (back EMF): U.S. Pat. No. 5,057,753; U.S. Pat. No. 5,231,338; US 2011/0074327; US 2011/0115423; US 2011/0121770; US 2011/0156622; US 2011/0210688. Additional background patent literature relevant to commutating BLDC motors using feedback includes: U.S. Pat. No. 7,893,638; U.S. Pat. No. 7,969,108; US 2010/0052584; US 2010/0090633; US 2010/0237813; US 2010/0237814; US 2010/0315027; US 201110006712; US 201110025237; US 201110043144; US 201110084639; US 201110148336; US 201110202941; US 201110205662. 
         [0009]    Typically, the excitation current generated by the commutator has insufficient power to be fed directly to the coils, and must be amplified to an appropriate power level by a driver/amplifier. The conventional driver/amplifier of a BLDC motor produces sinusoidal armature current waveforms to the armature windings for smooth motor operation. However, in practice, the actual magneto-motive force generated by a non-ideal motor is not perfectly sinusoidally distributed, and can therefore result in ‘torque ripple’. It is known that suppressing torque ripple in the motor drive of a servo system can significantly improve system performance by reducing speed fluctuations (see Park, S. J., Park, H. W., Lee, M. H. and Harashima, F.:  A new approach for minimum - torque - ripple maximum - efficiency control of BLDC motor,  IEEE Trans. on Industrial Electronics 47(1), 109-114 (2000); and Aghili, F., Buehler, M. and Hollerbach, J. M.:  Experimental characterization and quadratic programming - based control of brushless - motors,  IEEE Trans. on Control Systems Technology 11(1),139-146 (2003) [hereinafter Aghili et al., 2003]. 
         [0010]    One known solution to reducing torque ripple in commercial high-performance electric motors is to increase the number of motor poles. However, such motors tend to be expensive and bulky due to the construction and assembly of multiple coil windings. 
         [0011]    Other control approaches for accurate torque control in electric motors, and their underlying models, are set forth in the patent literature. For example, the following patent documents are directed to various methods and systems for stabilizing or reducing torque ripple in synchronous electric motors, particularly BLDC motors: U.S. Pat. No. 4,511,827; U.S. Pat. No. 4,525,657; U.S. Pat. No. 4,546,294; U.S. Pat. No. 4,658,190; U.S. Pat. No. 4,912,379; U.S. Pat. No. 5,191,269; U.S. Pat. No. 5,569,989; U.S. Pat. No. 5,625,264; U.S. Pat. No. 5,672,944; U.S. Pat. No. 6,437,526; U.S. Pat. No. 6,737,771; U.S. Pat. No. 6,859,001; U.S. Pat. No. 7,166,984; U.S. Pat. No. 7,859,209; U.S. Pat. No. 7,952,308; US 201110175556. 
         [0012]    Additional prior art approaches for providing accurate torque production in electric motors are set forth in the non-patent literature. 
         [0013]    For example, Le-Huy, H., Perret, R. and Feuillet, R.: Minimization of torque ripple in brushless dc motor drives, IEEE Trans. Industry Applications 22(4), 748-755 (1986), and Favre, E., Cardoletti, L. and Jufer, M.: 1993, Permanent-magnet synchronous motors: A comprehensive approach to cogging torque suppression, IEEE Trans. Industry Applications 29(6), 1141-1149, describe a method of reducing the torque-ripple harmonics for brushless motors by using several current waveforms. 
         [0014]    Ha and Kang:  Explicit characterization of all feedback linearizing controllers for a general type of brushless dc motor,  IEEE Trans. Automatic Control 39(3), 673-6771994 (1994) characterize, in an explicit form, the class of feedback controllers that produce ripple-free torque in brushless motors. 
         [0015]    Newman, W. S. and Patel, J. J.:  Experiments in torque control of the AdeptOne robot,  Sacramento, Calif., pp. 1867-1872 (1991) discuss the use of a 2-D lookup table and a multivariate function to determine the phase currents of a variable-reluctance motor with respect to position and torque set points. 
         [0016]    Optimal torque control schemes for reducing torque ripples and minimizing copper losses in BLDC motors have been proposed (see Hung, Y and Ding, Z.:  Design of currents to reduce torque ripple in brushless permanent magnet motors,  IEEE Proc. Pt. B 140(4) (1993) [hereinafter Hung-Ding 1993]; Aghili, F., Buehler, M. and Hollerbach, J. M.:  Optimal commutation laws in the frequency domain for PM synchronous direct - drive motors,  IEEE Transactions on Power Electronics 15(6), 1056-1064 (2000) [hereinafter Aghili et al., 2000]; Park, S. J., Park, H. W., Lee, M. H. and Harashima, F.:  A new approach for minimum - torque - ripple maximum - efficiency control of BLDC motor,  IEEE Trans. on Industrial Electronics 47(1), 109-114 (2000); as well as Aghili et al., 2003, above. 
         [0017]    Wang, J., Liu, H., Zhu, Y., Cui, B. and Duan, H.: 2006,  A new minimum torque - ripple and sensorless control scheme of bldc motors based on rbf networks,  IEEE Int. Conf. on Power Electronics and Motion Control, Shanghai, China, pp. 1-4 (2006), proposes a method for minimizing the torque ripples generated by non-ideal current waveforms in a BLDC motor having no position sensors, by adjusting actual phase currents. 
         [0018]    Similarly, the electrical rotor position can be estimated using winding inductance, and the stationary reference frame stator flux linkages and currents can be used for a sensorless torque control method using d-axis current, as set forth in Ozturk, S. and Toliyat, H. A.:  Sensorless direct torque and indirect flux control of brushless dc motor with non - sinusoidal back - EMF,  IEEE Annual Conf. on Industrial Electronics IECON, Orlando, Fla., pp. 1373-1378 (2008). 
         [0019]    Lu, H., Zhang, L. and Qu, W.,  A new torque control method for torque ripple minimization of BLDC motors with un - ideal back EMF,  IEEE Trans. on Power Electronics 23(2), 950-958 (2008), sets forth a torque control method to attenuate torque ripple of BLDC motors with non-ideal back electromotive force (EMF) waveforms, wherein the influence of finite dc bus supply voltage is considered in the commutation period. 
         [0020]    A low cost BLDC drive system is set forth in Feipeng, X., Tiecai, L. and Pinghua, T.:  A low cost drive strategy for BLDC motor with low torque ripples,  IEEE Int. Conf. on Industrial Electronics and Applications, Singapore, pp. 2499-2502 (2008), wherein only a current sensor and proportional-integral-derivative controller (PID controller) are used to minimize the pulsating torque. 
         [0021]    In the prior art set forth above, it is assumed that the phase currents can be controlled accurately and instantaneously and that they may therefore be treated as control inputs, such that the waveforms of the motor phase currents may be adequately pre-shaped so that the generated torque is equal to the requested torque. However, at high rotor velocity the commutator generates high frequency control signals that the finite bandwidth motor dynamics of the driver/amplifier may not be able to respond sufficiently quickly. Thus, complete compensation for the position nonlinearity of the motor torque cannot be achieved in the presence of amplifier dynamics, with the result that pulsation torque therefore appears at high motor velocities. As discussed above, torque ripple can significantly deteriorate the performance of the servo control system and even lead to instability if the ripple frequency is close to the modal frequency of the closed-loop system. 
         [0022]    In Aghili et al., 2000, above, an optimal commutation scheme is set forth based on Fourier coefficients in BLDC motors. This was followed by Aghili, F.:  Adaptive reshaping of excitation currents for accurate torque control of brushless motors,  IEEE Trans. on Control System Technologies 16(2), 356-364 (2008), which developed a self-tuning adaptive version of the commutation law that estimates the Fourier coefficients of the waveform associated with the motor&#39;s electromotive force based on measurements of motor phase voltage and angle. 
         [0023]    Other prior art has addressed the application of Fourier analysis to BDLC motor control. For example, U.S. Pat. No. 6,380,658 discloses a method and apparatus for torque ripple reduction in a sinusoidally excited brushless permanent magnet motor for automotive applications (for electric power steering, as an alternative to hydraulic power steering). In essence, the physical components of the BLDC motor are designed to a predetermined geometry for reducing torque ripple when the motor is sinusoidally excited (i.e. driven by a sinusoidal current supplied to its armature coils). More specifically, the method of the &#39;658 patent applies an elementary Fourier analysis to determine one specific dimension of the rotor of a given shape which minimizes the fifth harmonic component of the magnetic flux in the air gap between the stator and the rotor, when the motor is driven by a sinusoidal current. The fifth harmonic is identified as the lowest harmonic having adverse influence on torque ripple and therefore the one that should be eliminated to the extent possible. 
         [0024]    U.S. Pat. No. 7,629,764 discloses a method of controlling a high-speed servomotor, such as a BLDC motor, operating under control of a PWM (pulse-width modulation) controller, to attain optimal performance and stability margins across an operational range encompassing the entire torque versus speed curve of the motor. According to the &#39;764 patent, the torque versus speed curve for the motor is divided into operating regions, and control parameters are calculated for each region. Fourier analysis (transforms) of various feedback signals received from the operating motor (e.g., the electric current flowing through the motor and its actual speed) is carried out in real time to produce fundamental and harmonic components of the feedback signals, which components are then used to produce an output voltage command for controlling the motor. 
         [0025]    Additional patent literature is directed to methods and systems for controlling and/or operating electric motors using Fourier transforms of signals, including: FR 2,825,203; JP 2001238,484; JP 2007143,237; U.S. Pat. No. 4,7440,41; U.S. Pat. No. 5,280,222; U.S. Pat. No. 5,455,498; U.S. Pat. No. 5,844,388. The foregoing patent references disclose various methods for controlling or commutating electric motors, in particular BLDC motors, using the results of Fourier transforms of various periodic signals, feedback or otherwise. 
         [0026]    Additional non-patent literature relevant to this disclosure includes:
       Murai, Y, Kawase, Y, Ohashi, K., Nagatake, K. and Okuyama, K.: 1989,  Torque ripple improvement for brushless dc miniature motors,  Industry Applications, IEEE Transactions on 25(3), 441-450;   Delecluse, C. and Grenier, D.: 1998,  A measurement method of the exact variations of the self and mutual inductances of a buried permanent magnet synchronous motor and its application to the reduction of torque ripples,  5th International Workshop on Advanced Motion Control, Coimbra, pp. 191-197;   Wallace, R. S. and Taylor, D. G.: 1991,  Low - torque - ripple switched reluctance motors for direct - drive robotics,  IEEE Trans. Robotics &amp; Automation 7(6), 733-742;   Filicori, E, Bianco, C. G. 1. and Tonielli, A.: 1993,  Modeling and control strategies for a variable reluctance direct - drive motor,  IEEE Trans. Industrial Electronics 40(1), 105115;   Matsui, N., Makino, T. and Satoh, H.: 1993,  Autocompensation of torque ripple of direct drive motor by torque observer,  IEEE Trans. on Industry Application 29(1), 187-194;   Taylor, D. G.: 1994,  Nonlinear control of electric machines: An overview,  IEEE Control Systems Magazine 14(6), 41-51;   Kang, J.-K. and Sui, S.-K.: 1999,  New direct torque control of induction motor for minimum torque ripple and constant switching frequency,  IEEE Trans. on Industry Applications 35(5), 1076-1082.;   French, G. and Acamley, P.: 1996,  Direct torque control of permanent magnet drives,  IEEE Trans. on Industry Applications 32(5), 1080-1088;   Kang, J.-K. and Sui, S.-K.: 1999,  New direct torque control of induction motor for minimum torque ripple and constant switching frequency,  IEEE Trans. on Industry Applications 35(5), 1076-1082;   Xu, Z. and Rahman, M. F.: 2004,  A variable structure torque and flux controller for a DTC IPM synchronous motor drive,  IEEE 35th Annual Power Electronics Specialists Conference, PESC04., pp. 445-450, Vol. 1).       
 
       SUMMARY OF THE INVENTION 
       [0037]    According to the invention a method and apparatus are provided for ripple suppression of brushless DC motors at any given velocity irrespective of the limited bandwidth of the driver/amplifier supplying the excitation currents to the armature. In a preferred embodiment, Fourier coefficients of the current waveform are calculated as a function of rotor velocity by taking into account the driver/amplifier&#39;s finite bandwidth dynamics in order to eliminate pulsation torque. Unlike Aghili et al., 2000, above, the inventive commutation scheme updates the Fourier coefficients of the current waveform based on the desired velocity so that the torque ripple and velocity fluctuation are eliminated for a given velocity while power losses are simultaneously minimized. More particularly, since the control signal is a periodic function (i.e. a waveform), it can be approximated by a truncated (finite) Fourier series. For a given velocity, Fourier coefficients of the series approximating the waveform (control signal) are calculated as a function of the rotor velocity and the amplifier dynamics, to generate a waveform that results in no torque or velocity pulsations. When changing the motor speed, the coefficients are updated (recalculated) based on the new desired velocity (and amplifier dynamics), resulting in generation of an updated waveform that results in no torque or velocity pulsations at the new motor speed. 
         [0038]    The above aspects can be attained by a method and apparatus of driving a load via a brushless DC motor, the method comprising: receiving a desired motor velocity ω d ; receiving actual velocity ω and rotor position angle θ from said load; generating armature phase drive currents i* k , for a desired torque τ d  from the desired motor velocity ω d , actual velocity ω and rotor position angle θ using a modified commutation law; amplifying the armature phase drive currents via a driver/amplifier; and applying the amplified armature phase drive currents i k  to an armature of said brushless DC motor for rotating said load; wherein the modified commutation law comprises calculating compensated Fourier coefficients c′ of a truncated (finite) Fourier series approximating the armature phase drive currents for said desired motor velocity ω d  as a function of the actual velocity ω and transfer function of said driver/amplifier. 
         [0039]    These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0040]      FIG. 1  is a block diagram of a brushless DC motor according to a preferred embodiment of the invention. 
           [0041]      FIG. 2  is a graph showing the motor phase waveform for the brushless DC motor in  FIG. 1 . 
           [0042]      FIG. 3  is a flowchart showing a method for ripple suppression in brushless DC motors having limited drive/amplifier bandwidth when operated at high velocity, according to a preferred embodiment. 
           [0043]      FIG. 4  is graph showing waveforms of the commutation function corresponding to different rotor velocities for the brushless DC motor in  FIG. 1 . 
           [0044]      FIGS. 5A and 5B  are bode plots of the driver/amplifier and the torque transfer function for the brushless DC motor in  FIG. 1 . 
           [0045]      FIGS. 6A and 6B  are step response curves for the closed-loop PI (proportional-integral) velocity controller of  FIG. 1 . 
           [0046]      FIGS. 7A and 7B  are step response curves of a velocity controller for a conventional commutation system. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0047]    Turning to  FIG. 1 , a BLDC motor  100  is illustrated, comprising a rotor  110  having a plurality of permanent magnets (not shown) for driving a mechanical load  160 , a stator  120  with electromagnetic coil armature windings, and a controller for controlling rotation of the rotor  110 , including a commutator  130  for generating drive current (i* 1 , i* 2 , i* 3 ) which is then amplified via driver/amplifier  140  (i 1 , i 2 , i 3 ) and applied to the stator  120  in a specific order, and a motion controller  150  for pre-shaping the current waveform on the basis of an input signal representing a desired motor velocity ω d . The actual velocity w and rotor position angle θ are fed back from the mechanical load  160  driven by the rotor  110 . 
         [0048]    In order to better understand the scientific principles behind the invention, the theory relating to modeling and control of motor torque is discussed below in terms of Fourier series, followed by a discussion of how the commutation law is modified at high velocity for ripple compensation and derivation of the torque transfer function, taking into account the dynamics of the driver/amplifier  140 . 
         [0049]    Consider the BLDC motor  100  with p phases (in  FIG. 1 , p=3), and assume that there is negligible cross-coupling between the phase torques and no reluctance torque. Then, the torque developed by a single phase is a function of the phase current i k  and the rotor position angle θ, as follows: 
         [0000]      τ k ( i   k ,θ)= i   k    y   k (θ)  k= 1, . . . ,  p    (1)
 
         [0050]    Where y k (θ) is the position nonlinearity, or torque shape function, associated with the kth phase. The motor torque τ is the superposition of all phase torque contributions, 
         [0000]    
       
         
           
             
               
                 
                   τ 
                   = 
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         1 
                       
                       p 
                     
                      
                     
                       
                         
                           i 
                           k 
                         
                          
                         
                           ( 
                           
                             θ 
                             , 
                             
                               τ 
                               d 
                             
                           
                           ) 
                         
                       
                        
                       
                         
                           
                             y 
                             k 
                           
                            
                           
                             ( 
                             θ 
                             ) 
                           
                         
                         . 
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0051]    The torque control problem requires solving equation (2) in terms of current, i k (θ),τ d ), as a function of motor position, given a desired motor torque τ d . For any scalar torque set point, equation (2) permits infinitely many (position dependent) phase current wave forms. Since the continuous mechanical power output of an electrical motor is limited primarily by heat generated from internal copper losses, the freedom in the phase current solutions may be used to minimize power losses, 
         [0000]      P loss  ∝ i T i,   (3)
 
         [0000]    where i=col (i 1 , . . . i p ) is the vector of phase currents. 
         [0052]    In rotary electric motors, the torque shape function is a periodic function. Since successive phase windings are shifted by 2π/p, the following relationship exists, 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         y 
                         k 
                       
                        
                       
                         ( 
                         θ 
                         ) 
                       
                     
                     = 
                     
                       y 
                        
                       
                         ( 
                         
                           
                             q 
                              
                             
                                 
                             
                              
                             θ 
                           
                           + 
                           
                             
                               2 
                                
                               
                                 π 
                                  
                                 
                                   ( 
                                   
                                     k 
                                     - 
                                     1 
                                   
                                   ) 
                                 
                               
                             
                             p 
                           
                         
                         ) 
                       
                     
                   
                   , 
                   
                     
                       ∀ 
                       k 
                     
                     = 
                     1 
                   
                   , 
                   … 
                    
                   
                       
                   
                   , 
                   p 
                 
               
               
                 
                   ( 
                   4 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where q is the number of motor poles. The electronic commutator  130  commands the phase currents i* k , through 
         [0000]        i*   k (τ d ,θ)=τ d    u   k (θ), ∀ k= 1, . . . ,  p    (5)
 
         [0000]    where u k (θ)) is the commutation shape function associated with the kth phase. The individual phase control signals can be expressed based on the periodic commutation function, u(θ) which is also a periodic function, i.e., 
         [0000]    
       
         
           
             
               
                 
                   u 
                   k 
                 
                  
                 
                   ( 
                   θ 
                   ) 
                 
               
               = 
               
                 u 
                  
                 
                   ( 
                   
                     
                       q 
                        
                       
                           
                       
                        
                       θ 
                     
                     + 
                     
                       
                         2 
                          
                         
                           π 
                            
                           
                             ( 
                             
                               k 
                               - 
                               1 
                             
                             ) 
                           
                         
                       
                       p 
                     
                   
                   ) 
                 
               
             
             , 
           
         
       
     
         [0053]    Since both the commutation shape function u(θ) and the torque shape function y(θ) are periodic functions with position periodicity of 2π/q, they can be approximated effectively via the truncated complex Fourier series 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       u 
                        
                       
                         ( 
                         θ 
                         ) 
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           n 
                           = 
                           
                             - 
                             N 
                           
                         
                         N 
                       
                        
                       
                         
                           c 
                           n 
                         
                          
                         
                            
                           
                             j 
                              
                             
                                 
                             
                              
                             nq 
                              
                             
                                 
                             
                              
                             θ 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       y 
                        
                       
                         ( 
                         θ 
                         ) 
                       
                     
                     = 
                     
                       
                         ∑ 
                         
                           m 
                           = 
                           
                             - 
                             N 
                           
                         
                         N 
                       
                        
                       
                         
                           d 
                           m 
                         
                          
                         
                            
                           
                             j 
                              
                             
                                 
                             
                              
                             mq 
                              
                             
                                 
                             
                              
                             θ 
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   7 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where j=√{square root over (−1)} and N can be chosen arbitrary large, but 2N/p must be an integer. Since both are real valued functions, their negative Fourier coefficients are the conjugate of their real ones, c −n =  c   n  and d −n =  d   n . Furthermore, since the magnetic force is a conservative field for linear magnetic systems, the average torque over a period must be zero, and thus c 0 =0. 
         [0054]    The motor model and its control can be described by the vectors c, d ∈ C N  of the Fourier coefficients of u(θ) and y(θ), respectively, by 
         [0000]        c =col( c   1   , c   2   , . . . , c   N ),   (8)
 
         [0000]        d =col( d   1   , d   2   , . . . , d   N ).   (9)
 
         [0055]    In the following, coefficient c may be determined for a given torque spectrum vector d so that the motor torque τ becomes ripple free, i.e. independent of the motor angle θ. It may be assumed that the driver/amplifier  140  delivers the demanded current instantaneously, i.e., i k =i* k  for k=1, . . . , p. In this case, after substituting equations (4)-(1) into (2), we arrive at 
         [0000]    
       
         
           
             
               
                 
                   τ 
                   = 
                   
                     
                       τ 
                       d 
                     
                      
                     
                       
                         ∑ 
                         
                           k 
                           = 
                           1 
                         
                         p 
                       
                        
                       
                         
                           ∑ 
                           
                             
                               n 
                               = 
                               
                                 - 
                                 N 
                               
                             
                             
                               n 
                               ≠ 
                               0 
                             
                           
                           N 
                         
                          
                         
                           
                             ∑ 
                             
                               
                                 m 
                                 = 
                                 
                                   - 
                                   N 
                                 
                               
                               
                                 m 
                                 ≠ 
                                 0 
                               
                             
                             N 
                           
                            
                           
                             
                               c 
                               n 
                             
                              
                             
                               d 
                               m 
                             
                              
                             
                               
                                  
                                 
                                   
                                     j 
                                      
                                     
                                       ( 
                                       
                                         n 
                                         + 
                                         m 
                                       
                                       ) 
                                     
                                   
                                    
                                   
                                     ( 
                                     
                                       
                                         q 
                                          
                                         
                                             
                                         
                                          
                                         θ 
                                       
                                       + 
                                       
                                         
                                           2 
                                            
                                           
                                             π 
                                              
                                             
                                               ( 
                                               
                                                 k 
                                                 - 
                                                 1 
                                               
                                               ) 
                                             
                                           
                                         
                                         p 
                                       
                                     
                                     ) 
                                   
                                 
                               
                               . 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   10 
                   ) 
                 
               
             
           
         
       
     
         [0056]    This expression can be simplified by noting that the first summation vanishes when l=m+n is not a multiple of p, i.e., 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       ∑ 
                       
                         k 
                         = 
                         1 
                       
                       p 
                     
                      
                     
                        
                       
                         j 
                          
                         
                             
                         
                          
                         l 
                          
                         
                             
                         
                          
                         
                           
                             2 
                              
                             
                                 
                             
                              
                             π 
                              
                             
                               ( 
                               
                                 k 
                                 - 
                                 1 
                               
                               ) 
                             
                           
                           p 
                         
                       
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           p 
                         
                         
                           
                             
                               
                                 if 
                                  
                                 
                                     
                                 
                                  
                                 l 
                               
                               = 
                               
                                 ± 
                                 p 
                               
                             
                             , 
                             
                               
                                 ± 
                                 2 
                               
                                
                               p 
                             
                             , 
                             
                               
                                 ± 
                                 3 
                               
                                
                               p 
                             
                             , 
                             … 
                           
                         
                       
                       
                         
                           0 
                         
                         
                           
                             otherwise 
                             . 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
           
         
       
     
         [0057]    Defining ρ:=pq, the torque expression (10) can be written in the following compact form 
         [0000]    
       
         
           
             
               
                 
                   τ 
                   = 
                   
                     
                       τ 
                       d 
                     
                      
                     p 
                      
                     
                       
                         ∑ 
                         
                           
                             m 
                             = 
                             
                               - 
                               N 
                             
                           
                           
                             m 
                             ≠ 
                             0 
                           
                         
                         N 
                       
                        
                       
                         
                           ∑ 
                           
                             n 
                             = 
                             
                               ⌊ 
                               
                                 
                                   ( 
                                   
                                     
                                       - 
                                       N 
                                     
                                     + 
                                     m 
                                   
                                   ) 
                                 
                                 / 
                                 p 
                               
                               ⌋ 
                             
                           
                           
                             ⌊ 
                             
                               
                                 ( 
                                 
                                   N 
                                   + 
                                   m 
                                 
                                 ) 
                               
                               / 
                               p 
                             
                             ⌋ 
                           
                         
                          
                         
                           
                             d 
                             m 
                           
                            
                           
                             c 
                             n 
                           
                            
                           
                              
                             
                               
                                 - 
                                 j 
                               
                                
                               
                                   
                               
                                
                               qm 
                                
                               
                                   
                               
                                
                               θ 
                             
                           
                            
                           
                              
                             
                               jρ 
                                
                               
                                   
                               
                                
                               n 
                                
                               
                                   
                               
                                
                               θ 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
         [0058]    The expression of the torque in (12) can be divided into two parts: The position dependent torque, τ rip (θ,τ d ), and the position independent torque, τ lin (τ d ). That is 
         [0000]    
       
         
           
             
               
                 
                   
                     τ 
                     = 
                     
                       
                         
                           τ 
                           
                             l 
                              
                             in 
                           
                         
                          
                         
                           ( 
                           
                             τ 
                             d 
                           
                           ) 
                         
                       
                       + 
                       
                         
                           τ 
                           rip 
                         
                          
                         
                           ( 
                           
                             θ 
                             , 
                             
                               τ 
                               d 
                             
                           
                           ) 
                         
                       
                     
                   
                   , 
                   
                     
 
                   
                    
                   
                     in 
                      
                     
                         
                     
                      
                     which 
                   
                 
               
               
                 
                   ( 
                   13 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       τ 
                       
                         l 
                          
                         in 
                       
                     
                      
                     
                       ( 
                       
                         τ 
                         d 
                       
                       ) 
                     
                   
                   = 
                   
                     
                       τ 
                       d 
                     
                      
                     
                       k 
                       0 
                     
                   
                 
               
               
                 
                   ( 
                   14 
                   ) 
                 
               
             
             
               
                 
                   
                     
                       
                         τ 
                         rip 
                       
                        
                       
                         ( 
                         
                           θ 
                           , 
                           
                             τ 
                             d 
                           
                         
                         ) 
                       
                     
                     = 
                     
                       
                         τ 
                         d 
                       
                        
                       
                         
                           ∑ 
                           
                             
                               l 
                               = 
                               
                                 
                                   - 
                                   2 
                                 
                                  
                                 
                                   N 
                                   / 
                                   p 
                                 
                               
                             
                             
                               l 
                               ≠ 
                               0 
                             
                           
                           
                             2 
                              
                             
                               N 
                               / 
                               p 
                             
                           
                         
                          
                         
                           
                             k 
                             l 
                           
                            
                           
                              
                             
                               jρ 
                                
                               
                                   
                               
                                
                               l 
                                
                               
                                   
                               
                                
                               θ 
                             
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   15 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where k l  are the Fourier coefficients of the motor torque, and can be calculated by 
         [0000]    
       
         
           
             
               
                 
                   
                     k 
                     l 
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             
                               p 
                                
                               
                                 
                                   ∑ 
                                   
                                     n 
                                     = 
                                     1 
                                   
                                   N 
                                 
                                  
                                 
                                   
                                     c 
                                     n 
                                   
                                    
                                   
                                     
                                       d 
                                       _ 
                                     
                                     
                                       n 
                                       - 
                                       pl 
                                     
                                   
                                 
                               
                             
                             + 
                             
                               p 
                                
                               
                                 
                                   ∑ 
                                   
                                     n 
                                     = 
                                     1 
                                   
                                   
                                     N 
                                     - 
                                     pl 
                                   
                                 
                                  
                                 
                                   
                                     
                                       c 
                                       _ 
                                     
                                     n 
                                   
                                    
                                   
                                     d 
                                     
                                       n 
                                       + 
                                       pl 
                                     
                                   
                                 
                               
                             
                           
                         
                         
                           
                             
                               if 
                                
                               
                                   
                               
                                
                               l 
                             
                             &lt; 
                             
                               N 
                               p 
                             
                           
                         
                       
                       
                         
                           
                             p 
                              
                             
                               
                                 ∑ 
                                 
                                   n 
                                   = 
                                   
                                     pl 
                                     - 
                                     N 
                                   
                                 
                                 
                                   pl 
                                   - 
                                   1 
                                 
                               
                                
                               
                                 
                                   c 
                                   n 
                                 
                                  
                                 
                                   d 
                                   
                                     pl 
                                     - 
                                     n 
                                   
                                 
                               
                             
                           
                         
                         
                           
                             otherwise 
                             . 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   16 
                   ) 
                 
               
             
           
         
       
     
         [0059]    The term k 0  in (14) is the constant part of the circular convolution of u(θ) and y(θ). This, in turn, is equal to twice the real part of the inner product of the vectors c and d, 
         [0000]      k 0 =2pRe&lt;c,d&gt;.   (17)
 
         [0060]    A ripple-free torque implies that all coefficients k l  except k 0  are zero and k 0 ≡1 so that τ≡τ d . That is, the spectrum of the current excitation, c, must be calculated so that 
         [0000]    
       
         
           
             
               k 
               n 
             
             = 
             
               { 
               
                 
                   
                     1 
                   
                   
                     
                       
                         if 
                          
                         
                             
                         
                          
                         n 
                       
                       = 
                       0 
                     
                   
                 
                 
                   
                     0 
                   
                   
                     otherwise 
                   
                 
               
             
           
         
       
     
         [0061]    This problem has infinitely many solutions. In this case, it is possible to minimize the power dissipation by noting that the average of dissipated power per unit command torque over one period, assuming constant speed, is 
         [0000]    
       
         
           
             
               P 
               loss 
             
             ∝ 
             
               
                 1 
                 T 
               
                
               
                 
                   ∫ 
                   0 
                   T 
                 
                  
                 
                   
                     
                        
                       
                         i 
                          
                         
                           ( 
                           t 
                           ) 
                         
                       
                        
                     
                     2 
                   
                    
                   
                      
                     t 
                   
                 
               
             
           
         
       
     
         [0062]    By changing the integral variable from time t to θ, where dθ=ωdt and ωT=2π/q, we have 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       P 
                       loss 
                     
                     ∝ 
                     
                       
                         q 
                         
                           2 
                            
                           π 
                         
                       
                        
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             1 
                           
                           P 
                         
                          
                         
                           
                             ∫ 
                             0 
                             
                               2 
                                
                               
                                 π 
                                 / 
                                 q 
                               
                             
                           
                            
                           
                             
                               
                                 u 
                                 k 
                                 2 
                               
                                
                               
                                 ( 
                                 θ 
                                 ) 
                               
                             
                              
                             
                                
                               θ 
                             
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   18 
                   ) 
                 
               
             
           
         
       
     
         [0063]    where τ d ≡1. By virtue of Parseval&#39;s theorem, the power loss per unit commanded torque, i.e. τ d =1, is 
         [0000]      P loss  ∝ p∥c∥ 2    (19)
 
         [0064]    A person of skill in the art will understand that minimizing power loss is tantamount to minimizing the Euclidean norm of the commutation spectrum vector ∥c∥. 
         [0065]    Where the spectrum of the excitation current c ∈ C N  represents the set of unknown variables then, according to (16), in order to minimize power loss, we must solve 
         [0000]      min ∥c∥ 2    (20)
 
         [0000]      subject to:  Ac+B  c −ζ= 0,   (21)
 
         [0000]    where 
         [0000]    
       
         
           
             
               Ϛ 
                
               
                 = 
                 Δ 
               
                
               
                 
                   col 
                    
                   
                     ( 
                     
                       
                         1 
                         p 
                       
                       , 
                       0 
                       , 
                       … 
                        
                       
                           
                       
                       , 
                       0 
                     
                     ) 
                   
                 
                 ∈ 
                 
                   ℝ 
                   
                     
                       2 
                        
                       
                           
                       
                        
                       
                         N 
                         / 
                         p 
                       
                     
                     + 
                     1 
                   
                 
               
             
             , 
             
               
 
             
              
             
               and 
                
               
                   
               
                
               matrices 
                
               
                   
               
                
               A 
             
             , 
             
               B 
               ∈ 
               
                 C 
                 
                   
                     ( 
                     
                       
                         2 
                          
                         
                           N 
                           P 
                         
                       
                       + 
                       1 
                     
                     ) 
                   
                   × 
                   N 
                 
               
             
           
         
       
     
         [0000]    can be constructed from the torque spectrum vector. For example, for a three phase motor (p=3), the A and B matrices are given as 
         [0000]    
       
         
           
             
               
                 
                   A 
                   = 
                   
                     [ 
                     
                       
                         
                           
                             
                               d 
                               _ 
                             
                             1 
                           
                         
                         
                           
                             
                               d 
                               _ 
                             
                             2 
                           
                         
                         
                           
                             
                               d 
                               _ 
                             
                             3 
                           
                         
                         
                           
                             
                               d 
                               _ 
                             
                             4 
                           
                         
                         
                           
                             
                               d 
                               _ 
                             
                             5 
                           
                         
                         
                           … 
                         
                         
                           
                             
                               d 
                               _ 
                             
                             
                               N 
                               - 
                               1 
                             
                           
                         
                         
                           
                             
                               d 
                               _ 
                             
                             N 
                           
                         
                       
                       
                         
                           
                             d 
                             2 
                           
                         
                         
                           
                             d 
                             1 
                           
                         
                         
                           0 
                         
                         
                           
                             
                               d 
                               _ 
                             
                             1 
                           
                         
                         
                           
                             
                               d 
                               _ 
                             
                             2 
                           
                         
                         
                           … 
                         
                         
                           
                             
                               d 
                               _ 
                             
                             
                               N 
                               - 
                               4 
                             
                           
                         
                         
                           
                             
                               d 
                               _ 
                             
                             
                               N 
                               - 
                               3 
                             
                           
                         
                       
                       
                         
                           
                             d 
                             5 
                           
                         
                         
                           
                             d 
                             4 
                           
                         
                         
                           
                             d 
                             3 
                           
                         
                         
                           
                             d 
                             2 
                           
                         
                         
                           
                             d 
                             1 
                           
                         
                         
                           … 
                         
                         
                           
                             
                               d 
                               _ 
                             
                             
                               N 
                               - 
                               7 
                             
                           
                         
                         
                           
                             
                               d 
                               _ 
                             
                             
                               N 
                               - 
                               6 
                             
                           
                         
                       
                       
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                       
                       
                         
                           
                             d 
                             
                               N 
                               - 
                               1 
                             
                           
                         
                         
                           
                             d 
                             
                               N 
                               - 
                               2 
                             
                           
                         
                         
                           
                             d 
                             
                               N 
                               - 
                               3 
                             
                           
                         
                         
                           
                             d 
                             
                               N 
                               - 
                               4 
                             
                           
                         
                         
                           
                             d 
                             
                               N 
                               - 
                               5 
                             
                           
                         
                         
                           … 
                         
                         
                           
                             d 
                             1 
                           
                         
                         
                           0 
                         
                       
                       
                         
                           0 
                         
                         
                           0 
                         
                         
                           
                             d 
                             N 
                           
                         
                         
                           
                             d 
                             
                               N 
                               - 
                               1 
                             
                           
                         
                         
                           
                             d 
                             
                               N 
                               - 
                               2 
                             
                           
                         
                         
                           … 
                         
                         
                           
                             d 
                             4 
                           
                         
                         
                           
                             d 
                             3 
                           
                         
                       
                       
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                         
                           ⋮ 
                         
                       
                       
                         
                           0 
                         
                         
                           0 
                         
                         
                           0 
                         
                         
                           0 
                         
                         
                           0 
                         
                         
                           … 
                         
                         
                           0 
                         
                         
                           
                             d 
                             N 
                           
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   22 
                   ) 
                 
               
             
             
               
                 
                   B 
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               d 
                               1 
                             
                           
                           
                             
                               d 
                               2 
                             
                           
                           
                             
                               d 
                               3 
                             
                           
                           
                             
                               d 
                               4 
                             
                           
                           
                             
                               d 
                               5 
                             
                           
                           
                             … 
                           
                           
                             
                               d 
                               N 
                             
                           
                         
                         
                           
                             
                               d 
                               4 
                             
                           
                           
                             
                               d 
                               5 
                             
                           
                           
                             
                               d 
                               6 
                             
                           
                           
                             
                               d 
                               7 
                             
                           
                           
                             
                               d 
                               8 
                             
                           
                           
                             … 
                           
                           
                             0 
                           
                         
                         
                           
                             
                               d 
                               7 
                             
                           
                           
                             
                               d 
                               8 
                             
                           
                           
                             
                               d 
                               9 
                             
                           
                           
                             
                               d 
                               10 
                             
                           
                           
                             
                               d 
                               11 
                             
                           
                           
                             … 
                           
                           
                             0 
                           
                         
                         
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                         
                         
                           
                             
                               d 
                               
                                 N 
                                 - 
                                 2 
                               
                             
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             … 
                           
                           
                             0 
                           
                         
                         
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             … 
                           
                           
                             0 
                           
                         
                         
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                           
                             ⋮ 
                           
                         
                         
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             0 
                           
                           
                             … 
                           
                           
                             0 
                           
                         
                       
                       ] 
                     
                     . 
                   
                 
               
               
                 
                   ( 
                   23 
                   ) 
                 
               
             
           
         
       
     
         [0066]    By separating real and imaginary parts, equation (21) can be rewritten as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         [ 
                         
                           
                             
                               
                                 Re 
                                  
                                 
                                   ( 
                                   
                                     A 
                                     + 
                                     B 
                                   
                                   ) 
                                 
                               
                             
                             
                               
                                 - 
                                 
                                   Im 
                                    
                                   
                                     ( 
                                     
                                       A 
                                       - 
                                       B 
                                     
                                     ) 
                                   
                                 
                               
                             
                           
                           
                             
                               
                                 Im 
                                  
                                 
                                   ( 
                                   
                                     A 
                                     + 
                                     B 
                                   
                                   ) 
                                 
                               
                             
                             
                               
                                 Re 
                                  
                                 
                                   ( 
                                   
                                     A 
                                     - 
                                     B 
                                   
                                   ) 
                                 
                               
                             
                           
                         
                         ] 
                       
                       
                          
                         
                           Q 
                            
                           
                             ( 
                             d 
                             ) 
                           
                         
                       
                     
                      
                     
                       [ 
                       
                         
                           
                             
                               Re 
                                
                               
                                 ( 
                                 c 
                                 ) 
                               
                             
                           
                         
                         
                           
                             
                               Im 
                                
                               
                                 ( 
                                 c 
                                 ) 
                               
                             
                           
                         
                       
                       ] 
                     
                   
                   = 
                   
                     [ 
                     
                       
                         
                           ϛ 
                         
                       
                       
                         
                           0 
                         
                       
                     
                     ] 
                   
                 
               
               
                 
                   ( 
                   24 
                   ) 
                 
               
             
           
         
       
     
         [0067]    In general, for motors with more than two phases (i.e. p&gt;2), there are fewer equations than unknowns in (24). Therefore, a unique solution is not expected. The pseudo-inverse offers the minimum-norm solution, i.e. minimum ∥c∥, which is consistent with the minimum power losses. Thus 
         [0000]    
       
         
           
             
               
                 
                   
                     c 
                     = 
                     
                       
                         [ 
                         
                           
                             
                               
                                 I 
                                 N 
                               
                             
                             
                               
                                 jI 
                                 N 
                               
                             
                           
                         
                         ] 
                       
                        
                       
                         
                           Q 
                           + 
                         
                          
                         
                           [ 
                           
                             
                               
                                 ϛ 
                               
                             
                             
                               
                                 0 
                               
                             
                           
                           ] 
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   25 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where Q +  represents the pseudo-inverse of matrix Q and I N  is the N×N identity matrix. 
         [0068]    Having explained the theory relating to modeling and control of motor torque in terms of Fourier series, the following explains how the commutation law is modified at high velocity, according to the present invention, for ripple compensation and derivation of the torque transfer function taking into account the dynamics of the driver/amplifier  140 . 
         [0069]    First, with respect to ripple compensation, since motor phase currents are determined based on sinusoidal functions of the motor angle, high motor velocities result in a high drive frequency that makes it difficult for the commutator  130  to track the reference current input. Therefore, design of ripple-free commutation at high velocities necessitates taking the dynamics of the driver/amplifier  140  into account. 
         [0070]    In practice, the range of motor velocities in which torque-ripple compensation (without velocity compensation) becomes problematic depends on three factors: i) bandwidth (BW) of the driver/amplifier (in rad/s); ii) the number of motor poles q; and iii) the maximum harmonics of the motor back-emf waveform n. Specifically, the motor velocity ω (in rpm) should be less than (30*BW)/(pi*q*n). For example, for BW=100 rad/s, q=2, and n=10, velocity induced torque ripple becomes problematic at 47.8 rpm and higher. With h(t) defined as the impulse response of the driver/amplifier  140 , the actual and dictated phase currents are no longer identical, rather they are related by 
         [0000]        i   k ( t )=∫ 0   l   i*   k (ζ)  h ( t −ζ)  dζ ∀k= 1, . . . ,  p.    (26)
 
         [0071]    After substituting (5) and (1) into (26), the total motor torque can be expressed as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           τ 
                            
                           
                             ( 
                             
                               
                                 τ 
                                 d 
                               
                               , 
                               θ 
                             
                             ) 
                           
                         
                         = 
                           
                          
                         
                           
                             ∑ 
                             
                               k 
                               = 
                               1 
                             
                             p 
                           
                            
                           
                             
                               ( 
                               
                                 
                                   ∑ 
                                   
                                     m 
                                     = 
                                     
                                       - 
                                       N 
                                     
                                   
                                   N 
                                 
                                  
                                 
                                   
                                     d 
                                     m 
                                   
                                    
                                   
                                      
                                     
                                       j 
                                        
                                       
                                           
                                       
                                        
                                       
                                         m 
                                          
                                         
                                           ( 
                                           
                                             
                                               q 
                                                
                                               
                                                   
                                               
                                                
                                               
                                                 θ 
                                                  
                                                 
                                                   ( 
                                                   t 
                                                   ) 
                                                 
                                               
                                             
                                             + 
                                             
                                               2 
                                                
                                               π 
                                                
                                               
                                                 
                                                   k 
                                                   - 
                                                   1 
                                                 
                                                 p 
                                               
                                             
                                           
                                           ) 
                                         
                                       
                                     
                                   
                                 
                               
                               ) 
                             
                             × 
                           
                         
                       
                     
                   
                   
                     
                       
                           
                          
                         
                           
                             ∫ 
                             0 
                             t 
                           
                            
                           
                             
                               
                                 τ 
                                 d 
                               
                                
                               
                                 ( 
                                 ζ 
                                 ) 
                               
                             
                              
                             
                               
                                 ∑ 
                                 
                                   n 
                                   = 
                                   
                                     - 
                                     N 
                                   
                                 
                                 N 
                               
                                
                               
                                 
                                   c 
                                   n 
                                 
                                  
                                 
                                    
                                   
                                     j 
                                      
                                     
                                         
                                     
                                      
                                     
                                       n 
                                        
                                       
                                         ( 
                                         
                                           
                                             q 
                                              
                                             
                                                 
                                             
                                              
                                             
                                               θ 
                                                
                                               
                                                 ( 
                                                 ζ 
                                                 ) 
                                               
                                             
                                           
                                           + 
                                           
                                             2 
                                              
                                             π 
                                              
                                             
                                               
                                                 k 
                                                 - 
                                                 1 
                                               
                                               p 
                                             
                                           
                                         
                                         ) 
                                       
                                     
                                   
                                 
                                  
                                 
                                   h 
                                    
                                   
                                     ( 
                                     
                                       t 
                                       - 
                                       ζ 
                                     
                                     ) 
                                   
                                 
                                  
                                 
                                    
                                   ζ 
                                 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           p 
                            
                           
                             
                               ∑ 
                               
                                 
                                   n 
                                   = 
                                   
                                     - 
                                     N 
                                   
                                 
                                 
                                   n 
                                   ≠ 
                                   0 
                                 
                               
                               N 
                             
                              
                             
                               
                                 ∑ 
                                 
                                   l 
                                   = 
                                   
                                     
                                       ( 
                                       
                                         n 
                                         - 
                                         N 
                                       
                                       ) 
                                     
                                     / 
                                     p 
                                   
                                 
                                 
                                   
                                     ( 
                                     
                                       n 
                                       + 
                                       N 
                                     
                                     ) 
                                   
                                   / 
                                   p 
                                 
                               
                                
                               
                                 
                                   c 
                                   n 
                                 
                                  
                                 
                                   d 
                                   
                                     pl 
                                     - 
                                     n 
                                   
                                 
                                  
                                 
                                    
                                   
                                     jρ 
                                      
                                     
                                         
                                     
                                      
                                     l 
                                      
                                     
                                         
                                     
                                      
                                     θ 
                                   
                                 
                                 × 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                           
                          
                         
                           ( 
                           
                             
                               ∫ 
                               0 
                               t 
                             
                              
                             
                               
                                 
                                   τ 
                                   d 
                                 
                                  
                                 
                                   ( 
                                   ζ 
                                   ) 
                                 
                               
                                
                               
                                  
                                 
                                   
                                     - 
                                     j 
                                   
                                    
                                   
                                       
                                   
                                    
                                   q 
                                    
                                   
                                       
                                   
                                    
                                   ω 
                                    
                                   
                                       
                                   
                                    
                                   
                                     n 
                                      
                                     
                                       ( 
                                       
                                         t 
                                         - 
                                         ζ 
                                       
                                       ) 
                                     
                                   
                                 
                               
                                
                               
                                 h 
                                  
                                 
                                   ( 
                                   
                                     t 
                                     - 
                                     ζ 
                                   
                                   ) 
                                 
                               
                                
                               
                                  
                                 ζ 
                               
                             
                           
                           ) 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   27 
                   ) 
                 
               
             
           
         
       
     
         [0072]    Equation (27) is obtained by using (11) and assuming a constant velocity, i.e., θ(t)−θ(ζ)=ω(t−ζ). The integral term in the right-hand-side of (27) can be written as the convolution integral, τ d (t)*e −jqωnt h(t), where function e −jqωnt h(t) can be interpreted as the impulse response of a virtual system associated with the nth harmonics. Then, the corresponding steady-state response to the step torque input response is given by τ d H(jqωn), where H(s) is the Laplace transform of function of h(t), i.e., the amplifier&#39;s transfer functions. Now, define coefficients 
         [0000]        c′   n   =c   n   H ( jqn ω) ∀ n= 1, . . . ,  N    (28)
 
         [0000]    and the corresponding vector c′=col(c′ 1 , . . . , c′ N ) is related to vector c by 
         [0000]        c′=D (ω) c    (29)
 
         [0000]      where 
         [0000]        D (ω)=diag( H ( jq ω),  H ( j 2 q ω), . . . ,  H ( jNq ω)).
 
         [0073]    A person of skill in the art will understand that the angular velocity variable ω in (28) and (29) should not be confused with the frequency. Since H(−jqnω)=  H(jqnω) , the new coefficients satisfy 
         [0000]        c′   −n =    c′   n    ∀ n= 1, . . . ,  N  
 
         [0074]    Therefore, c′ are the compensated Fourier coefficients of a commutation law that in the presence of actuator dynamics yields the same steady-state torque profile as the commutation law set forth above. This means that all commutations that yield ripple-free torques at constant velocity ω must satisfy the constraint equation (21) with c being replaced by c′. Therefore, the Fourier coefficients of the commutation law that at rotor velocity ω yields ripple-free torque must satisfy: 
         [0000]        AD (ω) c+BD (ω)   c −ζ= 0,
 
         [0000]      or equivalently 
         [0000]        Ac′+B  c′ −ζ= 0.   (30)
 
         [0075]    Furthermore, as discussed below, power dissipation in the presence of amplifier dynamics is proportional to ∥c′∥ 2 . Taking into account the relationship between actual and dictated phase currents set forth in (26), the average power dissipation is 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           P 
                           loss 
                         
                         ∝ 
                           
                          
                         
                           
                             ∑ 
                             
                               k 
                               = 
                               1 
                             
                             p 
                           
                            
                           
                             
                               lim 
                               
                                 T 
                                 -&gt; 
                                 ∞ 
                               
                             
                              
                             
                               
                                 1 
                                 T 
                               
                                
                               
                                 
                                   ∫ 
                                   0 
                                   T 
                                 
                                  
                                 
                                   
                                     
                                       ( 
                                       
                                         
                                           ∫ 
                                           0 
                                           t 
                                         
                                          
                                         
                                           
                                             ∑ 
                                             
                                               n 
                                               = 
                                               
                                                 - 
                                                 N 
                                               
                                             
                                             N 
                                           
                                            
                                           
                                             
                                               c 
                                               n 
                                             
                                              
                                             
                                                
                                               
                                                 j 
                                                  
                                                 
                                                     
                                                 
                                                  
                                                 q 
                                                  
                                                 
                                                     
                                                 
                                                  
                                                 ω 
                                                  
                                                 
                                                     
                                                 
                                                  
                                                 n 
                                                  
                                                 
                                                     
                                                 
                                                  
                                                 ξ 
                                               
                                             
                                              
                                             
                                               h 
                                                
                                               
                                                 ( 
                                                 
                                                   t 
                                                   - 
                                                   ξ 
                                                 
                                                 ) 
                                               
                                             
                                              
                                             
                                                
                                               ξ 
                                             
                                           
                                         
                                       
                                       ) 
                                     
                                     2 
                                   
                                    
                                   
                                      
                                     t 
                                   
                                 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             lim 
                             
                               T 
                               -&gt; 
                               ∞ 
                             
                           
                            
                           
                             
                               p 
                               T 
                             
                              
                             
                               
                                 ∫ 
                                 0 
                                 T 
                               
                                
                               
                                 
                                   
                                     ( 
                                     
                                       
                                         c 
                                         n 
                                       
                                        
                                       
                                          
                                         
                                           j 
                                            
                                           
                                               
                                           
                                            
                                           qn 
                                            
                                           
                                               
                                           
                                            
                                           ω 
                                            
                                           
                                               
                                           
                                            
                                           t 
                                         
                                       
                                        
                                       
                                         
                                           ∫ 
                                           0 
                                           t 
                                         
                                          
                                         
                                           
                                              
                                             
                                               
                                                 - 
                                                 j 
                                               
                                                
                                               
                                                   
                                               
                                                
                                               qn 
                                                
                                               
                                                   
                                               
                                                
                                               ω 
                                                
                                               
                                                   
                                               
                                                
                                               v 
                                             
                                           
                                            
                                           
                                             h 
                                              
                                             
                                               ( 
                                               v 
                                               ) 
                                             
                                           
                                            
                                           
                                              
                                             v 
                                           
                                         
                                       
                                     
                                     ) 
                                   
                                   2 
                                 
                                  
                                 
                                    
                                   t 
                                 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             lim 
                             
                               T 
                               -&gt; 
                               ∞ 
                             
                           
                            
                           
                             
                               p 
                               T 
                             
                              
                             
                               
                                 ∫ 
                                 0 
                                 T 
                               
                                
                               
                                 
                                   
                                     ( 
                                     
                                       
                                         c 
                                         n 
                                         ′ 
                                       
                                        
                                       
                                          
                                         
                                           j 
                                            
                                           
                                               
                                           
                                            
                                           qn 
                                            
                                           
                                               
                                           
                                            
                                           ω 
                                            
                                           
                                               
                                           
                                            
                                           t 
                                         
                                       
                                     
                                     ) 
                                   
                                   2 
                                 
                                  
                                 
                                    
                                   t 
                                 
                               
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   31 
                   ) 
                 
               
             
           
         
       
     
         [0076]    It follows from (18)-(19), above, that 
         [0000]      P loss  ∝ p∥c′∥ 2    (32)
 
         [0077]    Therefore, in view of (30) and (32), one can conclude that the problem of finding a coefficient c′ that minimizes power dissipation and yields ripple-free torque at particular motor velocity ω can be similarly formulated as set forth in (20) if c is replace by c′. Having determined c′, the spectrum of actual commutation, c, can be obtained from the linear relationship set forth in (29) through matrix inversion. 
         [0078]    Next, in order to derive the torque transfer function in view of amplifier dynamics, the position independent part of the generated torque is 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             τ 
                             
                               1 
                                
                               in 
                             
                           
                            
                           
                             ( 
                             
                               τ 
                               d 
                             
                             ) 
                           
                         
                         = 
                           
                          
                         
                           p 
                            
                           
                             
                               ∑ 
                               
                                 n 
                                 = 
                                 
                                   - 
                                   N 
                                 
                               
                               N 
                             
                              
                             
                               
                                 
                                   c 
                                   _ 
                                 
                                 n 
                               
                                
                               
                                 d 
                                 n 
                               
                                
                               
                                 
                                   ∫ 
                                   0 
                                   t 
                                 
                                  
                                 
                                   
                                     
                                       τ 
                                       d 
                                     
                                      
                                     
                                       ( 
                                       ζ 
                                       ) 
                                     
                                   
                                    
                                   
                                      
                                     
                                       
                                         - 
                                         j 
                                       
                                        
                                       
                                           
                                       
                                        
                                       q 
                                        
                                       
                                           
                                       
                                        
                                       ω 
                                        
                                       
                                           
                                       
                                        
                                       
                                         n 
                                          
                                         
                                           ( 
                                           
                                             t 
                                             - 
                                             ζ 
                                           
                                           ) 
                                         
                                       
                                     
                                   
                                    
                                   
                                     h 
                                      
                                     
                                       ( 
                                       
                                         t 
                                         - 
                                         ζ 
                                       
                                       ) 
                                     
                                   
                                    
                                   
                                      
                                     ζ 
                                   
                                 
                               
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             g 
                              
                             
                               ( 
                               t 
                               ) 
                             
                           
                           * 
                           
                             
                               τ 
                               d 
                             
                              
                             
                               ( 
                               t 
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   33 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where * denotes the convolution integral and g(t) is the impulse function of the system, 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       g 
                        
                       
                         ( 
                         t 
                         ) 
                       
                     
                     = 
                     
                       2 
                        
                       p 
                        
                       
                         
                           ∑ 
                           
                             n 
                             = 
                             1 
                           
                           N 
                         
                          
                         
                           
                              
                             
                               a 
                               n 
                             
                              
                           
                            
                           
                             cos 
                              
                             
                               ( 
                               
                                 
                                   q 
                                    
                                   
                                       
                                   
                                    
                                   ω 
                                    
                                   
                                       
                                   
                                    
                                   nt 
                                 
                                 + 
                                 
                                   ∠ 
                                    
                                   
                                       
                                   
                                    
                                   
                                     a 
                                     n 
                                   
                                 
                               
                               ) 
                             
                           
                            
                           
                             h 
                              
                             
                               ( 
                               t 
                               ) 
                             
                           
                         
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   34 
                   ) 
                 
               
             
           
         
       
     
         [0000]    with a n =c n   d   n . 
         [0079]    Transforming function (34) into the Laplace domain, the system torque transfer function becomes 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         G 
                          
                         
                           ( 
                           s 
                           ) 
                         
                       
                       = 
                       
                         
                           p 
                            
                           
                             
                               ∑ 
                               
                                 n 
                                 = 
                                 1 
                               
                               N 
                             
                              
                             
                               
                                 a 
                                 n 
                               
                                
                               
                                 H 
                                  
                                 
                                   ( 
                                   
                                     s 
                                     + 
                                     
                                       j 
                                        
                                       
                                           
                                       
                                        
                                       qn 
                                        
                                       
                                           
                                       
                                        
                                       ω 
                                     
                                   
                                   ) 
                                 
                               
                             
                           
                         
                         + 
                         
                           
                             
                               a 
                               _ 
                             
                             n 
                           
                            
                           
                             H 
                              
                             
                               ( 
                               
                                 s 
                                 - 
                                 
                                   j 
                                    
                                   
                                       
                                   
                                    
                                   qn 
                                    
                                   
                                       
                                   
                                    
                                   ω 
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                     ) 
                   
                   , 
                 
               
               
                 
                   ( 
                   35 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where 
         [0000]    
       
         
           
             
               G 
                
               
                 ( 
                 s 
                 ) 
               
             
             = 
             
               
                 
                   
                     τ 
                     
                       1 
                        
                       
                           
                       
                        
                       in 
                     
                   
                    
                   
                     ( 
                     s 
                     ) 
                   
                 
                 
                   
                     τ 
                     d 
                   
                    
                   
                     ( 
                     s 
                     ) 
                   
                 
               
               . 
             
           
         
       
     
         [0080]    Returning to the BLDC motor  100  of  FIG. 1 , the Fourier coefficients of the commutation law may be calculated experimentally as a function of the desired velocity, according to the method set forth above. First, assume that the three-phase motor has two poles and drives mechanical load  160  (including the rotor  110 ) with inertia 0.05 kgm 2  and viscous friction 4 Nm.s/rad, and that the load is driven by commutator  130  under control of a Proportional Integral (PI) controller  150  within a velocity feedback loop, where the controller gains are set to 
         [0000]      K p =1.1 Nm.s/rad and K i =18 Nm/rad, 
         [0000]    so that the controller  150  achieves a well-damped behavior. A time varying desired velocity ω d  is input to the controller  150 , which changes from 2 rad/s to 20 rad/s and then to 10 rad/s in three 2-second intervals. The relatively low bandwidth driver/amplifier  140  is characterized by the following transfer function 
         [0000]    
       
         
           
             
               H 
                
               
                 ( 
                 s 
                 ) 
               
             
             = 
             
               60 
               
                 s 
                 + 
                 60 
               
             
           
         
       
     
         [0081]    The motor torque-angle profile (motor phase waveform) is shown in  FIG. 2 , and the corresponding complex Fourier coefficients, are listed in Table 1, which shows simulation results for the commutator  130  operating according to the conventional commutation law and according to the modified commutation law of the present invention, in terms of harmonic content of the torque shape function and the commutation shape functions: 
         [0000]    
       
         
               
             
               
               
               
               
             
               
               
               
               
             
           
               
                 TABLE 1 
               
             
             
               
                   
               
               
                 (Fourier Coefficients) 
               
             
          
           
               
                 Har- 
                 Torque 
                 Conventional 
                 Modified 
               
               
                 monics 
                 Function 
                 Commutation 
                 Commutation 
               
               
                   
               
             
          
           
               
                 1 
                 −0.0678 − 0.9977i  
                 −0.0105 − 0.1603i  
                 0.0964 − 0.1673i 
               
               
                 3 
                 −0.0405 − 0.2107i  
                 −0.0051 − 0.0305i  
                 0.0558 − 0.0407i 
               
               
                 5 
                 −0.0063 − 0.0216i  
                 0.0055 + 0.0098i 
                 −0.0272 + 0.0283i  
               
               
                 7 
                 0.0300 + 0.0315i 
                 −0.0026 − 0.0062i  
                 0.0261 − 0.0182i 
               
               
                 9 
                 0.0365 + 0.0288i 
                 0.0017 + 0.0018i 
                 −0.0093 + 0.0123i  
               
               
                 11 
                 0.0602 + 0.0173i 
                 −0.0025 + 0.0012i  
                 −0.0113 − 0.0174i  
               
               
                 13 
                 −0.0137 + 0.0104i  
                 0.0102 + 0.0018i 
                 −0.0056 + 0.0902i  
               
               
                 15 
                 0.0073 + 0.0027i 
                 0.0030 + 0.0001i 
                 0.0021 + 0.0297i 
               
               
                 17 
                 −0.0019 + 0.0017i  
                 −0.0031 − 0.0000i  
                 −0.0027 − 0.0347i  
               
               
                 19 
                 −0.0039 + 0.0019i  
                 −0.0013 − 0.0003i  
                 0.0030 − 0.0169i 
               
               
                 21 
                 −0.0005 − 0.0011i  
                 0.0006 + 0.0011i 
                 −0.0142 + 0.0096i  
               
               
                 23 
                 −0.0017 − 0.0009i  
                 0.0004 − 0.0006i 
                 0.0099 + 0.0061i 
               
               
                   
               
             
          
         
       
     
         [0082]    Based on the detailed discussion and experimental results set forth above, the method according an aspect of the present invention for generating a ripple-free desired torque τ d  to a load (i.e. combination of rotor  110  and mechanical load  160 ), is shown in the flowchart of  FIG. 3 , and comprises receiving a desired motor velocity ω d  (step  300 ), receiving the actual velocity ω and rotor position angle θ from the mechanical load  160  (step  310 ), generating armature phase drive currents i* k , from the desired motor velocity ω d , actual velocity ω and rotor position angle θ using a modified commutation law (step  320 ), amplifying the armature phase drive currents via driver/amplifier  140  (step  340 ) and applying the resulting currents i k  to armature  120  (step  350 ) for rotating the rotor  110  and load  160 , wherein the modified commutation law (step  320 ) comprises computing the fixed Fourier coefficients of the commutation function at zero velocity according to equation (25) 
         [0000]    
       
         
           
             
               
                 c 
                 ′ 
               
               = 
               
                 
                   [ 
                   
                     
                       
                         
                           I 
                           N 
                         
                       
                       
                         
                           j 
                            
                           
                               
                           
                            
                           
                             I 
                             N 
                           
                         
                       
                     
                   
                   ] 
                 
                  
                 
                   
                     Q 
                     + 
                   
                    
                   
                     [ 
                     
                       
                         
                           ϛ 
                         
                       
                       
                         
                           0 
                         
                       
                     
                     ] 
                   
                 
               
             
             , 
           
         
       
     
         [0000]    (step  320   a ); computing the compensated Fourier coefficients at any desired velocity according to equation (29) c=D −1 (ω)c′ (step  320   b ); computing the phase currents by modulating the desired torque with the corresponding commutation functions according to equations (5) and (6) i* k (τ d ,θ)=τ d  u k (θ), ∀k=1, . . . , p and 
         [0000]    
       
         
           
             
               
                 u 
                  
                 
                   ( 
                   θ 
                   ) 
                 
               
               = 
               
                 
                   ∑ 
                   
                     n 
                     = 
                     
                       - 
                       N 
                     
                   
                   N 
                 
                  
                 
                   
                     c 
                     n 
                   
                    
                   
                      
                     
                       j 
                        
                       
                           
                       
                        
                       nq 
                        
                       
                           
                       
                        
                       θ 
                     
                   
                 
               
             
             , 
           
         
       
     
         [0000]    (step  320   c ); and returning to step  320   b.    
         [0083]    The spectrums of (i) the conventional commutation scheme (i.e. without taking the frequency response of the amplifiers into account) based on the fixed Fourier coefficients of equation (25) ii) the modified commutation scheme based on velocity dependent Fourier coefficients (29), for ω d =20 rad/s, are given in the third and fourth columns of Table 1, respectively. 
         [0084]    The waveforms of the commutator corresponding to various rotor velocities for one cycle are illustrated in  FIG. 4 . 
         [0085]    The bode plots of the torque transfer function obtained from (35) along with the amplifier transfer function are illustrated in  FIG. 5 . 
         [0086]    Trajectories of the motor torque and velocity obtained from the step-input response of the closed-loop system with the conventional and modified commutation functions are illustrated in  FIGS. 6A ,  6 B and  7 A,  7 B, respectively. 
         [0087]    It is apparent from the foregoing that the conventional commutation law is able to eliminate pulsation torque only at low velocity whereas the modified commutation method according to the present invention does so for any velocity. 
         [0088]    In conclusion, an apparatus and method are set forth for electronically controlled commutation based on Fourier coefficients for BLDC motors operating at high velocity while the driver/amplifier bandwidth is limited. As discussed above, the excitation currents are preshaped based on not only rotor angle but also velocity in such a way that the motor always generates the requested (desired) torque while minimizing power losses. Unlike prior art commutation schemes, perfect ripple cancellation is effected at every velocity making the commutation method of the present invention particularly suitable for velocity servomotor systems, (e.g., flywheel of a spacecraft). The simulations set forth above demonstrate that the performance of a velocity servomotor system is compromised by velocity if the conventional prior art commutation scheme is used whereas the commutation scheme according to the present invention significantly reduces torque ripple and velocity fluctuation. 
         [0089]    The many features and advantages of the invention are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the invention that fall within the true spirit and scope of the invention. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the invention to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope of the invention.