Alles nur Vermutung: DAC Rekonstruktionsmethoden

Alles nur Vermutungen: DAC Rekonstruktionsmethoden

 

In Verbindung mit DACs wird bei deren Rekonstruktion des (vermuteten) analogen Signals immer wieder über das Thema Pre- und Postringing diskutiert. Dieses Pre- und Post-Ringing ist ein Merkmal für DACs, die mit FIR-Filtern und (als Folge davon) mit Oversampling arbeiten.
Eine Alternative zu sog. Oversampling-DACs sind die sog. Non-OverSampling DACs (NOS-DACs), die meist mit Widerstandskaskaden arbeiten (R2R oder Ladder DACs). Hier kommt kein FIR-Filter zum Einsatz und sie haben deshalb auch kein Pre- oder Post-Ringing.

Die Art des Filters – bzw. die Funktionsweise (Oversampling oder NOS) - ist auch ein Indiz für die Art der „Rekonstruktion“ des „Originalsignals“ – also wie aus den einzelnen Samplepunkten wieder ein kontinuierlicher „analoger“ Kurvenverlauf wird.

Der mathematischen Theorie nach hat ein Oversampling DAC eine sehr hohe „Reproduktionstreue“ - vor Allem in Bezug auf alle (Sinus-) Frequenzbezogenen Größen (was ja theoretisch für die Betrachtung von Musiksignalen relevant ist). In Englisch bezeichnet man das dann auch als „Maximum Fidelity“.
Ein NOS-DAC wird demgegenüber „bitgenauer“ reproduzieren, nimmt aber in Kauf, daß er bei der Frequenzanalogiebetrachtung nicht so theoretisch perfekt ist – dafür aber eben kein Ringing erzeugt.

Der Musikplayer PureMusic bietet für das Upsampling zwei Methoden zur Auswahl, die – dem Namen nach – die zwei prinzipiellen Rekonstruktionsmethoden representieren: „Maximum Fidelity“ oder „NOS Type Classic“:

Im PureMusic User Manual steht dazu:
The NOS Type “Classic” option uses a less stringent reconstruction filter that aliases (causing a form of signal distortion) in the audio band, similar to that produced by a non-oversampling DAC without a reconstruction filter. Maximum Fidelity upsamples without distortion (the recommended, default setting).

Das brachte mich auf die Idee diese zwei Einstellungen mal zu testen – gibt es hier Unterschiede in der „Rekonstruktion“?

Dem Handbuch nach wird zwar auch beim NOS-Type ein Rekonstruktionsfilter verwendet, der aber weniger „stringent“ ist (sinngemäß wohl weniger strickt die mathematischen Filtervorschriften einhält) und dessen Ergebnis somit mehr der Rekonstruktion eines Non-OverSampling-DACs ohne FIR-Filter entspricht.
Der Typ Maximum Fidelity dürfte der Rekonstruktion eines „normalen“ DACs mit Oversampling und steilflankigem FIR-Filter entsprechen.

Demnach werden zwar beide Typen ein Ringing erzeugen, aber womöglich der NOS-Type in geringerer Ausprägung.

Beim Upsampling – z. B. von 44,1 kHz/16bit auf 96kHz/24bit berechnet ein „Rekonstruktionsfilter“ die neuen Zwischenpunkte nach einem Algorithmus, der – je nach Methode – einem „vermuteten“ Signalverlauf entspricht. Diese neuen (zusätzlichen) Zwischenpunkte werden also nicht als Gerade zwischen den vorhandenen 44,1kHz-Werten berechnet, sondern es wird in Verbindung mit den davor und dahinter liegenden 44,1kHz-Werten „vermuteter“ Kurvenverlauf berechnet.
Als Beispiel für diese prinzipielle Vorgehensweise mal das Ergebnis eines Upsamplings des Programms Audacity:

 

Man sieht, das nicht alle neuen Zwischenpunkte (blaue Kreise) auf der geraden Verbindung der „Orginal“ Samplepunkte liegen (rote Punkte und rote Linie). Offenbar wird versucht einen eher Sinusförmigen Verlauf zu „rekonstruieren…weil der Algorithmus „vermutet“ das das ehemals analoge Original (aus dem die 44,1kHz/16bit Daten entstanden) eher einen solchen Verlauf hatte.

