DQ变换及其应用

今天正式接触DQ变换,总体上还没有太多了解,网上看到ABC坐标到DQ坐标的变换,先放到此处,再做进一步研究:
void abc_dq(INT16 *abc,INT16 *dq,INT16U t)
{   
    float X_alf,X_blt,seTa;
    
    X_alf = abc[0] - (abc[1]>>1) - (abc[2]>>1);
    X_blt = 0.866025*(abc[1] - abc[2]);   
    
    seTa = 0.130899*t;
    dq[0] = cos(seTa)*X_alf + sin(seTa)*X_blt;
    dq[1] = -1*(sin(seTa)*X_alf) + cos(seTa)*X_blt;   
}  

void dq_abc(INT16 *abc,INT16 *dq,INT16U t)
{   
    float X_alf,X_blt,seTa;    
    
    seTa = 0.130899*t;
    X_alf = cos(seTa)*dq[0] - sin(seTa)*dq[1];
    X_blt = sin(seTa)*dq[0] + cos(seTa)*dq[1];   
    
    abc[0] = X_alf;
    abc[1] = -0.5*X_alf + 0.866025*X_blt;  
    abc[2] = -0.5*X_alf - 0.866025*X_blt;    
} 

0.866025 为二分之根号三
seTa = 0.130899*t; t为采样点序号 0.130899=(2*pi)/48 

 

你可能感兴趣的:(float)