---
name: "clarke3"
section: "9"
platform: "linux"
package: "linuxcnc-uspace"
version: "1:2.9.4-2+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/clarke3"
---

# clarke3(9)

Clarke (3 phase to cartesian) transform

## NAME

clarke3 - Clarke (3 phase to cartesian) transform

## SYNOPSIS

**loadrt clarke3 \[count=*N*\|names=*name1*\[,*name2...*\]\]**

## DESCRIPTION

The Clarke transform can be used to translate a vector quantity from a three phase system (three components 120 degrees apart) to a two phase Cartesian system (plus a homopolar component if the three phases don't sum to zero).

**clarke3** implements the general case of the transform, using all three phases.  If the three phases are known to sum to zero, see **clarke2** for a simpler version.

## FUNCTIONS

- **clarke3.***N* (requires a floating-point thread)

  ## PINS

- **clarke3.*N*.a float in**

  - **clarke3.*N*.b float in**

  - **clarke3.*N*.c float in**

  three phase input vector

- **clarke3.*N*.x float out**

  - **clarke3.*N*.y float out**

  cartesian components of output

- **clarke3.*N*.h float out**

  homopolar component of output

## SEE ALSO

[**clarke2**(9)](/clarke2/9.md) for the 'a+b+c=0' case, [**clarkeinv**(9)](/clarkeinv/9.md) for the inverse transform.

## AUTHOR

John Kasunich

## LICENSE

GPL
