Contenido principal

canon

(No se recomienda) Realización canónica en espacio de estados

canon no se recomienda. En su lugar, utilice modalreal y compreal. (desde R2023b) Para más información sobre cómo actualizar el código, consulte Historial de versiones.

Descripción

csys = canon(sys,type) transforma el modelo lineal sys en la realización canónica csys. type especifica si csys está en forma modal o compañera.

Para obtener información sobre formas canónicas controlables observables, consulte Realizaciones en espacio de estados.

ejemplo

csys = canon(sys,'modal',condt) especifica un límite superior condt en el número de condición de la transformación diagonal de bloques. Utilice condt si tiene valores propios cercanos en csys.

[csys,T]= canon(___) también devuelve la matriz de transformación de coordenadas de estado T que relaciona los estados del modelo de espacio de estados sys con los estados de csys.

ejemplo

Ejemplos

contraer todo

Supongamos que tiene un modelo de espacio de estados de una aeronave donde la entrada es el ángulo de deflexión del elevador δ y la salida es el ángulo de cabeceo de la aeronave θ .

[ α ˙ q ˙ θ ˙ ] = [ - 0 . 3 1 3 5 6 . 7 0 - 0 . 0 1 3 9 - 0 . 4 2 6 0 0 5 6 . 7 0 ] [ α q θ ] + [ 0 . 2 3 2 0 . 0 2 0 3 0 ] [ δ ] y = [ 0 0 1 ] [ α q θ ] + [ 0 ] [ δ ]

Cargue los datos del modelo en el área de trabajo y cree el modelo de espacio de estados sys.

load('aircraftPitchSSModel.mat');
sys = ss(A,B,C,D)
sys =
 
  A = 
            x1       x2       x3
   x1   -0.313     56.7        0
   x2  -0.0139   -0.426        0
   x3        0     56.7        0
 
  B = 
           u1
   x1   0.232
   x2  0.0203
   x3       0
 
  C = 
       x1  x2  x3
   y1   0   0   1
 
  D = 
       u1
   y1   0
 
Continuous-time state-space model.

Convierta el modelo de espacio de estados sys resultante en la forma compañera controlable.

csys = canon(sys,'companion')
csys =
 
  A = 
              x1         x2         x3
   x1          0          0  1.914e-15
   x2          1          0    -0.9215
   x3          0          1     -0.739
 
  B = 
       u1
   x1   1
   x2   0
   x3   0
 
  C = 
            x1       x2       x3
   y1        0    1.151  -0.6732
 
  D = 
       u1
   y1   0
 
Continuous-time state-space model.

csys es la forma compañera controlable de sys.

Supongamos que tiene un modelo de espacio de estados para un péndulo invertido en un carro donde las salidas son el desplazamiento del carro x y el ángulo del péndulo θ . La entrada de control u es la fuerza horizontal sobre el carro.

[ x ˙ x ¨ θ ˙ θ ¨ ] = [ 0 1 0 0 0 - 0 . 1 3 0 0 0 0 1 0 - 0 . 5 3 0 0 ] [ x x ˙ θ θ ˙ ] + [ 0 2 0 5 ] u y = [ 1 0 0 0 0 0 1 0 ] [ x x ˙ θ θ ˙ ] + [ 0 0 ] u

Primero, cargue el modelo de espacio de estados sys en el área de trabajo.

load('pendulumCartSSModel.mat','sys');

Convierta sys a una forma modal y extraiga los tamaños de los bloques.

[csys,T] = canon(sys,'modal')
msys =
 
  A = 
           x1      x2      x3      x4
   x1       0       0       0       0
   x2       0   -0.05       0       0
   x3       0       0  -5.503       0
   x4       0       0       0   5.453
 
  B = 
          u1
   x1  1.875
   x2  6.298
   x3   12.8
   x4  12.05
 
  C = 
              x1         x2         x3         x4
   y1         16     -4.763  -0.003696   0.003652
   y2          0   0.003969   -0.03663    0.03685
 
  D = 
       u1
   y1   0
   y2   0
 
Continuous-time state-space model.
T = 4×4

    0.0625    1.2500   -0.0000   -0.1250
         0    4.1986    0.0210   -0.4199
         0    0.2285  -13.5873    2.4693
         0   -0.2251   13.6287    2.4995

csys es la forma canónica modal de sys, mientras que T representa la transformación entre los vectores de estado de sys y csys.

Argumentos de entrada

contraer todo

