CMSIS-DSP
Version 1.5.2
CMSIS DSP Software Library
|
Functions | |
CMSIS_INLINE __STATIC_INLINE void | arm_clarke_f32 (float32_t Ia, float32_t Ib, float32_t *pIalpha, float32_t *pIbeta) |
Floating-point Clarke transform. More... | |
CMSIS_INLINE __STATIC_INLINE void | arm_clarke_q31 (q31_t Ia, q31_t Ib, q31_t *pIalpha, q31_t *pIbeta) |
Clarke transform for Q31 version. More... | |
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. CMSIS_INLINE __STATIC_INLINE void arm_clarke_f32 | ( | float32_t | Ia, |
float32_t | Ib, | ||
float32_t * | pIalpha, | ||
float32_t * | pIbeta | ||
) |
[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 |
CMSIS_INLINE __STATIC_INLINE void arm_clarke_q31 | ( | q31_t | Ia, |
q31_t | Ib, | ||
q31_t * | pIalpha, | ||
q31_t * | pIbeta | ||
) |
[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:
References __QADD().