Übertragungsfunktion eines Bandpassfilters

Ich muss die symbolische Übertragungsfunktion dieses Bandpassfilters berechnen. Ich habe versucht, die Berechnungen durchzuführen, aber ich würde sie gerne überprüfen, wenn es möglich wäre, und mich wissen lassen, ob die Übertragungsfunktion gut berechnet ist.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein

Wenn Sie Zugriff auf Mathematica haben, geben Sie einfach die verschiedenen Knotengleichungen ein und lassen Sie dieses Tool die Übertragungsfunktion berechnen.
@analogsystemsrf Ich habe keinen Zugriff auf Mathematica und muss die Auflösung dieser Übung analytisch liefern. Ich wollte vor meinem Lehrer keine schlechte Figur machen. Könnten Sie bitte überprüfen, ob die Berechnungen korrekt sind? Vielen Dank im Voraus für Ihre Aufmerksamkeit
@Carmen González: Mathematica (oder andere symbolische Mathematikwerkzeuge) lösen es analytisch, dh als (Zwischen- oder End-)Ergebnisse erhalten Sie mathematische Ausdrücke; und übrigens brauchen Sie kein Mathematica; Sie können zB sympy verwenden, ein kostenloses Paket für symbolische Mathematik für Python. Siehe meinen Beitrag.

Antworten (3)

Die Formel, die Sie mit KCL und KVL abgeleitet haben, sieht korrekt aus. Das Ergebnis, das Sie erhalten haben, ist jedoch in dem Sinne völlig unhandlich, dass Sie Pole, Nullen oder Gewinne nicht unterscheiden können. Mit anderen Worten, Ihre Übertragungsfunktion ist eine Form mit hoher Entropie , während eine Form mit niedriger Entropie wünschenswert ist. Der Ausdruck, der freundlicherweise von Subas Thomas unter Verwendung von Mathematica angeboten wird, nähert sich diesem Format, kann aber in einer einfacheren Form noch weiter faktorisiert werden. Um zu zeigen, wie vorzugehen ist, müssen wir die schnellen analytischen Schaltungstechniken oder FACTs aufrufen. Um diese Techniken anzuwenden, bestimmen und kombinieren Sie alle Zeitkonstanten der Schaltung, wenn sie in zwei verschiedenen Konfigurationen untersucht werden: Stimulus auf 0 reduziert ( v ich N = 0 v ) und die Antwort ( v Ö u T ) wird trotz der vorhandenen Erregung auf Null gesetzt. Um mit diesem Beispiel fortzufahren, habe ich Ihre Schaltung mit den Beschriftungen neu erfasst, die Sie in Ihren ursprünglichen Schaltplan eingefügt haben:Geben Sie hier die Bildbeschreibung ein

Wenn ich mir diese Schaltung anschaue, kann ich zwei energiespeichernde Elemente zählen C 1 Und C 2 , dies ist eine Schaltung zweiter Ordnung. Der Nenner der Übertragungsfunktion folgt der Form: D ( S ) = 1 + S ( τ 1 + τ 2 ) + S 2 τ 2 τ 21 in welchem τ 1 Und τ 2 sind die beteiligten Zeitkonstanten C 1 Und C 2 wenn die Erregung 0 V beträgt und τ 2 τ 21 in welchem τ 21 ist die zugehörige Zeitkonstante C 1 während C 2 wird durch einen Kurzschluss ersetzt.

Der Zähler ist etwas komplexer und kann verallgemeinert geschrieben werden als: N ( S ) = H 0 + S ( H 1 τ 1 + H 2 τ 2 ) + S 2 H 2 H 21 in dem die τ sind die von D ( S ) und das H sind einfache DC-Verstärkungen bestimmt, wenn C 1 oder und C 2 werden durch Kurzschlüsse ersetzt. Wenn Sie all diese Elemente zusammensetzen, haben Sie Ihre Übertragungsfunktion in einer wohlgeordneten Form.

