Forum: Mikrocontroller und Digitale Elektronik STM32 (nicht F4): Implementierung trigonometrischer Funktionen


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von CORDIC? (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Was ist die schnellste Methode sin/cos auf einem STM32 ohne FPU (=> in 
Fixpunktarithmetik) zu berechnen? CORDIC oder ein anderes Verfahren?

Wenn ich das richtig sehe braucht Cordic für 16bit mindestens 96 add/sub 
und 32 shifts, dazu den Schleifenoverhead, Speicherzugriff und 
letztendlich auch die Fallunterscheidung für die Bereiche.

Ich vermute also, dass andere Approximationen schneller sind, besonders 
mit "single cycle" Multiplikation?

In der CMSIS gibt es ja ein paar Funktionen dafür, von denen jede aber 
anders implementiert ist und verglichen mit CORDIC alle recht viel 
Speicher brauchen. Aber liege ich richtig damit, dass die Entwickler des 
Prozessors diesen auch am besten kennen und damit die optimale Lösung 
haben?

von chris_ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn Du eine fortlaufende Schwingung bräuchtest, dann so:
Beitrag "Re: minimalistische Berechnung einer Sinusschwingung"

von Helmut S. (helmuts)


Bewertung
1 lesenswert
nicht lesenswert
Am schnellsten geht das mit einem Polynom, wenn der Prozessor eine 
schnelle 32x32 Multiplikation kann. Das soltte der ARM können. 
Alternativ mit Tabelle und quadratischer Interpolation.

Cordic ist nur dann schneller, wenn der Prozessor keinen 
Hardware-Multiplizierer mit der gewünschten Wortbreite hätte.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.