Elektronik für Informatiker

Eine Einführung in Analoge und Digitale Systeme für Informatiker mit Elektronikgrundlagen und Signalverarbeitung

Prof. Dr. Stefan Bosse

Universität Koblenz - Praktische Informatik

1 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik ::

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.

2 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Addition

Addition

(Wiederholung)

Der Addierer ist invertierend und zugleich eine MAC Einheit (Multiply and Accumulate)

Ua=ni=1wiUe,iwi=RfRi,Rf=const

3 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Addition

Addition

  • Auch gewichtete Teilausdrücke können mit Summierern direkt aufgebaut werden.
  • Ein Beispiel:

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.

4 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Subtraktion

Subtraktion

(Wiederholung)

Ua=R2R1(Ue2Ue1),R2=R4,R1=R3Ua=(Ue2Ue1),R2=R4=R1=R3

5 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Multiplikation

Multiplikation

y=x1x2y=(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?

6 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Multiplikation

Multiplikation durch Addition

y=x1x2y=log110(log10(x1)+log10(x2))log110(x)=10xy=log12(log2(x1)+log2(x2))log12(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?

7 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Logarithmus

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).

8 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Logarithmus

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)

9 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Division

Division

Die Didvision ist die inverse Funktion der Multiplikation.

  • Entweder wieder über Logarithmen oder durch Funktionsinvertierung

y=x1x2y=log110(log10(x1)log10(x2))log110(x)=10xy=log12(log2(x1)log2(x2))log12(x)=ex

10 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Division

Division

Division als inverse Funktion der Multiplikation: Der Multiplikator wird in die Rückkopplung (Gegenkopplung) eines Summierers eingefügt.

11 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Quadrieren

Quadrieren

Durch Mulitplikation x * x

Die Eingangsvariable x wird auf beide Anschlüsse des Multiplizierers gelegt.

12 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Quadratische Wurzel

Quadratische Wurzel

Berechnung der inversen Funktion der Quadratur.

x=f1(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.

13 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Funktionsinversion

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.

14 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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.

15 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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.

16 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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)!

17 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

Lösen von linearen Gleichungssystemen

Ein Beispiel (nach Ndanusa, B., Adamu, Y., and Gbedako, A. A., 2016):

2x+3y=402x+y=52y=35y=17.52x=517.5x=6.25

18 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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

19 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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.

20 / 37

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.

21 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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.

22 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

Lösen von linearen Gleichungssystemen

Allgemeinere Schreibweise mit Analogrechneroperationen (Einheitsaddierer, Skalierer, Inverter)

23 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

lglsolverop1.txt

+

24 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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).

  • Schon kleinste Signalverzögerung kann zur Divergenz der gesamten Schaltung führen. Kapazitäten bewirken dieses (als Ladungsspeicher), und diese existieren als parasitäre Kapazitäten überall (auch im realen OpAmp).
25 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

Lösen von linearen Gleichungssystemen

Ulmann, Killat, 2019 Beispiel des Divergenzverhaltens der direkten Lösung und Schaltung, hier mit drei Variablen (und drei Gleichungen)

26 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

Lösen von linearen Gleichungssystemen

Aber was tun? Wir brauchen "dämpfende" Operationen, ein Frequenztiefpass um Oszillationen zu vermeiden. Der Integrator ist ein Frequenztiefpassfilter!

  • Wie bei der Mulitplikation müssen wir die Kopplung der Gleichungen durch transformierte Funktionale ersetzen.
    • Bei der Multiplikation war es die Logarithmierung
    • Bei der Lösung von LGS ist es die Integration.
27 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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:

^Ax=b^Axb=ϵ,˙x=ϵ

28 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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.

  • Zu diesem Zweck wird der Lösungsvektor x mit einem initialen Anfangswert gesetzt und ein Fehlervektor ε verwendet, um diese anfängliche Schätzung von x zu korrigieren.
  • Wir erhalten (Matrixalgebra mit Analogrechnern!):

˙x=nj=1aijxjbi,1in

29 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

Lösen von linearen Gleichungssystemen

Beispiel:

Ulmann, Killat, 2019 ˙x1=a11x1+a12x2+a13x3b1˙x2=a21x1+a22x2+a23x3b2˙x3=a31x1+a32x2+a33x3b3

Die Schaltung mit Integratoren

30 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von linearen Gleichungssystemen

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

31 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Matrixalgebra

Matrixalgebra

Zusammenfassend kann man die Berechnung (Lösung) von

^Ax=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.

    • Analog (3 × 3 Matrix A): (3+3+3) OpAmps × Topamp=90, Topamp ∼ 10,
    • Digital: ca. 100000 Transistoren (FPU!)
32 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Matrixalgebra

Matrixalgebra

Die Analogberechnung von Ax=b mittels Integratoren.

33 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Integrieren

Integrieren

(Wiederholung)

34 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Differenzieren

Differenzieren

(Wiederholung)

35 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von Differentialgleichungen

Lösen von Differentialgleichungen

36 / 37

Stefan Bosse - ADS - Modul G Analoges Rechnen und Numerik :: Lösen von Differentialgleichungen

37 / 37