Beginnen wir mit der DC-Verstärkung, H 0 . Öffnen Sie alle Kappen und lösen Sie die Übertragungsfunktion unter Berücksichtigung von Operationsverstärkern mit unendlicher Verstärkung. Um die Analyse zu vereinfachen, kann ich das Netzwerk aus betrachten R 4 Und R 5 als Teiler k 1 gleich k 1 = R 5 R 5 + R 4 und Vorspannen des (+) Stifts mit k 1 v Ö u T . Wenn Sie die Schaltung für analysieren S = 0 , der Gewinn H 0 ist 0. Jetzt ersetzen v ich N B. durch einen Kurzschluss (Erregung auf 0 reduzieren) und "betrachten" Sie die Widerstandsfahrt C 1 . Mit anderen Worten, Sie speisen eine Stromquelle ein ICH T über C 1 Klemmen und Spannung ermitteln v T Sie erhalten. Das Verhältnis dieser beiden Größen ergibt die Zeitkonstante τ 1 = 0 unter Berücksichtigung unendlicher Open-Loop-Verstärkungen für die Operationsverstärker. Wenn Sie das gleiche für tun τ 2 , solltest du finden τ 2 = C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) . Die zweite Zeitkonstante verwendet τ 2 Und τ 21 . Für letzteres ersetzen C 2 durch einen Kurzschluss und bestimmen die Widerstandsfahrt C 1 in diesem Modus (die Erregung ist immer noch 0 V für die Untersuchung von D ). Wenn Sie die Mathematik in Ordnung machen, sollten Sie finden τ 21 = R 1 C 1 . Das ist es, wir haben unseren Nenner: D ( S ) = 1 + S τ 2 + S 2 τ 2 τ 21 = 1 + S C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) + S 2 C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) R 1 C 1 . Für den Zähler haben wir H 0 das ist 0. Das wissen wir, wenn wir short gehen C 1 zu bekommen H 1 dann haben wir auch 0 in der Ausgabe. Und wenn wir short gehen C 1 Und C 2 zu bekommen H 21 , erhalten wir ebenfalls 0. Der einzige Gewinn, den wir bestimmen müssen, ist wann C 2 wird durch einen Kurzschluss ersetzt. Sie können mit einem separaten Schema wie hier vorgehen, um das Ergebnis zu erhalten:

Geben Sie hier die Bildbeschreibung ein

Und wenn Sie die Mathematik gut machen, sollten Sie wieder unendliche Open-Loop-Verstärkungen in Betracht ziehen H 2 = 1 k 1 . Cool, wir haben die gesamte Übertragungsfunktion jetzt da N ( S ) ist ein Einzelelementausdruck:

H ( S ) = S C 2 R 2 R 3 R 1 ( 1 k 1 ) 1 + S C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) + S 2 C 2 R 2 R 3 k 1 R 1 ( 1 k 1 ) R 1 C 1 = S ω z 1 + S ω 0 Q + ( S ω 0 ) 2

Faktorisieren Sie nun den Begriff S ω z im Zähler und S ω 0 Q im Nenner dann neu anordnen, erhalten Sie eine echte Übertragungsfunktion mit niedriger Entropie, die wie folgt definiert ist:

H ( S ) = H 00 1 1 + Q ( S ω 0 + ω 0 S )

in welchem: Q = R 1 C 1 C 2 ( R 2 R 3 k 1 R 1 ( 1 k 1 ) ) , ω 0 = 1 C 2 C 1 R 2 R 3 k 1 ( 1 k 1 ) Und H 00 = 1 k 1

Wenn alle diese Begriffe in einem Mathcad-Blatt erfasst werden, erhalten Sie die folgenden Diagramme

Geben Sie hier die Bildbeschreibung ein

