Forum: Digitale Signalverarbeitung / DSP / Machine Learning 32-Bit Fractional ETSI Routines VS. fract2x16 Built-In Functions


von Mike C. (Firma: Arbeitslos) (mikecontroller)


Lesenswert?

ETSI ist ein Standart für Telekomunikation. www.etsi.org
Haben die Builtinfunctions was mit telekomunikation zu tun, oder sind 
sie auch für alle anderen bereiche nützlich? Es gibt ja auch noch die 
fract2x16 Built-In Functions. Für mich scheint das gerade so als gäbe es 
da einfach zwei verschiedene Algorithmen bei denen ein und das selbe 
rauskommet. So wie ich das verstehe sind die Funktionen für DSP in 
Handys schneller, da der Compiler sie dafür günstig in Maschinen und 
Binärcode umwandelt.

Weiß einer kurz die Vor- und Nachteile der beiden Varianten gegenüber zu 
stellen? Macht es Sinn die Funktion der ETSI zu verwenden (außerhalb des 
Telekomunikationsbereichs)?

von Gerhard (Gast)


Lesenswert?

Hi Mike

Die ETSI-Funktionen sind, soweit ich das gelesen habe in, ANSI-C 
geschrieben, haben also keinen Bezug zur Hardware, sind dadurch 
portierbar. "Built-In"-Funktionen sind bei Mikrocontrollern die 
Umsetzung hardware-spezifischer Befehle, die so eigentlich nur in 
Assembler genutzt werden könnten. Um sie auch in C zugänglich zu machen 
sind sie als "Built-In"-Funktionen umgesetzt, sind aber dadurch nicht 
portierbar.

Gerhard

von Mike C. (Firma: Arbeitslos) (mikecontroller)


Lesenswert?

In der Hilfe zum Stichwort "ETSI Support " steht folgendes:


Übersetzung:
"Viele Routinen in der Bibliothek sind stellen built-in functions 
(eingebaute Funktionen) dar. Wo eingebaute Funktionen existieren ersetzt 
der Compiler den Funktionscode mit einer optimalen Assembler vertretung. 
Um die Verwendung der eingebauten ESTI Funktionen und Bibliotheken ab zu 
schalten übersetze mit definertem Makro NO_ETSI_BUILTINS. Jedoch, die 
verwendung der eingebauten Funktionen führt zu besserer Performance 
seitdem es übermäßig vielen abgelegte Funktionsaufrufe zur Bibliothek 
gibt.

Hinweis: Die eingebauten Versionen der Funktionen setzen nicht das 
Übertragsbit und kenntzeichnen nicht den Überlauf.

Hinweis: Die eingebaue Version von einigen ETSI Funktions beeinflusst 
den RND_MOD Speicher in dem ASTAT Register. Für Bit-exacte Ergebnisse, 
sollte der RND_MOD Speicher auf "Runden voreingestellt" gesetzt sein."



Orginaltext in Englisch:
Many of the routines in the library are also represented by built-in 
functions. Where built-in functions exist, the compiler replaces the 
functional code with an optimal inline assembler representation. To 
disable the use of the ETSI built-in functions and use the library 
versions, compile with the macro NO_ETSI_BUILTINS defined. However, use 
of the built-in functions results in better performance since there is 
an overhead in making the function call to the library.

Note: The built-in versions of the functions do not set the Carry and 
Overflow flags.

Note: The built-in versions of some ETSI functions are affected by the 
RND_MOD flag in the ASTAT register. For bit-exact results, the RND_MOD 
flag should be set to provide biased rounding.


Was nach meiner Übersetzung dabei rauskommt ist ziemlich schwammig. Zu 
verstehen für mich ist das weitesgehens versucht wird mit diesem 
Standart auf Hardwareebene zu bleiben. Es soll wohl schneller sein damit 
zu arbeiten. Von portierbakeit ist da keine Rede, aber ist halt ein 
Standart. Ich muss den Preprozessor erst mitteilen das ich die 
Funktionen benutzen will. Ausschalten muss ich das bei Blackfin also 
garnicht. Wie steht das mit dem Carry und Overflow bit aus? fract2x16 
macht das besser? Ich habe fract2x16 builtinfunktions nciht benutzt weil 
sich für mich fract32 besser anhört. - ich verstehe nciht wirklich was 
ich da übersetzt habe.

Bin immernoch recht verwirrt. Alles auf fract2x16 umschreiben. Da gibt 
es leider nciht diese schöne mac funktionen.

von Gerhard (Gast)


Lesenswert?

Hi Mike

wo hast du das gelesen ?
Ich weiss jetzt nicht mehr wo das stand, aber da war von ANSI-C die 
Rede. www.ETSI.ORG kann ich nicht öffnen.

Gerhard

von Mike C. (Firma: Arbeitslos) (mikecontroller)


Lesenswert?

Ich kann die Antwort nicht lesen, weil die Antworten zu diesen Thread 
nicht mehr angezeigt werden. Obwohl zu diesem Tread 3 Antworten 
verzeichnet sind, bekomme ich nur das Ausgangsposting angezeigt.

Andere Threads kann ich lesen.

von Mike C. (Firma: Arbeitslos) (mikecontroller)


Lesenswert?

Ah, jetzt gehts wieder ... die www.ETSI.ORG  Seite gibt es. Bei mir 
dauert es aber sehr lange bis sie geladen ist.

Ich habe das aus der VisualDSP++ 5.0 (90Tage Testversion) Hilfe. Unter 
Suche: "ETSI Support" eingeben. Kann man leider nicht verlinken.

von Mike C. (Firma: Arbeitslos) (mikecontroller)


Lesenswert?

Tja, da kennt sich wohl keiner mit aus. Schade.

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.