Hallo zusammen,
ich hab da mal was zusammengestellt, um die Problematik der Abtastratenwandlung an und für sich als auch bei der digitalen Signalübertragung aufzuzeigen.
Ausgangspunkt ist ein Testsignal in 44/16, welches zugegebenermassen teuflisch ist.
Alle Samples sind im zulässigen Bereich, entweder maximal 32768 oder minimal -32768. Dies dient einfach zur Extremdarstellung des Intersample-Cliipings, im Prinzip könnten die Amplituden auch kleiner sein, ohne prinzipiell was zu ändern.
Fangen wir mit dem Ausgangssignal an, dargestellt im nächsten Bild:
Das Bild ist dargestellt mit Adobe Audition, es zeigt zum einen die Abtastpunkte (wichtig! auf diese kommt es an) und macht eine graphische Interpolation, die ganz gut gelungen ist (wichtig! nicht ganz genau nehmen, nur als Anhaltspunkt1)
Wir erkennen in der Bildmitte einen großen Peak, im Bild ca. 8.5 dB über der weissen 0 dB-Linie (die den maximal erlaubten Bereich kennzeichnet!), in Wirklichkeit über 11.2 dB hoch. Eine korrekte Rekonstruktion des Testsignals müsste analog eine solche Signalspitze aufweisen !!
Wenn wir nun so ein Signal übertragen wollen, 1:1, dann ist dies im Prinzip einfach möglich (wir betrachten hier diesmal nicht das Jitter-Problem). Wenn nun aber entweder im Sender oder aber im Empfänger eine Abtastratenwandlung stattfindet, entweder per Software oder per SRC-Chip, dann wird es spannend.
Ich habe das für 3 Beispiele durchgeführt, hierbei einmal nach 176,4/32 gewandelt, also Vervierfachung der Abtastrate, und dann wieder zurück nach 44.1 kHz. Im perfekten Fall würde da wieder dasselbe herauskommen wie das Eingangssignal.
Idealfall also mit Umwandlung nach 176.4 kHz:
und dann wieder zurück nach 44.1 kHz:
Die Hin- und Rückwandlung ist durchgeführt mit einem sehr langen sinc-Filter mit 65536 taps. Es ist vielleicht interessant zu wissen: beim Upsampling muss ein Filter eingesetzt werden, um Frequenzen über 22050 Hz herauszufiltern, die ja im Originalsignal nicht vorhanden sind.
Nun könnte ja das 176.4 kHz-Signal ja auch noch vor der Rückwandlung irgendwelche Bearbeitungen erfahren haben, welche ihrerseits Frequenzen über 22050 Hz erzeugen (z.B. Limiter). Demzufolge MUSS vor der Rückwandlung noch ein zweites Mal die Bandbreite begrenzt werden, also ein weiteres Mal gefiltert werden. Das ist auch hier der Fall.
Nun denn, wie zu erkennen, liegen die Punkte des rückgewandelten Signals doch mehr oder weniger da wo sie hingehören
Schauen wir uns das Ganze mal mit dem Abtastratenkonverter von Audition an, zuerst in Richtung 176.4 kHz:
und dann zurück nach 44.1 kHz:
Es sollte jedem sofort klar werden, dass das rückgewandete Ausgangssignal nicht mehr dem Eingangssignal entspricht.
Nun gut, an dieser Stelle haben wir beim Upsampling und für das Downsampling die Berechnung innerhalb Audition mit 32 bit Gleitkomma durchgeführt. Und was kommt heraus, wenn man aber bereits das hochgesampelte Signal weiterverwenden will, z.B. im DA-Wandler? Da wird denn aus 16 bit PCM bestenfalls 24 bit PCM. Weil aber 0 dBFS = 0 dB full scale, also Ende der Fahnenstange bedeutet, bleibt nichts anderes übrig, als alles was bei Gleitkomma über 0 dBFS hinausgeht, bei Festkomma abzuschneiden bzw. auf 0 dBFS zu limitieren. Was dann seinerseits Klirr, also Unharmonische erzeugt.
Bitte behaltet einfach im Hinterkopf, dass im Rahmen des Loudness Race heute praktisch 70-80% aller CDs ein intersample clipping aufweisen !! Eine korrekte digitale Übertragung mit ASRC klappt damit nicht.
Ok, noch ein Praxisbeispiel. Ich habe nun aufgrund der häufigen Bewerbung hinsichtlich Bitgenauigkeit, Rechnentiefe und optimale Interpolation das cPlay angeworfen. Hierbei den SRC 145 dB (secret rabbit code) gewählt, also nach 176.4 kHz upgesampelt und die vorgegebene ASIO-Ausgabe in Richtung spdif gelenkt. Und dann mit meiner Fireface 400 das Ausgangssignal direkt digital aufgezeichnet.
Das Ergebnis der 176.4 kHz-Ausgabe:
Wir erkennen bereits hier ein Einschnüren des Signal, aber eben zusätzlich noch die Begrenzung der Peaks auf max. 0 dBFS. Ok, dieses 176.4 kHz-Signal nun wiederum per cPlay ausgegeben und mit secret rabbit nach 44.1 gewandelt ergibt:
Ich erspare mir hier eine analytische Bewertung mit einer einzigen Ausnahme: wenn jemand feststellt, dass ihm die Wiedergabe mit cPlay gefällt, so ist das für mich ok. Wenn jemand das aber mit Rechenalgorithmen und Bitgenauigkeit begründet, so liegt er schief.
Zusammenfassung:
Bei der digitalen Übertragung mit Abtastratenwandlern in der Signalkette ergeben sich im allgemeinen irgendwelche Resultate, auf die der geneigte Hörer selbst keinen Einfluss hat. Ausser, er findet das eine oder andere Resultat schlichtweg beim Hören besser. Was aber nicht bedeutet, dass er damit dann richtiger hört.
Nun ist das verwendete Testsignal ein extremes Signal, um eben die Fallstricke zu verdeutlichen. Gott sei Dank sind die realen Signale gutmütiger, aber trotzdem scheinen die kleinen Effekte sich dahingehend bemerkbar zu machen, als dass eben bei der einen oder anderen Wiedergabekette etwas zu bemängeln oder zu loben ist. Klar sollte sein, dass heutige Systeme noch weit weg von der perfekten und bitgenauen digitalen Übertragung sind. Die verwendeten Filter sind hierfür allemal zu kurz.
Ich wünsche Euch eine nette Diskussion
Grüsse, Uli