|
TotalMix
Teil 1: Der Hammerfall DSP Mixer - Hardware und Technik
»Zurück zur
Tech Info
Die Hammerfall DSP Serie beinhaltet mehrere DSP-Funktionalitäten
- ohne einen DSP zu besitzen. Seit der ersten Karte (unserer Digi24) setzt
RME auf sogenannte FPGAs (Field Programable Gate Array). Statt mit fest-verdrahteten
Chips zu arbeiten (wie z.B. Multimedia Codecs), die vom jeweiligen Hersteller
vorgegebene Funktionen bereithalten, setzten wir unsere komplett selbst entwickelten
Schaltungen ein. Dies ermöglicht das FPGA, welches im Gegensatz zum ASIC
(ein nach Kundenvorgaben gefertigter Chip) sogar re-programmmierbar ist. In
der Vergangenheit war dazu bei unseren Karten ein EPROM-Wechsel notwendig.
Bei der Hammerfall DSP kann die Hardwareschaltung im FPGA sogar per Software/Treiberupdate
aktualisiert werden.
FPGAs sind im Laufe der Jahre immer leistungsfähiger geworden. Die in
der Hammerfall DSP verwendete neueste Generation (Xilinx Spartan 2) erlaubt,
einen cleveren Entwickler vorausgesetzt, bisher DSPs vorbehaltene Rechenaufgaben
nun auch im FPGA durchzuführen. Besser noch: Wieder ist es uns dank optimaler
Anpassung möglich, die Leistung vor-konfigurierter Bausteine (Motorola,
Sharc etc.) in den benötigten Funktionen deutlich zu übertreffen!
So verarbeitet unser Mischer die bis zu 1456 Kanäle intern mit 100 MHz
und nutzt dazu weit mehr als 500 MByte/s Speicherbandbreite - damit allein
ist ein Motorola DSP voll ausgelastet. Unser FPGA dagegen berechnet gleichzeitig
noch Peak- und RMS-Werte von 52 Kanälen! Auf die ebenfalls enthaltenen
3 ADAT Receiver und Sender sowie einen volldigitalen SPDIF Receiver und Sender
sei nur so nebenbei hingewiesen...
Im Folgenden wird zunächst die grundsätzliche Technik des Hammerfall
DSP Mischers beschrieben, samt der Realisierung in Hardware mit Bits und Bytes.
Infos zur Software-Oberfläche, welche die Funktionen Übersichtlich
und leicht beherrschbar zur Verfügung stellt, enthält die Tech Info
TotalMix:
Software, Merkmale, Bedienung.
Wozu...
...braucht man einen Mischer in einer I/O-Karte? Da gibt
es gleich mehrere Anwendungsfälle:
- Erstellen von verzögerungsfreien
Submixen (Kopfhörermischungen)
- Beliebiges Routen der Ein-
und Ausgänge (freie Verwendbarkeit, Patchbay-Funktion)
- Verteilen eines Signales auf
mehrere Ausgänge gleichzeitig
- Gleichzeitige Wiedergabe verschiedener
Programme über nur einen Stereo-Kanal
- Mischen des Eingangssignales
zum Playbacksignal (vollständiges ASIO Direct Monitoring)
Der letzte Punkt war für uns zunächst am wichtigsten.
Unsere bisherige Hardware (DIGI96 und Hammerfall Serie) arbeitet mangels Mixer
nur im Replace-Modus, d. h. auf der gerade durchgeschliffenen Spur ist nur
das Eingangsignal, nicht jedoch das Playbacksignal zu hören. Dieser 'Bandmaschinenmodus'
war seinerzeit zwar ein grosser Schritt nach vorne, erfordert jedoch ein zusätzliches
externes Mischpult. Dank immer höherer Rechenleistung und verbesserter
Software möchten jedoch immer mehr Anwender das in der Software enthaltene
'Mischpult' nutzen. Um das Eingangssignal beim Monitoring zusammen mit dem
Playbacksignal hören zu können, gibt es nur zwei Wege: entweder
die Latenz/Puffergrösse der Karte ist so gering (ideal unter 6 ms) dass
die Software die Daten vollständig berechnen kann, oder die Karte mischt
Eingangs- und Playbacksignal selbstständig, so dass das Monitoring latenzfrei
erfolgt (da das Signal in der Hardware direkt vom Eingang zurück zum
Ausgang gelangt).
Prinzipiell hätte damit ein Mixer gereicht, der jeden Eingang ein Mal
auf eine beliebige Playbackspur mischen kann - perfektes ASIO 2.0 Direct Monitoring.
Nach einiger Überlegung war uns das aber entschieden zu wenig. Wenn schon
dann sollte jeder Eingangskanal beliebig oft auf beliebige Playbackkanäle
mischbar sein - ein Mehr an Flexibilität hat noch nie geschadet.
Von hier war es nicht weit bis zur nächsten Forderung: Auch die Playbackspuren
sollten komplett per Mixer misch- und routbar sein. Das würde es erlauben,
mehrere vollkommen unabhängige Submixes zu erstellen, und die Wiedergabekanäle
frei zu routen. Schliesslich ergibt sich bei einem Zusammenfassen mehrerer
Spuren auf eine einzelne schnell ein zu hoher Pegel: digitale Übersteuerung.
Daher müssen die Pegel der physikalischen Ausgänge auch noch verringert
werden können. Und da die Playbackspuren immer über den Mischer
laufen muss zudem eine 'Unity Gain' Einstellung vorhanden sein, um Bit-genaues
Abspielen zu garantieren. Sie sehen schon: Selbst ohne Effekte und EQ kann
ein Mischer ganz schön anspruchsvoll werden...
Interna
Bei der Leistungsfähigkeit eines digitalen Mischers
geht es im Wesentlichen um die Anzahl der maximal verarbeitbaren Kanäle
und die interne Auflösung. Beispiel Digiface: 26 Eingänge plus 26
Playbackspuren können beliebig auf 28 physikalische Ausgänge gemischt
werden. Rein rechnerisch ergeben sich (26 + 26) x 28 = 1456 gleichzeitig mögliche
Kombinationen. Der Mischer muss also in der Lage sein 1456 Kanäle zu
verrechnen!
Solange es im Konzept nur um Monitoring ging hätte man ja mit einer Auflösung
von 16 Bit leben können. Mit der Einbeziehung der Playbackspuren geht
das nicht mehr. Da diese immer über den Mischer laufen muss dieser nicht
nur eine höhere Auflösung als 24 Bit besitzen, um Rundungsfehler
bei Pegeländerungen zu minimieren, sondern auch zusätzlichen Headroom
für Pegelanhebungen und das Addieren mehrerer Kanäle bereitstellen.
Beliebig hohe Bit-Auflösungen machen keinen Sinn, und verursachen nur
einen hohen Resourcenverbauch im FPGA. Wir haben uns daher für eine sinvoll
festgelegte Festkommaarithmetik mit folgenden Grunddaten entschieden:
- Der Multiplizierer arbeitet
mit 40 Bit. Dies ergibt sich durch eine maximale Audiowortbreite von 24 Bit,
die per Fader mit einer Auflösung von 16 Bit (65563 Stufen) im Pegel
verändert werden kann (24+16=40).
- Der Summierer arbeitet mit
36 Bit. Davon entfallen 7 Bit auf den benötigten Headroom (maximal 52
Kanäle mit jeweils 6 dB Gain können auf einen Kanal zusammengemischt
werden). Das Audiosignal weist wieder 24 Bit auf, die restlichen 5 Bit dienen
dem LSB als Nachkommastellen zur Verringerung von Rundungsfehlern.
- Das Ausgangssignal wird ohne
Dither auf 24 Bit truncated ausgegeben.
- Pegelsteller (Fader): 16 Bit
Auflösung, gleich 65536 Stufen, die nach einer speziellen Kennlinie
gehörrichtig bereitgestellt werden. Pegeländerung Eingänge
und Playbackkanäle: +6 dB bis maximale Dämpfung. Ausgänge:
0 dB bis maximale Dämpfung. Bedingt durch die Bildschirmdarstellung
sind die per Maus einstellbaren Werte von der Anzahl der Pixel abhängig.
Dies sind 137. Im Fein-Modus (Umschalttaste) verachtfacht sich dieser Wert
auf 1096 verschiedene Lautstärkewerte.
- Panorama: Pan Law 6 dB. Das
bedeutet bei Mittelstellung wird das Signal um 6 dB abgeschwächt. Von
der Mitte (Center) nach Links und Rechts stehen jeweils 50 Schritte zur Verfügung.
Funktion und Angabe linear, von L 1.00 über 0.50 (C) bis R 1.0.
Total Overload
Wie erwähnt zeichnen den Mixer zwei fundamentale Eigenschaften
aus: Er kann nicht übersteuert werden, und bietet bei Unity Gain Bit-Genauigkeit,
besteht also auch 24 Bit CRC-Tests.
Zur Vermeidung von internen Übersteuerungen bei der Zusammenmischung
von - in diesem Fall maximal 52 Kanälen mit jeweils 6 dB Pegelanhebung
- reichen die 24 Bit Wortbreite der Einzelsignale nicht aus. Das Zusammenmischen
von Signalen hat additiven Charakter, das heisst das neue Signal hat im Allgemeinen
einen höheren Pegel als die Einzelsignale. Der extremste Fall sind vollständig
korrelierende, also identische Signale: bereits bei zwei Kanälen besitzt
das Ausgangssignal doppelten Pegel (+6 dB), mit jeder weiteren Addition sinkt
der Faktor jedoch ab.
Die Übersteuerungsfestigkeit von TotalMix lässt sich auch ohne aufwendige
externe Hardware recht einfach demonstrieren. Für die folgenden Beispiele
verwendeten wir die Software HpW
Works (zur Generierung und Analyse des Testsignals), ein Digiface und
eine DIGI96/8. Die Screenshots des Oszilloskops stammen von einem Tektronix
TDS 210 am analogen Ausgang des Digiface.
Zunächst generierten wir rein digital ein interessantes
Testsignal (ein bisschen Spass muss sein...), bestehend aus mehreren Sinen
mit insgesamt 0 dBFS, also maximalem digitalem Pegel. In einer Software wurde
das aufgenommene Signal sodann auf alle 26 Ausgangsspuren der Hammerfall DSP
kopiert und unverändert abgespielt. Beim im Test verwendeten Digiface
wurden die Ausgänge mit den Eingängen verbunden, so dass das abgespielte
Signal auch an allen 26 Eingängen anlag.
Mittels TotalMix wurden nun alle Playback-Kanäle und
alle Eingänge auf den linken Kanal des ADAT 1 (1+2) geroutet. Damit summieren
sich 52 Kanäle auf einen. Das Ausgangssignal ADAT1 wurde zwecks Analyse
durch eine DIGI96/8 geschliffen. Wie in diesem Screenshot
zu sehen ist der Ausgangskanal 1 natürlich vollkommen übersteuert,
doch nach Absenkung des Ausgangspegels per Fader um rund 40 dB steht das Signal
unverfälscht bereit.
Dieser Test ist einfach nachzuvollziehen, jedoch nicht ganz
korrekt, denn die Signale an den Eingängen sind 2 Samples verzögert,
weshalb sich keine perfekte Addition ergibt. Übrigens folgt die Addition
identischer Signale simplen mathematischen Gesetzen: Logarithmus der Kanalzahl
zur Basis 10 multipliziert mit 20 (wie bei anderen Umrechnungen im Audiobereich
auch). Damit ergeben sich rund 34,3 dB, plus 6 dB maximaler Gain gleich 40,3
dB. Die Übersteuerungsreserve von TotalMix beträgt 7 Bit, entsprechend
7 x 6 dB = 42 dB, deckt also das theoretische Maximum ab. In der Praxis ist
die Pegelerhöhung sehr viel niedriger, da die addierten Signale nur wenig
Gemeinsamkeit besitzen (geringer Korrelationsgrad).
Signalqualität
Daneben ist natürlich auch die Signalqualität bei
Veränderungen des Pegels sehr wichtig. Das ursprüngliche Signal
sollte nach Möglichkeit keinerlei Veränderungen unterliegen, egal
wie der Pegel verändert wird. Dies ist jedoch nur in begrenztem Rahmen
möglich. Bei Pegelabsenkungen verschwinden leiseste Anteile ganz automatisch
durch die begrenzte Auflösung an den Schnittstellen. In diesem Fall sprechen
wir von 24 Bit, also Pegeln unter -144 dBFS.
Wie im Bild zu sehen lassen sich in 24 Bit sehr wohl
Pegel unterhalb -144 dBFS erzeugen und darstellen, die zweite Harmonische
des Testsignals liegt beispielsweise bei -160 dBFS. Durch eine Pegeldämpfung
von -10 dB lässt sich problemlos nachweisen, dass TotalMix das Originalsignal
vollständig unverändert lässt (keine erkennbaren Verzerrungen,
keine Änderungen der Pegel untereinander). Selbst die zweite Harmonische
liegt nun sauber bei -170 dBFS.
Eine Absenkung um 30 dB lässt das Signal in die Messgrenze
der FFT, also den unteren Rauschteppich, eintauchen. Der 'Rauschteppich',
in Wirklichkeit Quantisierungsverzerrungen, wird durch Truncation bei 24 Bit
erzeugt, die in diesem Fall bereits bei der Ausgabe des Testsignals über
eine ADAT Schnittstelle erfolgte.
Zusammengefasst lässt sich sagen: TotalMix verursacht
dank einfacher Festkommaarithmetik praktisch keine Signalveränderungen.
Rauschabstand (SNR) und Klirrfaktor (THD) des ursprünglichen Signales
bleiben praktisch unverändert.
Was aber passiert, wenn der Anwender die Over-Anzeige geflissentlich
ignoriert (übersieht), und das Signal trotz des vielen Headrooms am Ausgang
übersteuert wird? Hier kann es bei unsauberem Design zu Rechenfehlern
kommen, die sich als Umklappen der ursprünglichen Signalform in die gegenphasige
Richtung bemerkbar machen, und zwar für die Länge der Übersteuerung.
Schon kürzeste Impulse, die sonst unhörbar geclicppt werden, verursachen
dann grässliche und laute Verzerrungen.
TotalMix arbeitet auch in diesem Fall vorbildlich und begrenzt
das Signal sauber wie ein Präzisions Brickwall Limiter, ohne weitere
Störungen zu verursachen. Im linken Bild wurde ein Sinus mit vollem Pegel
von mehreren Eingängen auf einen Ausgang gemischt. Im rechten Bild begrenzt
TotalMix wie ein digitaler Peak-Clipper einzelne Impulsspitzen in dynamischem
Material.
Software
Alle weiteren für einfache Bedienung und praxis-gerechten
Einsatz benötigten Funktionen sind nicht Sache der Hardware, sondern
der Software, welche den Zugriff auf die Hardwarefunktionen erlaubt und kontrolliert.
Dazu zählen:
- Speicherung aller Einstellungen
- Sonderfunktionen per Tastenkombination:
Fader auf 0, paarweise Konfiguration, Fein-Modus etc.
- Mute und Solo-Funktionen
- Verschiedene Darstellungsmodi
Näheres dazu enthält die Tech Info TotalMix:
Software, Merkmale, Bedienung.
Glossar
16 Bit: |
Ergibt eine Auflösung von 65.536 Pegelstufen oder
theoretischen 96 dB Dynamik |
24 Bit: |
Ergibt eine Auflösung von 16.777.200 Pegelstufen
oder theoretischen 144 dB Dynamik |
ADAT optical: |
TOSLINK-Schnittstelle nach einem Protokoll der Firma Alesis.
Erlaubt maximal 8 Kanäle bei 24 Bit Auflösung und 48 kHz Samplerate. |
Audiowortbreite: |
Auflösung des digitalen Signales in Bit |
Bit: |
Kleinste digitale Einheit. Bezogen auf die Auflösung
ergeben sich pro Bit knapp 6 dB Dynamik |
dB: |
dezi Bel, logarithmischer Wert zur vereinfachten Darstellung
von Verhältnissen |
dBFS: |
dB Full Scale. Logarithmischer Pegelwert bezogen auf digitale
Vollaussteuerung |
DR: |
Dynamic Range, Dynamik. Verhältnis von maximalem
Pegel zu Grundrauschen bei Anregung durch ein Signal bei -60 dB |
FFT Analyse: |
Fast Fourier Transform. Spektrale Zerlegung eines beliebigen
Signales |
LSB: |
Least Significant Bit - niederwertigstes Bit |
Samplefrequenz: |
Anzahl der Abtastungen des Audiosignales pro Sekunde |
SNR: |
Signal to Noise Ratio, Rauschabstand. Verhältnis
maximaler Pegel zu Grundrauschen |
THD: |
Total Harmonic Distortion. Summe der zweiten bis
zehnten Harmonischen im Verhältnis zur ersten (Grundwelle) |
Truncation: |
Beschneidung eines Digitalsignales durch einfaches Entfernen
niederwertiger Bits |
Copyright © Matthias Carstens, 2001.
Alle Angaben in diesem Tech Info sind sorgfältig geprüft, dennoch
kann eine Garantie auf Korrektheit nicht übernommen werden. Eine Haftung
von RME für unvollständige oder unkorrekte Angaben kann nicht erfolgen.
Weitergabe und Vervielfältigung dieses Dokumentes und die Verwertung
seines Inhalts sind nur mit schriftlicher Erlaubnis von RME gestattet.
|