Here’s a no-brainer tip for you: space vectors are useful when designing electric motors. Duh.

However, there’s one specific detail you might not know: they are also extremely handy when computing the back-EMF waveform, or induced no-load voltages.

Specifically, they can reduce the number of samples – or time-steps, or rotor positions – needed to obtain a good estimate of the waveforms. This can save time in optimization or pre-design, or help deal with incomplete data that you may have been dealt with.

Here’s how it goes:

Naiive back-EMF computation

Normally, back-EMF calculation has only two steps:

  1. You get your phase flux linkages \Psi from your finite element software.
  2. You numerically differentiate them with U \approx \frac{\Psi_k - \Psi_{k-1}}{ \Delta t}.

Space-vector based approach

By contrast, here’s how it works with space vectors:

  1. You have your phase flux linkages.
  2. You transform them to the rotating reference frame.
  3. You do the numerical differentiation in the rotating frame.
  4. You transform the results back to phase quantities if needed.

Here, only step number 3 needs some extra caution. Remember that the synchronous-frame components are computed with

\Psi_\text{dq}(t) = \mathbf{R}(t) \mathbf{P} \Psi(t),

where \mathbf{R} is a rotation matrix and \mathbf{P} is the well-known Park-Clarke matrix.

Now, note that both the rotation matrix and the synchronous-frame fluxes are generally time-dependent, so the differentiation results, after some simplifications and notation-abusing, in two components:

U_\text{dq} := \frac{\partial}{\partial t} \Psi_\text{dq} (t) + 2\pi f \begin{bmatrix}0 & -1 \\1 & 0 \end{bmatrix} \Psi_\text{dq}

Why it’s smart

Now, why do I claim (without much proof, mind you) that this approach is better than using the allegedly-naiive direct approach?

Well, if our polyphase system is good – close-ish to sinusoidal and reasonably balanced – then the synchronous components \Psi_\text{dq} are roughly constant.

Which, in turn, means that our voltage is largely determined by the \begin{bmatrix}0 & -1 \\1 & 0 \end{bmatrix} \Psi_\text{dq} term, and only a small part depends on the ripple term \frac{\partial}{\partial t} \Psi_\text{dq} (t). As numerical differentiation amplifies any numerical errors – such as those stemming from a low number of samples – one can argue this is more accurate than direct differentiation.

Why it’s smart, Part 2

Of course, this approach is not smart for any arbitrary signal. Instead, it’s only smart for actual, reasonably well-behaved polyphase systems.

After all, for the dq-components to be roughly constant, the system has to be roughly balanced: roughly sinusoidal phase quantities with roughly the same amplitudes and roughly the lag between phases.

The space-vector approach sort of encodes this apriori information into the differentiation.

And mind you, it seems to work better the more phases we have. After all, the dq-transformation can be generalized into arbitrary phase counts (see a fantastic paper here). We just get more synchronous components, corresponding to the first, third, fifth harmonic and so on, and additionally a mean or zero-sequence components. The transformation is lossless when you include all the components, mind you, allowing perfect reconstruction of the original signals.


As an example, I computed the back-EMFs of a six-phase outrunner PM motor with EMDtool.

Link to analysis script file here.

Cross-section of the motor analysed.

To really demonstrate the point, I calculated the voltage waveforms using a pathetic 5 steps per electrical period, and a good 200 steps.

To demonstrate the ‘information-utilizing’ feature of the space-vector approach I then linearly interpolated the results into 1000 steps per period. This interpolation was done in the static frame for the naiive approach, and in the synchronous frame for the proposed smart-person approach.

Below, you can find the results. As you can see, the direct differentiation approach is pretty much useless with 5 steps – as expected. By contrast, the space-vector method yields quite a good results even with such coarse sampling – reflecting the typically-good BEMF waveforms of concentrated windings.

Waveforms from direct differentiation.
Waveforms from the space-vector approach.

Check out EMDtool - Electric Motor Design toolbox for Matlab.

Need help with electric motor design or design software? Let's get in touch - satisfaction guaranteed!
Computing Back-EMFs with space vectors

Leave a Reply

Your email address will not be published. Required fields are marked *