This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Clarke和Park变换



我试着用VC编了看看,怎么没法变成直流的?

// 角度和幅度输入(float),

float SinInput(float a,float t)

{

       float f;

       f=(float)a*sin(3.1415926/180*t);

       return f;

}

float Iq,Id;

void Clarke(float ia,float ib)

{

       Id=ia;

       Iq=(2*ib+ia)/sqrt(3.0);

}

float ID,IQ;

float TA;

void Park(void)

{

       ID=Id*cos(TA)+Iq*sin(TA);

       IQ=-Id*sin(TA)+Iq*cos(TA);

}

void main12(void)

{

       long i,j,k;

       float a;

       j=0;

       k=5;

       a=9.0;

       for(i=0;i<(360/k);i++)

       {

               //printf("|(%3d)%7.4f(%7.4f),",i*k,SinInput(a,i*k),SinInput(a,i*k+120));

               TA=i*k;

               Clarke(SinInput(a,i*k),SinInput(a,i*k+120));

               Park();

               printf("|(%3d)%7.4f(%7.4f),",i*k,ID,IQ);

               j++;

               if(j>=3)

               {

                       j=0;

                       printf("\n");

               }

       }

}

IQ,ID得到的结果是交流,怎样才能得到直流?是不是角度TA还是哪里出了问题?谢谢高手的指点!