mikrocontroller.net

Forum: Analoge Elektronik und Schaltungstechnik Übertragungsfunktion in der Zustandsraumdarstellung


Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
ich habe eine Übertragungsfunktion in ZPK-Darstellung in der Form
(1-exp(-a*s))/(1-exp(-b*s)) und würde diese gerne in Matlab eingeben. 
Matlab verweigert dies jedoch und verweist mich auf die SS-Darstellung, 
die der Darstellung im Zustandsraum entspricht. Nun würde ich meiner 
Gleichung also gerne umformen. Blöderweise finde ich dafür keine 
Literatur. Weiß da wer weiter, bzw. kennt einen Trick wie ich die 
Gleichung für Matlabs ZPK-Darstellung umformen kann?

gruß Marcel

Autor: Klaus Dindenmüller (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hm, ich weiß nicht, ob sich Totzeitglieder und Zustandsraumdarstellung 
vertragen....

Autor: Matlab (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Für Totzeitglieder gibt es in Matlab einen gesonderten Block (in 
Simulink) bzw eine gesonderte Funktion

Autor: Remote One (remote1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
In Simulink ist das einfach der delay Block. In Matlab direkt kannst du 
das z.B. so realisieren:

%Totzeit von 0.5s in sys1
set(sys1,’iodelaymatrix’,0.5);

%Totzeit von 4 Abtastschritten in sys2d
set(sys2d,’iodelaymatrix’,4);

oder eben:

systot=zpk(0.5,[-1,-2],2.5,’iodelaymatrix’,0.75);
systotd=zpk(0.5,[-1,-2],2.5,4,’iodelaymatrix’,2);

Achtung, im zeitdiskreten Fall ist die Totzeit die Anzahl der 
Abtastschritte - also auch bei Simulink!!!

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Eingabe der Totzeit ist ansich kein Problem. Vielmehr verzweifel ich 
daran, wie ich meine Gleichung eingeben soll, da dort zwei Totzeiten 
dividiert werden.
Gebe ich beide Gleichungen einzeln ein und dividiere sie anschließend, 
verweigert dies Matlab mit der Meldung, das das System dann nichtmehr 
Kausal wäre.
Gehe ich hin und erstelle mir zunächst ein s mittels
   s=zpk('s');
und gebe die Gleichung anschließend in algebraischer Form ein, verweist 
mich Matlab auf die Zustandsraumdarstellung.

Autor: Remote One (remote1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Matlab hat damit ja auch völlig recht. Die Gleichung als solche ist 
nicht gerade sinnvoll. Wo kommt die denn her? Was beschreibt diese? 
Woher kommt die Totzeit im Nenner?

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die leite ich als Übertragungsfunktion her.
Ich habe ein System, das auf eine Anregung eines Impulses mit einer 
Impulsbreite von 0 bis t1, ein für die Zeitdauer von 0 bis t2, 
abfallendes Exponentialsignal erzeugt. Beide Signale habe ich zur 
Beschreibung mittels Laplacetransformion transformiert und anschließend 
gemäß Definition der Übertragungsfunktion dividiert.

Exponentialsignal:
G1 = a/(s+b)*(1-exp(-(b+s)*t1))

Rechtecksignal:
G2 = d/s * (1-exp(t2*s))

Autor: Remote One (remote1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zeig mal bitte jeweils ein Bild deiner Signale. Ich denke du hast eher 
einen Fehler bei der Identifikation deiner Signale.
Also bitte mehr Informationen...

PS: Aus der Sprungantwort folgt direkt die Übergangsfunktion und daraus 
die Übertragungsfunktion.
http://de.wikipedia.org/wiki/Sprungantwort
Das heißt, dass dein Rechtecksignal auch falsch ist und die Division 
erst recht. Natürlich nur in der Annahme, das dein Rechtecksignal ein 
Sprung ist. Das sehe ich erst aus den hoffentlich bald folgenden 
Bildern.

Autor: Marcel (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Für die Art der Signale, siehe Anhang. Reaktionen auf andere Testsignale 
kenne ich leider nicht und können derzeit auch nicht getestet werden.

Autor: Remote One (remote1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was ist jetzt was?
Wenn ich jetzt mal davon ausgehe, das blau der Einheitssprung von 50s 
(ich nehme mal an es ist eine Zeitachse in Sekunden) ist und grün die 
Reaktion des Systems darauf ist, dann fällt schon mal auf, dass das 
System auf den negativen Sprung nicht reagiert, was ich für sehr 
fragwürdig halte. Ich denke eher, dass du die Signale "zusammen kopiert" 
hast. Was hier benötigt wird, ist die exakte Darstellung beider Signale 
(Ein- und Ausgangssignal) in der richtigen zeitlichen Anordnung.

Zudem fällt auf, dass der Einheitssprung viel zu kurz ist. Das System 
scheint ja extrem träge zu sein. Soll heißen, der Einheitssprung darf 
erst wieder "weggenommen" werden, wenn keine markante Reaktion mehr vom 
System kommt. Du musst dem System ja schließlich Zeit geben in den 
Endwert zu laufen.

Autor: Marcel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube du hast mich missverstanden, da niemals von einem 
Einheitssprung geredet habe. Die Signale habe ich mir nur 
zusammenkopiert, das ist richtig. Die zeitliche Darstellung ist 
ebenfalls nicht maßstabsgetreu. Echte Testsignale kann ich an der Stelle 
nicht fahren, da derzeit der Prototyp nicht funktioniert.
Die fehlende Reaktion auf die negative Flanke hatte ich mir immer so 
erklärt, das die eingekoppelte Rechteckimpuls fast dem Diracimpuls 
entspricht. Die Impulsbreite des Rechteckimpulses sowie Amplitude finden 
sich im Ausgangssignal wieder. Meine erste Idee, dort eine 
Grenzwertbetrachtung zu machen, um die Übertragungsfunktion zu erhalten, 
führte auf eine einfache Exponentialfunktion. Diese beschreibt jedoch 
mein System nicht, weswegen ich es mit der genaueren Beschreibung von 
Ein- und Ausgangssignal probierte.

Autor: Remote One (remote1)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Marcel schrieb:
> Ich glaube du hast mich missverstanden, da niemals von einem
> Einheitssprung geredet habe.

Marcel schrieb:
> Rechtecksignal:
> G2 = d/s * (1-exp(t2*s))

Ein Rechtecksignal ist ein Sprung. Nur eben einmal in positiver und 
danach in negativer Richtung.

Marcel schrieb:
> Die Impulsbreite des Rechteckimpulses sowie Amplitude finden
> sich im Ausgangssignal wieder.

Das ist auch nicht ersichtlich, da
1. Der Sprung viel zu kurz ist
2. keine Zeitrelation zwischen den Signalen zu erkennen ist
3. Ich nicht weiß, wie das Ausgangssignal vor dem Sprung aussah
4. Keine Reaktion auf einen negativen Sprung zu erkennen ist

Mach erst mal den Prototypen fertig, bevor du mit so etwas anfängst. 
Wenn der Prototyp nicht funktioniert, steht natürlich auch die Frage im 
Raum - Woher kommen die Signale?

Remote One schrieb:
> Zudem fällt auf, dass der Einheitssprung viel zu kurz ist. Das System
> scheint ja extrem träge zu sein. Soll heißen, der Einheitssprung darf
> erst wieder "weggenommen" werden, wenn keine markante Reaktion mehr vom
> System kommt. Du musst dem System ja schließlich Zeit geben in den
> Endwert zu laufen.

Nimm dir das zu Herzen und miss nochmal richtig (zumindest wenn du 
kannst).
Das was du hier anbietest reicht zumindest nicht im Geringsten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.