Prinzipiell wird also die „Nachbildung“ eines vermuteten „Originalverlaufs“ berechnet.

Die Samplepunkte des 44,1kHz/16bit –„Originals“ sind für beide Typen gleich, somit dürfte der Unterschied zwischen den beiden Rekonstruktions-Methoden von PureMusic in der Art des errechneten – „vermuteten“ - Kurvenverlaufs liegen.

 

Meine Idee war nun, ein paar Samples eines 44,1kHz/16bit Musikstückes über PureMusic abzuspielen (jeweils mit den beiden Upsampling-Methoden auf 96kHz/24bit), diese mit dem Programm Audacity wieder aufzunehmen und sie dann mit dem „Orginal“(also den 44,1kHz/16bit-Daten) – rein visuell - zu vergleichen.

Dies lässt sich alles innerhalb des PCs durchführen – es gibt keine Kabel oder Digital-Analog-Wandlungen etc.. Es werden intern die reinen digitalen Daten von PureMusic zu Audacity „kopiert“. Das Ergebnis dürfte also keine Fehler bez. Datentransfer, Konvertierung, Kabel o. ä. haben.

Da das aufgenommene Signal in 96kHz/24bit vorliegt und das „Original“ ein 44,1kHz/16bit-Signal ist, ist der Vergleich zwar ein bisschen schwierig, sollte aber eigentlich schon etwas aussagen.

Wie erwartet sind die Unterschiede recht gering – und ich hab deshalb als Anzeigeform in Audacity die Einstellung „Wellenform (db)“ gewählt. Bei dieser logarithmischen Skalierung der y-Achse werden die Unterschiede deutlicher sichtbar.

Die Unterschiede sind absolut gesehen sicherlich sehr gering, zeigen aber schon recht gut die prinzipiellen Unterschiede zwischen NOS- und Maximum Fidelity-Berechnung.

Hier die Ergebnisse des 44,1kHz/16bit Quellsignals mit den upgesampleten Daten jeweils mit NOS-Typ und Max.-Fidelity Typ:

 

 

Man sieht, es gibt Unterschiede! Besonders am Anfang und am Ende – also beim steilsten An- bzw. Abfall.
Auch wenn es sich bei dieser Flanke um eine künstliche Signalform handelt, die in dieser Form sicherlich in kaum einem Musikstück vorkommt, erkennt man doch die Charakteristiken der zwei Upsample-Methoden.

Bereits hier erkennt man, das der NOS-Type den „Originalsignalverlauf“ etwas genauer nachbildet.

Im Folgenden mal vier Ausschnitte, bei denen die Unterschiede deutlich werden:

   

   

Gut zu sehen, wie der Max.-Fidelity Typ alles etwas mehr verrundet. Es scheint auch, als wenn der Max.-Fidelity Typ ein stärkeres „Nachschwingen“ aufprägt - gut zu sehen bei den langen „geraden“ Signalverläufen.

Hier mal die Unterschiede zwischen dem NOS-Type (oben) und dem Max.-Fidelity-Typ (unten) in zwei Vergrösserungen der zwei ersten Ausschnitte:

 

Hier sieht man sehr gut, wie lange und stark der Max.-Fidelity-Typ dem Signalverlauf eine Wellenform aufprägt. Im ersten dieser Ausschnitte geht das ja über den nächsten grösseren Pegelwechsel hinweg! 

Beide verändern auch den Signalpegelunterschied, z. B. beim „Zacken“ im dritten Ausschnitt oder beim Pegelunterschied der beiden „Zacken“ des vierten Ausschnitts (hier scheint der Max.-Fidelity-Typ den Pegelunterschied sogar fast ganz auszugleichen – siehe die rote Linien gleicher Steigung im Bild!).
Wenn man sich mal im vierten Ausschnitt die zwei Zacken ansieht, erkennt man, das sie im „Original“ recht symmetrisch sind. Beim NOS-Typ ist diese Symmetrie besser „rekonstruiert“, als beim Max.-Fidelity Typ – hier scheint es generell eine deutlich größere „Verrundung“ zu geben.

