Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Mathematische Funktionen (sin,cos,atan) Kategorie: Programmierung Basic (von Ralf Rosche - 12.10.2021 17:28)
Ralf Rosche nutzt:  CC1-Unit V1.1, CC1-M-Unit V1.1, CC1-Station V1.1, C-Control 2
Hallo zusammen,
ich habe eine Anwendung (Kompass), bei der ich über den Raumvektor mit Wert des Magnetsensor den Winkel in Relation zur Nordrichtung berechnen will, das sind Standardformeln aus der Trigonometrie, die sin, cos und atan bzw atan2 erfordern.

Es gibt verschiedene Möglichkeiten sich numerisch zu nähern. z.B. über Integrale oder recht genau mit der Polynominterpolation nach Tayler (sog. Taylorreihen) Wenn man z.B. im Bereich bis 90 Grad rechnet lassen sich andere Bereich daraus ermitteln.

Eine einfache Taylorreihe mit 16Bit ist noch recht performant, Näherungsintegrale brauchen einige Sekunden. Auch den Cordic Algorithmus (eine Berechnung von definierten Phasendrehungen über ein Rechnen mit komplexen Zahlen) habe ich versuchsweise in CCBasic probiert. Ist aber auch Sekunden beschäftigt.

Hat jemand vielleicht mal sowas in Assembler nachgebaut?
Wie sieht es mit Lookup Tabellen aus, ansich reicht eine Aflösung von 1 Grad.

Auf der CCII ist das kein Problem, die kennt atan, sin, cos

Gruss Ralf

 Antwort schreiben

Bisherige Antworten:

Re: Mathematische Funktionen (sin,cos,atan) (von das |_ Team - 13.10.2021 23:58)
Re: Mathematische Funktionen (sin,cos,atan) (von Dietmar - 12.10.2021 17:39)