Forum: Digitale Signalverarbeitung / DSP / Machine Learning Einfache Aufgabe für Nachrichtentechniker ?


von Daniel K. (Firma: southpark SOP) (eric2000)


Lesenswert?

Hallo Leute,

ich habe mittels DFT aus einem diskreten Singnal, das Frequenzspektrum 
errechnet. Nun möchte ich die Beträge der jeweiligen Amplituden in dB 
darstellen. Nur wie ?

10*LOG(P/P0) ?

Was ist hier mein Bezugswert P0 ?

Habe ja nur das diskretisierte Signal.

Hat jemand einen Tip ?

Thx,
eric

von Missikatze (Gast)


Lesenswert?

Einfacher Weg:
Eine Refferenz an dein Gerät anschließen und deine Errechneten Werte ins 
Verhältniss setzen.

von Daniel K. (Firma: southpark SOP) (eric2000)


Lesenswert?

Bei dem Signal handelt es sich um die Stimme vom Mikrofon (PCM).
Die Werte der Amplituden sind sehr groß. Eigentlich ist dB ja für 
Systeme mit Eingangssignal und Ausgangssignal. Aber ich bekomme mit der 
Wave-API (Win32) nur das diskretisierte PCM Signal. Was kann ich da als 
Referenz nehmen ?

Thx,
eric

von Daniel K. (Firma: southpark SOP) (eric2000)


Angehängte Dateien:

Lesenswert?

siehe Anhang

von gast (Gast)


Lesenswert?

es ist egal, welchen referenz du nimmst.

normalerweise nimmt man 1mW... also für P0= 1mW und für P dein Signal

von Detlef _. (detlef_a)


Lesenswert?

>>Was kann ich da als Referenz nehmen ?
Was immer Du willst! 1 : [dB], 1mW [dBm], 1uV :[dBuV]
Bei Prozent kannst Du Dich ja auch auf eine Grundgröße Deiner Wahl 
beziehen. Wie hatten mal nen Kunden der Winter hieß und dessen 
fehlerhafte Abnahmemessungen für uns maßgebend waren, da haben wir in 
dBWinter gerechnet.

Cheers
Detlef

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

und wir hatten einen Kunden dessen Namen wir mit gleich einem MilliBel 
gesetzt haben.

von Daniel K. (Firma: southpark SOP) (eric2000)


Lesenswert?

haha =)

aber konkret:

kann mit den obigen Tips / Referenzen nichts anfangen.

> Was immer Du willst! 1 : [dB], 1mW [dBm], 1uV :[dBuV]

für mW oder uV oder ähnlich müsste ich auf AD-Wandler beziehen ?

Habe ein Signal:

u(k*Ta) = [100, 200, 120, 300, ...]   // k = 0 ... N-1

nach FFT habe ich:

U(i)  // i = 0 ... N/2

mit komplexen Zahlen der jeweiligen Frequenzen (Spektrum von u(k*Ta)).

Aus den komplexen Zahlen errechne ich den Betrag und somit die 
Amplituden
des Frequenzspektrums.

Diese sind aber ziemlich große Werte. Jetzt kann ich durch einen Faktor 
teilen oder Modulo rechnen. Aber Logarithmus und dB wäre denke ich am 
besten.

Weiss jemand, wie ich das Frequenzspektrum geeignet logarithmiere (in 
dB?) ?

=)

Thx,
eric

von Detlef _. (detlef_a)


Lesenswert?

> kann mit den obigen Tips / Referenzen nichts anfangen.
>
>> Was immer Du willst! 1 : [dB], 1mW [dBm], 1uV :[dBuV]
>

> Weiss jemand, wie ich das Frequenzspektrum geeignet logarithmiere (in
> dB?)

Du nimmst die Beträge der komplexen Zahlen und berechnest 20*log10 
davon. Dann haste dBs bezogen auf 1. Jetzt kannst den höchsten dB Wert 
von allen abziehen (dBspektrum = dBspektrum-max(dBspektrum)), dann haste 
das auf den höchsten dB Wert bezogen. Was ist denn daran nicht zu 
verstehen?

Cheers
Detlef

von Daniel K. (Firma: southpark SOP) (eric2000)


Lesenswert?

>Cheers
>Detlef

Thx,
eric

von Daniel K. (Firma: southpark SOP) (eric2000)


Lesenswert?

Sorry !

siehe Beitrag "Leistungsdichte Spektr. richtig berechnen"
letzten beiden posts !

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.