Torque Ripple Control Algorithms for PMSMs

Actuators, an MDPI journal, has published our latest research into torque ripple control algorithms for permanent-magnet synchronous machines (PMSMs). It is entitled “Comparing Different Resonant Control Approaches for Torque Ripple Minimisation in Electric Machines” and is available open-access. We did this work as part of the ViVID project.

Paper Overview (TL;DR)

We looked at several different control algorithms that might be used to reduce torque ripple (unwanted wobbles in the output of electric motors). We built a mathematical model of the controllers and ran them to see how they performed. (As well as checking them mathematically.)

Our analysis showed that a lot of these torque ripple control algorithms were mathematically very similar. They also behaved very similarly in simulations. The best algorithm we found was called PIR-A. This controller was a resonant proportional-integral controller with added phase advance.


Torque ripple is an unwanted side-effect of the way we build permanent-magnet synchronous machines (PMSMs). It makes them less efficient and less controllable. We wanted to look at how different torque ripple control algorithms worked on a simple simulation.

System overview of simple simulation used to compare torque ripple control algorithms
Overview of simple simulation

Controller Summary

Torque ripple is a cyclical phenomenon (due to the radial symmetry in the machine), meaning some traditional controllers don’t reduce torque ripple. With this in mind, we looked at 6 controller variants:

  1. Proportional-integral control (PI). This is a standard controller, not well suited to dealing with cyclical phenomena.
  2. Proportional-integral resonant control (PIR). A resonator is added to a normal PI controller to try and address the cyclical disturbance.
  3. Proportional-integral resonant with phase advance (PIRA). This adds phase advance to the PIR control to try and reduce the effects of the introduction of the resonant bit.
  4. Mixed sensitivity design (MS). We used optimal control approaches to design a controller to reduce disturbances around the torque ripple frequency.
  5. Modulating controller (Mod). We applied modulating control theory to design a controller to reject disturbances specifically at the torque ripple frequency.
  6. Iterative learning control (ILC). This controller tries to learn the disturbance from previous cycles to determine the best remedial action for the following cycle.

Next, when we compared the different approaches, we found that they all looked pretty similar! (Apart from the PI – it doesn’t have any specific additions to deal with cyclical disturbances.)

Equations showing the equivalency of Torque Ripple Control Algorithms for PMSMs

Bode Plots (Frequency Response)

When we looked at their behaviour, we saw that they looked pretty similar too:

Bode plot comparing the closed-loop response for the Torque Ripple Control Algorithms
Closed-loop Bode plot of the different torque ripple control algorithms

In the figure above, you can see the dip in gain around the disturbance frequency, ω0, which is good – it means the disturbance is being filtered out by the controller. (Apart from PI, which doesn’t make allowances for the resonant disturbance.)

What is interesting here is that the PIRA controller that we designed has very similar low-frequency behaviour to the PI controller. That means that it’s behaviour in this region is pretty good, plus it has the dip at ω0! Also interesting here is the behaviour of the ILC. It has a ‘comb-like’ behaviour after ω0, which corresponds to higher harmonics of ω0. This might be good, if we know the disturbance is also at higher harmonics, but it might also make things difficult if we have noise or other machine properties at these frequencies.

Time Domain Response

Then, we looked at the response of the different torque ripple control algorithms in the time domain. We looked at the step response of the closed-loop system, followed by its response to the introduction of a resonant disturbance:

Graph showing the time-domain behaviour of the different torque ripple control algorithms
Step and resonant response of the different control algorithms

Here we can see a few interesting things:

  1. The PI controller has really good step response (it reacts quickly and has little overshoot), but performs very poorly when the resonant disturbance is introduced at t=3 seconds.
  2. the PIR controller has slow step-response behaviour but does reduce the torque ripple.
  3. The ILC controller has strange step response behaviour, which is likely due to the ‘comb-like’ bode plot interacting with the broad range of frequencies present in a step response.
  4. The PIRA controller has good step response characteristics and also reduces torque ripple.

There is more work to do here. Specifically, we’d like to run the controllers on real hardware to see if our conclusions still hold. We’d also like to make the base control model a bit more complex, to see if our algebraic assumptions still work.


We boiled it all down into one handy table which shows how the different torque ripple control algorithms compare:

Table showing a comparison of the different control algorithms.

You can read the full paper online for free if you’d like more detail. Or read more about my research.