Dienstag, 27. Dezember 2011

FAQ USB-Audio

Man fetzt sich mal wieder über dem Thema USB-Kabel im Hifi-Forum. Das ist eigentlich nichts Neues, denn man kann sich ja bekanntlich über alle Arten von Kabeln fetzen, und ein gestandener Audiophiler läßt sich nun einmal nicht dazu bringen, seine eigenen Hörerlebnisse in Frage zu stellen, auch wenn alle Vernunft gegen sie spricht. Mir wird die Unwissenheit bei diesem Thema hier immerhin zum Anlaß für meinen dritten FAQ-Artikel (nach FAQ Symmetrie und FAQ Digitaltechnik).

Wie ist das nun, ist USB das bessere oder das schlechtere Audiointerface? Zu dieser Frage kursieren die unterschiedlichsten Meinungen!

Das liegt daran, daß es auf diese Frage keine eindeutige Antwort gibt. Es ist hier noch leichter als anderswo, Äpfel mit Birnen zu verwechseln, denn es gibt schon innerhalb von USB mehrere Arten der Audioübertragung (genauer gesagt der Synchronisation), und entsprechende Unterschiede in der Art und Weise, wie ein Hersteller mit den sich daraus ergebenden "Eigenheiten" umzugehen sich entschließt.

Generell gilt aber, daß man mit praktisch jeder Anschlußtechnik einwandfreie Ergebnisse erzielen kann, wenn man es "richtig" macht. Und man kann mit jeder Anschlußtechnik Mist bauen, vorzugsweise wenn man etwas nicht recht verstanden hat.

Dazu kommt noch, daß USB gelegentlich Dinge zur Last gelegt werden, die mit USB an sich gar nichts zu tun haben. Mein Lieblings-Gebiet "Masse" ist so ein Beispiel.

Was sind das für Synchronisationsarten bei USB, und was ist der Unterschied?

Es geht dabei um die Frage, woher letztlich der Takt für das digitale Audiosignal kommt. Drei Alternativen sind bei USB möglich, und die heißen auf Englisch "Synchronous", "Asynchronous", und "Adaptive".

Bei der Betriebsart "Synchronous" wird der Audiotakt direkt am USB-"Herzschlag" von 1 kHz orientiert. Das ganze USB-Protokoll (egal ob Audio oder andere Daten übertragen werden) unterliegt ja einem Raster von 1 kHz, das der Busmaster (also normalerweise der PC) für alle angeschlossenen Geräte vorgibt. Dieses Raster kann man in einem angeschlossenen Audiogerät auch als Grundlage für den Wordclock verwenden. Dazu braucht es eine PLL-Taktsynthesizer, für den das 1 kHz-Signal die Referenz bildet. In diesem Szenario gibt also der PC die Frequenz vor, und das Audiogerät muß sich daran orientieren.

Bei der Betriebsart "Asynchronous" wird der Audiotakt im Audiogerät autonom erzeugt, entweder durch einen eigenen, freilaufenden Oszillator, oder indem ein externer Takt dort eingespeist wird (z.B. ein externer Wordclock). Der PC als USB-Master muß sich daran orientieren. Die Betriebsart heißt so, weil der USB-"Herzschlag" (bzw. USB-Bustakt) nichts mit dem Audiotakt zu tun hat. Die beiden Takte sind voneinander unabhängig und damit asynchron.

Die dritte Betriebsart "Adaptive" schließlich bindet den Audiotakt an die Ankunft der eigentlichen Audiodaten. Der Empfänger der Datenpakete mit den Audiodaten muß aus der Häufigkeit der Pakete auf die Taktfrequenz schließen. Er muß sich also anhand der ankommenden Audiodaten automatisch in der Frequenz anpassen, daher der Name. Dafür braucht's in der Praxis wieder einen PLL-Frequenzsynthesizer; diesmal wird als seine Referenz nicht der USB-Bustakt genommen, sondern die ankommenden Datenpakete.

Was wird denn in der Praxis genommen?

Das ist eben nicht einheitlich. Ein wesentliches Kriterium für den Hersteller eines USB-Audiogeräts ist die Frage nach der Treiberunterstützung. In einem Betriebssystem gibt es meist schon einen fertigen USB-Audiotreiber, aber der kann nicht mit allen beliebigen Varianten umgehen. Der Hersteller muß also entscheiden, ob er eine Variante benutzt, die vom Betriebssystem schon unterstützt wird, oder ob er selber einen Treiber mitliefert. Letzteres ist natürlich aufwendiger und teurer, denn man hat zusätzlichen Entwicklungsaufwand. Außerdem ist es unbequemer für den Kunden, da er einen separaten Treiber installieren muß, weil das Gerät nicht einfach so nach dem Einstecken läuft.

