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.