Forum: Digitale Signalverarbeitung / DSP / Machine Learning Umwandlung Festkomma --> Fließkomma


von Tom (Gast)


Lesenswert?

Hallo!


Ich sende von einem FPGA Daten, die im Festkommaformat berechnet wurden, 
an einen DSP (TMS320C3x). Nun müssen diese Daten ins Fließkommaformat 
gewandelt werden.


Weiss jemand wie ich im DSP Festkommazahlen in Fließkommazahlen 
umwandeln kann? Es handelt sich um vorzeichenbehaftete 16-Bit 
Festkommazahlen mit 5 Vorkommastellen und 10 Nachkommastellen.
Es muss doch möglich sein dem DSP bekannt zu geben wo sich die 
Kommastelle befindet...


Für Hilfe bin ich sehr dankbar.

von Helmut L. (helmi1)


Lesenswert?

>Es muss doch möglich sein dem DSP bekannt zu geben wo sich die
>Kommastelle befindet...

Du weist doch wo sich die Kommastelle befindet. Also must du doch nur 
deine Festkommazahl durch einen festen Wert teilen.

Angenommen du hast im Festkommaformat 1.5

Binaer waeren das:
S Vor   Nach
0 00001 1000000000

in Hex
0600

Dezimal 1536

Das ganze jetzt durch 1024 geteilt ergibt 1.5 im Fliesskommaformat

Gruss Helmi

von Tom (Gast)


Lesenswert?

Vielen Dank für die Hilfe ... eigentlich ganz einfach  ;)

Gruß
Tom

von Andreas (Gast)


Lesenswert?

Division auf einem DSP ist Mumpitz. Es gibt auf dem VC33 den 
FLOAT-Befehl, der aus einem (fractional) Integer ein Float macht.

Um die Kommastelle an die richtige Stelle zu rücken, muss man im 
vorliegenden Fall mit 32 multiplizieren. Eine Multiplikation geht in 
einem Zyklus, wohingegen eine Division einen Subroutine-Call erfordert.

Mehr dazu: http://focus.ti.com/lit/ug/spru031f/spru031f.pdf in Abschnitt 
5.10

Gruß,
Andreas

von Tom (Gast)


Lesenswert?

Hallo Andreas,

falls du das lesen sollest:

Ich kann die Division ja auch durch ne Rechts-Shift OPeration ersetzen 
und somit das ganze in einem Taktzyklus ausführen, falls ich mich nicht 
irre.

Gruß

von Tom (Gast)


Lesenswert?

Das ist Quatsch, was ich da eben gepostet hab. Danke für den Hinweis

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.