Es kommt noch dazu, daß unterschiedliche Betriebssysteme und Betriebssystem-Versionen sich in den Varianten unterscheiden, die sie unterstützen. Die obige Frage für den Hersteller stellt sich also für jede dieser Versionen getrennt, und ein Hersteller könnte sich veranlaßt fühlen, sich für den kleinsten gemeinsamen Nenner zu entscheiden, den alle Versionen unterstützen. Dabei kommt dann oft eine Entscheidung heraus, die nicht von der Audioqualität bestimmt ist, sondern von Aspekten der Kompatibilität und der Einfachheit der Benutzung.

Bei D/A-Wandlern ist das in der Vergangenheit oftmals auf den "Adaptive"-Modus hinaus gelaufen, und gerade dieser Modus ist am schwierigsten zu beherrschen, was die saubere Takterzeugung angeht.

Darf ich raten? Es läuft wieder auf den Jitter hinaus, stimmt's?

Bingo! Prinzipiell kann man mit allen drei Modi auf niedrigen Jitter kommen, aber mit einem unterschiedlichen Aufwand, und mit unterschiedlichen Kompromissen. Oder aber man scheut den Aufwand und findet sich mit im Einzelfall hohem Jitter ab.

Der für die Takterzeugung einfachste und beste Fall ist bei einem D/A-Wandler (und auch A/D-Wandler), daß der Takt direkt beim Wandler erzeugt wird, und sich die anderen Geräte danach richten. Dann hängt die Qualität des Taktes nicht von einer Taktrekonstruktion durch eine PLL ab, und die Faktoren, die einen Qualitätseinfluß haben, werden minimiert. Diese Art der Takterzeugung würde bei D/A-Wandlern den asynchronen Modus nahelegen.

In diesem Modus muß es aber zusätzlich zum Datenpfad, der vom PC zum D/A-Wandler geht, auch einen Taktpfad in die entgegengesetzte Richtung geben. Der vom Wandler erzeugte Takt muß ja an den PC gehen, damit der die Daten im richtigen Rhythmus schicken kann. Dafür braucht es zusätzliche sog. "Endpoints", was die Implementierung der USB-Funktion in den Geräten geringfügig verteuert. Es gibt also einen Anreiz, wenigstens für die allerbilligsten Implementierungen, hier durch Wahl eines anderen Modus zu sparen.

In den beiden anderen Modi, "synchronous" und "adaptive", kommt der Takt vom PC und muß im D/A-Wandler rekonstruiert werden. Dazu braucht es eine PLL, und deren Auslegung ist Kompromissen unterworfen. Für niedrigen Jitter wäre es wünschenswert, die Regelung "träge" zu machen, um den Jitter besser herauszufiltern. Das geht aber auf Kosten der Zeit, die es braucht, bis die PLL am Beginn der Übertragung eingerastet ist. Das wäre bei "synchronous" nicht ganz so schlimm, denn der Bustakt liegt ja schon vor Beginn der Audioübertragung an, folglich kann man hier meist "vorsorglich" synchronisieren.

Bei "adaptive" ist man aber dazu verdammt, auf die Audiopakete zu warten, bevor man mit der PLL-Regelung anfangen kann, und dann müßte man ja eigentlich schon fertig spielfähig sein. Das läuft zwangsläufig auf einen Zielkonflikt zwischen niedrigem Jitter und schnellem Start hinaus. Hier findet man oft Lösungen, die gute Jitterperformance opfern, um schnell spielfähig zu sein. Es kommt noch erschwerend hinzu, daß hier auch noch die Referenz selbst schlechter ist als beim synchronen Modus, denn der Bustakt kommt am USB-Gerät mit weniger Jitter an als die Audio-Pakete, folglich gibt's im Fall der adaptiven Übertragung auch noch mehr Jitter, den die PLL rausfiltern muß.

Wenn der adaptive Modus der schlechteste ist, wieso gibt's ihn dann überhaupt, bzw. wieso wird er überhaupt genommen?

Es ist für den PC ein bequemer Modus, der Aufwand entsteht schließlich bloß im Audiogerät. Und selbst wenn man im Audiogerät nur einen Minimalaufwand treibt, kommt immerhin für viele Anwendungen ganz brauchbarer Schall raus. Deswegen war das auch der Modus, mit dem die Betriebssysteme am frühesten zurecht kamen.

Ein Problem hat im Übrigen damit hauptsächlich ein D/A-Wandler. Andere Arten von Audiogerät müssen unter Umständen gar keinen Takt rekonstruieren, bzw. haben keine besonderen Jitteranforderungen. Für die reicht "adaptive" ganz locker.

