Appearance
dq0 → abc (Inverse Park)
Inverse Park (dq0 → abc) transform. Maps the direct (d), quadrature (q), and zero-sequence (0) components of a synchronously rotating dq frame back to three instantaneous phase signals a, b, c, using the angle θ (radians, wired in — usually the same PLL / rotor-position signal that drives the forward transform). The d-axis is aligned with cos θ (q lags), so it is the exact inverse of the abc → dq0 block: a = C·(d·cosθ − q·sinθ) + C0·0, b = C·(d·cos(θ−2π/3) − q·sin(θ−2π/3)) + C0·0, c = C·(d·cos(θ+2π/3) − q·sin(θ+2π/3)) + C0·0. Choose amplitude-invariant scaling (C=1, C0=1) or power-invariant scaling (C=√(2/3), C0=√(1/3)); use the same convention on both blocks. Typical use is the modulation / reference-generation stage of an inverter or motor drive: a current/voltage controller produces d,q setpoints that this block turns into the per-phase references for the PWM stage.
Category: Math
Overview
The dq0 → abc block is the inverse Park transform: it takes the direct (d), quadrature (q), and zero-sequence (0) components of a frame spinning with the angle θ you wire in and reconstructs the three instantaneous phase signals
It is the output stage of a vector-control loop. A current or voltage regulator works in the rotating dq frame, where setpoints are DC and PI control is easy; this block turns those d,q commands back into the per-phase references that drive the modulator (PWM / SVPWM) of an inverter or motor drive.
It is the exact inverse of the abc → dq0 block (forward Park): feed one block's outputs through the other with the same angle and scaling and you recover the original signals.
The transform
With
The block is stateless — each output is an algebraic function of the present inputs only, evaluated every time step. No filtering or memory.
Scaling convention
The Scaling parameter sets the magnitude constants abc → dq0 block in the same loop:
| Scaling | Pairs with | ||
|---|---|---|---|
| Amplitude (2/3) | forward | ||
| Power (√2/3) | forward |
- Amplitude-invariant reconstructs
abcat the same amplitude as thed,qinputs — ad,qvector of magnitudeyields phase waveforms of peak . This is the usual motor / power-electronics choice. - Power-invariant is the orthonormal inverse that preserves instantaneous power across the transform.
With matching scalings the forward → inverse round trip is the identity (see the abc → dq0 page for the forward constants).
Sign and alignment convention
The d-axis is aligned with
i.e. a vector of amplitude q.
Zero-sequence
The 0 input adds a common-mode term zero unwired (treated as 0) for the usual balanced three-wire case; drive it to inject a deliberate common-mode component, for example third-harmonic / zero-sequence injection that extends the linear modulation range.
Wiring
- d, q ← the regulator outputs in the rotating frame.
- zero ← the zero-sequence command (optional; 0 if unwired).
- theta ← the frame angle in radians — use the same angle source that drives the forward
abc → dq0block (rotor position or PLL). - a, b, c → the per-phase references, typically into the modulator (PWM / SVPWM) stage.
When to use something else
- abc → dq0 (forward Park) — the measurement-side map that takes sampled phase signals into the rotating frame for the regulators.
Ports
| Name | Direction | Value type | Notes |
|---|---|---|---|
d | input | double | |
q | input | double | |
zero | input | double | |
theta | input | double | |
a | output | double | |
b | output | double | |
c | output | double |
Parameters
| Name | Label | Type | Default | Units | Description |
|---|---|---|---|---|---|
scaling | Scaling | enum (Amplitude (2/3) / Power (√2/3)) | 0 | — | Magnitude-scaling convention; must match the forward abc → dq0 block in the same loop. Amplitude-invariant (C=1) reconstructs abc at the dq peak amplitude — the usual choice for motor / power-electronics control. Power-invariant (√(2/3)) is the orthonormal inverse that preserves instantaneous power across the transform. |
