求SVGEN具体的算法资料

2019-07-14 21:29发布

#define SVGENDQ_MACRO(v)                                                                                                               
        v.tmp1= v.Ubeta;                                                                                                                       
        v.tmp2= _IQdiv2(v.Ubeta) + (_IQmpy(_IQ(0.866),v.Ualpha));                                       
    v.tmp3= v.tmp2 - v.tmp1;                                                                                                       
                                                                                                                                                               
        v.VecSector=3;                                                                                                                               
        v.VecSector=(v.tmp2> 0)?( v.VecSector-1):v.VecSector;                                               
        v.VecSector=(v.tmp3> 0)?( v.VecSector-1):v.VecSector;                                               
        v.VecSector=(v.tmp1< 0)?(7-v.VecSector) :v.VecSector;                                               
                                                                                                                                                               
        if     (v.VecSector==1 || v.VecSector==4)                                   
      {     v.Ta= v.tmp2;                                                                                                                
                      v.Tb= v.tmp1-v.tmp3;                                                                                                
                      v.Tc=-v.tmp2;                                                                                                               
      }                                                                                                                                                   
                                                                                                                                                                  
    else if(v.VecSector==2 || v.VecSector==5)                                   
      {     v.Ta= v.tmp3+v.tmp2;                                                                                                
                      v.Tb= v.tmp1;                                                                                                                
                      v.Tc=-v.tmp1;                                                                                                               
      }                                                                                                                                                          
                                                                                                                                                                  
    else                                                                        
      {     v.Ta= v.tmp3;                                                                                                                
                      v.Tb=-v.tmp3;                                                                                                                
                      v.Tc=-(v.tmp1+v.tmp2);                                                                                               
      }                                                                                                                                                          
                                                                                                                                                               
这是TI例程,现在的SVPWM算法和以前的有所差距。。。基本原理相同,但是算法精简了很多,有朋友有针对上面程序的算法资料吗。。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。