134 acceleration command is uniquely determined from a control algorithm which is a function of the following three vct system state variables vct phase difference u03b8 o 20 spool 100 position rate of vct phase change and spool 100 velocity the set point r 35 and the phase difference 20 are each multiplied by proportional gain k 73 the difference between those computed values less the computed velocity and position feedback values yields a raw acceleration the acceleration is then limited and integrated to yield a raw velocity the control algorithm maintains spool 100 velocity as an internal variable the spool 100 velocity is limited by three factors first it cannot exceed its maximum velocity second its derivative must be less than its maximum acceleration finally as the spool 100 approaches its physical limits its velocity must ramp to zero so that it does not introduce an error in the step count the equations which correspond to these limits are as follows the feedback gains k v k x and k o are selected to give a one 1 hertz sinusoidal response of 3db decibels at 45 degree phase lag but other gains can be selected to obtain a different response in addition spool 100 position is tracked by counting the step commands as described above in essence although the control algorithm is not based on commanding the spool to a specific position the ability to keep track of the spool 100 position and velocity allows better closed loop control a model for stepper motor 134 position based on the control.