Functions | |
static INLINE void | arm_clarke_f32 (float32_t Ia, float32_t Ib, float32_t *pIalpha, float32_t *pIbeta) |
static INLINE void | arm_clarke_q31 (q31_t Ia, q31_t Ib, q31_t *pIalpha, q31_t *pIbeta) |
Forward Clarke transform converts the instantaneous stator phases into a two-coordinate time invariant vector. Generally the Clarke transform uses three-phase currents Ia, Ib and Ic
to calculate currents in the two-phase orthogonal stator axis Ialpha
and Ibeta
. When Ialpha
is superposed with Ia
as shown in the figure below
Stator current space vector and its components in (a,b).
and Ia + Ib + Ic = 0
, in this condition Ialpha
and Ibeta
can be calculated using only Ia
and Ib
.
The function operates on a single sample of data and each call to the function returns the processed output. The library provides separate functions for Q31 and floating-point data types.
Ia
and Ib
are the instantaneous stator phases and pIalpha
and pIbeta
are the two coordinates of time invariant vector. static INLINE void arm_clarke_f32 | ( | float32_t | Ia, |
float32_t | Ib, | ||
float32_t * | pIalpha, | ||
float32_t * | pIbeta | ||
) | [static] |
Floating-point Clarke transform.
[in] | Ia | input three-phase coordinate a |
[in] | Ib | input three-phase coordinate b |
[out] | *pIalpha | points to output two-phase orthogonal vector axis alpha |
[out] | *pIbeta | points to output two-phase orthogonal vector axis beta |
Definition at line 4716 of file arm_math.h.
static INLINE void arm_clarke_q31 | ( | q31_t | Ia, |
q31_t | Ib, | ||
q31_t * | pIalpha, | ||
q31_t * | pIbeta | ||
) | [static] |
Clarke transform for Q31 version.
[in] | Ia | input three-phase coordinate a |
[in] | Ib | input three-phase coordinate b |
[out] | *pIalpha | points to output two-phase orthogonal vector axis alpha |
[out] | *pIbeta | points to output two-phase orthogonal vector axis beta |
Scaling and Overflow Behavior:
Definition at line 4745 of file arm_math.h.