So „offensichtliche“ Unterschiede hatte ich eigentlich nicht erwartet – aber sie sind vorhanden (prinzipiell bei allen 4 Samplestücken der Datei und auch bei wiederholtem Testdurchlauf).

 

Da die upgesampleten Daten ja am Schluss in 96kHz/24bit vorliegen, kam mir die Idee Samples eines 96kHz/24bit Musikstückes (von einer Datei, die bereits als 96kHz/24bit produziert wurde – bzw. als 192kHz/24bit und dann mit sehr hochwertigen Equipment auf 96kHz/24bit konvertiert wurde) mit dem Konvertierungsprogramm XLD auf 44,1kHz/16bit zu reduzieren, diese mit PureMusic abzuspielen (mit Upsampling auf 96kHz/24bit) und diese Aufzeichnung dann mit den Samples der 96kHz/24bit-Ursprungsdatei zu vergleichen.
In diesem Prozess ist zwar auch die Qualität des Downsamplens von XLD mit enthalten (was man ja auch mal betrachten kann), aber das „Quellsignal“ hat die gleiche Auflösung wie die upgesampleten Daten und liessen sich damit leichter vergleichen (man kann dann beide Dateien in Audacity bitsynchron vergleichen).

Idealerweise entsprechen die upgesampleten Daten denen der 96kHz/24bit-Ursprungsdatei – in diesem Fall hätten sowohl der Downsampleprozess als auch der Upsampleprozess den „Originalcharakter“ der Musik erhalten… aber das wäre doch etwas zuviel erwartet….

Folgend die Ergebnisse.

 

Zuerst einmal das Ergebnis des Konvertierens auf 44,1kHz/16bit durch das Programm XLD:

 

Das hat mich überrascht! Auch hier wird ein deutliches Pre- und Postringing erzeugt!
Offenbar erfolgt auch die Reduzierung der Samples und der Bits durch ein „Neuberechnen“ des Signalverlaufs.

Hier nun der Vergleich mit den beiden Upsampling-Methoden von PureMusic.

Schön zu sehen, daß der Maximum Fidelity Type ein wesentlich stärker ausgeprägtes Ringing erzeugt – vor Allem das Post-Ringing.

Interessant ist in diesem Fall, daß das Pre-Ringing der 44,1kHz/16bit Datei vom NOS-Type quasi egalisiert wird (fast komplett!). Das kommt zwar der 96kHz/24bit-Ursprungsdatei wesentlich näher, ist aber im Sinne von „Reproduktion“ des eigentlichen 44,1kHz/16bit-„Originals“ nicht ganz richtig (dieser Effekt ist bei den 2 weiteren Testabschnitten meiner Testdatei identisch: das im 44,1kHz/16bit-Upsampling vorhandene Pre-Ringing wird vom NOS-Type fast komplett egalisiert).

Insgesamt wird auch hier – wie schon beim Upsampling der 44,1kHz/16bit Datei – die 96kHz/24bit-Ursprungsdatei vom NOS-Type in seiner „Charakteristik“ etwas besser „reproduziert“.
Bei genauerer Betrachtung erkennt man z. B. an manchen Stellen, das der Maximum Fidelity Typ die Amplitude deutlicher verändert als der NOS-Type. Auch sieht der Maximum Fidelity Kurvenverlauf – gerade bei starken Signaländerungen – „verrundeter“ aus.

    

     

An einigen Stellen wird der Signalverlauf beim Max.-Fidelity Typ extrem verändert (das ließ sich auch mehrmals reproduzieren – ist also kein „Bitverlust“ o. ä.).

Hier kann man auch erkennen, das beide Typen den Anstieg steiler Flanken gegenüber dem 44,1kHz/16bit-„Original“ verstärken. Das Ergebnis entspricht zwar fast immer dem der 96kHz/24bit-Ursprungsdatei, - also die „Vermutung“ passte - aber im Sinne von „Reproduktion“ des eigentlichen 44,1kHz/16bit-„Originals“ ist das auch nicht ganz richtig.

