Direct-quadrature-zero transformation

From KYNNpedia

The direct-quadrature-zero (DQZ or DQ0<ref name="Simulink 2018">"Perform transformation from three-phase (abc) signal to dq0 rotating reference frame or the inverse". Simulink. 2018-09-27. Retrieved 2019-01-11.</ref> or DQO,<ref name="Mihailovic 1998">Mihailovic, Zoran (1998-06-26). "Modeling and Control Design of Vsi-Fed Pmsm Drive Systems With Active Load" (PDF). ETDs. Retrieved 2019-01-11.</ref> sometimes lowercase) transformation or zero-direct-quadrature<ref name="Kamalakannan Suresh Dash Panigrahi 2014 p. 1029">Kamalakannan, C.; Suresh, L.P.; Dash, S.S.; Panigrahi, B.K. (2014). Power Electronics and Renewable Energy Systems: Proceedings of ICPERES 2014. Lecture Notes in Electrical Engineering. Springer India. p. 1029. ISBN 978-81-322-2119-7. Retrieved 2019-01-11.</ref> (0DQ or ODQ, sometimes lowercase) transformation is a tensor that rotates the reference frame of a three-element vector or a three-by-three element matrix in an effort to simplify analysis. The DQZ transform is the product of the Clarke transform and the Park transform, first proposed in 1929 by Robert H. Park.<ref name="Park">R.H. Park Two Reaction Theory of Synchronous Machines AIEE Transactions 48:716–730 (1929).</ref>

The DQZ transform is often used in the context of electrical engineering with three-phase circuits. The transform can be used to rotate the reference frames of AC waveforms such that they become DC signals. Simplified calculations can then be carried out on these DC quantities before performing the inverse transform to recover the actual three-phase AC results. As an example, the DQZ transform is often used in order to simplify the analysis of three-phase synchronous machines or to simplify calculations for the control of three-phase inverters. In analysis of three-phase synchronous machines, the transformation transfers three-phase stator and rotor quantities into a single rotating reference frame to eliminate the effect of time-varying inductances and transform the system into a linear time-invariant system

Introduction

The DQZ transform is made of the Park and Clarke transformation matrices. The Clarke transform (named after Edith Clarke) converts vectors in the ABC reference frame to the XYZ (also called αβγ) reference frame. The primary value of the Clarke transform is isolating that part of the ABC-referenced vector, which is common to all three components of the vector; it isolates the common-mode component (i.e., the Z component). The power-invariant, right-handed, uniformly-scaled Clarke transformation matrix is

<math>K_{C} = \sqrt{\frac{2}{3}}\cdot\begin{bmatrix}
  1 & -\frac{1}{2} & -\frac{1}{2} \\
  0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\
  \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}

\end{bmatrix}</math>.

To convert an ABC-referenced column vector to the XYZ reference frame, the vector must be pre-multiplied by the Clarke transformation matrix:

<math>

\vec{u}_{XYZ} = K_{C}\cdot \vec{u}_{ABC} </math>. And, to convert back from an XYZ-referenced column vector to the ABC reference frame, the vector must be pre-multiplied by the inverse Clarke transformation matrix:

<math>

\vec{u}_{ABC} = K_{C}^{-1}\cdot \vec{u}_{XYZ} </math>.

The Park transform (named after Robert H. Park) converts vectors in the XYZ reference frame to the DQZ reference frame. The Park transform's primary value is to rotate a vector's reference frame at an arbitrary frequency. The Park transform shifts the signal's frequency spectrum such that the arbitrary frequency now appears as "dc," and the old dc appears as the negative of the arbitrary frequency. The Park transformation matrix is

<math>K_{P} = \begin{bmatrix}
  \cos{\left(\theta\right)} & \sin{\left(\theta\right)} & 0 \\
  -\sin{\left(\theta\right)} & \cos{\left(\theta\right)} & 0 \\
  0 & 0 & 1

\end{bmatrix}</math>, where θ is the instantaneous angle of an arbitrary ω frequency. To convert an XYZ-referenced vector to the DQZ reference frame, the column vector signal must be pre-multiplied by the Park transformation matrix:

<math>

u_{DQZ} = K_{P}\cdot u_{XYZ} </math>. And, to convert back from a DQZ-referenced vector to the XYZ reference frame, the column vector signal must be pre-multiplied by the inverse Park transformation matrix:

<math>

u_{XYZ} = K_{P}^{-1}\cdot u_{DQZ} </math>.

The Clarke and Park transforms together form the DQZ transform:

<math>K_{CP} = K_{P}\cdot K_{C}</math>
<math>\to\begin{bmatrix}
  \cos{\left(\theta\right)} & \sin{\left(\theta\right)} & 0 \\
  -\sin{\left(\theta\right)} & \cos{\left(\theta\right)} & 0 \\
  0 & 0 & 1

\end{bmatrix} \cdot \sqrt{\frac{2}{3}} \begin{bmatrix}

  1 & \frac{-1}{2} & \frac{-1}{2} \\
  0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\
  \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}

\end{bmatrix}</math>

<math> \to \sqrt{\frac{2}{3}}\begin{bmatrix}
  \cos{\left(\theta\right)}
     & \cos{\left(\theta - \frac{2\pi}{3}\right)}
     & \cos{\left(\theta + \frac{2\pi}{3}\right)} \\
  -\sin{\left(\theta\right)}
     & -\sin{\left(\theta - \frac{2\pi}{3}\right)}
     & -\sin{\left(\theta + \frac{2\pi}{3}\right)} \\
  \frac{\sqrt{2}}{2}
     & \frac{\sqrt{2}}{2}
     & \frac{\sqrt{2}}{2}

\end{bmatrix}</math> The inverse transform is:

<math>K_{CP}^{-1} = \sqrt{\frac{2}{3}}\begin{bmatrix}
  \cos{\left(\theta\right)}
     & -\sin{\left(\theta\right)}
     & \frac{\sqrt{2}}{2} \\
  \cos{\left(\theta - \frac{2\pi}{3}\right)}
     & -\sin{\left(\theta - \frac{2\pi}{3}\right)}
     & \frac{\sqrt{2}}{2} \\
  \cos{\left(\theta + \frac{2\pi}{3}\right)}
     & -\sin{\left(\theta + \frac{2\pi}{3}\right)}
     & \frac{\sqrt{2}}{2}

\end{bmatrix}</math>

To convert an ABC-referenced vector to the DQZ reference frame, the column vector signal must be pre-multiplied by the DQZ transformation matrix:

<math>

u_{DQZ} = K_{CP}\cdot u_{ABC} </math>. And, to convert back from a DQZ-referenced vector to the ABC reference frame, the column vector signal must be pre-multiplied by the inverse DQZ transformation matrix:

<math>

u_{ABC} = K_{CP}^{-1}\cdot u_{DQZ} </math>.

To understand this transform better, a derivation of the transform is included.

Derivation

The Park transform derivation

The Park transform is based on the concept of the dot product and projections of vectors onto other vectors. First, let us imagine two unit vectors, <math>\hat{u}_{D}</math> and <math>\hat{u}_{Q}</math> (the unit vectors, or axes, of the new reference frame from the perspective of the old reference frame), and a third, arbitrary, vector <math>\vec{v}_{XY}</math>. We can define the two unit vectors and the random vector in terms of their Cartesian coordinates in the old reference frame:

<math>\hat{u}_{D} =
  \cos{\left(\theta\right)}\hat{u}_{X}
  + \sin{\left(\theta\right)}\hat{u}_{Y}</math>
<math>\hat{u}_{Q} =
  -\sin{\left(\theta\right)}\hat{u}_{X}
  + \cos{\left(\theta\right)}\hat{u}_{Y}</math>
<math>\vec{v}_{XY} =
  v_{X}\hat{u}_{X}
  + v_{Y}\hat{u}_{Y}</math>,

where <math>\hat{u}_{X}</math> and <math>\hat{u}_{Y}</math> are the unit basis vectors of the old coordinate system and <math>\theta</math> is the angle between the <math>\hat{u}_{X}</math> and <math>\hat{u}_{D}</math> unit vectors (i.e., the angle between the two reference frames). The projection of the arbitrary vector onto each of the two new unit vectors implies the dot product:

