Forum: Digitale Signalverarbeitung / DSP / Machine Learning DSP AD2101 Zahlendastellung


von EiskalterEngel (Gast)


Lesenswert?

Hallo,

Ich habe von der uni aus einen Simulator für den DSP 2101 von analog 
devices.

Bei meinem Übungszettel ist eine Aufgabe dabei, bei der man einen 
Klausur spiegel ausrechnen soll.

die Daten dafür sind:

Note 1 = 10%
Note 2 = 14%
Note 3 = 25%
Note 4 = 18%
Note 5 = 33%

Wenn ich nun den Klausurspiegel manuell ausrechne komme ich auf einen 
Wert von 3,5.

Doch wie kann ich das in dem Zahlenformat des DSPs ausdrücken??

Der liefert ja nur standardmäßig die Formate 1.15 und 16.0.

Im Kurstext wird nicht wirklich gut erklärt wie man andere formate 
wählen kann bzw. wie man überhaupt solche Dezimalzahlen dann durch die 
formate darstellen kann.

Würde mich über eine Antwort sehr freuen.

Gruß
EiskalterEngel (Ein verzweifelter Student)

von Mark B. (markbrandis)


Lesenswert?

Den ADSP2101 hatten wir auch damals auch im Studium. Hach, das waren 
noch Zeiten :-)

In der Tat, entweder kann man mit diesem Integer rechnen oder aber 
Fractional. Im vorliegenden Fall muss man wohl mit einem 
Skalierungsfaktor rechnen, ansonsten wüsste ich auch nicht wie?

Und: Komische Aufgabe, lasst den DSP lieber ein FIR Filter rechnen ;-)

von EiskalterEngel (Gast)


Lesenswert?

Ja, das ist ja schon mal was! Und wie kann man solch einen 
skalierungsfaktor setzen?

Gruß
EiskalterEngel

von Mark B. (markbrandis)


Lesenswert?

Ich denke mir das so:
Man teilt alle Eingangsdaten durch eine geeignete Zweierpotenz (z.B. 8 
oder 16 oder...) so dass die Werte zwischen -1 und 1 liegen (hier: 
zwischen 0 und 1, es gibt keine negativen Noten). Dann addiert und 
multipliziert man fröhlich mit dem DSP, im 1.15 Format. Das Endergebnis 
ist dann eben genau um den Skalierungsfaktor falsch.

Wenn das dem Prof nicht passt, kannst Du ihn ja mal fragen was die 
Aufgabe bitte mit Signalverarbeitung zu tun hat ;-)

von EiskalterEngel (Gast)


Lesenswert?

Also den Vorschlag find ich gut.

Eine sache frage ich mich dann aber noch...

Wenn ich die werte oben alle durch 64 teile, damit diese zwischen 0 und 
1 liegen und ich dann multipliziere und addiere, habe ich hinterher das 
problem dass der Skalierungsfaktor für das Ergebnis aber nicht mehr 64 
sondern 64^2 ist (durch die multiplikationen mit den jeweiligen durch 64 
geteilten eingangsdaten).

Und nu? :(

Gruß
EiskalterEngel

von Mark B. (markbrandis)


Lesenswert?

Falls ich noch Mathe kann (was nicht hinreichend sicher ist ;-)), dann:


Hier mit n=5. Stimmt's?

von EiskalterEngel (Gast)


Lesenswert?

hmn... ?!

Aber da passt doch so was nicht.
Hier skalierst du doch dann erst die einzelnen Teilergebnisse.

Also:
1 * 10 / 64
2 * 14 / 64
...

Das problem ist aber das 10,2,14 schon nicht im 1.15 Format sind.

Daher bin ich davon ausgegangen dass ich
1 / 64 * 10 / 64
2 / 64 * 14 / 64
...


Gruß
EiskalterEngel

von Mark B. (markbrandis)


Lesenswert?

Die Gewichtungsfaktoren sind:
10% = 0.1
14% = 0.14
25% = 0.25
18% = 0.18
33% = 0.33

Die Noten sind: 1,2,3,4,5 und werden mit dem Skalierungsfaktor 
plattgebügelt. Passt doch.

von EiskalterEngel (Gast)


Lesenswert?

joa ich glaub das hat sich erstmal erledigt.

Da hier ja eh von prozenten die Rede ist in der aufgabenstellung, kann 
ich ja auch 10% also 0,1 darstellen. etc.

Ich probiers nochmal, falls ich wieder schwierigkeiten haben sollte, 
dann meld ich mich nochmal

Gruß
EiskalterEngel

von EiskalterEngel (Gast)


Lesenswert?

ja da warst du ein wenig schneller. ;)

Trotzdem danke schon mal

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.