Forum: Digitale Signalverarbeitung / DSP / Machine Learning SHARC ADSP 2106x Zahlen miteinander dividieren??


von LK (Gast)


Lesenswert?

Hallo,

Ich bin neu in dem Gebiet DSP-Programmierung.Mein Problem ist es ein 
Programm zu schreiben, welches das Gaußsche Eliminationverfahren 
ausführen soll.Bei diesem Algorithmus komm ich leider nicht drum herum 
Zahlen miteinander zu Dividieren.Ich programmiere den ADSP 21060 in 
Assembler und laut dem Datenblatt gibt es nicht wirklich ein Operator 
zur Division.Zumindest weiß ich es nicht, wie man eine Division in 
Assembler für den ADSP realisieren kann.
Könnte mir jemand einen Tipp geben,wo ich nachlesen oder Hilfen finden 
könnte?Oder jemand weiß,wie man das machen könnte.

MfG
Lutz

von Mark B. (markbrandis)


Lesenswert?


Eine Ganzzahl-Division mit Rest könnte man auch durch eine fortgesetzte 
Subtraktion erreichen.

Eine Division durch eine Zweierpotenz kann man durch einen Rechts-Shift 
um die entsprechende Anzahl Stellen realisieren.

von LK (Gast)


Lesenswert?

Hi,

Danke für deine Antwort!!
Mein Problem ist eher der Operator der Programmiersprache.Ein Beispiel

F8 = F3/F4;

Dann kommt immer Syntax Error "/" !!
Sprich den Operator "/" gibt es in dieser Sprache nicht.
Selbst wenn ich

F8 = F3 * 1.0/F4;

schreibe macht er den Syntax Error bei "1.0"!!

Bin gerade etwas überfragt.Kann mir jemand Helfen?

MfG
Lutz

von Mark B. (markbrandis)


Lesenswert?


von Anonym (Gast)


Lesenswert?

Gibt es sehr wohl, nur nicht direkt.
Schau mal auf Seite B-39 in dem PDF nach.

von LK (Gast)


Lesenswert?

Ja, das hab ich heut nach dem Mittag dann auch gefunden. Ich hab einfach 
mal in C eine Division programmiert und mir den Assemblercode 
angeschaut.

Fn = RECIPS Fx;

ist da wirklich brauchbar!Jedoch muss man beachten,dass ein Fehler dabei 
entsteht und der ausgeglichen werden muss.
Nur die REPCIPS Funktion verwenden klappt so nicht.Am besten man schaut 
sich die Compilierung an und benutzt die,wenn man es in Assembler 
Programmieren muss.
Trotzdem Danke für eure Tipps!

Lutz

von Mark B. (markbrandis)


Lesenswert?

LK schrieb:
> Am besten man schaut sich die Compilierung an und benutzt die, wenn man es
> in Assembler Programmieren muss.

Hm, für Filter, FFT und so weiter braucht man auch keine Division. Für 
nicht-DSP-relevante Aufgaben vom Prof vielleicht schon ;-)

von Anonym (Gast)


Lesenswert?

Die Subroutine zum Dividieren stand doch auf der gleichen Seite, da wäre 
abschreiben völlig ausreichend.

von Michael (Gast)


Lesenswert?

Ich meine die Divisionsroutine für float kann über math.h eingebunden 
werden.

von Mark B. (markbrandis)


Lesenswert?

In Assembler? :-)

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.