CSI-DSP  Version 1.0.0
CSI DSP Software Library
函数
反向clarke变换

函数

void csky_inv_clarke_f32 (float32_t Ialpha, float32_t Ibeta, float32_t *pIa, float32_t *pIb)
 浮点逆向clarke变换 更多...
 
void csky_inv_clarke_q31 (q31_t Ialpha, q31_t Ibeta, q31_t *pIa, q31_t *pIb)
 Q31逆向clarke变换 更多...
 

简要说明

反向clarke变换转换时间不变双坐标向量为瞬时定子相,即把αβ坐标转换成abc坐标。

函数每次操作一个单独的数据样本,并且每次调用直接返回处理结果。 库为Q31和浮点数据类型分别提供了不同的函数。

算法
clarkeInvFormula.gif
其中 pIapIb 是瞬时定子相, IalphaIbeta 是时间不变的双坐标向量。
定点行为
使用Q31版本clarke变换函数需要注意。 特别是要考虑,在每个函数内使用的累加器的溢出和饱和行为。 具体参考每个函数各自的文档和使用说明。

函数说明

void csky_inv_clarke_f32 ( float32_t  Ialpha,
float32_t  Ibeta,
float32_t pIa,
float32_t pIb 
)
参数
[in]Ialpha输入的两相正交矢量轴 alpha
[in]Ibeta输入的两相正交矢量轴 beta
[out]pIa输出的三相坐标 a
[out]pIb输出的三相坐标 b
void csky_inv_clarke_q31 ( q31_t  Ialpha,
q31_t  Ibeta,
q31_t pIa,
q31_t pIb 
)
参数
[in]Ialpha输入的两相正交矢量轴 alpha
[in]Ibeta输入的两相正交矢量轴 beta
[out]pIa输出的三相坐标 a
[out]pIb输出的三相坐标 b

缩放和溢出行为:

函数实现使用了一个内部32位累加器。 累加器维持1.31格式,丢弃中间乘法结果2.62格式的低32位 相加用的是饱和计算,所以不会溢出。