Elemente mit beliebiger Spannungstransfer-Funktion modellieren

Oft ist es notwendig ein Element mit einem bestimmten Spannungs-Übertragungs-Verhalten zu generieren (Filter).
Zusätzlich sollte solch ein Element auch einen beliebig einstellbaren Eingangs- und Ausgangswiderstand besitzen.

Wir gehen von folgender Skizze aus:

Wir modellieren dieses Element mit einem Eingangswiderstand Rin, mit einem Ausgangswiderstand Rout sowie
mit einer gesteuerten Stromquelle der Steilheit ST. Die Spannungs-Übertragung Ua(Ue) kann dann wie
gewünscht festgelegt werden. Uout soll bei Leerlauf (Ausgang offen) genau Ua entsprechen.

Mit den Pin-Spannungen:

können wir setzen:

und wir können nun schreiben:

Der Pin-Strom am Ausgang ergibt sich dann wie gewohnt zu:

und für den Pin-Strom am Eingang:

Für Rin = unendlich könnte man auch für den Eingangs-Pin-Strom  I1 = 0 schreiben, man sollte aber aus nummerischen
Gründen immer einen definierten Eingangswiderstand festlegen.

Fehlt nur noch der Bilanzstrom:

Es muß nur noch die gewünschte Transfer-Funktion für Ua(Ue) eingesetzt und mittels Substitution die erlaubte Form für
die Terme erzeugt werden.
Z.Bsp. für einen einfachen linearen Verstärker Ua = V*Ue (Spannungsverstärkung V) sieht die Gleichung für I2 dann
folgendermaßen aus:

Weitere Beispiele für diese Art der Modellierung sind der PID-Controller, das PT1-Glied, das PT2-Glied und der linerare OV.

Analoges FIR/IIR-Filter

Ein besonderer Fall für die oben beschriebene Modellierung ist das analoge IIR-Filter.
Für die Transfer-Funktion Ua(Ue) schreibt man hier:

Es handelt sich um eine sogenannte Faltung des Eingangs-Signals Ue mit den Koeffizienten des IIR-Filters.
ToneCirc rechnet hier bei Dyna mit folgender Formel:

Bei der LSA macht ToneCirc folgende Berechnung:

Und mit s = 0 ergibt sich für die statische Analyse:

Coffs repräsentiert eine Text-Datei mit den a/b-Koeffizienten des Filters. 
Coffs beinhaltet nur den Datei-Namen (mit Extension *.coff). Diese Datei wird zuerst im Verzeichniss der SelfDef-
Datei, dann in den Schwester-Verzeichnissen und, wenn immer noch nicht gefunden, im gesamten Data-Verzeichniss
gesucht. Diese Textdatei hat folgenden einfachen Aufbau:

; Kommentar
a[0]
a[1]
...
a[Na-1]
$$$
b[1]
b[2]
...
b[Nb]

Tv repräsentiert die Laufzeit des Signals von einem Koeffizienten zum Nächsten.
Für FIR-Filter gilt das Selbe wie für IIR-Filter, nur das FIR-Filter keine b-Koeffizienten besitzen.

Analoge FIR/IIR-Filter werden meist als akustische Oberflächen-Wellen-Filter (SAW) realisiert. Mir sind bisher
nur FIR-Bandpass-Realisierungen im 3-stelligen Mhz-Bereich bekannt.
Für das (Digital-)Filter-Design gibt es verschiedene Programme (mit MATLAB sollte es auch gehen), man muß
nur fsample = 1/Tv setzen.
Zur Demonstration wollen wir aber nun ein RC-Glied (LowPass) mit einem IIR-Filter nachbilden.

Hier die Schaltungs-Skizze:

Die Differential-Gleichung für das RC-Glied läßt sich einfach herleiten:

Wir machen den Übergang zur Differenzen-Gleichung:

Die Coff-Datei nennen wir RC_Lowpass.coff und tragen ein:

;IIR Wavefilter, Lowpass-Like
;RC=1uS, tv=10ns, N=1/1
0.009901
$$$
-0.9901

Die Hauptteile in unserem IIR-Filter-Script müssen nun so aussehen:

#VarsAndConstants
tv = 10e-9
Gin = 1/Rin
Gout = 1/Rout
#End

#Volts
uin = u1 - u0
uout = u2 - u0
#End

#LaplaceCurrents
i1 = Gin*uin
i2 = Gout*Uout - Gout*IIR(s,RC_lowpass.coff,tv)*Uin
<i0 = -i1-i2>
#End

Hier der vollständige Script von IIR_Analog_RCLowpass.selfdef. Für Ue habe ich hier Uin genommen.
Wie man sieht findet für das IIR-Filter der Term-Typ 18 Verwendung.

Zum Testen des Filters bitte die Schaltung IIR_RCLowpass_Filter.circ öffnen:

Wir machen eine dynamische Analyse (Dyna) und eine Kleinsignal-Analyse (LSA). Folgende Ergebniss-
Charts sind zu bewundern:

Man erkennt nach kurzem Blick, dass sich dieses IIR-Filter tatsächlich wie ein RC-Glied verhält.

Zurück zur Hauptseite