Sistema dinámico, especificado como un modelo de sistema dinámico SISO o MIMO. Se admiten los siguientes tipos de sistemas dinámicos:

  • Modelos LTI numéricos en tiempo continuo o en tiempo discreto, como modelos tf, zpk, ss o pid.

  • Modelos LTI generalizados o con incertidumbre, como modelos genss o uss (Robust Control Toolbox). El uso de modelos con incertidumbre requiere Robust Control Toolbox™.

    El modelo de espacio de estados canónico resultante asume

    • valores actuales de los componentes ajustables para los bloques de diseño de control ajustables.

    • valores nominales del modelo para los bloques de diseño de control con incertidumbre.

  • Modelos LTI identificados, como modelos idtf (System Identification Toolbox), idss (System Identification Toolbox), idproc (System Identification Toolbox), idpoly (System Identification Toolbox) y idgrey (System Identification Toolbox). El uso de modelos identificados requiere System Identification Toolbox™.

No se pueden utilizar modelos de datos de respuesta en frecuencia, como modelos frd.

Tipo de transformación, especificado como 'modal' o 'companion'. Si no se especifica type, canon convierte el modelo de sistema dinámico especificado en la forma canónica modal de manera predeterminada.

La forma canónica compañera es la misma que la forma canónica observable. Para obtener información sobre formas canónicas controlables observables, consulte Realizaciones en espacio de estados.

  • Forma modal

    En la forma modal, A es una matriz de diagonales de bloques. El tamaño del bloque normalmente es de 1 por 1 para los valores propios reales y de 2 por 2 para los valores propios complejos. Sin embargo, si hay valores propios repetidos o clusters de valores propios cercanos, el tamaño del bloque puede ser mayor.

    Por ejemplo, para un sistema con valores propios (λ1,σ±jω,λ2), la matriz modal A presenta el siguiente formato:

    Am=[λ10000σω00ωσ0000λ2].

  • Forma compañera

    En la realización compañera, el polinomio característico del sistema aparece explícitamente en la columna situada más a la derecha de la matriz A. Para un sistema con polinomio característico

    P(s)=sn+αn1sn1+αn2sn2++α1s+α0,

    la matriz compañera correspondiente A es

    Accom=[01000001000001000001α0α1α2α3  αn1],Bccom=[100].

    La transformación compañera exige que el sistema sea controlable desde la primera entrada. La transformación en forma compañera se basa en la matriz de controlabilidad, que casi siempre es numéricamente singular para los órdenes medios. Por tanto, evite utilizarla siempre que sea posible.

    La realización compañera devuelta por canon a veces se conoce como forma canónica controlable. Para obtener más información sobre formas canónicas controlables y observables, consulte Realizaciones en espacio de estados.

Límite superior del número de condición de la transformación diagonal de bloques, especificado como un escalar positivo. Este argumento solo está disponible cuando type se establece en 'modal'.

Aumente condt para reducir el tamaño de los grupos de valores propios en la matriz A de csys. Si se establece condt = Inf, se diagonaliza la matriz A.

Argumentos de salida

contraer todo

Forma canónica del espacio de estados del modelo dinámico, devuelta como un objeto de modelo ss. csys es una realización en espacio de estados de sys en la forma canónica especificada por type.

Matriz de transformación, devuelta como una matriz de n por n, donde n es el número de estados. T es la transformación entre el vector de estados x del modelo de espacio de estados sys y el vector de estados xc de csys:

xc = Tx

.

Este argumento solo está disponible cuando sys es un objeto de modelo ss.

Limitaciones

  • No se pueden utilizar modelos de datos de respuesta en frecuencia para convertir a la forma canónica de espacio de estados.

  • La forma compañera está mal condicionada para la mayoría de los cálculos del espacio de estados; es decir, la transformación a la forma compañera se basa en la matriz de controlabilidad, que casi siempre es numéricamente singular para los órdenes medios. Por tanto, evite utilizarla siempre que sea posible.

Algoritmos

El comando canon utiliza el comando bdschur para convertir sys en una forma modal y calcular la transformación T. Si sys no es un modelo de espacio de estados, canon primero lo convierte al espacio de estados usando ss.

La reducción a la forma compañera utiliza una transformación de similitud de estados basada en la matriz de controlabilidad [1].

Referencias

[1] Kailath, T. Linear Systems, Prentice-Hall, 1980.

Historial de versiones

Introducido antes de R2006a

expandir todo

Consulte también

| | | | | | | | (Robust Control Toolbox) | (System Identification Toolbox) | (System Identification Toolbox) | (System Identification Toolbox) | (System Identification Toolbox) | (System Identification Toolbox)