Dq0ToAlphaBetaTransform

class Dq0ToAlphaBetaTransform : public vslib::Component

Public Functions

inline  Dq0ToAlphaBetaTransform (std::string_view name, Component &parent, const uint64_t number_points=10 '000)

Creates the Dq0ToAlphaBetaTransform Component.

Parameters:
  • name – Name of the Component

  • parent – Parent of this Component

  • number_points – Number of points for the sine and cosine lookup tables

std::tuple<double, double, double> transform(const double d, const double q, const double zero, const double theta, const bool a_alignment = true) noexcept

Performs d-q-0 to a-b-c transform from a dq0 rotating reference frame to three-phase (abc). Angular position of the rotating frame is given by input wt. By default, the a-phase to q-axis alignment is assumed but this can be modified with the manual offset parameter.

Parameters:
  • d – d value

  • q – q value

  • zero – zero value

  • theta – angle (in radians) between q and a

  • a_alignment – Whether the frame alignment at t=0 is aligned with A-axis (true) or 90 degrees behind A-axis (false)

Returns:

Tuple of alpha, beta, zero values