S2.2 Controlabilidad y observabilidad

S2 · Espacio de estados

Definición 1 Observabilidad. El par \((\mathbf A,\mathbf C)\) es observable si el estado inicial se puede reconstruir a partir de la salida durante un tiempo finito; equivale a que la matriz de observabilidad \(\mathcal O=\begin{bmatrix}\mathbf C\\\mathbf C\mathbf A\\\vdots\\\mathbf C\mathbf A^{n-1}\end{bmatrix}\) tenga rango \(n\). Controlabilidad es la propiedad dual: el par \((\mathbf A,\mathbf B)\) es controlable si \(\mathcal C=[\mathbf B\;\mathbf A\mathbf B\;\cdots\;\mathbf A^{n-1}\mathbf B]\) tiene rango \(n\).

En términos modales hay una versión más útil (el criterio de Popov–Belevitch–Hautus): el modo asociado al valor propio \(\lambda\) con vector propio \(\mathbf v\) es observable si \(\mathbf C\mathbf v\neq\mathbf 0\), y controlable si \(\mathbf w^{\mathsf H}\mathbf B\neq\mathbf 0\) para el vector propio por la izquierda \(\mathbf w\). Para un sistema no amortiguado con un sensor de desplazamiento, \(\mathbf C\mathbf v\propto\mathbf L_{\mathrm d}\boldsymbol\varphi\): un sensor colocado en un nodo del modo (donde la forma vale cero) no lo ve. Y la visibilidad es una cuestión de grado, no de sí o no: un modo con \(\lvert\varphi_{ik}\rvert\) pequeño es observable en teoría pero queda enterrado en el ruido en la práctica.

Ver el código
visib = abs.(Phi3) .* sqrt(2e5)
filas = ["| $j | $(coma(visib[1, j]; d=3)) | $(coma(visib[2, j]; d=3)) | $(coma(visib[3, j]; d=3)) |" for j in 1:3]
Markdown.parse("| Modo | planta 1 | planta 2 | planta 3 |\n|:--:|--:|--:|--:|\n" * join(filas, "\n"))
Tabla 1: Visibilidad de cada modo del edificio de tres plantas desde un sensor de desplazamiento en cada planta: valor absoluto de la forma modal normalizada a masa unidad, multiplicado por \(\sqrt{m}\) para que sea adimensional.
Modo planta 1 planta 2 planta 3
1 0,317 0,573 0,755
2 0,671 0,427 0,606
3 0,670 0,699 0,249

En el edificio de cortante ningún modo tiene nodo en una planta, por lo que cualquier planta ve los tres modos; pero la cubierta ve el tercero (\(0{,}25\)) con menos de la mitad de la intensidad que la planta 2 (\(0{,}70\)). Un sensor único en la cubierta basta para identificar las tres frecuencias, aunque estimará peor la del tercer modo.

El rango numérico de \(\mathcal O\) no es fiable por sí solo. Con el sensor de desplazamiento en la cubierta, \(\mathcal O\) es \(6\times6\) de rango 6, pero su número de condición es 5.5e+05: las filas sucesivas \(\mathbf C\mathbf A^k\) crecen como \(\omega^k\) y los valores singulares abarcan seis órdenes de magnitud. Por eso, en el cálculo, el rango de \(\mathcal O\) depende de la tolerancia y de la escala de las variables de estado; para decidir qué modos se ven es mejor el criterio modal.

Ver el código
# cadena de tres masas entre dos paredes: el modo antisimétrico tiene un nodo en la masa central
Kc = [2.0 -1 0; -1 2 -1; 0 -1 2]
Ac = [zeros(3, 3) I(3); -Kc zeros(3, 3)]
(rango_sensor_central = rank(matriz_observabilidad(Ac, [0.0 1.0 0.0 0.0 0.0 0.0])),
 rango_sensor_extremo = rank(matriz_observabilidad(Ac, [1.0 0.0 0.0 0.0 0.0 0.0])))
(rango_sensor_central = 4, rango_sensor_extremo = 6)

En la cadena simétrica entre paredes del apartado A1.7, el sensor central da rango 4 de 6: no puede ver el modo antisimétrico, que tiene un nodo en el centro, y por tanto tampoco su par de polos (una pareja de valores propios = una dimensión de dos estados cada una). Ese es el principal motivo para repartir los sensores y no ponerlos en puntos de simetría.

AdvertenciaObservable en teoría, invisible en la práctica

Cuando la forma modal es pequeña, el polo está en la función de transferencia, pero con un residuo diminuto: sale como una resonancia que se confunde con ruido. Por eso en la identificación real interesa más la relación señal–ruido de cada modo en cada sensor que el rango de \(\mathcal O\). Y si el ruido de medida es grande, observabilidad teórica no garantiza identificación.

Laboratorio: qué ve cada sensor

Simulación 1. Visibilidad de los modos. Elige la estructura y los sensores (uno o varios) y la magnitud medida. Se muestra la visibilidad de cada modo, es decir, el tamaño de \(\mathbf C\boldsymbol\varphi_k\), y el rango de la matriz de observabilidad \(\mathcal O\) construida con el método de potencias de \(\mathbf A\).

Hipótesis y límites de la simulación 1

  • Modelo: sin amortiguamiento; la visibilidad \(\lVert\mathbf C\boldsymbol\varphi_k\rVert\) se calcula con los modos normalizados a masa unidad (en el edificio, el valor está multiplicado por \(\sqrt m\) para que sea adimensional).
  • Rango: se calcula por SVD con una tolerancia relativa de \(10^{-9}\) sobre una matriz \(\mathcal O\) cuyos estados están escalados por la frecuencia fundamental; con otra escala o tolerancia, el rango numérico puede cambiar (véase el aviso de la teoría).
  • Con aceleración el rango no cambia respecto del desplazamiento (en el modelo sin amortiguamiento, \(\mathbf C\) de aceleración es una combinación de la de desplazamiento).
  • Qué no se puede concluir: que con sensores en puntos «no nodales» baste para identificar. La visibilidad pequeña, el ruido y la resolución espectral pueden impedir ver el modo.

Para explorar. (1) Con la cadena simétrica, un sensor en la masa 2 (centro): rango 4. Añade un sensor en la masa 1: rango 6. (2) Pasa al edificio de cortante: con un solo sensor, en cualquier planta, el rango es 6. (3) Mira la visibilidad del tercer modo con el sensor solo en la cubierta.