Discrete State-Space
DiscreteHet Discrete State-Space-blok implementeert een discreet-tijd lineair toestandsruimtemodel (state-space systeem). Bij elke bemonsteringsstap actualiseert het de interne toestandsvector via de recurrente vergelijkingen en berekent vervolgens de uitgang als een lineaire combinatie van de huidige toestand en de ingang. Het blok is equivalent aan de matrixoverdrachtsfunctie in het z-domein H(z) = C(zI - A)^-1 B + D.
Typische toepassingen zijn het modelleren van discrete processen (plant models), waarnemer-/schatterdynamica (observers/estimators), vooraf ontworpen digitale filters in toestandsruimtevorm, en elk lineair systeem dat is gediscretiseerd vanuit een continu-tijd ontwerp via nulde-orde hold (ZOH) of Tustin-methoden.
Wiskundig Model
Waarbij:
x[k]— toestandsvector op stap k (lengte n, de systeemorde)u[k]— ingangsvector op stap k (komt overeen met het aantal kolommen van B)y[k]— uitgangsvector op stap k (komt overeen met het aantal rijen van C)A— n×n toestandsovergangsmatrix (systeemmatrix)B— n×m ingangsmatrixC— p×n uitgangsmatrixD— p×m directe doorvoermatrixk— discrete tijdsindex; reële tijd = k · sampleTime
Ingangen & Uitgangen
| Direction | ID | Label | Type | Status |
|---|---|---|---|---|
| → In | u |
Input(s) | number | Required |
| ← Out | y |
Output(s) | number | Output |
Parameters
| Parameters | Label | Type | Standaard | Beschrijving |
|---|---|---|---|---|
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 |
Gebruiksvoorbeelden
Eerste-orde laagdoorlaatfilter op 100 Hz
Een discreet eerste-orde laagdoorlaatfilter met een pool op z = 0.9 en een DC-versterking van 1:
Step → DiscreteStateSpace → Display
A=0.9 B=0.1 C=1 D=0 T=0.01s
Tweede-orde systeem (dubbele integrator, Euler)
Gediscretiseerde dubbele integrator met T = 0.01 s:
Force → DiscreteStateSpace → Position
A=[1 0.01; 0 1] B=[0.00005; 0.01] C=[1 0] D=0Opmerkingen & Best Practices
- Matrixafmetingen: A moet vierkant zijn (n×n). B moet n rijen hebben. C moet n kolommen hebben. D moet hetzelfde aantal rijen als C hebben en hetzelfde aantal kolommen als B. Niet-overeenkomende afmetingen leiden tot een simulatiefout.
- Multi-input / multi-output: Sluit meerdere signalen aan op de ingangspoort voor MIMO-systemen; het blok stapelt deze in aansluitvolgorde in de u-vector.
- Stabiliteit: Het systeem is uitsluitend stabiel wanneer alle eigenwaarden van A strikt binnen de eenheidscirkel liggen. Een instabiele A-matrix zorgt ervoor dat de toestand onbegrensd toeneemt.
- Discrete toestanden: Het blok wijst intern maximaal 32 discrete toestandsposities toe; houd de systeemorde op of onder 32.
- Bemonsteringstijduitlijning: Wanneer dit blok wordt gecombineerd met andere discrete blokken, stel dan alle
sampleTime-waarden consistent in of voeg een Rate Transition-blok in op de overgang.
Gerelateerde Componenten
- RateTransition: Te gebruiken om bemonsteringsfrequentiegrenzen te overbruggen bij het aansluiten op subsystemen met een andere frequentie.
- TransferFunction: Continu-tijd equivalent; te gebruiken bij het ontwerpen in het s-domein voorafgaand aan discretisatie.
- Integrator: Continu-tijd toestandsaccumulatie; te gebruiken in plaats van DiscreteStateSpace wanneer de globale solver de integratie verzorgt.