Forum: Analoge Elektronik und Schaltungstechnik Berechnung der Zeitkonstante einer RC-Kettenschaltung 5. Ordnung


von Christian (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

kann mir vielleicht jemand weiterhelfen, wie ich die Zeitkonstante der 
abgebildeten Schaltung berechnen kann?

Vielen Dank!

: Verschoben durch Moderator
von Falk B. (falk)


Lesenswert?

@  Christian (Gast)

>kann mir vielleicht jemand weiterhelfen, wie ich die Zeitkonstante der
>abgebildeten Schaltung berechnen kann?

Ich glaube das willst du nicht wirklich, denn das werden VERDAMMT große 
Formeln ;-)
Frag PSpice.

von Christian (Gast)


Lesenswert?

Danke für die Antwort :)

Vielleicht erkläre ich besser kurz mein Ziel, ich habe für die Schaltung 
eine Differenzengleichung aufgestellt, die ich in Matlab lösen möchte. 
Als Eingangsparameter habe ich die Ströme der Stromquellen. Jetzt stellt 
sich mir die Frage, mit welcher Rate der Strom kommen muss, so dass ich 
keinen Fehler durch die Approximation mache.

Ich habe etwas davon gelesen, dass das "deltaT" zur Lösung der 
Differenzengleichung kleiner sein muss, als die kleinste Zeitkonstante 
des Systems, und viel kleiner als die dominierende Zeitkonstante.

Bei dieser komplexen Schaltung weiß ich nun leider nicht, wie ich das 
weiter angehen kann. Ich möchte die Differenzengleichung so selten wie 
möglich lösen, um den Rechenaufwand zu reduzieren. Das heißt, ich möchte 
das "deltaT" möglichst groß wählen.

von Flo (Gast)


Lesenswert?

Was macht die Spannungsquelle? Ist das wirklich eine Quelle, oder soll 
das die Ausgangsgröße sein?

von Christian (Gast)


Lesenswert?

Beziehungsweise wenn ich jetzt die einzelnen Zeitkonstanten T1 bis T5 
berechnen möchte über Tau=R*C, welche Widerstände muss ich dann für die 
Berechnung der jeweiligen Zeitkonstante nutzen?

von Christian (Gast)


Lesenswert?

Die Spannungsquelle hat einen konstanten Spannungswert.

von Yalu X. (yalu) (Moderator)


Lesenswert?

Christian schrieb:
> kann mir vielleicht jemand weiterhelfen, wie ich die Zeitkonstante der
> abgebildeten Schaltung berechnen kann?

Ich wüsste nicht, wei man die Zeitkonstante einer solchen Schaltung
definieren sollte. Üblicherweise verwendet man diese Begriff nur im
Zusammenhang mit Vorgängen, wo sich eine Größe exponentiell einem
Grenzwert annähert. Das ist bspw. bei einem einfachen RC-Glied der Fall.

Christian schrieb:
> Ich habe etwas davon gelesen, dass das "deltaT" zur Lösung der
> Differenzengleichung kleiner sein muss, als die kleinste Zeitkonstante
> des Systems, und viel kleiner als die dominierende Zeitkonstante.

Dafür brauchst du ja keinen exakten Wert, sondern nur eine
Größenordnung. Ich würde dazu einfach die Zeitkonstanten aller
Kominationen benachbarter Rs und Cs bestimmen (also R1·C1, R1·C2, R3·C2,
R3·C3 usw.), davon das Minimum nehmen und dieses noch einmal durch den
Faktor 10 bis 100 dividieren. Das sollte dann ganz gut hinkommen.

Du kannst die Berechnung aber auch mit mehreren unterschiedlichen
DeltaTs durchführen und schauen, aber welcher Größe eine weitere
Verkleinerung keinen nennenswerten Unterschied im Ergebnis bringt.

von Jan K. (jan_k)


Lesenswert?

Du kannst auch ode45 und Konsorten nehmen, die machen variable 
Zeitschritte, weiß nicht wie gut die Adaption ist, probier mal aus.

Allgemein kann man mMn auch bei Systemen höherer Ordnung von 
Zeitkonstanten reden, gibt dann halt mehrere (die dann vermutlich von 
allen R und Cs abhängen, da die sich gegenseitig beeinflussen).

von Josef (Gast)


Lesenswert?

Es gibt die "Open Circuit Time Constant" Methode zur
Bandbreitenabschaetzung

http://en.wikipedia.org/wiki/Open-circuit_time_constant_method

Dabei wird ein Zusammenhang zwischen den Polen einer 
Uebertragungsfunktion
und den Zeitkonstanten einer Schaltung benutzt.

Bei deiner Schaltung ergeben sich die Zeitkonstanten:

t1 = C1*(R1+R3+R2+R4+R5)
t2 = C1*(R3+R2+R4+R5)
t3 = C1*(R2+R4+R5)
t4 = C1*(R4+R5)
t5 = C1*(R5)

Die Bandbreite (ungefaehr)

f3dB = 1/(t1+t2+t3+t4+t5)

Das Verfahren funktioniert nicht immer.

Es gibt auch eine interessante Erweiterung
http://www.ece.ucsb.edu/Faculty/rodwell/Classes/mixed_signal/Hajimiri_MOTC.pdf

Vielleicht hilft es dir auch die Pole der Uebertragungsfunktion zu
berechnen. Da du sowieso schon numerisch rechnest, sollte das kein 
Problem
sein.
Dazu die Knotenmatrix bilden. Die Nullstellen der Determinante (in s)
sind die Pole.

von Christian (Gast)


Lesenswert?

Danke für die vielen Antworten!

Josef schrieb:
> Bei deiner Schaltung ergeben sich die Zeitkonstanten:
>
> t1 = C1*(R1+R3+R2+R4+R5)
> t2 = C1*(R3+R2+R4+R5)
> t3 = C1*(R2+R4+R5)
> t4 = C1*(R4+R5)
> t5 = C1*(R5)

Wie kommst du genau auf diese Zeitkonstanten? Müsste nicht auch C2 bis 
C5 Anwendung finden?



Yalu X. schrieb:
> Dafür brauchst du ja keinen exakten Wert, sondern nur eine
> Größenordnung. Ich würde dazu einfach die Zeitkonstanten aller
> Kominationen benachbarter Rs und Cs bestimmen (also R1·C1, R1·C2, R3·C2,
> R3·C3 usw.), davon das Minimum nehmen und dieses noch einmal durch den
> Faktor 10 bis 100 dividieren. Das sollte dann ganz gut hinkommen.


Das habe ich mich auch gefragt, welche Widerstände muss ich mit welchen 
Kapazitäten kombinieren, um die Zeitkonstante zu berechnen? Z.B. hat C2 
zwei benachbarte Widerstände, R1 und R3. Worauf kommt es an, und welcher 
Widerstand bestimmt denn hier nun das Tau = Rx * C2?

von Josef (Gast)


Lesenswert?

Christian schrieb:
>> Bei deiner Schaltung ergeben sich die Zeitkonstanten:
>>
>> t1 = C1*(R1+R3+R2+R4+R5)
>> t2 = C1*(R3+R2+R4+R5)
>> t3 = C1*(R2+R4+R5)
>> t4 = C1*(R4+R5)
>> t5 = C1*(R5)
>
> Wie kommst du genau auf diese Zeitkonstanten? Müsste nicht auch C2 bis
> C5 Anwendung finden?

Copy&Paste. Es muss natuerlich heissen

t1 = C1*(R1+R3+R2+R4+R5)
t2 = C2*(R3+R2+R4+R5)
t3 = C3*(R2+R4+R5)
t4 = C4*(R4+R5)
t5 = C5*(R5)

Das sind die OCTC Zeitkonstanten. Also Stromquellen offen, 
Spannungsquellen
kurzgeschlossen, Gleichstromimpedanz von Cx aus gesehen.

Allerdings bist du dir schon des Problems bewusst, bei einer Schaltung 
5. Ordnung von Zeitkonstanten zu reden?

von Christian (Gast)


Lesenswert?

Josef schrieb:
> Das Verfahren funktioniert nicht immer.

Ich habe leider noch nicht ganz verstanden, wie ich beurteilen kann, ob 
das Verfahren bei meiner Schaltung funktioniert.

von Christian (Gast)


Lesenswert?

Josef schrieb:
> Allerdings bist du dir schon des Problems bewusst, bei einer Schaltung
> 5. Ordnung von Zeitkonstanten zu reden?

Ja prinzipiell habe ich Zeitkonstanten ja nur bei einem System 1. 
Ordnung mit exponentiellem Verhalten.

Ich habe nur leider kein anderes Kriterium zur Bestimmung vom maximalen 
"deltaT" zur Lösung der Differenzengleichung gefunden, außer dass 
"deltaT" kleiner als die kleinste Systemzeitkonstante sein muss.

von Josef (Gast)


Lesenswert?

Christian schrieb:
> Josef schrieb:
>> Das Verfahren funktioniert nicht immer.
>
> Ich habe leider noch nicht ganz verstanden, wie ich beurteilen kann, ob
> das Verfahren bei meiner Schaltung funktioniert.

Das haengt von den Werten fur die Rs und Cs ab.

OCTC ist ein Verfahren um die 3dB-Bandbreite einer Schaltung 
abzuschaetzen.
Du willst aber eine Schrittweite fuer ein numerisches Verfahren 
abschaetzen.
Ob die Zeitkonstanten dafuer taugen, kann ich nicht sagen.

OCTC gibt gute Resultate, wenn die Pole der Uebertragungsfunktion 
deutlich voneinander getrennt sind (reel?) und keine Ausloeschung eines 
Pols mit einer Nullstelle auftritt.
Hajimiri hat ein Beispiel, wo das Verfahren nicht gut funktioniert.

Wenn du die Literatur in den Links oben durchliest bekommst du 
vielleicht eine Idee ob das Verfahren fuer dich taugt. Das Thema ist 
jeweils nur ein paar Seiten. Es ist also nicht soviel zum lesen.

Deshalb auch meine Idee, ob man direkt die Pole berechnen soll und 
daraus
eine Abschaetzung bastelt.

P.S.
Es gibt ein ganz aktuelles Buch zum Thema:
https://books.google.de/books?id=gjHYCwAAQBAJ&lpg=PP1&dq=linear%20circuit%20transfer%20function&pg=PP1#v=onepage&q&f=false

von Pandur S. (jetztnicht)


Lesenswert?

> Ich möchte die Differenzengleichung so selten wie
möglich lösen, um den Rechenaufwand zu reduzieren. Das heißt, ich möchte
das "deltaT" möglichst groß wählen.


Das Mathlab laeuft ja auf einem PC. Dir kann doch egal sein, ob das 
Mathlab mit 10'000 Durchgaenge durchkommt, oder ob's eine Million 
Durchgaenge sein muessen.

Ich wuerd bei kompletter Anungslosigkeit die Schrittweite um den Faktor 
Zwei reduzieren, bis das Resultat konvergiert.

von Christian (Gast)


Lesenswert?

Oh D. schrieb:
> Das Mathlab laeuft ja auf einem PC. Dir kann doch egal sein, ob das
> Mathlab mit 10'000 Durchgaenge durchkommt, oder ob's eine Million
> Durchgaenge sein muessen.

Die Funktion soll allerdings später auf eine Hardware mit geringer 
Rechenleistung ausgelagert werden.

von Christian (Gast)


Angehängte Dateien:

Lesenswert?

Jan K. schrieb:
> Du kannst auch ode45 und Konsorten nehmen, die machen variable
> Zeitschritte, weiß nicht wie gut die Adaption ist, probier mal aus.

Gibt es eine Möglichkeit, wie ich mir die vom Solver gewählten 
Zeitschritte nach der Simulation ansehen kann? Dann wüsste ich ungefähr, 
in welcher Größenordnung ich mich befinde.

Ich habe in Simulink den Solver ode45 ausgewählt. Mein Modell läuft in 
Simulink Simscape. Da gibt es ja einen separaten "Solver Configuration 
Block". Muss ich hier dann auch etwas verändern, oder läuft der ode45 
dann auch für das in Simulink integrierte Simscape-Modell?

(Anbei ein Bild des Solver-Configuration-Blocks in Simscape)

von Jan K. (jan_k)


Lesenswert?

Christian schrieb:
> Jan K. schrieb:
>> Du kannst auch ode45 und Konsorten nehmen, die machen variable
>> Zeitschritte, weiß nicht wie gut die Adaption ist, probier mal aus.
>
> Gibt es eine Möglichkeit, wie ich mir die vom Solver gewählten
> Zeitschritte nach der Simulation ansehen kann? Dann wüsste ich ungefähr,
> in welcher Größenordnung ich mich befinde.
Also zumindest der "normale" Matlab ode45 kann das: 
http://www.mathworks.com/help/matlab/ref/ode45.html#outputarg_t
Wenn du also für tspan nur einen Anfangs- und einen Endwert angibst, 
spuckt dir der Zeitvektor t die Zeitpunkte aus, an denen integriert 
wurde. Ein min(diff(t)) würde dann deine minimale Abtastzeit zeigen. 
Kann aber sein, dass der solver zuerst eine sehr kleine Schrittweite 
nimmt und dann schnell adaptiert, plotte diff(t) mal.
>
> Ich habe in Simulink den Solver ode45 ausgewählt. Mein Modell läuft in
> Simulink Simscape. Da gibt es ja einen separaten "Solver Configuration
> Block". Muss ich hier dann auch etwas verändern, oder läuft der ode45
> dann auch für das in Simulink integrierte Simscape-Modell?
>
> (Anbei ein Bild des Solver-Configuration-Blocks in Simscape)
Okay, das weiß ich leider nicht, da ich Simscape noch nie benutzt habe 
;-) Ein "normales" Simulink Modell kann die Zeiten aber durchaus 
loggen/exportieren, aber wenn du noch andere Blöcke da drin hast, 
beeinflussen die natürlich auch die Integrationszeit des solvers.

von Christian (Gast)


Lesenswert?

Wenn ich bei der Simscape Solver-Configuration keinen Haken bei "Use 
local solver" setze, sollte ja nach meinem Verständnis der 
Simulink-Solver Ode45 angewendet werden?

von Jan K. (jan_k)


Lesenswert?

Sieht nicht so aus, denn darunter kannst du ja den solver Typen und die 
Schrittweite einstellen.

von Helmut S. (helmuts)


Lesenswert?

Die Sprungantwort auf die Eingangsspannung oder einen Stromsprung 
bestehen aus einer Linearkombination von 5 Termen mit jeweils einer 
Zeitkonstante. Damit gibt es also 5 Zeitkonstanten.

Dazu muss man für den gewünschten Knoten als erstes die 
Übetragungsfunktion berechenn. Das kann das kostenlose Programm Sapwin 
erledigen. http://cirlab.det.unifi.it/Sapwin/

F(s) = 1/(1+a1*s+a2*s^2+ ... +a5*s^5)

Sprungantwort:
G(s) = 1/s * G(s)

G(s) = 1/(s*(1+a1*s+a2*s^2+ ... +a5*s^5))

Das Ganze in eine Partialbruchdartsellung bringen. Da nur RC-Glider 
ergeben sich 5 reelle Nullstellen. Dies erfrodert die Lösung eines 
linearen Gleichungssystems mit 6 Unbekannten. Das ist aber mit dem 
Gaussverfahren relativ einfach.

G(s) = A/s + B/(1+n1*s) + C/(1+n2*s) +  .... + F/(1+n5*s)

Die Werte n1, n2, .... sind die Zeitkonstanten.

Aus dieser Partialbruch-Darstellung lässt sich leicht die Sprungantwort 
mittels Rücktransformation mit Laplace-Tabelle berechnen.

Egal wie du das berechnest, du solltest das mit SPICE parallel 
simulieren. Damit kannst du sehr gut die eigene Berechnung überprüfen. 
Das Ergebnis von SPICE ist sozusagen der "golden master". Wenn du mal 
ein paar Zahlenwerte für deine Schaltung hinschreibst, dann mach ich dir 
ein Beispiel mit LTspice.

: Bearbeitet durch User
von Christian (Gast)


Lesenswert?

Yalu X. schrieb:
> Ich würde dazu einfach die Zeitkonstanten aller
> Kominationen benachbarter Rs und Cs bestimmen (also R1·C1, R1·C2, R3·C2,
> R3·C3 usw.)

Darf ich das wirklich so machen? Ich brauche ja tatsächlich nur einen 
groben Anhaltspunkt für die Auslegung des deltaT.

Nochmal Danke für die Hilfe!

von Josef (Gast)


Lesenswert?

Christian schrieb:
> Yalu X. schrieb:
>> Ich würde dazu einfach die Zeitkonstanten aller
>> Kominationen benachbarter Rs und Cs bestimmen (also R1·C1, R1·C2, R3·C2,
>> R3·C3 usw.)
>
> Darf ich das wirklich so machen? Ich brauche ja tatsächlich nur einen
> groben Anhaltspunkt für die Auslegung des deltaT.
>
> Nochmal Danke für die Hilfe!

Es gibt auch ein 'Short Circuit Time Constant' Methode.
Dabei wird ein C gewaehlt, Stromquellen offen, Spannungsquellen
kurzgeschlossen, andere Cs kurzgeschlossen.
Dann wird die Impedanz bestimmt, die das C sieht.

