A servo drive running in velocity mode accepts a velocity command (typically 0–10 V analog, ±10 V, or digital setpoint) and regulates motor speed to match that command.
The velocity regulator requires a measured velocity feedback signal. Since most encoders measure position rather than velocity, the drive must derive velocity from the sequence of position measurements.
The method used to perform this derivation (and the tradeoff between latency, noise, and low-speed resolution) significantly affects the velocity control performance.
Why Velocity Estimation from Position Is Nontrivial
Position encoders produce discrete position counts. Velocity is the rate of change of position, the derivative. Taking the numerical derivative of a discrete, quantized signal introduces quantization noise proportional to the count resolution.
Quantization noise effect on velocity estimate:
At low speeds, the encoder produces few counts per control loop cycle. For a 1,000 PPR encoder (4,000 quadrature counts/rev) running at 10 rpm:
- Counts per second: 4,000 × 10/60 = 667 counts/sec.
- At 4 kHz control loop rate: 667 / 4,000 = 0.167 counts per loop cycle.
Because counts are integer values, the actual count per loop cycle alternates between 0 and 1. The “velocity” computed from this: alternating between 0 rpm and 60 rpm per count at the 4 kHz rate, extreme low-speed velocity noise.
This quantization noise is the reason servo drives use more sophisticated velocity estimation than simple position differentiation.
Method 1: Position Differencing (Δ Position / Δ Time – Fixed Time Window)
Method: Record position at time T₁ and time T₂ (fixed time interval ΔT). Velocity = (P₂ – P₁) / ΔT.
Advantages:
- Simple to implement
- Constant latency (known, fixed)
Disadvantages:
- Quantization noise is inversely proportional to velocity (worst at low speed)
- At high speeds, large ΔP values reduce quantization effect, so noise is tolerable
- At low speeds, count noise dominates
Applicable range: Best at speeds where multiple counts occur per measurement interval.
Method 2: Frequency Measurement (Period-Based Velocity – Fixed Count Window)
Method: Measure the time between N consecutive encoder counts. Velocity = N counts / (measured time interval).
Advantages:

Secure Your Components Stock Now with Torquety
Reliable automation components for high-performance applications.
- At low speeds: more counts are captured per time measurement → better low-speed velocity resolution.
- The time measurement can be very precise (using a hardware timer with MHz resolution).
- Velocity resolution is theoretically constant across speed ranges.
Disadvantages:
- Variable latency: at low speeds, the method must wait for N counts to arrive, introducing a measurement latency proportional to 1/speed.
- At high speeds: the measurement interval becomes very short → time measurement precision becomes the limiting factor.
Applicable range: Best at low to medium speeds. Common in stepper motor velocity estimation and low-speed servo applications.
Method 3: Combined Hybrid Method
At any given speed, one of the two methods above is more accurate. The hybrid approach uses:
- Frequency measurement at low speeds (where count arrival time contains more velocity information than count rate)
- Position differencing at high speeds (where count rate is high enough to provide good position differentiation)
The crossover point is chosen at the speed where both methods have equal noise performance:
Crossover frequency ≈ √(counts_per_rev / measurement_rate)
The hybrid approach is standard in high-performance servo drives because it provides good velocity estimation across the full speed range with a single encoder.
Method 4: Observer-Based (Luenberger Observer / State Estimator)
An observer (also called a state estimator or Kalman filter) models the servo system dynamics and uses the measured position to estimate both position and velocity simultaneously.
Observer principle:
The observer maintains an internal model of the motor-load system:
- State vector: [position, velocity, disturbance torque]
- Measurement: encoder position
- Input: commanded torque (from current feedback)
At each control cycle, the observer:
- Predicts the next state using the system model
- Computes the prediction error (measured position vs. predicted position)
- Corrects the state estimate by scaling the error through the observer gain matrix (L)
The velocity estimate from the observer is inherently filtered, the observer gain determines the bandwidth of the velocity estimate. High observer gain provides fast response but amplifies measurement noise; low gain provides smoother velocity estimate with higher latency.
Advantages:
- Optimal velocity estimation given the system noise model.
- Can estimate states that are not directly measured (disturbance torque).
- Velocity ripple significantly reduced compared to direct differentiation.
Disadvantages:
- More complex to implement and tune.
- Observer gains must be redesigned if the system inertia changes significantly.
Applicable range: High-performance servo systems requiring smooth velocity at low speeds (coordinate measuring machines, surgical robots, precision grinding).
Filter Design for Velocity Feedback
Regardless of the estimation method, the velocity feedback is typically passed through a low-pass filter before being fed to the velocity regulator. The filter tradeoff:
- High bandwidth filter: Velocity feedback responds quickly to actual speed changes (good for disturbance rejection) but also transmits encoder quantization noise (degrades torque ripple).
- Low bandwidth filter: Smooth velocity feedback with low noise (good torque smoothness) but sluggish response to load disturbances.
The optimal filter bandwidth is approximately 1/3 to 1/5 of the velocity loop bandwidth. For a 1 kHz velocity loop bandwidth, a 200–300 Hz filter is typical.
For applications requiring ultra-smooth velocity (precision grinding, photolithography, astronomical telescope tracking) the filter bandwidth may be as low as 10–50 Hz. This requires that the encoder resolution be high enough that quantization noise at the filter output is below the torque ripple specification.
Velocity resolution at the filter output (approximate):
Velocity noise amplitude ≈ (1 count / control_period) × filter_bandwidth / control_rate
At 4 kHz control rate, 200 Hz filter, 1,000 PPR (4,000 quad counts/rev): Velocity noise ≈ (1 / (4,000 counts/rev × 4,000 Hz⁻¹)) × (200/4,000) = 0.0031 rpm peak
This is acceptable for most precision applications. If not acceptable, increase encoder resolution.
For related insights, feel free to explore our breakdown of
Need a Custom Component Solution?
Contact our engineering team to discuss your application requirements and get a custom quote.