Im folgenden Bild sind mal ein paar Stellen markiert und zwei Linien gleichen Pegels eingezeichnet (bezogen auf zwei Samples in der 96kHz/24bit Originaldatei, roten Kreise). Hier sieht man, daß Pegeldifferenzen – das was die Dynamik ausmacht – beim Maximum-Fidelity Typ deutlicher verändert werden; speziell wenn man die Übergänge mit betrachtet:

Generell finde ich es aber schon erstaunlich, wie gut beide die 96kHz/24bit-Ursprungsdatei aus der „datenreduzierten“ 44,1/16bit-Version wieder rekonstruieren können - also wie gut ein Algorithmus den „Original“-Signalverlauf „vermutet“.

Stark ausgeprägtes Pre- und Postringing tritt offenbar auch nur bei den beiden künstlichen Signalflanken auf.
Bei einigen Samples des Maximum Fidelity Typs könnte es aber sein, daß die Signalveränderungen auch ein Effekt von dessen größerer Neigung zum Ringing ist (die deutlichsten Änderungen sind fast alle in der Nähe steilerer Signalflanken) - das beim 44,1kHz/16bit-Vergleich sichtbare Nachschwingen bei den "langen geraden Signalverläufen" nach steilflankigen Signalwechseln dürfte ein solcher Effekt sein; hier sieht man sehr schön die aufgeprägte Wellenform.

Hier nochmal eine Ansicht, die die Unterschiede beim Ringing deutlich macht:

Wenn die beiden Upsamplingmethoden von PureMusic die grundsätzliche Charakteristik der Rekonstruktionsalgorithmen von Oversampling-DACs und Non-OverSampling DACs wiederspiegeln, kann man sicherlich sagen, daß ein NOS-DAC das Signal weniger verändert –also sozusagen eine höhere Signalreproduktionstreue hat (die NOS-Methode von PureMusik verwendet ja nur ein „weniger stringentes“ Rekursionsfilter, das prinzipiell noch Ringing erzeugt aber weniger ausgeprägt als beim Maximum-Fidelity Typ).

Wenn man mal die 96kHz/24bit-Ursprungsdatei (das ja von einer Datei stammt, die als 192kHz/24bit produziert und dann mit sehr hochwertigen Equipment auf die 96kHz/24bit konvertiert wurde) als das zu reproduzierende „Original“ ansieht, kommt der NOS-Type diesem „Original“ deutlich näher… bzw. reproduziert es „perfekter“.

Im Sinne von maximaler Signalreproduktionstreue macht es also durchaus Sinn, 44,1kHz/16bit Dateien per Upsampling – am besten mit der NOS-Methode - auf 96kHz/24bit zu wandeln und sie dann mit einem NOS-DAC wiederzugeben (der ja - wie der NOS-Type von PureMusic gezeigt hat - das Signal „originaler“ in einen analogen Signalverlauf „rekonstruiert“).

Man kann sicherlich auch sagen, daß ein NOS-DAC auch 96kHz/24bit Dateien „perfekter“ – im Sinne von weniger Signalveränderungen – in analoge Signale wandelt.

 

 

 

 

Die Informationen in diesem Dokument werden ohne Rücksicht auf einen eventuellen Patentschutz oder Copyright-Rechte veröffentlicht. Sie sind ausschließlich zu privaten Zwecken und für den privaten Informationsaustausch bestimmt. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Die Zusammenstellung von Texten und Abbildungen erfolgte mit größter Sorgfalt. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Die Verwendung der Informationen und Angaben in diesem Dokument erfolgt auf eigenes Risiko des Benutzers. Die Herausgeber und Verfasser können weder eine juristische Verantwortung noch irgendeine Haftung übernehmen.

Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Dokument aufgeführten Angaben ist nicht zulässig.

Markennamen, Firmen- und Produktbezeichnungen die in diesem Dokument verwendet werden sind als eingetragene Markenzeichen geschützt. Da es zum Zeitpunkt der Erstellung nicht immer möglich war zeitnah zu ermitteln, ob ein Markenschutz besteht, erfolgt die Nennung ohne Kennzeichnung mit ®, ©, TM.

 

 

Diskus_GL

alias
Joachim Liepold

im Mai 2016