<math>v_{D} =
  \hat{u}_{D}\cdot \vec{v}_{XY}</math>
<math>\to \cos{\left(\theta\right)} v_{X}
  + \sin{\left(\theta\right)} v_{Y}</math>
<math>v_{Q} =
  \hat{u}_{Q}\cdot \vec{v}_{XY}</math>
<math>\to -\sin{\left(\theta\right)} v_{X}
  + \cos{\left(\theta\right)} v_{Y}</math>.

So, <math>v_{D}</math> is the projection of <math>\vec{v}_{XY}</math> onto the <math>\hat{u}_{D}</math> axis, and <math>v_{Q}</math> is the projection of <math>\vec{v}_{XY}</math> onto the <math>\hat{u}_{Q}</math> axis. These new vector components, <math>v_{D}</math> and <math>v_{Q}</math>, together compose the new vector <math>\vec{v}_{DQ}</math>, the original vector <math>\vec{v}_{XY}</math> in terms of the new DQ reference frame.

Projection of <math>\vec{v}_{XY}</math> onto the DQ reference frame.
Projection of <math>\vec{v}_{XY}</math> onto the DQ reference frame.

Notice that the positive angle <math>\theta</math> above caused the arbitrary vector to rotate backward when transitioned to the new DQ reference frame. In other words, its angle concerning the new reference frame is less than its angle to the old reference frame. This is because the reference frame, not the vector, was rotated forwards. Actually, a forward rotation of the reference frame is identical to a negative rotation of the vector. If the old reference frame were rotating forwards, such as in three-phase electrical systems, then the resulting DQ vector remains stationary.

A single matrix equation can summarize the operation above:

<math>\vec{v}_{DQ} = \begin{bmatrix}
  \cos{\left(\theta\right)}
     & \sin{\left(\theta\right)} \\
  -\sin{\left(\theta\right)}
     & \cos{\left(\theta\right)}

\end{bmatrix} \cdot \vec{v}_{XY}</math>. This tensor can be expanded to three-dimensional problems, where the axis about which rotation occurs is left unaffected. In the following example, the rotation is about the Z axis, but any axis could have been chosen:

<math>K_{P} = \begin{bmatrix}
  \cos{\left(\theta\right)}
     & \sin{\left(\theta\right)}
     & 0 \\
  -\sin{\left(\theta\right)}
     & \cos{\left(\theta\right)}
     & 0 \\
  0 & 0 & 1

\end{bmatrix}</math>.

From a linear algebra perspective, this is simply a clockwise rotation about the z-axis and is mathematically equivalent to the trigonometric difference angle formulae.

The Clarke transform derivation

The ABC unit basis vectors

Consider a three-dimensional space with unit basis vectors A, B, and C. The sphere in the figure below is used to show the scale of the reference frame for context and the box is used to provide a rotational context.

ABC unit basis vectors.
ABC unit basis vectors.

Typically, in electrical engineering (or any other context that uses three-phase systems), the three-phase components are shown in a two-dimensional perspective. However, given the three phases can change independently, they are by definition orthogonal to each other. This implies a three-dimensional perspective, as shown in the figure above. So, the two-dimensional perspective is really showing the projection of the three-dimensional reality onto a plane.

Two-dimensional perspective of a three-dimensional reality.
Two-dimensional perspective of a three-dimensional reality.

Three-phase problems are typically described as operating within this plane. In reality, the problem is likely a balanced-phase problem (i.e., vA + vB + vC = 0) and the net vector

<math>\vec{v} = v_{A}\hat{u}_{A} + v_{B}\hat{u}_{B} + v_{C}\hat{u}_{C}</math>

is always on this plane.

The AYC' unit basis vectors

To build the Clarke transform, we actually use the Park transform in two steps. Our goal is to rotate the C axis into the corner of the box. This way the rotated C axis will be orthogonal to the plane of the two-dimensional perspective mentioned above. The first step towards building the Clarke transform requires rotating the ABC reference frame about the A axis. So, this time, the 1 will be in the first element of the Park transform:

<math>K_{1} = \begin{bmatrix}
  1 & 0 & 0 \\
  0 & \cos{\left(-\frac{\pi}{4}\right)} & \sin{\left(-\frac{\pi}{4}\right)} \\
  0 & -\sin{\left(-\frac{\pi}{4}\right)} & \cos{\left(-\frac{\pi}{4}\right)}

\end{bmatrix}</math>

<math>\to \begin{bmatrix}
  1 & 0 & 0 \\
  0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \\
  0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}

\end{bmatrix}</math> The following figure shows how the ABC reference frame is rotated to the AYC' reference frame when any vector is pre-multiplied by the K1 matrix. The C' and Y axes now point to the midpoints of the edges of the box, but the magnitude of the reference frame has not changed (i.e., the sphere did not grow or shrink).This is due to the fact that the norm of the K1 tensor is 1: ||K1|| = 1. This means that any vector in the ABC reference frame will continue to have the same magnitude when rotated into the AYC' reference frame.

AYC' unit basis vectors. The C' and Y axes now point to the edges of the box, but the magnitude has not changed.
AYC' unit basis vectors. The C' and Y axes now point to the edges of the box, but the magnitude has not changed.

The XYZ unit basis vectors

Next, the following tensor rotates the vector about the new Y axis in a counter-clockwise direction with respect to the Y axis (The angle was chosen so that the C' axis would be pointed towards the corner of the box.):

<math>K_{2} = \begin{bmatrix}
  \cos{\left(\theta\right)} & 0 & -\sin{\left(\theta\right)} \\
  0 & 1 & 0 \\
  \sin{\left(\theta\right)} & 0 & \cos{\left(\theta\right)}

\end{bmatrix}</math>

<math> \theta = \cos^{-1}\left(\sqrt{\frac{2}{3}}\right) \to 35.26^\circ</math>,

or

<math>K_{2} = \begin{bmatrix}
  \sqrt{\frac{2}{3}} & 0 & -\frac{1}{\sqrt{3}} \\
  0 & 1 & 0 \\
  \frac{1}{\sqrt{3}} & 0 & \sqrt{\frac{2}{3}}

\end{bmatrix}</math>. Notice that the distance from the center of the sphere to the midpoint of the edge of the box is 2 but from the center of the sphere to the corner of the box is 3. That is where the 35.26° angle came from. The angle can be calculated using the dot product. Let <math>\vec{m}=\left(0,\frac{\sqrt{2}}{2},\frac{\sqrt{2}}{2}\right)</math> be the unit vector in the direction of C' and let <math>\vec{n} = \left( \frac{1}{\sqrt{3}}, \frac{1}{\sqrt{3}}, \frac{1}{\sqrt{3}} \right) </math> be a unit vector in the direction of the corner of the box at <math>\vec{n} = \left( 1, 1, 1 \right) </math>. Because <math>\vec{m} \cdot \vec{n} = |\vec{m}| |\vec{n}| \cos \theta,</math> where <math>\theta</math> is the angle between <math>\vec{m}</math> and <math>\vec{n},</math> we have

<math>

\left(0,\frac{\sqrt{2}}{2},\frac{\sqrt{2}}{2}\right) \cdot \left( \frac{1}{\sqrt{3}}, \frac{1}{\sqrt{3}}, \frac{1}{\sqrt{3}} \right) = \cos \theta </math>

<math> \cos \theta = 0 + \frac{\sqrt{2}}{2\sqrt{3}} + \frac{\sqrt{2}}{2\sqrt{3}} = \sqrt{\frac{2}{3}}</math>
<math>\theta = \cos^{-1} \left( \sqrt{\frac{2}{3}} \right)</math>
<math>\theta = 35.26^\circ.</math>

The norm of the K2 matrix is also 1, so it too does not change the magnitude of any vector pre-multiplied by the K2 matrix.

XYZ unit basis vectors. The Z axis (rotated C' axis) now points into the corner of the box.
XYZ unit basis vectors. The Z axis (rotated C' axis) now points into the corner of the box.

The zero plane

At this point, the Z axis is now orthogonal to the plane in which any ABC vector without a common-mode component can be found. Any balanced ABC vector waveform (a vector without a common mode) will travel about this plane. This plane will be called the zero plane and is shown below by the hexagonal outline.

Plane of the vectors without common mode indicated by the hexagonal outline. The Z axis is orthogonal to this plane, and the X axis is parallel to the projection of the A axis onto the zero plane.
Plane of the vectors without common mode indicated by the hexagonal outline. The Z axis is orthogonal to this plane, and the X axis is parallel to the projection of the A axis onto the zero plane.

The X and Y basis vectors are on the zero plane. Notice that the X axis is parallel to the projection of the A axis onto the zero plane. The X axis is slightly larger than the projection of the A axis onto the zero plane. It is larger by a factor of 3/2. The arbitrary vector did not change magnitude through this conversion from the ABC reference frame to the XYZ reference frame (i.e., the sphere did not change size). This is true for the power-invariant form of the Clarke transform. The following figure shows the common two-dimensional perspective of the ABC and XYZ reference frames.

Two-dimensional perspective of the ABC and XYZ reference frames.
Two-dimensional perspective of the ABC and XYZ reference frames.

It might seem odd that though the magnitude of the vector did not change, the magnitude of its components did (i.e., the X and Y components are longer than the A, B, and C components). Perhaps this can be intuitively understood by considering that for a vector without common mode, what took three values (A, B, and C components) to express, now only takes 2 (X and Y components) since the Z component is zero. Therefore, the X and Y component values must be larger to compensate.

Combination of tensors

The power-invariant Clarke transformation matrix is a combination of the K1 and K2 tensors:

<math>K_{C} = \underbrace{\begin{bmatrix}
  \sqrt{\frac{2}{3}} & 0 & -\frac{1}{\sqrt{3}} \\
  0 & 1 & 0 \\
  \frac{1}{\sqrt{3}} & 0 & \sqrt{\frac{2}{3}}

\end{bmatrix}}_{K_2}\cdot\underbrace{\begin{bmatrix}

  1 & 0 & 0 \\
  0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \\
  0 & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}

\end{bmatrix}}_{K_1}</math>, or

<math>K_{C} = \sqrt{\frac{2}{3}}\cdot\begin{bmatrix}
  1 & -\frac{1}{2} & -\frac{1}{2} \\
  0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\
  \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}

\end{bmatrix}</math>

<math>\to \begin{bmatrix}
  \frac{2}{\sqrt{6}} & -\frac{1}{\sqrt{6}} & -\frac{1}{\sqrt{6}} \\
  0 & \frac{1}{\sqrt{2}} & -\frac{1}{\sqrt{2}} \\
  \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}} & \frac{1}{\sqrt{3}}

