Umrechnung in db nach FFT

Gast #1404513
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
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.
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
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

Eine eigene Frage? Dieser Thread ist über 17 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.