Seleccionar las variables significativas del sistema que se pretende modelar Una vez seleccionada la estructura de las variables de entrada-salida, es necesario definir cuántas variables serán utilizadas como entradas, para ello es necesario considerar dos casos: (1) Cuando se desea predecir en el futuro o se utilice la variable error como entrada: En este caso es necesario definir previamente el núcleo estimador, de lo cual dependerá la selección del número de variables de entrada. Los pasos en este caso serían: Definir el núcleo estimador Realizar un "ajuste previo" de los parámetros adaptables del núcleo estimador Obtener pares de entrada-salida de la forma [u(t),  , y(t+1)]. Nótese que si se conoce y(t+1), entonces y(t) está disponible.
(2) Cuando se utilizan variables directamente de la medición: En este caso basta obtener datos de entrada-salida de la siguiente forma: [u(t), y(t+1)]. Como lo que se desea determinar son los parámetros [nA, nB, d] ([número de variables retrasadas de la salida, número de variables retrasadas de la entrada, retardo] ), se puede utilizar como herramienta la búsqueda del mejor modelo, basado en mínimos cuadrados, que obtenga los parámetros [nA, nB, d], para un conjunto de datos [u(t), y(t+1)] dado. El modelo basado en mínimos cuadrados se basa en adaptar parámetros de una función lineal, es el más básico de los núcleos estimadores posibles. Es de suponer que determinando la mejor configuración de entrada-salida para este tipo de modelo, ello pueda ser la base para un mejor modelo donde el núcleo estimador incorpore una función no lineal. Como ejemplo se procederá a seleccionar las variables significativas, basado en mínimos cuadrados, del modelo de Box y Jenkins. Se utiliza el System Identification Toolbox de Matlab. [Paso 1]: Se abre el modelo de Box y Jenkins desde Simulink (Open-->boxandj.mdl). [Paso 2]: Se generan al espacio de trabajo las variables de entrada-salida (la simulación está definida para un período de muestreo de 0.01 segundo con una duración de tres segundos). | | | |
[Paso 3]: Se comprueba que las variables de entrada-salida están definidas en el espacio de trabajo: >> whos Name Size Bytes Class Attributes
t 301x1 2408 double tout 301x1 2408 double u 301x1 2408 double y 301x1 2408 double [Paso 4]: Se ejecuta el System Identification Tool (SIT), a través del comando: ident. [Paso 5]: Se importan las variables al SIT a través de los comandos (Import data --> Time domain data...), se definen las variables de entrada-salida y sus características. Se presiona a continuación el botón Import, de lo que resulta: | | | |
[Paso 6]: Se procesan las señales para eliminar ruído y suavisar la evolución de los datos: Existen varias alternativas, como puede verse en tratamiento de las variables. Cuando se utiliza el SIT, las más importantes son:
Sustraer la media de la señal: Preprocess --> Remove means Sustraer tendencias lineales no significativas: Preprocess --> Remove trends Filtrar la señal: Preprocess --> Filter
En este caso se aplicará un filtro: Se utiliza el filtro para eliminar ruído de alta frecuencia o perturbaciones a bajas frecuencias (deriva), los datos en el dominio de la frecuencia es el resultado de aplicar la Transformada de Fourier a los datos definidos en el dominio del tiempo.
Se aplica en SIT: Preprocess --> Filter Style --> Frequency (Hz) y se selecciona con el ratón el rango de frecuencias de interés.
Se aplica el botón Filter, se define Data name (datosfiltrados en este ejemplo) y posteriormente Insert. Como consecuencia de los anteriores comandos se han generado nuevos datos de entrada-salida, que pueden observarse activando Time plot. | | | |
[Paso 7]: Se seleccionan los datos para modelar y para validar: Para la selección de las variables óptimas de entrada salida para obtener un modelo se debe definir un conjunto de datos para modelar y otro para validar. Con un período de muestreo de 0.01 en 3 segundos se obtienen 300 datos, los cuales son insuficientes. Se procede a extender el rango de tiempo a 10 segundos en el modelo Simulink (1000 datos) y se repite todo el proceso previo. Para seleccionar los datos que se utilizarán para modelar, se aplica en el SIT: Preprocess --> Select range
Se selecciona con el cursor los datos para modelar, se le nombra y se inserta al SIT
De forma similar se procede para seleccionar los datos para validar
En el SIT se pasan los datos para modelar al cuadro Working Data y los datos para validar al cuadro Validation Data | | | |
[Paso 8]: Seleccionar las variables significativas: Se aplica en el SIT: Estimate --> Linear parametric models --> Orden selection Las variables [na, nb, nk] del modelo ARX en el SIT son equivalentes a [nA, nB, d]. Se presiona el botón Estimate. Aparece una ventana que representa una predicción del error en función de un conjunto de parámetros seleccionados por el SIT. La barra en rojo representa la mejor predicción. Nótese que a partir de la séptima barra la predicción del error es muy similar, por lo que puede considerarse esta una buena opción. Se presiona con el cursor sobre esta barra y propone los parámetros del modelo ARX (na=3, nb=5 y nk=3). Se presiona Insert para pasar la estructura de modelo que se ha creado a la sección Model Views del SIT. Para ver un gráfico que representa la salida de la planta y el valor estimado por el modelo ARX se selecciona Model Output en el SIT. | | | |
El anterior no es un buen modelo, pero el objetivo aquí es obtener la mejor configuración de entrada salida para aplicar otras técnicas de modelo no lineales más eficientes.
Si se desea saber el modelo ARX que se ha obtenido, se transfiere arx353 al cuadro To Workspace en el SIT, y se aplica el siguiente comando en el espacio de trabajo:
>> arx353
Devolviendo como resultado:
Discrete-time IDPOLY model: A(q)y(t) = B(q)u(t) + e(t) A(q) = 1 - 2.738 q^-1 + 2.563 q^-2 - 0.8205 q^-3
B(q) = -0.5521 q^-3 + 0.7387 q^-4 - 0.3296 q^-5 + 0.6111 q^-6 - 0.6554 q^-7
[Paso 9]: Obtener datos de entrada-salida con las variables seleccionadas: Este paso se implementa para obtener una matriz de datos de entrada-salida que se pueda utilizar para aplicar otras técnicas de modelado no lineal. El modelo en Simulink se puede descargar aquí. Referencias: Mathworks: "System Identification Toolbox". 2008. |