SVGEN_MACRO is defined as
#define SVGEN_MACRO(v) \
...
temp_sv1=_IQdiv2(v.Ubeta); /*divide by 2*/ \
temp_sv2=_IQmpy(_IQ(0.8660254),v.Ualpha); /* 0.8660254 = sqrt(3)/2*/ \
/* Inverse clarke transformation */ \
Va = v.Ubeta; \
Vb = -temp_sv1 + temp_sv2; \
Vc = -temp_sv1 - temp_sv2; \
....
The first thing SVGEN_MACRO do is to do Inverse clarke transformation. But this transformation
confuse me. In my understanding, Inverse clarke transformation is
In other words, SVGEN_MACRO should define Inverse clarke transformat as
temp_sv1=_IQdiv2(v.Ualpha); /*divide by 2*/ \
temp_sv2=_IQmpy(_IQ(0.8660254),v.Ubeta); /* 0.8660254 = sqrt(3)/2*/ \
Va = v.Ualpha; \
Vb = -temp_sv1 + temp_sv2; \
Vc = -temp_sv1 - temp_sv2; \
Is there anything I misunderstand?