|
|
Unterschied zw. 'foh' & 'zoh' bei c2d |
|
bronsco |
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 06.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 28.10.2011, 13:35
Titel: Unterschied zw. 'foh' & 'zoh' bei c2d
|
|
|
|
|
Hallo zusammen!
Ich hätte eine kurze Frage bzgl. der Diskretisierungsmethoden der Matlab-Function c2d mit ihren Möglichkeiten Zero-Order-Hold (zoh) und First-Order-Hold (foh).
Die Herleitung der zoh-Diskretisierung ist mir einigermaßen klar, d.h. wie man auf die Systemmatrizen der Differenzengleichung kommt (siehe hierzu z.B. 1.4 in http://me-lrt.de/struktur-digitaler.....weg-aliasing-modellierung). Das ganze führt dann auf eine Differenzengleichung á la
x[k+1] = A_d*x[k] + b_d*u[k]
y[k] = C_d*x[k] + d_d*u[k]
was sich z.B. in einer for-schleife berechnen lassen könnte (gibt natürlich auch andere Möglichkeiten der Auswertung). Die in dem Link berechneten "diskreten" Matrizen stimmen mit Matlab ('zoh') überein.
Beim foh-Fall wird der Eingang ja dann jedoch zu
u(t) = u[k] + (t-kT)/T*(u[k+1]-u[k]).
Wie schaut denn für diesen Fall die Herleitung der Systemmatrizen für eine - wie auch immer gestaltete - Differenzengleichung aus? Oder anders: Mit welcher Differenzengleichung berechnet man die Lösung nach einer Matlab-foh-Diskretisierung? Diese kann ja wahrscheinlich nicht mehr wie oben aussehen, da ja jetzt auch ein Term mit u[k+1] enthalten ist, oder? Ich habe dazu leider nach langem Suchen nichts gefunden - stets wird immer bloß der zoh-Fall hergeleitet.
Wenn mir dabei jemand weiterhelfen könnte, würde ich mich sehr freuen!
Viele Grüße,
bronsco
|
|
|
|
|
bronsco |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 06.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 04.11.2011, 16:33
Titel:
|
|
Niemand eine Idee/Link/Quelle...???
Wie berechnet Matlab die Systemmatrizen bei c2d im 'foh'-Fall?!
Wenn ich mir den Code von c2d über "open c2d" anschaue, dann frag ich mich sowieso, wie ich etwas zurückbekommen soll, wenn ich als input ein LTI-Model (z.B. über ss(A,B,C,D)) reinstecke, so wie es in der Hilfe steht...
|
|
|
bronsco |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 35
|
|
|
|
Anmeldedatum: 06.07.10
|
|
|
|
Wohnort: ---
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 05.11.2011, 09:44
Titel:
|
|
Die Lösung befindet sich am Ende des Kapitels "Discrete Equivalents" des Buchs "Digital Control of Dynamics Systems" von Franklin.
Wendet man die oben angegebenen "Standard"-Differenzengleichungen mit den Systemmatrizen aus dem c2d-Befehl an, dann stimmt nur der Ausgang y mit den eigentlich richtigen Differenzengleichungen (welche ja noch ein u[k+1] enthalten) überein. Das liegt daran, dass der Zustand x bei obiger Differenzengleichung (und den c2d-Systemmatrizen) nicht mehr dem Physikalischen gleich ist. Ist in obiger Quelle aber recht gut einzusehen...
|
|
|
|
|
Einstellungen und Berechtigungen
|
|
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.
|
|