\end{bmatrix}</math>.

Notice that when multiplied through, the bottom row of the KC matrix is 1/3, not 1/3. (Edith Clarke did use 1/3 for the power-variant case.) The Z component is not exactly the average of the A, B, and C components. If only the bottom row elements were changed to be 1/3, then the sphere would be squashed along the Z axis. This means that the Z component would not have the same scaling as the X and Y components.

KC frame (blue) and the original Edith matrix (green).
KC frame (blue) and the original Edith matrix (green).

As things are written above, the norm of the Clarke transformation matrix is still 1, which means that it only rotates an ABC vector but does not scale it. The same cannot be said for Clarke's original transform.

It is easy to verify (by matrix multiplication) that the inverse of KC is

<math>

K^{-1}_C = \begin{bmatrix} \frac{2}{\sqrt{6}} & 0 & \frac{1}{\sqrt{3}}\\ -\frac{1}{\sqrt{6}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{3}} \\ -\frac{1}{\sqrt{6}} & -\frac{1}{\sqrt{2}} & \frac{1}{\sqrt{3}} \end{bmatrix} </math>

Power-variant form

It is sometimes desirable to scale the Clarke transformation matrix so that the X axis is the projection of the A axis onto the zero plane. To do this, we uniformly apply a scaling factor of 2/3 and a 21/radical[why?] to the zero component to get the power-variant Clarke transformation matrix:

<math>K_{\hat{C}} = \sqrt{\frac{2}{3}} \cdot

\underbrace{\sqrt{\frac{2}{3}} \cdot \begin{bmatrix}

  1 & -\frac{1}{2} & -\frac{1}{2} \\
  0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\
  \frac{1}{2} & \frac{1}{2} & \frac{1}{2}

\end{bmatrix}}_{K_C}</math>

<math>\to \frac{2}{3} \begin{bmatrix}
  1 & -\frac{1}{2} & -\frac{1}{2} \\
  0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\
  \frac{1}{2} & \frac{1}{2} & \frac{1}{2}

\end{bmatrix}</math> or

<math>K_{\hat{C}} = \begin{bmatrix}
  \frac{2}{3} & -\frac{1}{3} & -\frac{1}{3} \\
  0 & \frac{1}{\sqrt{3}} & -\frac{1}{\sqrt{3}} \\
  \frac{1}{3} & \frac{1}{3} & \frac{1}{3}

\end{bmatrix}</math>.

This will necessarily shrink the sphere by a factor of 2/3 as shown below. Notice that this new X axis is exactly the projection of the A axis onto the zero plane.

The scaled XYZ reference frame of the power-variant Clarke transform.
The scaled XYZ reference frame of the power-variant Clarke transform.

With the power-variant Clarke transform, the magnitude of the arbitrary vector is smaller in the XYZ reference frame than in the ABC reference frame (the norm of the transform is 2/3), but the magnitudes of the individual vector components are the same (when there is no common mode). So, as an example, a signal defined by

<math>\begin{bmatrix}
  A \\
  B \\
  C

\end{bmatrix} = \begin{bmatrix}

  \cos{\left(\omega t\right)} \\
  \cos{\left(\omega t - \frac{2\pi}{3}\right)} \\
  \cos{\left(\omega t + \frac{2\pi}{3}\right)}

\end{bmatrix}</math> becomes, in the XYZ reference frame,

<math>\begin{bmatrix}
  X \\
  Y \\
  Z

\end{bmatrix} = \begin{bmatrix}

  \cos{\left(\omega t\right)} \\
  \cos{\left(\omega t - \frac{\pi}{2}\right)} \\
  0

\end{bmatrix}</math>, a new vector whose components are the same magnitude as the original components: 1. In many cases, this is an advantageous quality of the power-variant Clarke transform.

The DQZ transform

The DQZ transformation uses the Clarke transform to convert ABC-referenced vectors into two differential-mode components (i.e., X and Y) and one common-mode component (i.e., Z) and then applies the Park transform to rotate the reference frame about the Z axis at some given angle. The X component becomes the D component, which is in direct alignment with the vector of rotation, and the Y component becomes the Q component, which is at a quadrature angle to the direct component. The DQZ transform is

<math>K_{CP} = K_{P}\cdot K_{C}</math>
<math>\to\begin{bmatrix}
  \cos{\left(\theta\right)} & \sin{\left(\theta\right)} & 0 \\
  -\sin{\left(\theta\right)} & \cos{\left(\theta\right)} & 0 \\
  0 & 0 & 1

\end{bmatrix} \cdot \sqrt{\frac{2}{3}} \begin{bmatrix}

  1 & \frac{-1}{2} & \frac{-1}{2} \\
  0 & \frac{\sqrt{3}}{2} & -\frac{\sqrt{3}}{2} \\
  \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}} & \frac{1}{\sqrt{2}}

\end{bmatrix}</math>.

Code implementation

For computational efficiency, it makes sense to keep the Clarke and Park transforms separate and not combine them into one transform.

