Hallo, kann mir vielleicht jemand weiterhelfen, wie ich die Zeitkonstante der abgebildeten Schaltung berechnen kann? Vielen Dank!
:
Verschoben durch Moderator
@ 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.
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.
Was macht die Spannungsquelle? Ist das wirklich eine Quelle, oder soll das die Ausgangsgröße sein?
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?
Die Spannungsquelle hat einen konstanten Spannungswert.
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.
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).
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.
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?
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?
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.
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.
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
> 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.
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.
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)
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.
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?
Sieht nicht so aus, denn darunter kannst du ja den solver Typen und die Schrittweite einstellen.
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
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!
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.
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.
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?
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.