Hi,

ich bin schon länger auf der Suche nach einem Algorithmus, welcher schnell den ATN2 berechnen kann. Dabei bin ich auf viele verschiedene Seiten gestoßen, u.a. die hier: http://www.mikrocontroller.net/attac...736/cordic.pdf
Der Algo soll angeblich den Winkel als 16Bit Variable ausgeben, also &h0000 entspricht 0° und &hffff entspricht 360°.
Wenn ich aber die Ergebnisse mit denen der normalen ATN2 Funktion vergleiche, kommt nur Schwachsinn raus! Ich verwende die gleichen Parameter für beide Funktionen und rechne das Ergebnis der normalen Funktion in Grad um.
Hat jemand sowas schonmal gemacht oder kann mir helfen? Ich brauche keine Vorgefertigte Lösung, aber eine Starthilfe wäre nicht schlecht
Eine LookupTabelle kann ich leider aus Platzgründen nicht verwenden. Diese ist zwar für kleine Werte von X/Y noch ausreichend genau, aber irgendwann ist die Abweichung einfach zu groß.
Das Ganze soll in einem ATXMega32A4 (@32MHz) laufen und sollte höchstens 500Takte beanspruchen, wobei das schon die oberste Grenze ist. Die normale ATN2 Funktion benötigt über 3000 Takte, das macht ca. 100µs und ist zu lange.

Gruß & Vielen Dank
Chris