Forum: Digitale Signalverarbeitung / DSP / Machine Learning Zero-Order-Hold und Z-Transformation


von J. W. (arx)


Lesenswert?

Hallo,

ich versuche gerade eine Übertragungsfunktion zu diskretisieren und 
bekomme irgendwie nicht das Richtige Ergebnis raus:

Meine kontinuierliche Übertragungsfunktion ist ein IT1-Glied

Ich erweitere um das Zero-Order-Glied und erhalte

Die Z-Transformation davon liefert

Mit einer Abtastzeit von T = 0.001s erhalte ich dann

Matlab gibt aber nach dem Aufruf von c2d(H(s), 0.001, 'zoh') folgendes 
aus

Der Zähler stimmt also schon mal, aber der Nenner ist anders. Ein Test 
durch eine Sprungantwort zeigt schnell: Matlab hat recht, ich nicht. Ich 
weiß aber nicht, was ich falsch gemacht habe. Hat jemand einen Tipp?

von J. W. (arx)


Lesenswert?

Ok, die Lösung führt hier wohl über die Partialbruchzerlegung. Ist etwas 
mühsamer, bringt aber am Ende das gesuchte Ergebnis...

von Florian Werner (Gast)


Lesenswert?

Ich war eben mit der selben Problematik konfrontiert. Ich glaube die 
Lösung gefunden zu haben. Auch wenn der Thread schon alt ist poste ich 
das jetzt hier einfach mal, vielleicht bringt es ja jemanden weiter:

Ich habe die folgende Formel auf 
https://de.wikipedia.org/wiki/Sample-and-Hold-Schaltung gefunden, die 
auf den ersten Blick funktioniert:

Hierbei muss man aufpassen, dass man den Term
 nicht in Faktoren aufteilt, die einzeln Transformiert und das ganze in 
der Z-Welt wieder zusammenmultipliziert. Man darf höchstens konstante 
Parameter ausmultiplizieren, aber keine Terme mit s.
Das das nicht zulässig ist erkennt man schon daran, dass

nicht zum selben Ergebnis führt wie
Die erste Vorgehensweise ist falsch, die zweite richtig.

Für dein Beispiel bedeutet das also:

Aus Transformationstabelle:

Also:

Tadaaaa ;)

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.