Mein Problem ist folgendes: ein Datenbereich von 0-32767 soll auf 0-255 abgebildet werden. Es handelt sich dabei um das Spektrum von Audio Daten, die als zeitlicher Verlauf von Helligkeitswerten/Farbwerten dargestellt werden sollen. Eine lineare Umwandlung durch einfache Division hat sich als unzureichend erwiesen (kleine Werte fehlen). Aber eine logarithmische Skalierung führt nur dazu, das im oberen Bereich alles zu hell ist.
Das aktuelle Problem ist, das ich für meinen Morsedecoder einen etwas zu einfachen Algorithmus verwende, um Audio-Daten von 44100kHz auf 8000kHz umzuwandeln. Offensichtlich entstehen dabei Oberschwingungen, die nicht ausreichend weggefiltert wurden. Ich kann diese allerdings im resultierendem Spektrum wegen der fehlenden Amplitudenauflösung auch nicht erkennen.
Anzumerken währe noch, das der Filter, der bei der Reduzierung der Abtastraten bisher eingesetzt wird, nur eine Sperrdämpfung von 50dB (1/316) hat, was bereits unterhalb der bisherigen Helligkeitsdarstellung liegt.
Im angehängten Bild erkennt man, kurz bevor die Helligkeit abgeregelt wird, einige Pixels bei 3133Hz. Das ist ziemlich genau das 5.5125-fache der eigentlichen Frequenz von 568Hz (44100/8000=5.5125).
Merkwürdigerweise ist außer auf der eigentlichen Signalfrequenz nur auf dieser Frequenz (3133Hz) eine fast fehlerfreie Decodierung möglich. Daher würde ich auch diesen niedrigen Bereich darstellen können.
Wie macht man so etwas?