Discrete State-Space
DiscreteLe bloc Discrete State-Space implémente un système linéaire en représentation d'état à temps discret. À chaque instant d'échantillonnage, il fait évoluer le vecteur d'état interne à l'aide des équations de récurrence, puis calcule la sortie sous la forme d'une combinaison linéaire de l'état actuel et de l'entrée. Le bloc est équivalent à la fonction de transfert matricielle dans le domaine en z H(z) = C(zI - A)^-1 B + D.
Les applications typiques incluent l'implémentation de modèles de procédés discrets, la dynamique d'observateurs ou d'estimateurs, les filtres numériques prédéfinis exprimés sous forme d'état, et tout système linéaire discrétisé à partir d'une conception en temps continu via un bloqueur d'ordre zéro (ZOH) ou la méthode de Tustin.
Modèle Mathématique
Où :
x[k]— vecteur d'état au pas k (longueur n, ordre du système)u[k]— vecteur d'entrée au pas k (correspond au nombre de colonnes de B)y[k]— vecteur de sortie au pas k (correspond au nombre de lignes de C)A— matrice d'état (transition) n×nB— matrice d'entrée (commande) n×mC— matrice de sortie (observation) p×nD— matrice d'action directe (feedthrough) p×mk— indice de temps discret ; temps réel = k · sampleTime
Entrées & Sorties
| Direction | ID | Label | Type | Status |
|---|---|---|---|---|
| → In | u |
Input(s) | number | Required |
| ← Out | y |
Output(s) | number | Output |
Paramètres
| Paramètres | Label | Type | Défaut | Description |
|---|---|---|---|---|
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 |
Exemples d'Utilisation
Filtre passe-bas du premier ordre à 100 Hz
Un passe-bas discret du premier ordre avec un pôle en z = 0.9 et un gain statique unitaire :
Step → DiscreteStateSpace → Display
A=0.9 B=0.1 C=1 D=0 T=0.01s
Système du second ordre (double intégrateur, Euler)
Double intégrateur discrétisé avec T = 0.01 s :
Force → DiscreteStateSpace → Position
A=[1 0.01; 0 1] B=[0.00005; 0.01] C=[1 0] D=0Remarques & Bonnes Pratiques
- Dimensions matricielles : A doit être carrée (n×n). B doit avoir n lignes. C doit avoir n colonnes. D doit avoir le même nombre de lignes que C et le même nombre de colonnes que B. Des dimensions incompatibles produiront une erreur de simulation.
- Entrées / sorties multiples (MIMO) : Connectez plusieurs signaux au port d'entrée pour les systèmes MIMO ; le bloc les empile dans le vecteur u selon l'ordre de connexion.
- Stabilité : Le système est stable uniquement lorsque toutes les valeurs propres de A se situent strictement à l'intérieur du cercle unité. Une matrice A instable entraînera une divergence infinie de l'état.
- États discrets : Le bloc alloue en interne jusqu'à 32 emplacements d'état discret ; maintenez l'ordre du système inférieur ou égal à 32.
- Harmonisation de la période d'échantillonnage : Lors du mélange de ce bloc avec d'autres blocs discrets, réglez toutes les valeurs de
sampleTimede manière cohérente ou insérez un bloc Rate Transition à la transition.
Composants Associés
- RateTransition : À utiliser pour franchir les frontières de fréquence d'échantillonnage lors de la connexion à des sous-systèmes fonctionnant à une cadence différente.
- TransferFunction : Équivalent en temps continu ; à utiliser pour la conception dans le domaine en s avant discrétisation.
- Integrator : Accumulation d'état en temps continu ; à utiliser à la place de DiscreteStateSpace lorsque le solveur global gère l'intégration.