# abc to dq0, dq0 to abc

Perform transformation from three-phase (abc) signal to dq0 rotating reference frame or the inverse

• Library:
• Simscape / Electrical / Specialized Power Systems / Control

• • ## Description

The abc to dq0 block uses a Park transformation to transform a three-phase (abc) signal to a dq0 rotating reference frame. The angular position of the rotating frame is given by the input wt, in rad.

The dq0 to abc block uses an inverse Park transformation to transform a dq0 rotating reference frame to a three-phase (abc) signal. The angular position of the rotating frame is given by the input wt, in rad.

When the rotating frame alignment at wt=0 is 90 degrees behind the phase A axis, a positive-sequence signal with Mag=1 and Phase=0 degrees yields the following dq values: d=1, q=0.

`$\begin{array}{c}{V}_{d}=\frac{2}{3}\left({V}_{a}\mathrm{sin}\left(\omega t\right)+{V}_{b}\mathrm{sin}\left(\omega t-2\pi /3\right)+{V}_{c}\mathrm{sin}\left(\omega t+2\pi /3\right)\right)\\ {V}_{q}=\frac{2}{3}\left({V}_{a}\mathrm{cos}\left(\omega t\right)+{V}_{b}\mathrm{cos}\left(\omega t-2\pi /3\right)+{V}_{c}\mathrm{cos}\left(\omega t+2\pi /3\right)\right)\\ {V}_{0}=\frac{1}{3}\left({V}_{a}+{V}_{b}+{V}_{c}\right)\end{array}$`

`$\begin{array}{c}{V}_{a}={V}_{d}\mathrm{sin}\left(\omega t\right)+{V}_{q}\mathrm{cos}\left(\omega t\right)+{V}_{0}\\ {V}_{b}={V}_{d}\mathrm{sin}\left(\omega t-2\pi /3\right)+{V}_{q}\mathrm{cos}\left(\omega t-2\pi /3\right)+{V}_{0}\\ {V}_{c}={V}_{d}\mathrm{sin}\left(\omega t+2\pi /3\right)+{V}_{q}\mathrm{cos}\left(\omega t+2\pi /3\right)+{V}_{0}\end{array}$` The block supports the two conventions used for the Park transformation:

• When the rotating frame is aligned with the phase A axis at t = 0, that is, at t = 0, the d-axis is aligned with the a-axis. This type of Park transformation is also known as the cosine-based Park transformation.

• When the rotating frame is aligned 90 degrees behind the phase A axis, that is, at t = 0, the q-axis is aligned with the a-axis. This type of Park transformation is also known as the sine-based Park transformation. Use this transformation in Simscape™ Electrical™ Specialized Power Systems models with three-phase synchronous and asynchronous machines.

Deduce the dq0 components from the abc signals by performing an abc to αβ0 Clarke transformation in a fixed reference frame. Then perform an αβ0 to dq0 transformation in a rotating reference frame, that is, by performing a −(ω.t) rotation on the space vector Us = uα + j· uβ.

The abc-to-dq0 transformation depends on the dq frame alignment at t = 0. The position of the rotating frame is given by ω.t, where ω represents the dq frame rotation speed.

When the rotating frame is aligned with the phase A axis, the following relations are obtained:

`$\begin{array}{l}{U}_{s}={u}_{d}+j\cdot {u}_{q}=\left({u}_{a}+j\cdot {u}_{\beta }\right)\cdot {e}^{-j\omega t}=\frac{2}{3}\cdot \left({u}_{a}+{u}_{b}\cdot {e}^{\frac{-j2\pi }{3}}+{u}_{c}\cdot {e}^{\frac{j2\pi }{3}}\right)\cdot {e}^{-j\omega t}\\ {u}_{0}=\frac{1}{3}\left({u}_{a}+{u}_{b}+{u}_{c}\right)\\ \left[\begin{array}{c}{u}_{d}\\ {u}_{q}\\ {u}_{0}\end{array}\right]=\frac{2}{3}\left[\begin{array}{ccc}\mathrm{cos}\left(\omega t\right)& \mathrm{cos}\left(\omega t-\frac{2\pi }{3}\right)& \mathrm{cos}\left(\omega t+\frac{2\pi }{3}\right)\\ -\mathrm{sin}\left(\omega t\right)& -\mathrm{sin}\left(\omega t-\frac{2\pi }{3}\right)& -\mathrm{sin}\left(\omega t+\frac{2\pi }{3}\right)\\ \frac{1}{2}& \frac{1}{2}& \frac{1}{2}\end{array}\right]\left[\begin{array}{c}{u}_{a}\\ {u}_{b}\\ {u}_{c}\end{array}\right]\end{array}$`
``

