Hallo, in meinem Programm führe ich eine FFT-Analyse durch. Das Ergebnis wird logarithmisch skaliert. Ich erhalte als Ergebnis in manchen Fällen einen 0-Peak als Ergebnis in meiner FFT. Das ist ja durchaus möglich - da fuer diese Frequenz nicht unbedingt ein Peak vorhanden sein muss ! ! Nun meine Frage - da der log von 0 ja nicht definiert ist - möchte ich aber an dieser Stelle nicht einfach meine ganze FFT "wegschmeisen" - wie wird da allg. verfahren ? Gibt es eine gängige Lösung für ? ? Gruss
Der Logarithmus geht bei +0 gegen -unendlich. Das kannst du bei Float direkt so darstellen (-INFINITY in C, oder einfach log(0)), oder bei Integer indem du die niedrigste darstellbare Zahl zurückgibst (z.B. -32768 bei 16 Bit).
Gibt's auch an logarithmischen Lautstärkereglern. Da steht einfach "minus unendlich" - die Frage ist nur, wie du das in deiner Software darstellst. Das hängt von der Software ab :P
ja - sowas habe ich mir auch gedacht - also einfach das "minimum" ausgeben. dies ist also - ein bekanntes problem :)
Gast
#2299724
Ein kleiner, wenn auch nicht ganz sauberer, Trick wäre, eine kleine positive Zahl dazu zu zählen, bevor der log gemacht wird. Dadurch landet man dann automatisch bei einer "grossen" negativen Zahl nach dem log und die minus Unendlich (die aus der Null resultieren würde) ist abgefangen.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.