Hallo, könnte mir jemand diese Berechnung kurz erklären? Bei einer App Notes zum XC878 von Infineon gibt es eine CORDIC Berechnung Ta = (unsigned int) ((CD_CORDY)); //ta =m*sin(angle) Tb = ((unsigned int) (((7*(CD_CORDX))>>2)-(CD_CORDY)))>>1; //tb =m*sin(60-angle) Würde dies gerne durchrechnen, aber mir fehlt die Angabe zu m in der Formel. Könnte mir jemand erklären was m bedeutet?? Grüße jack
Noch zur Vervollständigung die kompl. Berechnung. Angle = Angle+Speed_Reference; Sector = (int)((((long)(Angle)*6)>>16) & 0x0007); AngleTab= (unsigned int)Angle-10922*Sector; // AngleTab=(Angle*6)/6 ; //cordic implementation SYSCON0 |= 0x01; CD_STATC = 0x00; CD_CON = 0x0A; //Circular /Rotation Mode CD_CORDYL = 0x00; //Xfinal = K[X cos(Z) - Y sin(Z)] CD_CORDYH = 0x00; //Yfinal = K[Y cos(Z) + X sin(Z)] CD_CORDXH = (Amplitude>>8); CD_CORDZH = (AngleTab>>8); CD_CORDZL = (AngleTab); CD_CORDXL = Amplitude; while(!(CD_STATC & 0x04)); if((Sector&0x0001)==1) { Ta = (unsigned int) ((CD_CORDY)); //ta =m*sin(angle) Tb = ((unsigned int) (((7*(CD_CORDX))>>2)-(CD_CORDY)))>>1; //tb =m*sin(60-angle) } // tb= (sqrt(3)*cos(angle)-sin(angle))/2 else { Tb = (unsigned int) ((CD_CORDY)); //tb =m*sin(angle) Ta = ((unsigned int) (((7*(CD_CORDX))>>2)-(CD_CORDY)))>>1; //ta =m*sin(60-angle) } // tb= (sqrt(3)*cos(angle)-sin(angle))/2 Ich denke das m steht für den Modulationsindex. Ich würde aber gerne die Berechnung im CORDIC nachvollziehen können um m ohne CORDIC zu berechnen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.