Hallo zusammen Ich versuche gerade den Amplitudenrand und die Phasenreserve selbst zu berechnen und versuche dies mit dem Bodeplot aus Matlab zu vergleichen. Dies habe ich getan und dies funktioniert auch soweit, jedoch erhalte ich bei der Berechnung nicht direkt die Phasenverschiebung, sondern eigentlich den Phasenrand direkt, was ja schon komisch ist. Ich müsste doch erst die Phasenverschiebung erhalten und den Phasenrand dann mit folgender Formel berechnen. Phasenrand = 180 - Phasenverschiebung Wieso erhalte ich nicht erst die Phasenverschiebung? Was mache ich im folgenden Code verkehrt? Ich wäre euch für einen kurzen Input sehr dankbar. Werte für w=105 Phasenverschiebung = 4.8947 Phasenverschiebung_b = 4.8947 Phasenrand = 175.1053 Phasenrand_b = 175.1053 w=10.2 Phasenverschiebung = 38.8334 Phasenverschiebung_b = 38.8334 Phasenrand = 141.1666 Phasenrand_b = 141.1666 Code: clear all clc zo=[1 1]; % Zählerpolynom 1*s + 2 als Zeilenvektor no=[0.1 1 0 0]; % Nennerpolynom 1*s^2 + 2*s + 1 als Zeilenvektor Go1=tf(zo,no) % Definition der Übertragungsfunktion Gw= Go1/(1+Go1) w=105; zaehler = 1+j*w nenner1 = 0.1*(j*w)^3 nenner2 = (j*w)^2 Go= zaehler / (nenner1 + nenner2) re=-(1+0.1*w^2)/(w^2+0.1^2*w^3) im=-0.9*w/(w^2+0.1^2*w^3) realt=real(Go) ima=imag(Go) betrag = sqrt(1+w^2)/sqrt(w^4 * (1+(0.1*w)^2)); AR=1/betrag AR=mag2db(AR) Phasenverschiebung=atan(im/re)*180/pi Phasenverschiebung_b=atan(ima/realt)*180/pi Phasenrand=180-Phasenverschiebung Phasenrand_b=180-Phasenverschiebung_b bode(Go1) % legend('open loop', 'closed loop') % pzmap(Gw); % grid on
Den schrieb: > Ich müsste doch erst die Phasenverschiebung erhalten und den Phasenrand > dann mit folgender Formel berechnen. > > Phasenrand = 180 - Phasenverschiebung > > Wieso erhalte ich nicht erst die Phasenverschiebung? Im Rechengang wird doch zuerst die Phasenverschiebung errechnet. Erst danach wird der Phasenrand ausgewiesen. Warum stört Dich die Reihenfolge? Sobald einer der Werte bekannt ist kannst Du ganz simpel mit einer bekannten Konstate den anderen berechnen. mfg klaus
Klaus R. schrieb: > Den schrieb: >> Ich müsste doch erst die Phasenverschiebung erhalten und den Phasenrand >> dann mit folgender Formel berechnen. >> >> Phasenrand = 180 - Phasenverschiebung >> >> Wieso erhalte ich nicht erst die Phasenverschiebung? > > Im Rechengang wird doch zuerst die Phasenverschiebung errechnet. Erst > danach wird der Phasenrand ausgewiesen. Warum stört Dich die > Reihenfolge? Sobald einer der Werte bekannt ist kannst Du ganz simpel > mit einer bekannten Konstate den anderen berechnen. > mfg klaus Hallo Klaus Vielen Dank für deinen Beitrag. Das was du schreibst ist mir eigentlich schon klar, aber mit der Formel Phasenverschiebung=atan(im/re)*180/pi oder Phasenverschiebung_b=atan(ima/realt)*180/pi berechne ich doch stets die Phasenverschiebung. Also aus dem Real und Imaginärteil der Übertragungsfunktion. Hier also von Go Nun wenn ich die Formel anwende hätte ich erwartet, dass ich zuerst die 175° als Ergebnis erhalte und nicht 4.8947, was ja der Phasenrand gemäss Plot ist. Verstehst du was ich meine?
Frage: Ist hier wirklich Betrag und Phase der OFFENEN Kreisverstärkung (loop gain) aufgetragen? Nur damit kann man ja die Stabilitätsreserve ermittelt werden
Lutz V. schrieb: > Frage: Ist hier wirklich Betrag und Phase der OFFENEN Kreisverstärkung > (loop gain) aufgetragen? Nur damit kann man ja die Stabilitätsreserve > ermittelt werden Klar doch: Befehl im Code oben -> bode(Go1) Go1 = s + 1 ------------- 0.1 s^3 + s^2 Nullstelle: s=-1 Polstelle zweifach bei s=0 und einfach bei s=-10 Aber das hilft ja bei dem Problem nicht direkt weiter oder?
:
Bearbeitet durch User
Wo ist jetzt aber Dein Problem? Es handelt sich hier ja um ein idealisiertes und nicht realisierbares System- Ich kann jetzt nicht beurteilen, was Matlab damit anfängt - zumal keine Amplitudenreserve bestimmt werden kann, da die Phasendrehung ja nie den kritischen Wert erreicht. Die theoretische Phasenreserve kann man ja aber direkt ablesen. Da die Phase bei Null Hertz -180 Grad beträgt, darf bei Rückkopplung an der Vergleichsstelle nicht subtrahiert werden, sondern es werden Eingangs- und Rückkopplungssignal addiert. Damit muss die Phasenreserve als Differenz zu 360 Grad (bzw. 0 Grad) ermittelt werden. Bei der Frequenz mit 0dB-Betrag (Frequenz kann nicht abgelesen werden) ergibt das dann eine Reserve von 360-140=220 Grad. Wegen des ansteigenden Phasenverlaufs bei dieser Frequenz kann man auch die Differenz zu Null Grad als Reserve interpretieren - also 140 Grad. Beides sind aber fiktive Werte ohne praktische Bedeutung bei diesem unrealistischen System.
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.