Z-ÜF subtrahieren < Regelungstechnik < Ingenieurwiss. < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 21:45 Di 25.11.2014 | Autor: | andi.dt |
Aufgabe | Es soll eine Reglerübertragungsfunktion nach folgender Formel berechnet werden:
Gr(z)=1/Gn(z)-1/Gp(z)
Gn(z) und Gp(z) sind bekannt:
[mm] Gn=(0.01752*z^2+0.00040*z-0.01508)/(z^3-2.51800*z^2+2.11812*z-0.58561)
[/mm]
[mm] Gp=(0.01752*z+0.01540)/(z^2-1.6366*z+0.66952) [/mm] |
Wie muss ich hier vorgehen?
Eigentlich zunächst die inverse ÜF von Gn(z) und Gp(z) bilden.
Diese anschließend subtrahieren (mit HN etc.), oder?
Sollte dies auch unter Matlab funktionieren?
Wenn ich das in Matlab berechnen will, kommt ein falsches Ergebnis heraus. Was mache ich in Matlab falsch?
Hier mein Quelltext:
T=1;
z = tf('z',T);
[mm] Gn=(0.01752*z^2+0.00040*z^1-0.01508*z^0)/(z^3-2.51800*z^2+2.11812*z^1-0.58561*z^0)
[/mm]
[mm] Gp=(0.01752*z+0.01540)/(z^2-1.6366*z+0.66952)
[/mm]
Gr=1/Gn-1/Gp
Vielen Dank für eure Hilfe!
PS: Ich habe diese Frage auch in folgenden Foren auf anderen Internetseiten gestellt: http://www.gomatlab.de/subtrahieren-von-z-uebertragungsfunktionen-t35676.html
Bisher ohen Antworten.
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 19:00 Sa 29.11.2014 | Autor: | Infinit |
Hallo Andi,
den Rechenweg selbst hast Du ja bereits korrekt beschrieben, weswegen da ein falsches Ergebnis herauskommt, kann Dir wohl kaum einer sagen, da Du kein Ergebnis angibst. Mit fünf Nachkommastellen zu rechnen, ist auf jeden Fall schon mal ungewöhnlich genau, zwei bis drei kenne ich aus der Praxis.
Ich könnte mir vorstellen, dass die Invertierung hier Schwierigkeiten bereitet, aber das ist wirklich nur eine Vermutung.
Hast Du mal Dein Ergebnis, das Du herausbekommst, mit dem verglichen, wenn Du folgendes rechnest:
[mm] G_r(z) = \bruch{G_p(z) - G_n(z)}{G_p(z) \cdot G_n(z)} [/mm]
Viele Grüße,
Infinit
|
|
|
|
|
Status: |
(Frage) beantwortet | Datum: | 21:07 Mo 01.12.2014 | Autor: | andi.dt |
Hallo infinit,
vielen dank für deine Antwort. Ich habe deinen Quercheck nun unter Matlab ausprobiert. Folgendes Ergebnis kam heraus:
Gr3 = -0.0004245 [mm] z^8 [/mm] + 0.006896 [mm] z^7 [/mm] - 0.02441 [mm] z^6 [/mm] + 0.04029 [mm] z^5 [/mm] - 0.03698 [mm] z^4 [/mm] + 0.02109 [mm] z^3 [/mm] - 0.00872 [mm] z^2 [/mm] + 0.00272 z - 0.0004238
-------------------------------------------------------------------------------------------------------------------------------------
0.0003063 [mm] z^8 [/mm] - 0.0009958 [mm] z^7 [/mm] + 0.0007588 [mm] z^6 [/mm] + 0.0009551 [mm] z^5 [/mm] - 0.001756 [mm] z^4 [/mm] + 0.0004722 [mm] z^3 [/mm] + 0.0006451 [mm] z^2 [/mm] - 0.000476 z + 9.108e-05
Dies ist leider ebenfalls falsch.
Berechnet habe ich es mit folgenden M-File:
clc;
T0=0.001;
Gp=tf([0.0175 0.0154],[1 -1.6366 0.6697],T0)
Gn=tf([0.0175 +0.00040 -0.01508],[1 -2.5180 2.2797 -0.58561],T0)
Gr=(1/Gn)-(1/Gp)
Gr3 = (Gp-Gn)/(Gp*Gn)
Wenn es richtig ist, kommt eine ÜF mit [mm] z^4 [/mm] im Zähler und [mm] z^3 [/mm] im Nenner heraus.
Woher kommt das falsche Ergebnis in Matlab?
Ich kann das nicht nach vollziehen.
Vielen dank für eure Antworten.
|
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 11:22 Sa 06.12.2014 | Autor: | Infinit |
Hallo Andi,
ich habe hier kein Matlab und kann deswegen auch Deine Rechnung nicht nachvollziehen. Irgendetwas passiert, wenn Du die Funktion tf (was wohl transfer function heißen soll) aufrufst, aber ich wüsste nicht, weswegen Du das machen solltest. Du hast zwei zugegebenermaßen unschöne Brüche, von denen Du den Hauptnenner bilden solltest, um die erwünschte Funktion zu berechnen. Ales bleibt hierbei im z-Bereich, es finden keine Transformationen irgendwelcher Art statt. Beim Bilden des Hauptnenners ensteht dann als höchste Potenz im Zähler ein [mm] z^4 [/mm], im Nenner ist die höchste Potenz ein [mm] z^3 [/mm]. Das Ganze ist unschön zu rechnen, aber durchaus machbar.
Viele Grüße,
Infinit
|
|
|
|