Wieso ist der Jitter überhaupt ein Problem? Schriebst Du nicht schon früher, der sei sowieso nicht hörbar?

Er kann schon hörbar werden wenn er heftig genug wird. Ich habe auf Untersuchungen verwiesen, die herausfinden wollten wieviel Jitter unter welchen Umständen hörbar ist, bzw. ab wann er nicht mehr hörbar ist. Dabei kommen Werte heraus, die nicht besonders schwierig zu erreichen sind. Daraus habe ich eine Einschätzung gewonnen, ab welchem Punkt man davon ausgehen kann, auf der sicheren Seite zu sein. Wenn man aber z.B. im Fall USB-"adaptive" keine besonderen Maßnahmen ergreift, dann kommen da u.U. ziemlich große Jitterwerte zustande, die eben nicht auf der sicheren Seite sind.

Ob man das dann hört ist beileibe nicht sicher, aber eben auch nicht ausgeschlossen. Für anständige Hifi-Geräte sollte man - Hörbarkeit hin oder her - auch anständige Jitterwerte erwarten können.

Woher weiß ich überhaupt, in welchem Modus mein Gerät arbeitet?

Wenn's die Dokumentation des Herstellers nicht hergibt, dann wirst Du auf USB-Analyse-Tools zurückgreifen müssen. Je nach Betriebssystem gibt's da freie und kommerzielle Produkte, aber in aller Regel ist das nichts für den Laien, denn was da angezeigt wird versteht man bloß, wenn man sich mit den USB-Dokumenten und der USB-Technik im Detail vertraut gemacht hat. Ich bin aber selbst für gute Tipps dankbar, denn ich habe auch keinen erschöpfenden Überblick über alles was es da so gibt.

Und wenn ich jetzt tatsächlich mit dem "asynchronous"-Modus arbeite, heißt das dann die Qualität ist besser als bei anderen Schnittstellen, wie z.B. S/P-DIF?

Die Voraussetzungen für guten D/A-Wandler-Takt sind in der Tat besser, denn der kommt bei "asynchronous" aus dem USB-Audio-Gerät selbst, während er in aller Regel bei S/P-DIF aus dem ankommenden Signal rekonstruiert werden muß. Wie gut er dann schlußendlich ist, kann nur eine Messung klären.

Ein guter Takt ist aus dem S/P-DIF-Signal normalerweise leichter zu extrahieren als bei USB-"synchronous" oder USB-"adaptive", weil die Signalquelle üblicherweise schon weit weniger jittert. Wollte ich eine Hierarchie für D/A-Wandler aufmachen, nicht der tatsächlichen Taktqualität, sondern der Schwierigkeit für den Hersteller, eine gute Taktqualität zu erreichen, dann würde die von einfach nach schwierig so aussehen:
  • USB-"asynchronous"
  • S/P-DIF
  • USB-"synchronous"
  • USB-"adaptive"
Die tatsächliche Taktqualität hängt von den konstruktiven Lösungen im Gerät ab und muß daher nicht dieser Reihe folgen, vielmehr kann man mit allen Alternativen einen guten Takt erzeugen, wenn man es darauf anlegt.

Hängt das dann auch vom Kabel ab?

Das ist in der Praxis ziemlich unwahrscheinlich, wenn auch nicht völlig ausgeschlossen. Wenn es Einflüsse gibt, dann haben die normalerweise ziemlich profane Gründe, die z.B. mit der Masse zusammenhängen, nicht aber mit USB. Eine USB-Verbindung stellt immer auch eine Masseverbindung her, und darauf reisen oft Störströme. Der PC ist in aller Regel ja auch als elektrische Störquelle bekannt. Für ein USB-Audiogerät stellt sich das Problem, wie man solche Störungen, die unweigerlich auf der Masse-Leitung und der Stromversorgung (USB transportiert ja auch noch eine 5 V Versorgung) daher kommen, aus den empfindlichen Schaltungsteilen heraus hält.

Die empfindlichen Schaltungsteile sind dabei insbesondere die analogen Schaltungsteile nach dem eigentlichen D/A-Wandler, aber es gehört auch die Takterzeugung und -aufbereitung dazu. In beiden Fällen besteht eine elektrische Verbindung zur digitalen Masse auf dem USB-Kabel, und damit zum PC.

Ich habe es z.B. schon erlebt, daß man auf diese Weise im USB-Audiosignal die PC-Festplatte hat arbeiten hören, aber das hat mit USB im Grunde nichts zu tun, sondern mit der Tatsache, daß die Festplatte auf die Stromversorgung Einfluß hat, und sich das über das USB-Kabel in das angeschlossene Audiogerät fortpflanzen kann. Und es hat was damit zu tun ob und wie man solchen Problemen im Audiogerät konstruktiv entgegen getreten ist.

