Discrete State-Space
DiscreteDer Discrete State-Space-Block implementiert ein zeitdiskretes lineares Zustandsraummodell (State-Space-System). Bei jedem Abtastschritt aktualisiert er den internen Zustandsvektor anhand der Rekursionsgleichungen und berechnet anschließend den Ausgang als Linearkombination des aktuellen Zustands und des Eingangs. Der Block entspricht der z-Bereichs-Matrixübertragungsfunktion H(z) = C(zI - A)^-1 B + D.
Typische Anwendungsbereiche umfassen die Modellierung zeitdiskreter Regelstrecken, Beobachter- und Schätzerdynamiken, vorberechnete digitale Filter in Zustandsraumdarstellung sowie beliebige lineare Systeme, die aus einem zeitkontinuierlichen Entwurf über Zero-Order-Hold (ZOH) oder Tustin-Verfahren diskretisiert wurden.
Mathematisches Modell
Wobei:
x[k]— Zustandsvektor bei Schritt k (Länge n, Systemordnung)u[k]— Eingangsvektor bei Schritt k (entspricht der Spaltenanzahl von B)y[k]— Ausgangsvektor bei Schritt k (entspricht der Zeilenanzahl von C)A— n×n Zustandsübergangsmatrix (Systemmatrix)B— n×m EingangsmatrixC— p×n AusgangsmatrixD— p×m Durchgangsmatrix (Direct-Feedthrough)k— diskreter Zeitindex; reale Zeit = k · sampleTime
Ein- & Ausgänge
| Direction | ID | Label | Typ | Status |
|---|---|---|---|---|
| → In | u |
Input(s) | number | Required |
| ← Out | y |
Output(s) | number | Output |
Parameter
| Parameter | Label | Typ | Standardwert | Beschreibung |
|---|---|---|---|---|
A |
A Matrix | vector | 0.9 |
|
B |
B Matrix | vector | 1 |
|
C |
C Matrix | vector | 1 |
|
D |
D Matrix | vector | 0 |
|
initialState |
Initial State | vector | 0 |
|
sampleTime |
Sample Time | number | 0.01 |
Anwendungsbeispiele
Tiefpassfilter 1. Ordnung bei 100 Hz
Ein diskreter Tiefpass 1. Ordnung mit Pol bei z = 0.9 und statischer Verstärkung (DC-Gain) von 1:
Step → DiscreteStateSpace → Display
A=0.9 B=0.1 C=1 D=0 T=0.01s
System 2. Ordnung (Doppelintegrator, Euler)
Diskretisierter Doppelintegrator mit T = 0.01 s:
Force → DiscreteStateSpace → Position
A=[1 0.01; 0 1] B=[0.00005; 0.01] C=[1 0] D=0Hinweise & Best Practices
- Matrixdimensionen: A muss quadratisch sein (n×n). B muss n Zeilen besitzen. C muss n Spalten besitzen. D muss die gleiche Zeilenanzahl wie C und die gleiche Spaltenanzahl wie B aufweisen. Nicht übereinstimmende Dimensionen führen zu einem Simulationsfehler.
- MIMO (Multi-Input / Multi-Output): Schließen Sie für MIMO-Systeme mehrere Signale an den Eingangsport an; der Block fasst diese in der Reihenfolge der Verbindung im u-Vektor zusammen.
- Stabilität: Das System ist nur dann stabil, wenn alle Eigenwerte von A strikt innerhalb des Einheitskreises liegen. Eine instabile A-Matrix führt zu unbegrenztem Zustandswachstum.
- Diskrete Zustände: Der Block reserviert intern bis zu 32 diskrete Zustandsslots; halten Sie die Systemordnung bei höchstens 32.
- Abtastzeitanpassung: Wenn Sie diesen Block mit anderen diskreten Blöcken kombinieren, setzen Sie alle
sampleTime-Werte einheitlich oder schalten Sie an der Schnittstelle einen Rate Transition-Block ein.
Verwandte Blöcke
- RateTransition: Zum Überbrücken von Abtastratengrenzen bei Verbindung mit Subsystemen anderer Taktrate.
- TransferFunction: Kontinuierliches Äquivalent; nützlich beim Entwurf im s-Bereich vor der Diskretisierung.
- Integrator: Kontinuierliche Zustandsintegration; verwenden, wenn der globale Solver die Integration ausführt.