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 4905 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 4934 of file arm_math.h.
1.7.2