Ein USB-Kabel kann auf diese Situation einen Einfluß haben, weil die Masse-Verbindung unterschiedliche Impedanzen haben kann, und weil höherfrequente Störungen bei manchen Kabeln durch Ferrithülsen bekämpft werden (das sind diese Verdickungen im Kabel in der Nähe der Stecker).

Ein Grund für die Anschaffung von "High-End"-Kabeln ist das aber nicht. Mit Geld ist da nicht viel ausgerichtet, zumal die Wirkungsweise solcher Kabel völlig im Dunkeln liegt, und davon auszugehen ist, daß die behaupteten Wirkungen frei erfunden sind.

Besser ist man dran, wenn man sich die generelle Topologie der Masseverkabelung genauer anschaut, Masseschleifen aufspürt, und nach Möglichkeit unterbindet. S/P-DIF bietet in dieser Hinsicht einen Vorteil gegenüber USB, weil es leicht galvanisch zu trennen ist, besonders wenn man die optische Variante nimmt. Dieser Vorteil kann in der Praxis weitaus größere Bedeutung haben, als die Unterschiede zwischen den einzelnen Modi bei USB.

Das erinnert mich an Deinen Artikel über die Netzwerkkabel.

Zurecht! USB ist in dieser Hinsicht einem Netzwerk ähnlich. Im Gegensatz zu Ethernet ist bei USB aber keine galvanische Trennung drin, man kann also nicht auf einfache Weise wie mit einem ungeschirmten Patchkabel die Massen trennen. Bei USB ist immer eine Masseverbindung mit drin, da kommt man bloß mit hohem Aufwand drum herum.

Das kommt daher, daß USB nicht für größere Entfernungen ausgelegt ist, und die kleinen Entfernungen nicht als problematisch in Sachen unterschiedliche Massepotenziale angesehen wurden. Für die meisten Fälle stimmt das auch, aber bei Audio kommt es leicht zu ausgedehnten Massenetzen, besonders über Schutzleiter und/oder Antennenerdung, und das führt immer wieder zu Problemen. Eine galvanische Trennung zwischen der Computerwelt und der Audiowelt wäre da in vielen Fällen sehr nützlich. Mit Ethernet und optischem S/P-DIF geht das sehr einfach, mit USB oder HDMI aber nicht.

Mit der eigentlichen Datenübertragung hat das also nichts zu tun?

Nein. Die Bits kommen immer noch unverändert an. Wenn's mal so schlimm wird, daß das nicht mehr gesichert ist, dann resultieren deutlichere Störungen als eine subtile Klangänderung.

Wenn Daten falsch ankommen werden sie übrigens nicht nochmal geschickt. Da gibt's anscheinend bei vielen Leuten ein falsches Verständnis. USB unterscheidet zwischen "Bulk"-Daten und "Isochronous"-Daten. Erstere werden gesichert, und die Übertragung wird im Fehlerfall wiederholt. Letztere werden nicht gesichert und auch nicht wiederholt, denn es wird davon ausgegangen daß es für so etwas gar keine Zeit gibt. Man nimmt an, daß "Isochronous"-Daten sofort gebraucht werden, und daß ein nochmaliges Verschicken im Fehlerfall ohnehin zu spät käme. Audiogeräte arbeiten aus nachvollziehbaren Gründen mit "Isochronous"-Daten, während z.B. ein Speicher-Stick mit "Bulk"-Daten arbeitet.

Jetzt weiß ich zwar viele Details, ich weiß aber immer noch nicht was ich konkret bevorzugen soll. Was würdest Du denn nehmen?

Ich habe einen Vorteil, denn ich kann im Zweifel messen ob mir die gebotenen Eigenschaften reichen.

Hätte ich das nicht, dann würde ich in den meisten Fällen erst einmal auf eine klar eingegrenzte Masseverkabelung achten, und das kann schnell den Ausschlag zugunsten S/P-DIF oder genereller zugunsten einer galvanisch getrennten Schnittstelle geben. Wenn's eine USB-Lösung sein soll, dann würde ich in Abwesenheit genauerer Information auf den asynchronen Modus Wert legen, was möglicherweise mit einem eigenen Treiber des Herstellers einher geht. Die Qualität des Treibers wird dann ohnehin eine wichtige Rolle bei der Kaufentscheidung spielen. Wenn das Gerät die Möglichkeit bietet, einen externen Wordclock entgegen zu nehmen, was generell wünschenswert ist, dann ist der asynchrone Modus sowieso der einzig sinnvolle Modus.



Für Kommentare gilt das Übliche.