The inverse transformation is given by:

`$\left[\begin{array}{c}{u}_{a}\\ {u}_{b}\\ {u}_{c}\end{array}\right]=\left[\begin{array}{ccc}\mathrm{cos}\left(\omega t\right)& -\mathrm{sin}\left(\omega t\right)& 1\\ \mathrm{cos}\left(\omega t-\frac{2\pi }{3}\right)& -\mathrm{sin}\left(\omega t-\frac{2\pi }{3}\right)& 1\\ \mathrm{cos}\left(\omega t+\frac{2\pi }{3}\right)& -\mathrm{sin}\left(\omega t+\frac{2\pi }{3}\right)& 1\end{array}\right]\left[\begin{array}{c}{u}_{d}\\ {u}_{q}\\ {u}_{0}\end{array}\right]$`

When the rotating frame is aligned 90 degrees behind the phase A axis, the following relations are obtained:

`$\begin{array}{l}{U}_{s}={u}_{d}+j\cdot {u}_{q}=\left({u}_{\alpha }+j\cdot {u}_{\beta }\right)\cdot {e}^{-j\left(\omega t-\frac{\pi }{2}\right)}\\ \left[\begin{array}{c}{u}_{d}\\ {u}_{q}\\ {u}_{0}\end{array}\right]=\frac{2}{3}\left[\begin{array}{ccc}\mathrm{sin}\left(\omega t\right)& \mathrm{sin}\left(\omega t-\frac{2\pi }{3}\right)& \mathrm{sin}\left(\omega t+\frac{2\pi }{3}\right)\\ \mathrm{cos}\left(\omega t\right)& \mathrm{cos}\left(\omega t-\frac{2\pi }{3}\right)& \mathrm{cos}\left(\omega t+\frac{2\pi }{3}\right)\\ \frac{1}{2}& \frac{1}{2}& \frac{1}{2}\end{array}\right]\left[\begin{array}{c}{u}_{a}\\ {u}_{b}\\ {u}_{c}\end{array}\right]\end{array}$`

The inverse transformation is given by:

`$\left[\begin{array}{c}{u}_{a}\\ {u}_{b}\\ {u}_{c}\end{array}\right]=\left[\begin{array}{ccc}\mathrm{sin}\left(\omega t\right)& \mathrm{cos}\left(\omega t\right)& 1\\ \mathrm{sin}\left(\omega t-\frac{2\pi }{3}\right)& \mathrm{cos}\left(\omega t-\frac{2\pi }{3}\right)& 1\\ \mathrm{sin}\left(\omega t+\frac{2\pi }{3}\right)& \mathrm{cos}\left(\omega t+\frac{2\pi }{3}\right)& 1\end{array}\right]\left[\begin{array}{c}{u}_{d}\\ {u}_{q}\\ {u}_{0}\end{array}\right]$`

## Ports

### Input

expand all

abc signal, specified as a vector.

dq0 signal, specified as a vector.

Angular position of the dq rotating frame, in radians, specified as a positive scalar.

### Output

expand all

dq0 signal, returned as a vector.

abc signal, returned as a vector.

## Parameters

expand all

Alignment of the rotating frame at t = 0 of the dq0 components of a three-phase balanced signal:

The positive-sequence magnitude equals 1.0 pu, and the phase angle equals 0 degrees.

When you select `Aligned with phase A axis`, the dq0 components are d = 0, q = −1, and zero = 0.

When you select `90 degrees behind phase A axis`, the dq0 components are d = 1, q = 0, and zero = 0.

## Examples

The `power_Transformations` example shows various ways to use blocks to perform Clarke and Park transformations.

## Extended Capabilities

### C/C++ Code GenerationGenerate C and C++ code using Simulink® Coder™.

Introduced in R2013a