今天正式接触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