Eine Einführung in Analoge und Digitale Systeme für Informatiker mit Elektronikgrundlagen und Signalverarbeitung
Prof. Dr. Stefan Bosse
Universität Koblenz - Praktische Informatik
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik ::
Der Operationsverstärker als Differenzverstärker ist die Elementarzelle um numerische Berechnungen durchzuführen und bietet eine mittlere Abstraktion, aber schon eine bijektive Abbildung von mathematischen Modellen auf Schaltungen und umgekehrt.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Addition
(Wiederholung)
Der Addierer ist invertierend und zugleich eine MAC Einheit (Multiply and Accumulate)
Ua=−n∑i=1wiUe,iwi=RfRi,Rf=const
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Addition
y(x1,x2,x3)=5(x1+x2)−x3=−(10(−x1+x22)+x3)
Die Schaltung zu obiger Funktion. Die Halbierung der ersten teilasudrucks erfolgt durch Rückkopplung.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Subtraktion
(Wiederholung)
Ua=R2R1(Ue2−Ue1),R2=R4,R1=R3Ua=(Ue2−Ue1),R2=R4=R1=R3
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Multiplikation
y=x1⋅x2y=(x1+−x1−)⋅(x2+−x2−)
Abstrakte grafische Symbole von Multiplizierern ohne und mit Differenzbildung am Eingangsoperanden sowie ohne und mit Negierung.
Aber wie können wir einen Multiplizierer mit einem OpAmp implementieren?
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Multiplikation
y=x1⋅x2⇔y=log−110(log10(x1)+log10(x2))log−110(x)=10xy=log−12(log2(x1)+log2(x2))log−12(x)=ex
Zurückführen einer Multiplikation auf eine Addition im logarithmischen "Raum" (zur Basis 10).
Aber wie können wir den Logarithmus und die inverse Funktion mit OpAmps berechnen?
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Logarithmus
Wir benötigen ein Bauteil mit exponentieller Kennlinie (Diode!) die wir mit einem OpAmp verschalten müssen (Rückkopplung).
Vout=−VTln(IDIS)=−VTln(VinRIS)
Wikipedia
Die einfache Schaltung zur Logarithmierung (Basis e, also nat. Log.). ID ist der aktuelle Strom durch die Diode, und IS der Sättigungsstrom (max.) der Diode, und VT die thermische Spannung (bauteilspezifisch).
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Logarithmus
Der Sättigungsstrom ist abhängig von der Temperatur und anderen Größen. Keine Konstante! Die einfache Schaltung wird zeitlich variierende signifikante Berechnungsfehler liefern. Und VT hängt auch von der Temperatur ab!
Vout=−VTln(ICIS)=−VTln(VinRIS),VBE=−Vout
Wikipedia
Die Logarithmierung mit einem Transistor in der Rückkopplung mit besseren und stabileren Eigenschaften (durch das Verhalten des Transistors und den Einfluss der BE Spannung)
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Division
Die Didvision ist die inverse Funktion der Multiplikation.
y=x1x2⇔y=log−110(log10(x1)−log10(x2))log−110(x)=10xy=log−12(log2(x1)−log2(x2))log−12(x)=ex
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Division
Division als inverse Funktion der Multiplikation: Der Multiplikator wird in die Rückkopplung (Gegenkopplung) eines Summierers eingefügt.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Quadrieren
Durch Mulitplikation x * x
Die Eingangsvariable x wird auf beide Anschlüsse des Multiplizierers gelegt.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Quadratische Wurzel
Berechnung der inversen Funktion der Quadratur.
√x=f−1(x)f(x)=x2
Quadrierer in der Rückkopplung eines negierenden Summierers (SJ ist direkt der invertierende Eingang des OpAmp, Stromeingang). Die Diode ist notwendig um eine Nullung für negative x (hier als positive) zu erreichen.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Funktionsinversion
Der inervtierende Eingang eines Operationsverstärkers ist nicht nur der subtrahierende "Operand", sondern in der Rück- und Gegenkopplung nutzbar um eine Funktionsinversion zu berechnen. Damit können wir mit einem OpAmp ein inverses Problem lösen, was digital numerisch meist nur mit großen Aufwand und approximativ möglich ist!
Durch die Negierung des Summierers muss die Eingangsvariable ebenfalls negiert werden.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Das Lösen einen linearen Gleichungssystems erfolgt numerisch iterativ indem Gleichungen voneinander subtrahiert werden bis nur noch eine Gleichung mit einer Variable übrig bleibt, diese wird ausgrechnet, und dann mittels Rückwärtssubstitution in die vorherigen rduzierten Gleichungen eingesetzt, bis alle Variablen berechnet wurden.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Das Lösen einen linearen Gleichungssystems erfolgt numerisch iterativ indem Gleichungen voneinander subtrahiert werden bis nur noch eine Gleichung mit einer Variable übrig bleibt, diese wird ausgrechnet, und dann mittels Rückwärtssubstitution in die vorherigen rduzierten Gleichungen eingesetzt, bis alle Variablen berechnet wurden.
Oder man bedient sich der Matrixalgebra (LGL als Matrixgleichung) und wendet matrixinversion an. Ein rein funktionales Verfahren.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Das Lösen einen linearen Gleichungssystems erfolgt numerisch iterativ indem Gleichungen voneinander subtrahiert werden bis nur noch eine Gleichung mit einer Variable übrig bleibt, diese wird ausgrechnet, und dann mittels Rückwärtssubstitution in die vorherigen rduzierten Gleichungen eingesetzt, bis alle Variablen berechnet wurden.
Oder man bedient sich der Matrixalgebra (LGL als Matrixgleichung) und wendet matrixinversion an. Ein rein funktionales Verfahren.
Oder man verwendet gekoppelte Operationsverstärker (Addierer, Summierer)!
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Ein Beispiel (nach Ndanusa, B., Adamu, Y., and Gbedako, A. A., 2016):
2x+3y=402x+y=52y=35⇒y=17.52x=5−17.5⇒x=−6.25
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Schaltung für x=20-1.5y (umgestellt, hier rechter Ausdruck in der Form f(a,b)=a-b als gewichteter Subtrahierer
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Die Verwendung eines gewichteten Subtrahierers mit einem OpAmp ist etwas kompliziert zu berechnen. Besser zwei invertierende gewichtete Addierer und ein Differenzverstärker mit G=1, also der symmetrische Instrumentenverstärker.
Die Ausgangsspannung eines gewichteten Subtrahierers mit einem OpAmp ist gegeben durch (R1,R2: invertierender Zweig, R3,R4: nicht invertierender Zweig):
Ua=Ue2R4R3+R4(1+R2R1)−Ue1R2R1
Die Verstärkung (Gewichtung) des positiven Operanden Ue1 hängt auch von der Beschaltung des invertierenden Zweigs ab.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
https://www.elektroniktutor.de/analogverstaerker/subtra.html
Die theoretische Herleitung für den OPV als Differenzverstärker kann für die oben gezeigte Schaltung mithilfe der Maschengleichungen erfolgen. Vorausgesetzt wird, dass in die Eingänge des OPVs, wie in der Praxis nachweisbar, keine Eingangsströme fließen und die Spannungsdifferenz zwischen den Eingängen E+ und E− null ist.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Die gleiche Vorgehensweise für die zweite Gleichung. Jetzt müssen beide Gleichungen gegeben durch die Subtrahierschaltungen gekoppelt werden ...
Der Analogrechner für das gleichzeitige Lösen der gekoppelten Gleichungen 2x + 3y = 40 und 2x + y = 5.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Allgemeinere Schreibweise mit Analogrechneroperationen (Einheitsaddierer, Skalierer, Inverter)
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
lglsolverop1.txt
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Diese direkte Architektur ist i.A. nicht brauchbar. Wir haben eine algebraische Schleife, eine zweifache Rückkopplung ohne Integration. Instabilität kann und wird die Folge sein, d.h. ein oszillierendes und ggfs. divergierendes Verhalten (wie gezeigt).
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Ulmann, Killat, 2019
Beispiel des Divergenzverhaltens der direkten Lösung und Schaltung, hier mit drei Variablen (und drei Gleichungen)
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Aber was tun? Wir brauchen "dämpfende" Operationen, ein Frequenztiefpass um Oszillationen zu vermeiden. Der Integrator ist ein Frequenztiefpassfilter!
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Nach Ulman und Killat (Ulmann, Bernd, and Dirk Killat. "Solving systems of linear equations on analog computers." 2019 Kleinheubach Conference. IEEE, 2019) ist das LGS Problem folgend zu formulieren:
^A→x=→b⇒^A→x−→b=→ϵ,˙→x=−→ϵ
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Die Grundidee besteht darin, ein lineares Gleichungssystem in ein System gekoppelter Differentialgleichungen umzuwandeln.
Es ist zu beachten, dass das Lösen solcher Gleichungen durch einen Analogrechner ein kontinuierlicher Prozess ist, d. h. es gibt keine diskrete Schrittweite wie bei klassischen numerischen Algorithmen.
−˙→x=n∑j=1aijxj−bi,1≤i≤n
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Beispiel:
Ulmann, Killat, 2019 −˙x1=a11x1+a12x2+a13x3−b1−˙x2=a21x1+a22x2+a23x3−b2−˙x3=a31x1+a32x2+a33x3−b3
Die Schaltung mit Integratoren
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen
Mit der indirekten Berechnung der Lösung des LGS über Integration kann Divergenz vermieden werden.
Ulmann, Killat, 2019
Kein Divergenzverhalten der indirekten Berechnungsschaltung
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Matrixalgebra
Zusammenfassend kann man die Berechnung (Lösung) von
^A→x=→b
als Matrixproblem übertragen auf ein integrierendes analoges System verstehen.
Neben assoziativen Speichern (die z.B. in Memory MAC Operationen ausführen) eine Möglichkeit ohne Algorithmik Lösungsberechnungen analog durchzuführen.
Aber: Die "Rechenzeit", d.h. die Zeit bis sich stabile Ergebnissignale an den Ausgängen eingestellt haben kann je nach Wahl der Zeitkonstante des Integrators (also der Kapazität des rückkoppelnden Kondensators) im ms Bereich liegen. Also nicht viel besser als bei digitalen Systemen.
Geht es jedoch um die Minimierung der Schaltungsrresourcen (Transistoranzahl) sind wir analog im Vorteil.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Matrixalgebra
Die Analogberechnung von Ax=b mittels Integratoren.
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Integrieren
(Wiederholung)
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Differenzieren
(Wiederholung)
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von Differentialgleichungen
Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von Differentialgleichungen