Umrechnung in db nach FFT

Gast #1404513
Lesenswert?

Hallo Zusammen,

ich habe das Ergebnis einer FFT vorliegen (komplex, fixed-point) und 
will das so errechnete Frequenzspektrum logarithmisch darstellen.

Dazu muss ich ja zuerst die beiden komplexen Anteile quadrieren, 
addieren, die wurzel ziehen und den log10 berechnen.

Geht das irgendwie elleganter, schneller, schöner? Gibts irgend eine 
Näherung dafür oder sonstige Tricks?

Vielen Dank schon mal für eventuelle Antworten.
Einen schönen Abend

  Max
Admin Persönliche Seite #1404588
Lesenswert?

max schrieb:
> Dazu muss ich ja zuerst die beiden komplexen Anteile quadrieren,
> addieren, die wurzel ziehen und den log10 berechnen.
>
> Geht das irgendwie elleganter, schneller, schöner? Gibts irgend eine
> Näherung dafür

Für den Absolutwert kann man |Re| + |Im| als Näherung nehmen, für log am 
einfachsten eine Tabelle. Kommt alles darauf an wie schnell und genau du 
das Ergebnis brauchst.
#1404601
Lesenswert?

Andreas Schwarz schrieb:
> max schrieb:
>> Dazu muss ich ja zuerst die beiden komplexen Anteile quadrieren,
>> addieren, die wurzel ziehen und den log10 berechnen.
>>
>> Geht das irgendwie elleganter, schneller, schöner? Gibts irgend eine
>> Näherung dafür
>
> Für den Absolutwert kann man |Re| + |Im| als Näherung nehmen, für log am
> einfachsten eine Tabelle. Kommt alles darauf an wie schnell und genau du
> das Ergebnis brauchst.

Also das Quadrieren und Addieren ist das kleinste Problem. Die Wurzel 
und der Logarithmus sind die Zeitfresser.
Gast #1405018
Lesenswert?

Vielen Dank für die sehr hilfreichen Antworten!

Ich werde Christoph Kesslers Vorschlag mit der von Andreas Schwarz 
vorgeschlagenen Tabelle kombinieren.

Ich frag mich noch immer, warum ich auf die Tabelle nicht gleich von 
alleine gekommen bin, vor allem weil die Genauigkeit die hinten 
rauskommen soll eh nur 8 Bit sind. ;) (Das Ergebnis kommt in nen 
Dual-Port-Ram und wird dann vom VGA-Controller ausgelesen. Mehr als 256 
Pixel in der Höhe hab ich dafür eh nicht Platz!)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren