![]() |
![]() |
Data Structures | |
struct | _IPARK_Obj_ |
Defines the IPARK object. More... | |
Typedefs | |
typedef struct _IPARK_Obj_ | IPARK_Obj |
Defines the IPARK object. More... | |
typedef struct _IPARK_Obj_ * | IPARK_Handle |
Defines the IPARK handle. More... | |
Functions | |
static float32_t | IPARK_getCosTh (IPARK_Handle handle) |
Gets the cosine of the angle between the d,q and the alpha, beta coordinate systems. More... | |
static void | IPARK_getPhasor (IPARK_Handle handle, MATH_Vec2 *pPhasor) |
Gets the cosine/sine phasor for the inverse Park transform. More... | |
static float32_t | IPARK_getSinTh (IPARK_Handle handle) |
Gets the sine of the angle between the d,q and the alpha, beta coordinate systems. More... | |
IPARK_Handle | IPARK_init (void *pMemory, const size_t numBytes) |
Initializes the inverse Park transform module. More... | |
IPARK_Handle | cla_IPARK_init (void *pMemory, const size_t numBytes) |
static void | IPARK_run (IPARK_Handle handle, const MATH_Vec2 *pInVec, MATH_Vec2 *pOutVec) |
Runs the inverse Park transform module. More... | |
static void | IPARK_setCosTh (IPARK_Handle handle, const float32_t cosTh) |
Sets the cosine of the angle between the d,q and the alpha, beta coordinate systems. More... | |
static void | IPARK_setPhasor (IPARK_Handle handle, const MATH_Vec2 *pPhasor) |
Sets the cosine/sine phasor for the inverse Park transform. More... | |
static void | IPARK_setSinTh (IPARK_Handle handle, const float32_t sinTh) |
Sets the sine of the angle between the d,q and the alpha, beta coordinate systems. More... | |
static void | IPARK_setup (IPARK_Handle handle, const float32_t Th) |
Sets up the inverse Park transform module. More... | |
This module performs the inverse Park transformation, which translates a vector represented in a rotated two phase orthogonal coordinate system (d,q) into a vector represented in a two phase orthogonal reference frame ( ). The following figure shows the coordinate transformation of a general vector x, which can be expressed in either coordinate system.
The inverse Park transform can be described mathematically as follows:
where
is the angle between the two coordinate systems
is the projection of the original vector in the
direction
is the projection of the original vector in the
direction
is the projection of the original vector in the
direction
is the projection of the original vector in the
direction
is a sine function
is a cosine function
Please see the IPARK_init(), IPARK_setup() and IPARK_run() functions define in ipark.h for more details.
There is only one module in this package, the APIs can be referenced at IPARK. The API headers can be located at ipark.h.
typedef struct _IPARK_Obj_ IPARK_Obj |
Defines the IPARK object.
typedef struct _IPARK_Obj_* IPARK_Handle |
Defines the IPARK handle.
|
inlinestatic |
Gets the cosine of the angle between the d,q and the alpha, beta coordinate systems.
[in] | handle | The inverse Park transform handle |
References _IPARK_Obj_::cosTh.
|
inlinestatic |
Gets the cosine/sine phasor for the inverse Park transform.
[in] | handle | The inverse Park transform handle |
[in] | pPhasor | The pointer to the cosine/sine phasor |
References _IPARK_Obj_::cosTh, _IPARK_Obj_::sinTh, and _MATH_Vec2_::value.
|
inlinestatic |
Gets the sine of the angle between the d,q and the alpha, beta coordinate systems.
[in] | handle | The inverse Park transform handle |
return The sine of the angle
References _IPARK_Obj_::sinTh.
IPARK_Handle IPARK_init | ( | void * | pMemory, |
const size_t | numBytes | ||
) |
Initializes the inverse Park transform module.
[in] | pMemory | A pointer to the memory for the inverse Park object |
[in] | numBytes | The number of bytes allocated for the inverse Park object, bytes |
IPARK_Handle cla_IPARK_init | ( | void * | pMemory, |
const size_t | numBytes | ||
) |
|
inlinestatic |
Runs the inverse Park transform module.
[in] | handle | The inverse Park transform handle |
[in] | pInVec | The pointer to the input vector |
[in] | pOutVec | The pointer to the output vector |
References _IPARK_Obj_::cosTh, _IPARK_Obj_::sinTh, and _MATH_Vec2_::value.
|
inlinestatic |
Sets the cosine of the angle between the d,q and the alpha, beta coordinate systems.
[in] | handle | The inverse Park transform handle |
[in] | cosTh | The cosine of the angle |
References _IPARK_Obj_::cosTh.
|
inlinestatic |
Sets the cosine/sine phasor for the inverse Park transform.
[in] | handle | The inverse Park transform handle |
[in] | pPhasor | The pointer to the cosine/sine phasor, pu |
References _IPARK_Obj_::cosTh, _IPARK_Obj_::sinTh, and _MATH_Vec2_::value.
|
inlinestatic |
Sets the sine of the angle between the d,q and the alpha, beta coordinate systems.
[in] | handle | The inverse Park transform handle |
[in] | sinTh | The sine of the angle |
References _IPARK_Obj_::sinTh.
|
inlinestatic |
Sets up the inverse Park transform module.
[in] | handle | The inverse Park transform handle |
[in] | Th | The angle between the d,q and the alpha,beta coordinate systems, rad |
References _IPARK_Obj_::cosTh, and _IPARK_Obj_::sinTh.