Discrete State-Space
DiscreteEl bloque Discrete State-Space implementa un sistema lineal en espacio de estados en tiempo discreto. En cada instante de muestreo, actualiza el vector de estado interno mediante las ecuaciones de recurrencia y calcula la salida como una combinación lineal del estado actual y la entrada. El bloque equivale a la función de transferencia matricial en el dominio z H(z) = C(zI - A)^-1 B + D.
Los usos típicos incluyen la implementación de modelos de planta en tiempo discreto, dinámicas de observadores y estimadores, filtros digitales prediseñados en forma de espacio de estados y cualquier sistema lineal discretizado a partir de un diseño en tiempo continuo mediante métodos de retención de orden cero (ZOH) o Tustin.
Modelo Matemático
Donde:
x[k]— vector de estado en el paso k (longitud n, orden del sistema)u[k]— vector de entrada en el paso k (coincide con el número de columnas de B)y[k]— vector de salida en el paso k (coincide con el número de filas de C)A— matriz de transición de estados n×nB— matriz de entrada n×mC— matriz de salida p×nD— matriz de transmisión directa p×mk— índice de tiempo discreto; tiempo real = k · sampleTime
Entradas y Salidas
| Direction | ID | Label | Tipo | Status |
|---|---|---|---|---|
| → In | u |
Input(s) | number | Required |
| ← Out | y |
Output(s) | number | Output |
Parámetros
| Parámetros | Label | Tipo | Por defecto | Descripción |
|---|---|---|---|---|
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 |
Ejemplos de Uso
Filtro paso bajo de primer orden a 100 Hz
Un filtro paso bajo discreto de primer orden con polo en z = 0.9 y ganancia estática unitaria:
Step → DiscreteStateSpace → Display
A=0.9 B=0.1 C=1 D=0 T=0.01s
Sistema de segundo orden (doble integrador, Euler)
Doble integrador discretizado con T = 0.01 s:
Force → DiscreteStateSpace → Position
A=[1 0.01; 0 1] B=[0.00005; 0.01] C=[1 0] D=0Observaciones y Buenas Prácticas
- Dimensiones matriciales: A debe ser cuadrada (n×n). B debe tener n filas. C debe tener n columnas. D debe tener el mismo número de filas que C y el mismo número de columnas que B. Dimensiones no coincidentes causarán un error de simulación.
- Entradas y salidas múltiples (MIMO): Conecte múltiples señales al puerto de entrada para sistemas MIMO; el bloque las agrupa en el vector u según el orden de conexión.
- Estabilidad: El sistema es estable solo cuando todos los autovalores de A se encuentran estrictamente dentro del círculo unitario. Una matriz A inestable hará que el estado crezca indefinidamente.
- Estados discretos: El bloque asigna internamente hasta 32 ranuras para estados discretos; mantenga el orden del sistema en 32 o menos.
- Alineación del tiempo de muestreo: Al combinar este bloque con otros bloques discretos, configure todos los valores de
sampleTimede forma consistente o inserte un bloque Rate Transition en la transición.
Bloques Relacionados
- RateTransition: Para cruzar límites de frecuencia de muestreo al conectarse a subsistemas con diferente velocidad.
- TransferFunction: Equivalente en tiempo continuo; utilizar para diseño en el dominio s antes de la discretización.
- Integrator: Acumulación de estados en tiempo continuo; utilizar en lugar de DiscreteStateSpace cuando el solver global gestione la integración.