TI中文支持网
TI专业的中文技术问题搜集分享网站

alpha, beta 转换(2变3)原理

static inline void SVGEN_run(SVGEN_Handle handle,const MATH_vec2 *pVab,MATH_vec3 *pT)
{

  _iq Vmax,Vmin,Vcom;
  _iq Va,Vb,Vc;
  _iq Va_tmp = -(pVab->value[0]>>1);
  _iq Vb_tmp = _IQmpy(SVGEN_SQRT3_OVER_2,pVab->value[1]);
   Va = pVab->value[0];  //alpha
  Vb = Va_tmp + Vb_tmp; //-0.5*alpha + sqrt(3)/2 * beta;
  Vc = Va_tmp – Vb_tmp; //-0.5*alpha – sqrt(3)/2 * beta;
 
  Vmax=0;
  Vmin=0;

  // find order Vmin,Vmid,Vmax
  if (Va > Vb)   
  {
    Vmax = Va;
    Vmin = Vb;
  }
  else
  {
    Vmax = Vb;
    Vmin = Va;
  }

  if (Vc > Vmax)
  {
    Vmax = Vc;
  }
  else if (Vc < Vmin)
  {
    Vmin = Vc;
  }
  
  Vcom = _IQmpy(Vmax+Vmin, _IQ(0.5));

  // Subtract common-mode term to achieve SV modulation
  pT->value[0] = (Va – Vcom);
  pT->value[1] = (Vb – Vcom);
  pT->value[2] = (Vc – Vcom);
   return;
} // end of SVGEN_run() function

 

这个 函数的 原理 可以讲解一下吗?

10#:

如果你是查看TI提供的参考库,那么请仔细阅读对应的用户手册DMC MATH_v13.1:C:\ti\controlSUITE\libs\app_libs\motor_control\math_blocks\v4.3\~Docs

搜索SVGEN即可。

赞(0)
未经允许不得转载:TI中文支持网 » alpha, beta 转换(2变3)原理
分享到: 更多 (0)