Jump to main content

##

# 3.3.8 mcFoc_ClarkeTransformation

## C

    /* Clarke Transformation */
    void mcFoc_ClarkeTransformation( const tmcTypes_ABC_s * pABC, tmcTypes_AlphaBeta_s * const pAlphaBeta )

## Summary

Clarke Transformation

## Description

This function performs the Clarke transformation to convert three-phase currents into two-phase alpha-beta currents.

The Clarke transform is a linear transformation, shown in following equation, which can apply to any vector quantity X, although typical examples are voltage V, current I, or flux linkage ψ.

X α=2 3 X A−1 3 X B−1 3 X C=X A
X β=1 3 X A+2 3 X B

The function assumes that the sum of the three-phase values is zero (X A+X B+X C=0), which is a common assumption in balanced three-phase systems.

## Precondition

None..

## Parameters

Param | Description
--- | ---
pABC | A pointer to the structure holding three-phase currents.
pAlphaBeta | A pointer to the structure holding alpha-beta currents.

## Returns

None

## Example

    tmcTypes_ABC_s phaseValues = { .a = 1.0f, .b = 0.5f, .c = -1.5f };
    tmcTypes_AlphaBeta_s AlphaBeta;;
    mcFoc_ClarkeTransformation(&phaseValues, &AlphaBeta);

## Remarks

None.