Bei deiner Schaltung gibt das:
t1 = C1*R1
t2 = C2*(R1 || R3)
t3 = C3*(R2 || R3)
t4 = C4*(R2 || R4)
t5 = C5*(R4 || R5)

Die Zeitkonstanten sind kleiner als bei OCTC und ganz aehnlich dem was 
Yalu
vorschlaegt.
Der Vorschlag von Helmut ist auch sehr gut. Dabei kannst du die Pole 
auch
numerisch berechnen und musst nicht symbolisch ueber SapWin gehen.

von Helmut S. (helmuts)


Lesenswert?

Christian schrieb:
> Yalu X. schrieb:
>> Ich würde dazu einfach die Zeitkonstanten aller
>> Kominationen benachbarter Rs und Cs bestimmen (also R1·C1, R1·C2, R3·C2,
>> R3·C3 usw.)
>
> Darf ich das wirklich so machen? Ich brauche ja tatsächlich nur einen
> groben Anhaltspunkt für die Auslegung des deltaT.
>
> Nochmal Danke für die Hilfe!

Nein. Das wäre, vornehm ausgedrückt, ziemlich daneben.

von Christian (Gast)


Lesenswert?

Helmut S. schrieb:
> Dazu muss man für den gewünschten Knoten als erstes die
> Übetragungsfunktion berechenn. Das kann das kostenlose Programm Sapwin
> erledigen. http://cirlab.det.unifi.it/Sapwin/

Kannst du mir vielleicht auf die Sprünge helfen, wie ich die 
Übertragungsfunktion ohne das Tool aufstellen könnte?


Josef schrieb:
> Der Vorschlag von Helmut ist auch sehr gut. Dabei kannst du die Pole
> auch
> numerisch berechnen und musst nicht symbolisch ueber SapWin gehen.

Kannst du bitte erklären, wie die numerische Simulation der Pole konkret 
durchgeführt werden könnte?

von Josef C. (josefc)


Lesenswert?

Christian schrieb:
> Josef schrieb:
>> Der Vorschlag von Helmut ist auch sehr gut. Dabei kannst du die Pole
>> auch
>> numerisch berechnen und musst nicht symbolisch ueber SapWin gehen.
>
> Kannst du bitte erklären, wie die numerische Simulation der Pole konkret
> durchgeführt werden könnte?

Keine Simulation, sondern eine Berechnung.

Du bildest die Knotenaddmitanzmatrix A*U=I.

Wenn du nur die Pole willst reicht A. Fuer die vollstaendige 
Uebertragungsfunktion musst du auch U und I setzen.
Fuer deine Schaltung muesstes du dazu die Spannungsquelle in eine 
Stromquelle umwandeln.


Nur fuer die Pole:
1
Mit Gx = 1/Rx
2
3
     [G1+s*C1,    -G1,            0,            0,          0       ]
4
     [  -G1,     G1+G3+s*C2,     -G3,           0,          0       ]
5
A =  [    0,       -G3,        G3+G2+s*C3,     -G2,         0       ]
6
     [    0,        0,           -G2,       G2+G4+s*C4,    -G4      ]
7
     [    0,        0,            0,           -G4,       G4+G5+s*C5]

Jetzt die Determinante

   poly1 = det[A]

poly1 ist ein Polynom in s.

Die Nullstellen des Polynoms sind die Pole.

Es kann problematisch sein die Nullstellen eines Polynoms zu berechnen
(entgegen dem Schulwissen). Deshalb nimmt man am besten einen fertigen 
Solver z.B. auch ueber die Eigenwerte.

Literatur:
Weissgerber, ET f. Ing. 1
Wupper, Elektronische Schaltungen 1
Vlach, Computer Methods for Circuit Analysis...
Numerical Recipes

Ich hoffe mal das stimmt so.

von Werner (Gast)


Lesenswert?

Christian schrieb:
> Bei dieser komplexen Schaltung weiß ich nun leider nicht, wie ich das
> weiter angehen kann. Ich möchte die Differenzengleichung so selten wie
> möglich lösen, um den Rechenaufwand zu reduzieren. Das heißt, ich möchte
> das "deltaT" möglichst groß wählen.

Wie willst du mit solch einer Optimierung einen GHz-Prozessor vernünftig 
auslasten? ;-)
Reicht dir nicht eine vernünftige Abschätzung?

Betrachte die Zeitkonstante der schnellsten Ri - Ci+1 Kombination und 
die Slew-Rate von KSQ - C1 bzw. KSQ1 - C3.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.