CMSIS2000
0.0.7
|
Forward Clarke transform converts the instantaneous stator phases into a two-coordinate time invariant vector. More...
Functions | |
__STATIC_INLINE void | arm_clarke_f32 (float32_t Ia, float32_t Ib, float32_t *pIalpha, float32_t *pIbeta) |
Floating-point Clarke transform. | |
__STATIC_INLINE void | arm_clarke_q31 (q31_t Ia, q31_t Ib, q31_t *pIalpha, q31_t *pIbeta) |
Clarke transform for Q31 version. |
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
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 | ||
) |
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 5396 of file arm_math.h.
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 5426 of file arm_math.h.