A computationally-efficient implementation of the power-invariant Clarke transform is <syntaxhighlight lang="c"> X = (2 * A – B – C) * (1 / sqrt(6)); Y = (B – C) * (1 / sqrt(2)); Z = (A + B + C) * (1 / sqrt(3)); </syntaxhighlight> while its inverse is <syntaxhighlight lang="c"> A = (1 / sqrt(3)) * Z; B = A – (1 / sqrt(6)) * X; C = B – (1 / sqrt(2)) * Y; B += (1 / sqrt(2)) * Y; A += (sqrt(2 / 3)) * X; </syntaxhighlight> A computationally-efficient implementation of the power-variant Clarke transform is <syntaxhighlight lang="c"> X = (2*A – B – C) * (1 / 3); Y = (B – C) * (1 / sqrt(3)); Z = (A + B + C) * (1 / 3); </syntaxhighlight> while its inverse is <syntaxhighlight lang="c"> A = X + Z; B = Z – (1 / 2) * X; C = B – (sqrt(3) / 2) * Y; B += (sqrt(3) / 2) * Y; </syntaxhighlight> Evidently, the constant coefficients could be pre-calculated and stored in memory.

A computationally-efficient implementation of the Park transform is <syntaxhighlight lang="c"> co = cos(theta); si = sin(theta);

D = co*X + si*Y; Q = co*Y - si*X; </syntaxhighlight> while its inverse is <syntaxhighlight lang="c"> co = cos(theta); si = sin(theta);

X = co*D - si*Q; Y = si*D + co*Q; </syntaxhighlight> It makes sense to only calculate co and si once if both the Park and inverse Park transforms are going to be used.

Example

In electric systems, very often the A, B, and C values are oscillating in such a way that the net vector is spinning. In a balanced system, the vector is spinning about the Z axis. Very often, it is helpful to rotate the reference frame such that the majority of the changes in the abc values, due to this spinning, are canceled out and any finer variations become more obvious. This is incredibly useful as it now transforms the system into a linear time-invariant system

The DQZ transformation can be thought of in geometric terms as the projection of the three separate sinusoidal phase quantities onto two axes rotating with the same angular velocity as the sinusoidal phase quantities.

DQZ example.
DQZ example.

Shown above is the DQZ transform as applied to the stator of a synchronous machine. There are three windings separated by 120 physical degrees. The three phase currents are equal in magnitude and are separated from one another by 120 electrical degrees. The three phase currents lag their corresponding phase voltages by <math>\delta</math>. The DQ axes are shown rotating with angular velocity equal to <math>\omega</math>, the same angular velocity as the phase voltages and currents. The D axis makes an angle <math>\theta = \omega t</math> with the phase A winding which has been chosen as the reference. The currents <math>I_D</math> and <math>I_Q</math> are constant dc quantities.

Comparison with other transforms

Park's transformation

The transformation originally proposed by Park differs slightly from the one given above. In Park's transformation q-axis is ahead of d-axis, qd0, and the <math>\theta</math> angle is the angle between phase-a and q-axis, as given below:

<math>P= \frac{2}{3}\begin{bmatrix} \cos(\theta)&\cos(\theta - \frac{2\pi}{3})&\cos(\theta + \frac{2\pi}{3}) \\

\sin(\theta)& \sin(\theta - \frac{2\pi}{3})& \sin(\theta + \frac{2\pi}{3}) \\ \frac{1}{2}&\frac{1}{2}&\frac{1}{2} \end{bmatrix}</math>

and

<math>P^{-1} = \begin{bmatrix}\cos(\theta)& \sin(\theta)&1\\

\cos(\theta - \frac{2\pi}{3})& \sin(\theta - \frac{2\pi}{3})&1\\ \cos(\theta + \frac{2\pi}{3})& \sin(\theta + \frac{2\pi}{3})&1\end{bmatrix}</math>

D. Holmes and T. Lipo, Pulse Width Modulation for Power Converters: Principles and Practice, Wiley-IEEE Press, 2003, and

P. Krause, O. Wasynczuk and S. Sudhoff, Analysis of Electric Machinery and Drive Systems, 2nd ed., Piscataway, NJ: IEEE Press, 2002.

αβγ transform

The dqo transform is conceptually similar to the αβγ transform. Whereas the dqo transform is the projection of the phase quantities onto a rotating two-axis reference frame, the αβγ transform can be thought of as the projection of the phase quantities onto a stationary two-axis reference frame.

References

In-line references
<references group="" responsive="1"></references>
General references

See also