Forum: Mikrocontroller und Digitale Elektronik atan2 in int ausführen


von Erik H. (agutanus)


Lesenswert?

Ich bastle in Simulink eine Regelung, welche unter anderem 
Beschleunigungssensoren auswertet um einen Lagewinkel zu berechnen.
Dazu verwende ich einen atan2-Block, welcher direkt die Sensor-Werte in 
einen Winkel (+-pi) verrechnet.
Aus dem Regelblock soll später C-Code für einen µC (STM32F107) generiert 
werden, welcher aus Performance-Gründen in int32 (Festkommaarithmetik) 
ausgeführt sein sollte.
(Skalierung: LSB = 2^-16, wird eventuell noch angepasst)

Nun kann der atan2-Block leider nicht in int32 übersetzt werden...
Zwar könnte ich das ganze mit einer lookup-table und diversen switches 
lösen, gefällt mir aber nicht so richtig.

Kennt jemand C oder Matlab-Code für eine atan2-Funktion, welcher in int 
ausgeführt ist?
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
Noch kein Account? Hier anmelden.