Vorbetrachtung: Planung eines Audio-DSP Mixers
Das Titelbild des Beitrags zeigt bereits den Auslöser dieses Projektes. Zu sehen ist hier ein Reelabschnitt mit fünf AD- Wandlern des Typs PCM1861 von Texas Instruments. Es muss im letzten Viertel meines Studiums gewesen sein, als ich I²S Schnittstellen auf einem Spartan6 FPGA implementierte und darauf simple Multiplexer- und Visualisierungsfunktionen umsetzte. Damals nutzte ich meine Raspberry Pis zum Erzeugen der I²S Audiostreams und ein günstiges DAC- Modul zur Rekonstruierung des Analogsignals. Mein Wunsch war es bald, den Raspberry Pi aus der Gleichung zu streichen und mein System mit Audiosignalen aus der realen Welt zu „füttern“. Also orderte ich die PCM1861 Chips mit zugehöriger passiver Peripherie und stellte fest, dass das TSSOP- Package der Chips doch viel kleiner ist als befürchtet und mit meinen damaligen Mitteln nicht wirklich nutzbar war. Als dann schließlich Klausuren, Praxissemester und Thesis auf dem Plan standen, habe ich das Projekt auf unbestimmte Zeit verschoben. Die ‚unbestimmte Zeit‘ im letzten Satz kann nun durch ‚Heute‘ ersetzt werden 🙂
Die Idee
Pic 1 zeigt topologisch den groben Systementwurf, wie er mir vorschwebt. Es dient als Startpunkt und im Wesetlichen zur Unterteilung des Systems in Module. Diese werde ich im Einzelnen durcharbeiten wodurch sich organisch die finale Systemtopologie und das Pflichtenheft generiert.
Statt einer FPGA Basierten Signalverarbeitung setze ich hier auf eine SigmaDSP des Typs ADAU1451 von Analog Devices. Einerseits möchte ich mir den Entwurf einer Fließkommalogik auf einem FPGA ersparen, andererseits habe ich bereits Erfahrungen mit dem HiFiBerry DAC+ DSP Modul für den Raspberry PI und damit auch ein Design zur Orientierung vorliegen. Das besagte HifiBerry DSP Modul ermöglicht es über einen Ethernetsockel die Programmierung und Steuerung der SigmaDSP. Im Rahmen der Vorbetrachtungen möchte ich untersuchen, ob dies mit der Mikrocontrollertechnik möglich ist, wie ich sie bereits in meinen Projekten anwende.
Nicht in der Topologie ersichtlich ist, ob und welche zusätzliche Peripherie für die SigmaDSP vorgesehen wird. Wünschenswert wäre beispielsweise ein OLED Display und einige Bedienelemente, welche eine zusätzliche Controllerschaltung mit sich brächten.
Ein digital- zu analog Konverter ist angedeutet, womöglich werde ich jedoch ebenfalls vier Chips vorsehen, um die Verwendung des Mixers als Schaltmatrix zu ermöglichen.
Last, but not least habe ich vier der fünf vorhandenen PCM1861 AD- Wandler zur Erfassung von acht Audiosignalen eingeplant. Somit bleibt ein Chip als Ersatz und bietet mir zudem die Möglichkeit, im Vorfeld eine isolierte Schaltung zur Evaluierung aufzubauen. Obwohl die Möglichkeiten zur Klangreglung mittels SigmaDSP kaum Wünsche offen lassen, möchte ich für jeden Kanal einen analogen Channelstrip, in Pic 1 als ‚CS0‘ bis ‚CS7‘ dargestellt, vorsehen. Ich könnte hierauf den Zweck projizieren, ästhetische und korrektive Equalizer in zwei getrennten Systemen umzusetzen, tatsächlich ist es aber mein innerer analog Purist, der sich die Nachbildung einer klassischen Analogkonsole mit Drehknöpfen und Fadern nicht verkneifen kann 🙂 Und außerdem macht die Elektronikentwicklung doch erst richtig Spaß, wenn es um analoge Signale geht ,oder?
Operationsverstärker Betrachtung
Durch das Ausschlachten eines defekten Analogmixers vor einigen Jahren, habe ich einige TL072 Operationsverstärker von ST im HomeLab auf Lager. Obwohl ich den Analogen Signalweg der Channelstrips in SPICE entwickeln und simulieren werde, habe ich als Fingerübung vorab einen Subtrahierverstärker aufgebaut. Das Datenblatt des Herstellers liefert neben Informationen zur Beschaltung auch Kennlinien, die eine Bandbreite für den Linearbetrieb aufzeigen:
Zur Entnahme des Audiosignals aus dem symmetrischen Signal z.B. eines Mikrofons eignet sich der Subtrahierer:
Von einem idealen Operationsverstärker ausgehend, lässt sich das Widerstandsnetzwerk als zwei Spannungsteiler auffassen. Durch Überlagerung setzt sich die Spannung am invertierenden Eingang v_N zusammen aus:
v_N = v_{1,1}\frac{\alpha R_1}{R_1 + \alpha R_1} + v_2\frac{R_1}{R_1 + \alpha R_1} = v_{1,1}\frac{\alpha}{1 + \alpha} + v_2 \frac{1}{1 + \alpha}
Die Spannung am nicht invertierenden Eingang lässt sich beschreiben durch:
v_P = v_{1,2} \frac{\beta R_3}{R_3 + \beta R_3} = v_{1,2} \frac{\beta}{1 + \beta}
Im benannten Buch wird durch die Forderung v_N \approx v_P die Ausgangsspannung im Linearbereich beschrieben durch:
v_2 = \alpha \left( \frac{1+\frac{1}{\alpha}}{1+\frac{1}{\beta}} v_{1,2}-v_{1,1} \right)
Statt einzelner Widerstände kann ein doppeltes Potentiometer verwendet werden, dessen Schleiferabgriffe den OPV- Eingängen zugeführt werden:
Durch die mechanische Kopplung ist das Verhältnis der Spannungsteiler stets gleich und es gilt \alpha = \beta , wodurch sich die Gleichung zur Bestimmung der Ausgangsspannung v_2 reduziert zu:
v_2 = \alpha (v_{1,2} - v_{1,1} )
Daraus folgt, dass die Ausgangsspannung des Subtrahierverstärkers im Linearbereich der Spannungsdifferenz an den Eingängen folgt und durch die Potentiometerstellung linear skalierbar ist.
Für den Versuch habe ich den TL072 Operationsverstärker nach Pic 7 und 8 beschaltet. Statt eines doppelten Potentiometers habe ich zwei einzelne aus einem Sortiment benutzt und die Abgriffe für jede Messung optisch abgeglichen. Daher sind die folgenden Ergebnisse nur bedingt genau, reichen mir zur qualitativen Bewertung jedoch aus. Pic 9 zeigt die Einstellung des differenziellen Eingangssignals per Funktionsgenerator.
Pic 10 und 11 zeigen die Spannungsverläufe des differenziellen Signals in gelb (Kanal 1) und cyan (Kanal 2), sowie die Ausgangsspannung in violett (Kanal 3) bei Mittelstellung der Potentiometer. \alpha ist somit nahe 1 und die Ausgangsspannung errechnet sich aus Kanal 2 minus Kanal 1.
Pic 12 und 13 zeigen den erwarteten Verlauf der Ausgangsspannung bei den beiden Extremeinstellungen (Links \alpha \rightarrow 0, Rechts \alpha \rightarrow \infty) der Potentiometer. Da die Versorgungsspannung des Operationsvertärkers durch die +-12 Volt des Netzteils begrenzt ist, wird dieser durch die hohe Verstärkung bereits bei kleinen Eingangsdifferenzen in Pic 13 in die Sättigung getrieben.
Weil die Messungen mit unbelasteten Ausgang durchgeführt wurden, ist durch die Erhöhung der Signalfrequenz kein dramatischer Abfall der Ausgangsspannung festzustellen. Sichtbar ist jedoch, dass die Form der Ausgangsspannung zunehmend verzerrt. Bei einer Frequenz von einem Megahertz stellt sich gar eine Phasenverschiebung um nahezu \frac{\pi}{2} ein, wie in Pic 15 zu sehen ist.
Als Zwischenergebnis kann ich also festhalten, dass der TL07X Operationsverstärker trotz seiner (wahrscheinlich) durch die JFET Technologie bedingten Bandbegrenzung allemal zur Verwendung in Audioapplikationen ausreicht (Was Leute mit OpAmp Erfahrung sicher schon gegen den Monitor gebrüllt haben 🙂 ). Durch die erprobte Schaltung als Subtrahierverstärker wurde klar, dass Entsymmetrierung und Vorverstärkung (sprich Pre- Gain) mit einem einzigen Operationsverstärker umsetzbar sind.
Als nächstes werde ich mir eine Vorbetrachtung zur Umsetzung eines Mehrbandequalizers vornehmen.
Betrachtung der Equalizer Schaltung
Zur Realisierung eines Mehrbandequalizers habe ich mich von mehreren Designs inspirieren lassen. Soll ein Equalizer nicht für messtechnische Zwecke, sondern zur musikalischen Klangfärbung gedacht sein, so wird in der Regel auf die sogenannte „Tone- Control“- Schaltung zurückgegriffen. Im Wesentlichen besteht diese aus einem invertierenden Operationsverstärker, welcher im Rückkopplungsweg ein Netzwerk aus Spannungsteiler und kapazitiven Elementen enthält. Das folgende Design habe ich aus dem Audio/Radio Handbook (1980) von National Instruments entnommen, da ich hier zumindest Formeln zur Näherung der Grenzfrequenzen fand.
Sollte mein ehemaliger Prof das hier lesen, möge er mir bitte verzeihen, dass ich hier keine Netzwerkanalyse zur Bestimmung einer Übertragungsfunktion durchführe. Zwar würde ich selber gerne das genaue Verhalten und die Stabilität des Filters am PN- Diagramm darstellen, jedoch ist auch dies ein Bastelprojekt und der Erfolg heiligt hier die Mittel 🙂
Pic 18 zeigt eine SPICE- Nachbildung der Tone Control Schaltung aus Pic 16. Den Eingangsverstärker habe ich in dieser Betrachtung weg gelassen, da ich diesen mit dem vorher betrachteten Subtrahierer realisiere. Weitere Veränderungen sind zum einen die Festlegung der Kapazitäten auf Werte der E-24 Reihe, zum anderen das Ersetzen des Treble Potentiometers (R4 in Pic 16) durch eines mit 100 Kiloohm. Die Potentiometer selbst habe ich im SPICE- Modell durch zwei Widerstände ersetzt, deren Summe in jeder Simulation 100 Kiloohm entspricht. Durch das Ändern dieser Werte auf null, bzw. 100 Kiloohm auf der Boost- oder Cut Seite wird jeweils der Vollausschlag des Potentiometers simuliert.
Ziel ist die Nachbildung der in Pic 17 gezeigten Frequenzgänge mit den korrespondierenden Potentiometerstellungen.
Das Ergebnis der Simulation ist aus meiner Sicht zufriedenstellend und die somit zu realisierende Klangregelung sollte ihre Zwecke erfüllen. Nichtsdestotrotz werde ich dieses Design im Vorfeld aufbauen und testen, bevor ich die Platine entwerfe und bestelle.
Als nächsten und letzten Schritt auf der analogen Eingangsseite, steht die Planung eines Kanalfaders mit integriertem Aliasingfilter.
Bis dahin bedanke mich bei allen Lesern, für Fragen und Vorschläge steht wie immer de Kommentarsektion zur Verfügung!
Pingback: Theorie: Betrachtung einer aktiven Tone- Control Klangregelung