Natürlich wird es schwierig sein, diese Gleichungen Ihrem Lehrer zu zeigen : ) Allerdings ist das Erhalten einer Übertragungsfunktion für eine rein numerische Anwendung in Ordnung - unabhängig von der Methode. Was jedoch wirklich zählt, ist die wohlgeordnete Form mit niedriger Entropie , die Ihnen sagt, welche Terme zu Gewinnen, Polen und Nullen beitragen. Ohne diese Anordnung können Sie Ihre Schaltungen nicht so entwerfen, dass sie bestimmte Ziele erreichen. Um diese Ergebnisse zu erzielen, sind die FACTs meiner Meinung nach unschlagbar. Als Student ermutige ich Sie, sich diese Fähigkeit anzueignen, denn sobald Sie sie haben, werden Sie nicht mehr zum klassischen Ansatz zurückkehren. Hier können Sie FACTs weiter entdecken

http://cbasso.pagesperso-orange.fr/Downloads/PPTs/Chris%20Basso%20APEC%20seminar%202016.pdf

und auch durch die im Einführungsbuch veröffentlichten Beispiele

http://cbasso.pagesperso-orange.fr/Downloads/Book/List%20of%20FACTs%20examples.pdf

Viel Glück mit dieser Schaltung!

Sehr schöne und vollständige Antwort

Wenn Sie keinen Zugriff auf Mathematica haben: Sie können sympy
verwenden , ein kostenloses Paket für symbolische Mathematik für Python:

Ich habe eine kommentierte Schritt-für-Schritt-Lösung für Ihr Problem vorbereitet. Sie können es verwenden, um Ihre (End- oder Zwischen-)Ergebnisse zu überprüfen und es für andere Probleme anzupassen:

# Deriving the transfer function of a Band Pass filter
# using symbolic mathematics package sympy:

from sympy import *

# (1) Define symbols (s, R's, C's and V's)
s = Symbol('s')
R1, R2, R3, R4, R5 = symbols('R1 R2 R3 R4 R5')
C1, C2 = symbols('C1 C2')
Vin, Vout, Vx, Vy = symbols('Vin Vout Vx Vy')

# (2) Define generically impedance of C: 
def Xc(C): global s; return 1 / (s * C)

# (3) Define impedance of C's:
X1 = Xc(C1)
X2 = Xc(C2)

# (4) Define currents:
i1  = (Vin  - Vx) / R1
iC1 =         Vx  / X1
i2  = (Vx - Vy  ) / R2
iC2 = (Vy - Vx  ) / X2
i3  = (Vx - Vout) / R3
i4  = (Vout - Vx) / R4
i5  =         Vx  / R5

# (5) Solve nodal equation system: 
solvedEqSystem = solve([ 
        i1 - (iC1 + i2), # equation (1)
        iC2 - i3,        # equation (2)
        i4 - i5          # equation (3)
    ],
    [Vout, Vx, Vy] 
)

# (6) Divide expression for Vout by Vin to get the transfer function 
#     H(s) := Vout(s)/Vin(s)
H = solvedEqSystem[Vout] / Vin

# (7) Collect same powers of s:
H = collect(H, s)

# (8) Show final result:
print H

Ergebnis:

C2*R2*R3*s*(R4 + R5)/(C1*C2*R1*R2*R3*R5*s**2 + C2*R2*R3*R5*s + R1*R4)

Ihre Antwort sieht richtig aus. Hier ist der Screenshot der Mathematica-Berechnungen:

Geben Sie hier die Bildbeschreibung ein

Und die Eingabeform des Codes:

ExpandDenominator[First[Subscript[V, 0]/Subscript[V, i] /. 
   Solve[{(Subscript[V, i] - Subscript[V, x])/Subscript[R, 1] == 

   Subscript[V, x]/(1/(Subscript[\[ScriptCapitalC], 1]*s)) + 
             (Subscript[V, x] - Subscript[V, y])/
     Subscript[R, 2], 
         (Subscript[V, y] - 
      Subscript[V, 
       x])/(1/(Subscript[\[ScriptCapitalC], 2]*s)) == 
           (Subscript[V, x] - Subscript[V, 0])/Subscript[R, 3], 
         (Subscript[V, 0] - Subscript[V, x])/Subscript[R, 4] == 
           Subscript[V, x]/Subscript[R, 5]} /. 
 Subscript[R, i_] :> 
         1/Subscript[G, i], {Subscript[V, 0], Subscript[V, x], 
       Subscript[V, y]}]]]