hallo, ich will ne winkelauswertung eines drehgebers realisieren. das kann man über eine nachlaufsteuerung und einem zähler realiseren oder aber durch direkte berechnung des winkel=> arctan=sin(x)/cos(x) aus den resolversignalen. wenn man sich für die zweite variante entscheidet, stellt sich die frage wie lange (wieviel taktzyklen) ein dsp dafür braucht. danach würde sich auch die auswahl des eventuellen dsp's richten, wenn es nicht bei dieser einen berechnung bleiben soll. woher weiß man generell wie solche prozessoren bestimmte rechenbefehle ausrechnen? arctan kann man zum beispiel in einer reihe entwickeln, so dass dann nur noch addition und multiplikation übrig bleibt, was ein dsp gut rechnen kann. macht dies ein auf dsp zugeschnittener compiler? also leute mit erfahrung werden über die frage lachen, würde mich dennoch für tips und hinweise bedanken... danke gruß alex
arctan=sin(x)/cos(x) Nicht wirklich ... Ein gängiger DSP benötigt dafür genauigkeitsabhängig keine 100 Takte. Typische Taktfrequenzen liegen zwischen 80 ... 400MHz. Basisfunktionen werden z.T. mitgeliefert (je nach Hersteller).
Hallo, wenn Du z.B. nen AVR (uC, nicht mal DSP) in C programmierst und atan2((double)y,(double)x) benutzt, werden die benötigten Routinen aus einer library zugelinkt, das kostet 1k codesize pi*Daumen, Berechnung dauert auch, muß man sich aber nicht um Reihenentwicklungen etc. kümmern, selbst ein solch kleiner 8-Bitter kann das gut, wenn man Zeit und Platz hat. Den ersten Teil der Frage verstehe ich nicht richtig (tan(x)=sin(x)/cos(x), was issn nen Resolver), ich habe aber ne prima C-Routine, die Dir aus zwei 16-Bit y,x den Winkel dazwischen als 16Bit-Zahl berechnet, recht schlank und ohne Multiplikationen, wenn die nützt, kann ich die posten. Cheers
"recht schlank und ohne Multiplikationen" Lass mich raten, das Cordic-Verfahren? Sobald die reale Hardware über einen Multiplizierer verfügt ist diese Variante im Vergleich zu Reihe usw. nicht mehr praktikabel ... Auf FPGAs u.Ä. hat sie jedoch ihre Berechtigung. Eine Reihenentwicklung wird in den gängigen Bibliotheken eher nicht verwendet. Besser ist es, mittels der Methode der kleinsten Quadrate ein Polynom "durch" charakteristische Punkte der Ursprungsfunktion zu legen.
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.