Introducción (planteamiento)
Dado el siguiente modelo lineal de tiempo discreto, generar "datos experimentales" con diferentes estructuras del modelo de la perturbación, identificar el modelo por el método de mínimos cuadrados y validarlo, todo con MATLAB:
G(z)=0.7346z−0.4231z2(z2+0.3213z+0.0276)Ts=1 seg
Valores del modelo teórico: na_teo = 2, nb_teo =2, nk_teo = 3
Método (plan de solución)
Pasos de implementación en MATLAB: (i) crear diferentes "entradas experimentales" para la identificación (ruido blanco, PRBS con un período base de 1 y valores entre -1 y 1, ruido coloreado), algunas de las cuales se explican en el libro; (ii) generar una señal ruido blanco y a partir de ella generar un vector de perturbación con diferentes estructuras (ARX, ARARX, BJ, OE) y niveles de ruido; (iii) generar la "salida experimental"; (iv) implementar el método de mínimos cuadrados en MATLAB; (v) identificar el modelo por el método de mínimos cuadrados para las diferentes entradas y estructuras de la perturbación y comparar los resultados con la función arx de MATLAB; (vi) validar el modelo con una entrada PRBS, una entrada escalón, análisis residual (para verificar la hipótesis del modelo) y un mapa de polos y ceros (para detectar una posible reducción del orden); (vii) comparar con los parámetros conocidos del modelo, debido a que es un problema simulado; (viii) analizar los resultados.
Resultados (solución)
En el código de MATLAB de este enlace se implementa las tareas anteriores:
Para los resultados se toma un número adecuado de datos (2001) y se utiliza un número mayor de datos cuando se analiza la consistencia del método.
Figura 1 con los resultados con la entrada ruido blanco (tipo_entrada = 1), con una estructura ARX del modelo (perturbacion = 1) y los órdenes adecuados del modelo (na = 2, nb = 2, nk = 3):
Tabla 1 con los parámetros estimados de la figura 1:
Los modelos estimados con el código y con la función arx de MATLAB son, respectivamente:
Figura 2 con los resultados con la entrada ruido blanco (tipo_entrada = 1), con una estructura ARARX del modelo (perturbacion = 2) y los órdenes ampliados del modelo (na = 3, nb = 3, nk = 3):
Tabla 2 con los parámetros estimados de la figura 2:
En la anterior figura se observa una cancelación de un polo y un cero. Modelo obtenido de orden 3:
Cancelación de un polo y un cero (observar la buena coincidencia con el modelo real, mejorando al aumentar el número de datos experimentales):
Gd_est_minreal = minreal(Gd_est,0.1)
Tabla 2a con los datos estimados con un modelo ARARX, N = 200001 y na = 2, nb = 2, nk = 3 (observar que la estimación no es consistente):
Figura 3 con los resultados con la entrada ruido blanco (tipo_entrada = 1), con una estructura BJ del modelo y una relación ruido/señal pequeña (perturbacion = 3) y los órdenes correctos del modelo (na = 2, nb = 2, nk = 3):
Tabla 3 con los parámetros estimados de la figura 3 (resultados adecuados a pesar de que no pasan el análisis residual):
Figura 4 con los resultados con la entrada ruido blanco (tipo_entrada = 1), con una estructura BJ del modelo y una relación ruido/señal grande (perturbacion = 4) y los órdenes correctos del modelo (na = 2, nb = 2, nk = 3):
Tabla 4 con los parámetros estimados de la figura 4 (resultados incorrectos):
Tabla 5 con los resultados con la entrada ruido blanco (tipo_entrada = 1), con una estructura ARX del modelo (perturbacion = 1) y los órdenes mayores del modelo (na = 3, nb = 3, nk = 3), donde se observa valores pequeños en los parámetros extras (a3,b3):
Para la estructura ARX de orden apropiado, se realizó la estimación con una entrada PRBS y una entrada ruido coloreado, con los siguientes resultados.
Tabla 6 (PRBS):
Tabla 7 (ruido coloreado):
Análisis y verificación
Los resultados a partir del código coinciden con los de la función arx de MATLAB, por lo que se puede confiar en el correcto funcionamiento de dicho código. El código explica las ideas principales del método de mínimos cuadrados.
En la identificación de sistemas, además del cálculo de los parámetros, es importante obtener información gráfica relacionada con el ajuste a diferente tipo de entradas, el análisis residual y el mapa de polos y ceros. En este ejemplo se observa el ajuste a una entrada escalón y una entrada PRBS, pero algunas herramientas computacionales como el System Identification Toolbox de MATLAB permiten utilizar otras entradas y comparar con la respuesta obtenida por el método de correlación y el método espectral (se omiten aquí). El análisis residual incluye tanto la prueba de blancura de los residuos como la correlación de los residuos con la entrada, lo cual es útil para otro tipo de análisis, tal y como se explica en el libro y se incluye en los resultados del System Identification Toolbox.
Los resultados de este ejemplo muestran que el método de mínimos cuadrados entrega resultados consistentes si la estructura es ARX o ARARX (figuras y tablas 1 y 2, y tabla 2a), aunque en el segundo caso se debe ampliar el orden del modelo y cancelar luego los polos y ceros comunes (no sirve estimar el modelo de menor orden). En general, al probar con un modelo de orden mayor del necesario se puede observar una cancelación de polos y ceros (figura 2), y/o valores pequeños de algunos parámetros (tabla 5).
El método también entrega parámetros correctos si la estructura no es ARX y la relación ruido/señal es pequeña (figura 3), aunque el análisis residual muestre una correlación existente en los residuos; si la relación ruido/señal es grande (figura 4) los resultados no son correctos y es necesario utilizar otros métodos de identificación. Sin embargo, se debe tener en cuenta que en este ejemplo se hace una comparación con los parámetros exactos, algo que no ocurre en la realidad, y todas las conclusiones deben hacerse a partir de los diferentes gráficos de validación.
Finalmente, la señal de entrada es fundamental en la identificación y lo que más se exige es que sea persistentemente excitada (varíe bastante) y que la amplitud sea la mayor posible (en este ejemplo con un sistema lineal se pudo utilizar una entrada con una amplitud mucho más grande, la cual entregaría mejores resultados, pero no se hizo por razones de ilustración del método). Aunque con las señales de entrada tipo ruido blanco (Tabla 1), PRBS (Tabla 6) y ruido coloreado (Tabla 7) se obtienen resultados similares, la señal PRBS (Tabla 6) es la más fácil de generar y es la preferida en los experimentos de identificación de sistemas.
Comentarios