Data Structures | Typedefs | Functions
IPARK

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...
 

Detailed Description

Inverse Park (IPARK) Transform Module

Description

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 ( $ \alpha,\beta $). 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:

\[ x_{\alpha} = x_{d}cos(\theta) - x_{q}sin(\theta) \]

\[ x_{\beta} = x_{d}sin(\theta) + x_{q}cos(\theta) \]


where

$ \theta $ is the angle between the two coordinate systems
$ x_{\alpha} $ is the projection of the original vector in the $ X_{\alpha} $ direction
$ x_{\beta} $ is the projection of the original vector in the $ X_{\beta} $ direction
$ x_{d} $ is the projection of the original vector in the $ X_{d} $ direction
$ x_{q} $ is the projection of the original vector in the $ X_{q} $ direction
$ sin() $ is a sine function
$ cos() $ is a cosine function

Please see the IPARK_init(), IPARK_setup() and IPARK_run() functions define in ipark.h for more details.

Integration Information

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 Documentation

◆ IPARK_Obj

typedef struct _IPARK_Obj_ IPARK_Obj

Defines the IPARK object.

◆ IPARK_Handle

typedef struct _IPARK_Obj_* IPARK_Handle

Defines the IPARK handle.

Function Documentation

◆ IPARK_getCosTh()

static float32_t IPARK_getCosTh ( IPARK_Handle  handle)
inlinestatic

Gets the cosine of the angle between the d,q and the alpha, beta coordinate systems.

Parameters
[in]handleThe inverse Park transform handle
Returns
The cosine of the angle

References _IPARK_Obj_::cosTh.

◆ IPARK_getPhasor()

static void IPARK_getPhasor ( IPARK_Handle  handle,
MATH_Vec2 pPhasor 
)
inlinestatic

Gets the cosine/sine phasor for the inverse Park transform.

Parameters
[in]handleThe inverse Park transform handle
[in]pPhasorThe pointer to the cosine/sine phasor
Returns
None

References _IPARK_Obj_::cosTh, _IPARK_Obj_::sinTh, and _MATH_Vec2_::value.

◆ IPARK_getSinTh()

static float32_t IPARK_getSinTh ( IPARK_Handle  handle)
inlinestatic

Gets the sine of the angle between the d,q and the alpha, beta coordinate systems.

Parameters
[in]handleThe inverse Park transform handle

return The sine of the angle

References _IPARK_Obj_::sinTh.

◆ IPARK_init()

IPARK_Handle IPARK_init ( void *  pMemory,
const size_t  numBytes 
)

Initializes the inverse Park transform module.

Parameters
[in]pMemoryA pointer to the memory for the inverse Park object
[in]numBytesThe number of bytes allocated for the inverse Park object, bytes
Returns
The inverse Park (IPARK) object handle

◆ cla_IPARK_init()

IPARK_Handle cla_IPARK_init ( void *  pMemory,
const size_t  numBytes 
)

◆ IPARK_run()

static void IPARK_run ( IPARK_Handle  handle,
const MATH_Vec2 pInVec,
MATH_Vec2 pOutVec 
)
inlinestatic

Runs the inverse Park transform module.

Parameters
[in]handleThe inverse Park transform handle
[in]pInVecThe pointer to the input vector
[in]pOutVecThe pointer to the output vector
Returns
None

References _IPARK_Obj_::cosTh, _IPARK_Obj_::sinTh, and _MATH_Vec2_::value.

◆ IPARK_setCosTh()

static void IPARK_setCosTh ( IPARK_Handle  handle,
const float32_t  cosTh 
)
inlinestatic

Sets the cosine of the angle between the d,q and the alpha, beta coordinate systems.

Parameters
[in]handleThe inverse Park transform handle
[in]cosThThe cosine of the angle
Returns
None

References _IPARK_Obj_::cosTh.

◆ IPARK_setPhasor()

static void IPARK_setPhasor ( IPARK_Handle  handle,
const MATH_Vec2 pPhasor 
)
inlinestatic

Sets the cosine/sine phasor for the inverse Park transform.

Parameters
[in]handleThe inverse Park transform handle
[in]pPhasorThe pointer to the cosine/sine phasor, pu
Returns
None

References _IPARK_Obj_::cosTh, _IPARK_Obj_::sinTh, and _MATH_Vec2_::value.

◆ IPARK_setSinTh()

static void IPARK_setSinTh ( IPARK_Handle  handle,
const float32_t  sinTh 
)
inlinestatic

Sets the sine of the angle between the d,q and the alpha, beta coordinate systems.

Parameters
[in]handleThe inverse Park transform handle
[in]sinThThe sine of the angle
Returns
None

References _IPARK_Obj_::sinTh.

◆ IPARK_setup()

static void IPARK_setup ( IPARK_Handle  handle,
const float32_t  Th 
)
inlinestatic

Sets up the inverse Park transform module.

Parameters
[in]handleThe inverse Park transform handle
[in]ThThe angle between the d,q and the alpha,beta coordinate systems, rad
Returns
None

References _IPARK_Obj_::cosTh, and _IPARK_Obj_::sinTh.


Copyright 2023, Texas Instruments Incorporated