ER5.8. Versiones recursivas de identificación de sistemas

Introducción (planteamiento)

Dado el siguiente modelo lineal de tiempo discreto, elaborar un programa de Simulink que implemente los métodos recursivos RLS y RIV, y analizar los resultados con diferentes opciones del modelo de la perturbación:

G(z)=1.4576z+0.2456z(z20.2234z+0.6879)Ts=1 seg

Método (plan de solución)

Pasos: (i) implementar los algoritmos RLS y RIV en MATLAB utilizando una sola S-Function para ser utilizada en Simulink; (ii) implementar un diagrama de simulación en Simulink; (iii) probar con un modelo ARX y el algoritmo RLS; (iv) probar con un modelo ARX y el algoritmo RIV; (v) probar con un modelo BJ y el algoritmo RLS; (vi) probar con un modelo BJ y el algoritmo RIV; (vii) probar con un modelo BJ, el algoritmo RIV y cambiando un parámetro del numerador y luego uno del denominador con factores de olvido de 1 y menor que 1 (aquí es útil usar la opción Simulation Pacing de Simulink o cambiando en la pestaña Debug la opción Pause Time); (viii) analizar los resultados.

Resultados (solución)

En este enlace se encuentra el código de MATLAB que implementa los métodos RLS y RIV en una S-Function, cuyo estudio detallado ayuda a entender el funcionamiento de estos métodos de estimación recursiva de parámetros de un función de transferencia de tiempo discreto. Esta función se implementa en Simulink de la siguiente manera:

Diagrama de simulación

Detalles de la S-Function
                 

El siguiente diagrama de Simulink permite realizar los experimentos propuestos (la varianza de la entrada de identificación es igual a 1):

 

Diagrama de simulación para la identificación

El bloque del proceso permite implementar diferentes tipos de estructuras del modelo. Para un modelo BJ se tiene (la varianza del ruido blanco es igual a 0.52):

Simulación de la planta con ruido

Detalles del identificador recursivo

Figura 1 con los resultados con un algoritmo RLS, una estructura ARX y un factor de olvido igual a 1:


Resultados de la identificación recursiva     Valores finales de la identificación recursiva

Figura 2 con los resultados con un algoritmo RLS, una estructura ARX y un factor de olvido igual a 0.98 (observar el aumento de la varianza en la estimación):

 

Resultados de la identificación recursiva 2

Figura 3 con los resultados con una estructura BJ y un factor de olvido igual a 1, a la izquierda con un algoritmo RLS y a la derecha con un algoritmo RIV (observar una mejor estimación en el segundo caso):

Valores finales de la identificación recursiva 2

Figura 4 con los resultados con un algoritmo RIV, una estructura BJ, un factor de olvido igual a 1 y un cambio de signo del parámetro a1 y luego un cambio de signo de b2 (observar la lentitud de convergencia en cada caso):

Valores finales de la identificación recursiva 3

Resultados de la identificación recursiva 3

Figura 5 con los resultados con un algoritmo RIV, una estructura BJ, un factor de olvido igual a 0.99 y un cambio de signo del parámetro a1 y luego un cambio de signo de b2 (observar la mayor velocidad de convergencia, pero mayor varianza):

 

Resultados de la identificación recursiva 4

Análisis y verificación

Los diferentes experimentos muestran el correcto funcionamiento de los algoritmos recursivos RLS y RIV implementados en MATLAB y Simulink, incluyendo el caso cuando se aplica un algoritmo a una estructura incorrecta: algoritmo RLS aplicado a un modelo BJ o un algoritmo RIV aplicado a un modelo ARX (caso que no se muestra), pero que exige un ajuste innecesario que lleva a inexactitudes. 

El algoritmo RIV detecta adecuadamente el cambio de los parámetros y lo hace de manera más rápida entre menor sea el factor de olvido, aunque con una mayor varianza. 

Comentarios