centro nacional de investigación y desarrollo tecnológico departamento de ingeniería electrónica...

131
Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales mediante las estructuras NARX y Hammerstein-Wiener” Presentada por: Ubaldo Flores Acoltzi Ing. Electrónico por el I.T. de Apizaco Como requisito para obtener el grado de: Maestría en Ciencias en Ingeniería Electrónica Director de te Tesis: Dr. Víctor Manuel Alvarado Martínez Co-Director de Tesis: Dr. Juan Reyes Reyes Cuernavaca, Morelos, México 12 de diciembre de 2011

Upload: others

Post on 02-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Centro Nacional de Investigación y Desarrollo Tecnológico

Departamento de Ingeniería Electrónica

TESIS DE MAESTRÍA EN CIENCIAS

“Identificación de sistemas no lineales mediante las estructuras NARXy Hammerstein-Wiener”

Presentada por:

Ubaldo Flores AcoltziIng. Electrónico por el I.T. de Apizaco

Como requisito para obtener el grado de:

Maestría en Ciencias en Ingeniería Electrónica

Director de te Tesis:

Dr. Víctor Manuel Alvarado Martínez

Co-Director de Tesis:

Dr. Juan Reyes Reyes

Cuernavaca, Morelos, México 12 de diciembre de 2011

Page 2: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 3: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Centro Nacional de Investigación y Desarrollo Tecnológico

Departamento de Ingeniería Electrónica

TESIS DE MAESTRÍA EN CIENCIAS

“Identificación de sistemas no lineales mediante las estructuras NARXy Hammerstein-Wiener”

Presentada por:

Ubaldo Flores AcoltziIng. Electrónico por el I.T. de Apizaco

Como requisito para obtener el grado de:

Maestría en Ciencias en Ingeniería Electrónica

Jurado:

Dr. Gerardo Vicente Guerrero Ramírez - Presidente

Dr. Víctor Manuel Alvarado Martínez - Secretario

Dr. Carlos Daniel García Beltrán - Vocal

Dr. Juan Reyes Reyes - Vocal Suplente

Cuernavaca, Morelos, México 12 de diciembre de 2011

Page 4: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 5: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

"

"2011, Ano del Turismo en Mexico"

~~ ®cenidet ®

S;.wr<i®Centro Nac/onal de Investigaci6n y Desarrollo Tecnol6g/co Institutos Tecnologicos

SECRETARIA DE

EDUCACION PUBLICA

SUBSECRETARfA DE EDUCACI6N SUPERIOR

DIRECCI6N GENERAL DE EDUCACI6N SUPERIOR TECNOL6GICA CENTRO NACIONAL DE INVESTIGACI6N Y DESARROLLO TECNOL6GlCO

ANEXO No.11 M10

ACEPTACION DEL DOCUMENTO DE TESIS

Cuernavaca, Mor., a 22 de noviembre de 2011

Dr. Carlos Manuel Astorga Zaragoza Jefe del Depto. de Ing. Electronica Presente.

At'n: Dr. Carlos Aguilar Castillo. Presidente del Consejo del Posgrado

Nos es grato comunicarle, que conforme a los lineamientos para la obtencion del grado de Maestro en Ciencias en Ingenieria Electronica de este Centro, y despues de haber sometido a revision academica la tesis titulada "IDENTIFICACION DE SISTEMAS NO LINEALES MEDIANTE LAS ESTRUCTURAS NARX Y HAMMERSTEIN-WIENER" realizada par el alumno Ubaldo Flores Acoltzi y dirigida por el Dr. Victor Manuel Alvarado Martinez y co-dirigida por el Dr. Juan Reyes Reyes y habiendo realizado las correcciones que Ie fueron indicadas, acordamos ACEPTAR el documento final de tesis, asi mismo Ie solicitamos tenga a bien extender el correspondiente oficio de autorizacion de impresion.

Atentamente La Comision de Revision de Tesis

Dr. Carlos Daniel Garcia Beltran Revisor

CHJ.T[1;~r~IV;~tJlGJe'iferaRamlrez- Subdirector Academico. d.1jG~iM(ii~rr~iveJaIii.tefa del Departamento de Servicios Escolares.

(!2"'If!Cj'~-~1 a' - Director de Tesis.

Page 6: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 7: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

"2011, Ano del Turismo en Mexico"

~~ ®cenidet ®

s;~~Centro Naeional de Investigaeion y Desarrollo Teenologleo Institutos Tecnoliigicos

SECRETARIA DE

EDUCACION PUBLICA

SUBSECRETARIA DE EDUCACl6N SUPERIOR

DIRECCl6N GENERAL DE EDUCACl6N SUPERIOR TECNOL6GICA CENTRO NACIONAL DE INVESTIGACl6N Y DESARROLLO TECNOL6GICO

ANEXO No. 12 M11

AUTORIZACION DE IMPRESION DE TESIS

Cuemavaca, Mor., a 23 de noviembre de 2011

C. Ubaldo Flores Acoltzi Candidato al grade de Maestro en Ciencias en Ingenieria Electr6nica Presente.

Despues de haber atendido las indicaciones sugeridas por la Comisi6n Revisora del Consejo de Posgrado en Ciencias en Ingenieria Electr6nica en relaci6n a su trabajo de tesis cuyo titulo es: "IDENTIFICACION DE SISTEMAS NO LINEALES MEDIANTE LAS ESTRUCTURAS NARX Y HAMMERSTEIN-WIENER", me es grato comunicarle que conforme a los lineamientos establecidos para la obtenci6n del grade de Maestro en Ciencias en Ingenieria Electr6nica en este centro se Ie concede la autorizaci6n para que proceda con la impresi6n de su tesis.

c.p: Dr. Gerardo Vicente Guerrero Ramirez.- Subdirector Academico. Dr. Carlos Aguilar Castillo- Presidente del consejo de Posgrado. L.I. Guadalupe Garrido Rivera.- Jefa del Departamento de Servicios Escolares. Dr. Victor Manuel Alvarado Martinez.- Director de Tesis. Estudiante. Expediente.

Interior Internado Palmira SIN, Col. Palmira c.P. 62490, Cuernavaca, Morelos, Mexico Tel. 01(777} 362-7770 (con 10 Ifneas), Fax 01(777) 362-7795

www.cenidet.edu.mx

Page 8: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 9: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

DEDICATORIA

A mi mamá Esther Acoltzi Xochitiotzi por darme la vida, por ser la mamá más fuerte y un ejemplo para

mi, por apoyarme en cada una de las etapas de mi vida, por hacer de mí una persona que lucha ante las

adversidades.

A mi hermano Josue por ser un gran ejemplo a Nahim (Tepetaes), Misael (Millonario), Onesimo

(Pansas), Agueda y Monserrat (Monse), por los buenos y malos momentos que pasamos juntos; por

sus comentarios cuando no sabía que decidir y sobre todo por demostrar que también son mis amigos.

A mi esposa, Vianney Morales Zamora, por apoyarme incondicionalmente en el desarrollo de este tra-

bajo, por tener paciencia en todo este tiempo que no compartimos juntos y por enseñarme a valorar todo

lo que nos rodea. Te amo.

A mi nenita Ximena Flores Morales, por haber llegado y ser una motivación en esta etapa de mi vida.

GRACIAS

Page 10: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 11: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

AGRADECIMIENTOS

A toda mi familia que siempre me motivó a superar los momentos difíciles durante estos dos años y

medio en esta etapa de preparación.

Al Dr. Víctor Manuel Alvarado Martínez por su apoyo orientación, sin olvidar las valiosas asesorías

brindadas durante el desarrollo de esta investigación.

A los que conformaron mi comité de revisores: Dr. Gerardo Vicente Guerrero Ramírez, Dr. Carlos

Daniel García Beltrán y Dr. Juan Reyes Reyes, gracias por sus comentarios y correcciones que fueron de

mucha ayuda en mi preparación.

A los profesores: Dr. Carlos Manuel Astorga Zaragoza, M. C. Pedro Rafael Mendoza Escobar, Dr.

Enrique Quintero-Mármol Márquez, Dr. Luis Gerardo Vela Valdés.

A mis compañeros: Rigoberto Vázquez Díaz, Jesús Alberto Suriano Sánchez, Ricardo Sandoval Tor-

res, Lino Enríquez Gonzaga, Marlem Flores Montiel, Michel Martínez González. Gracias por su amistad

y apoyo incondicional.

A la Dirección General de Educación Superior Tecnológica (DGEST) por el apoyo económico brinda-

do en la última etapa de este trabajo.

Agradezco al Consejo Nacional de Ciencia y Tecnología (CONACYT) por el apoyo económico otor-

gado durante 1 año y 8 meses para la realización de esta tesis.

Finalmente, agradezco al Centro Nacional de Investigación y Desarrollo Tecnológico (CENIDET) por

la oportunidad brindada para mi formación tanto profesional como personal y por la experiencia obtenida

durante mi estancia.

Page 12: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 13: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Resumen

Esta tesis se centra en la identificación no lineal de sistemas, principalmente en el desarrollo y la im-

plementación de las estructuras NARX y Hammerstein-Wiener, para obtener modelos matemáticos de

sistemas dinámicos, también se usan las redes neuronales, por lo que se hizo un estudio de ellas. Para

realizar la identificación de sistemas, en primer lugar, se requiere un conjunto de datos de entrada-salida

que se obtienen experimentalmente del sistema, para después elegir la estructura a utilizar y por último

un algoritmo de optimización de los parámetros.

Así, el mejor modelo se obtuvo ajustando los pesos sinápticos mediante el algoritmo de optimización

y obteniendo el menor error cuadrático medio.

Los algoritmos que se aplicaron usando redes neuronales artificiales en la implementación de las dos

estructuras son: gradiente descendente y Levenberg-Marquardt los cuales, se programaron en Matlab®

en forma de funciones.

Se realizó la identificación de tres sistemas no lineales (un ducto de ondas acústicas, dos tanques y

circuito no lineal electrónico). También, se hicieron pruebas de validación para cada sistema; mientras

que en los modelos obtenidos con el algoritmo desarrollado se comparan con los modelos que se obtienen

con el toolbox de identificación de Matlab®.

Finalmente, se realizó el manual de usuario para llevar acabo la identificación de sistemas, usando

la librería de funciones programadas en Matlab®. También se realizó una interfaz gráfica para ambas

estructuras en la que el usuario puede realizar identificación no lineal de sistemas.

Page 14: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 15: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Abstract

This thesis is focused on Nonlinear systems identification; Mainly on the development and implementa-

tion of the NARX and Hammerstein-Wiener structures to obtain mathematical models of dynamic sys-

tems. Since neural networks are used, an analysis of its main concepts is performed.

To achieve the goal of systems identification, as a first step, it is required a set of input-output

data obtained experimentally from the system to be identified; a second step consists on choosing the

identification structure, and using, as a last step, a parameter optimization algorithm.

Up until now, the best model was obtained by adjusting the synaptic weights with the optimization

algorithm obtaining the minimal mean square error.

The applied algorithms using artificial neural networks on implementation of both structures are: de-

cendent gradient and Levenberg-Marquardt which were programmed as functions files of Matlab code.

It was performed the identification of three Nonlinear systems (an acoustic wave duct, two tanks and

experimental data from an electronic circuit). Also, there where performed validation tests for each sys-

tem; the obtained identifications with the developed algorithm where compared with a model obtained

with the identification toolbox of Matlab.

Finally, it was written the user guide to carry out the Nonlinear systems identification, using the

Matlab programmed function library. Also, it was performed a Graphical User Interface (GUI) for both

structures; with this, the user can make the Nonlinear systems identification.

Page 16: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 17: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Índice general

Resumen V

Abstract VII

Índice general IX

Índice de figuras XIII

Índice de tablas XV

Lista de Símbolos XVII

1. Introducción 11.1. Concepto de sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2. Modelo de un sistema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1. Tipos de modelos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3. Estado del arte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3.1. Identificación de sistemas no lineales . . . . . . . . . . . . . . . . . . . . . . . 51.3.2. Técnicas de optimización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.4. Descripción del problema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.5. Propuesta de solución . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.6. Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.6.1. Objetivo General . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.6.2. Objetivos Específicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

1.7. Alcance de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101.8. Organización de la Tesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2. Redes neuronales Artificiales 132.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.2. Introducción biológica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3. Definiciones de una red neuronal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3.1. Ventajas que ofrecen las redes neuronales . . . . . . . . . . . . . . . . . . . . . 152.4. Modelo estándar de una neurona artificial . . . . . . . . . . . . . . . . . . . . . . . . . 162.5. Arquitecturas de redes neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.5.1. El perceptrón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.5.2. Adalina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.5.3. El perceptrón multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.5.4. Redes Neuronales recurrentes . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

IX

Page 18: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

ÍNDICE GENERAL

2.6. Clasificación de los modelos neuronales . . . . . . . . . . . . . . . . . . . . . . . . . . 252.7. Algoritmos de aprendizaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.7.1. Gradiente descendente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262.7.2. Levenberg-Marquardt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

3. Estructura NARX 293.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.2. Representación a bloques de la estructura NARX . . . . . . . . . . . . . . . . . . . . . 303.3. Estimadores no lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303.4. Estructura NARX propuesta basada en redes neuronales . . . . . . . . . . . . . . . . . . 32

3.4.1. Estructura NARX propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.5. Modelo de la estructura NARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.5.1. Modelo del bloque no lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.5.2. Modelo del bloque lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

3.6. Desarrollo del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.7. Entrenamiento basado en el gradiente descendente . . . . . . . . . . . . . . . . . . . . . 36

3.7.1. Representación del algoritmo de optimización . . . . . . . . . . . . . . . . . . 39

4. Estructura Hammerstein-Wiener 434.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.2. Representación de la estructura Hammerstein-Wiener . . . . . . . . . . . . . . . . . . . 444.3. Estructura H-W propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444.4. Modelo de la estructura Hammerstein-Wiener . . . . . . . . . . . . . . . . . . . . . . . 46

4.4.1. Modelo del bloque no lineal de entrada . . . . . . . . . . . . . . . . . . . . . . 464.4.2. Modelo del bloque lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464.4.3. Modelo del bloque no lineal de salida . . . . . . . . . . . . . . . . . . . . . . . 46

4.5. Desarrollo del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 474.6. Entrenamiento por retropropagación de errores (BP) . . . . . . . . . . . . . . . . . . . . 50

4.6.1. Representación matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

5. Implementación de los algoritmos 555.1. Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555.2. Sistemas dinámicos identificados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.3. Selección del orden del modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.4. Sistemas Identificados con la estructura NARX . . . . . . . . . . . . . . . . . . . . . . 60

5.4.1. Ducto de ventilación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.4.1.1. Validación del modelo estimado . . . . . . . . . . . . . . . . . . . . . 61

5.4.2. Dos tanques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635.4.2.1. Validación del modelo estimado . . . . . . . . . . . . . . . . . . . . . 64

5.4.3. Circuito no lineal electrónico . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.4.3.1. Validación del modelo estimado . . . . . . . . . . . . . . . . . . . . . 67

5.5. Sistemas Identificados con la estructura H-W . . . . . . . . . . . . . . . . . . . . . . . 695.5.1. Dos tanques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5.5.1.1. Validación del modelo estimado . . . . . . . . . . . . . . . . . . . . . 705.5.2. Ducto de ventilación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

5.5.2.1. Validación del modelo estimado . . . . . . . . . . . . . . . . . . . . . 735.6. Ventajas y Desventajas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

X

Page 19: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

ÍNDICE GENERAL

6. Conclusiones y trabajos futuros 776.1. Conclusiones Generales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776.2. Trabajos futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79

Bibliografía 81

A. Álgebra de matrices y vectores 83A.1. Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83A.2. Derivadas de Vectores y Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84A.3. Gradiente, Matriz Jacobiana, Matriz Hessiana . . . . . . . . . . . . . . . . . . . . . . . 85

B. Modelos obtenidos 87B.1. Modelos obtenidos con la estructura NARX . . . . . . . . . . . . . . . . . . . . . . . . 87

B.1.1. Valores de los parámetros del ducto de ventilación . . . . . . . . . . . . . . . . 87B.1.2. Valores de los parámetros del sistema de tanques . . . . . . . . . . . . . . . . . 91B.1.3. Valores de los parámetros del circuito electrónico . . . . . . . . . . . . . . . . . 92

B.2. Modelos obtenidos con la estructura Hammerstein-Wiener . . . . . . . . . . . . . . . . 93B.2.1. Valores del sistema de tanques . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

C. Funciones de Matlab® utilizadas y Manual de usuario de las funciones 95C.1. Funciones de Matlab® utilizadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95C.2. Manual de usuario de funciones desarrolladas . . . . . . . . . . . . . . . . . . . . . . . 96

C.2.1. Modelo neuronal de la estructura NARX . . . . . . . . . . . . . . . . . . . . . 96C.2.2. Modelo neuronal de la estructura Hammerstein-Wiener . . . . . . . . . . . . . . 97

D. Interfaz gráfica 99D.1. Estructura NARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.2. Estructura Hammerstein-Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

XI

Page 20: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

ÍNDICE GENERAL

XII

Page 21: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Índice de figuras

1.1. Proceso de identificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2. Sistema dinámico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3. Diagrama a bloques de identificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.4. Técnicas de optimización de sistemas lineales y no lineales . . . . . . . . . . . . . . . . . . . 8

2.1. Neurona biológica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.2. Conexiones de una neurona . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3. Modelo de una neurona estándar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4. Funciones de activación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5. Perceptrón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192.6. Neurona lineal de la adalina . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212.7. Perceptrón multicapa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.8. Red neuronal recurrente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.9. Clasificación de las redes por el tipo de aprendizaje . . . . . . . . . . . . . . . . . . . . . . 25

3.1. Representación de la estructura no lineal ARX . . . . . . . . . . . . . . . . . . . . . . . . . 303.2. Estructura NARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 323.3. Configuración de la estructura NARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

4.1. Modelos no lineales orientados a bloques . . . . . . . . . . . . . . . . . . . . . . . . . . . 434.2. Representación de la estructura Hammerstein-Wiener . . . . . . . . . . . . . . . . . . . . . 444.3. Estructura Hammerstein-Wiener . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

5.1. Ducto de ventilación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565.2. Sistema de tanques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.3. Sistema Wiener-Hammerstein . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575.4. Datos entrada-salida de un ducto de ventilación . . . . . . . . . . . . . . . . . . . . . . . . 605.5. Comparación del sistema real con el estimado . . . . . . . . . . . . . . . . . . . . . . . . . 615.6. Respuesta al escalón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.7. Respuesta al impulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.8. Respuesta en frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.9. Datos para identificar el sistema de tanques . . . . . . . . . . . . . . . . . . . . . . . . . . 635.10. Comparación de las respuestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645.11. Respuesta al escalón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.12. Análisis en la frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655.13. Señales de entrada-salida . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.14. Comparación de las respuestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.15. Respuesta al escalón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68

XIII

Page 22: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

ÍNDICE DE FIGURAS

5.16. Análisis en la frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685.17. Datos para identificar el sistema de tanques . . . . . . . . . . . . . . . . . . . . . . . . . . 695.18. Comparación de las respuestas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.19. Respuesta al escalón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.20. Análisis en la frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715.21. Datos entrada-salida de un ducto de ventilación . . . . . . . . . . . . . . . . . . . . . . . . 725.22. Comparación del sistema real con el estimado . . . . . . . . . . . . . . . . . . . . . . . . . 735.23. Respuesta al escalón . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 735.24. Respuesta al impulso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745.25. Respuesta en frecuencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

D.1. Ventana principal de la interfaz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99D.2. Ventana de estructura NARX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.3. Cargar datos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.4. Ventana de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101D.5. Ventana de parámetros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101D.6. Ventana principal de la estructura H-W . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102D.7. Ventana de mensaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102D.8. Botones de gráficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103D.9. Ventana de parámetros de la estructura H-W . . . . . . . . . . . . . . . . . . . . . . . . . . 103

XIV

Page 23: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Índice de tablas

2.1. Cerebro frente a computador convencional . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

5.1. Selección de nk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 585.2. Selección de na y nb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595.3. Comparación de resultados del ducto de ventilación con NARX . . . . . . . . . . . . . . . . 605.4. Comparación de resultados de los tanques con NARX . . . . . . . . . . . . . . . . . . . . 635.5. Comparación de resultados del circuito electrónico con NARX . . . . . . . . . . . . . . . . 665.6. Comparación de resultados de los tanques con H-W . . . . . . . . . . . . . . . . . . . . . . 695.7. Comparación de resultados del ducto de ventilación con H-W . . . . . . . . . . . . . . . . . 72

6.1. Tiempos de simulación de los algoritmos . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

XV

Page 24: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

ÍNDICE DE TABLAS

XVI

Page 25: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Lista de Símbolos

Mayúsculas

St Desviación estándar

UN Vector de regresores

Yi Salida de la neurona en el instante i

E Función de desempeño

H Matriz Hessiana

J Jacobiana

L Pesos Sinápticos

Lin Peso Sináptico

Ls Peso Sináptico

P Pesos Sinápticos

Q Pesos Sinápticos

R Pesos Sinápticos

Z Pesos Sinápticos

Minúsculas

y Vector de salida

dL Peso Sináptico

XVII

Page 26: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Lista de Símbolos

aVec Pesos Sinápticos

aVo Pesos Sinápticos

b Pesos Sinápticos

bMat Pesos Sinápticos

cVec Pesos Sinápticos

cVo Pesos Sinápticos

do Peso Sináptico

e Error

f Función Sigmoide

g Función Sigmoide

na Número de atrasos en la salida

nb Número de atrasos en la entrada

nf Número de atrasos en la salida

nk Retardo de la entrada a la salida

s Salida lineal

u Vector de entrada

u(k) Entrada actual

x(t) Función de transferencia

y Vector de datos de salida

Abrebiaturas

BP Propagación del error

CENIDET Centro Nacional de Investigación y Desarrollo Tecnológico

FIT Criterio de ajuste en

GUI Interfaz Gráfica de Usuario

H-W Hammerstein-Wiener

IFAC Federación Internacional de Control Automático

LMS Mínimos cuadrados

MIMO Multiples entras y Multiples salidas

MISO Multiples entradas y una sola salida

XVIII

Page 27: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Lista de Símbolos

MLP Perceptrón de multiple capa

NARMAX Estructura no lineal auto regresiva de promedio móvil con entrada externa

NARX No lineal auto regresiva con entrada externa

NOE Estructura no lineal con salida del error

SIMO Una sola entrada y Multiples salidas

SISO Sistema de una entrada una salida

Símbolos Griegos

η Coeficiente de aprendizaje

γ Gamma

κ Salida del bloque no lineal de entrada

λ Número real positivo

µ Coeficiente de aprendizaje

ω Peso Sináptico

θ Umbral

ϕ Función de activación

Simbolos Matemáticos

∇ Nabla

∂ Derivada parcial

tanh Tangente hiperbolica

XIX

Page 28: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Lista de Símbolos

XX

Page 29: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Capítulo 1

Introducción

En la actualidad el desarrollo tecnológico es constante, como consecuencia se desarrollan sistemas cadavez más complejos los cuales se requieren controlar. Hay diferentes métodos de control de sistemas, elmás común y usado es el basado en el modelo razón por la cual, una tarea importante en la comunidadde control automático es la obtención de modelos de sistemas dinámicos que permitan ser utilizados parasu análisis, simulación, optimización, diagnóstico de fallas y en gran parte para el diseño de controladores.

Para obtener un modelo matemático existen dos métodos principales, uno se basa en un modeladoteórico que a partir de leyes físicas se describe el comportamiento dinámico de un fenómeno o proceso;otro es mediante identificación de sistemas, herramienta que se utiliza para la estimación y construcciónde modelos en base a los datos de entrada y salida obtenidos de la experimentación con dicho sistemacomo se observa en la figura 1.1, de los dos métodos mencionados, se hace el enfoque a la identificaciónde sistemas la cual se divide principalmente en lineal y no lineal las dos tienen igual de importancia en lacomunidad de control. Sin embargo. sólo me referiré a la identificación no lineal y específicamente a dosestructuras que actualmente están en mejor desarrollo.

Figura 1.1: Proceso de identificación

1

Page 30: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 1. INTRODUCCIÓN

En este trabajo se presenta un análisis de dos estructuras que se han estudiado, desarrollado e imple-mentado las cuales son: NARX (Nonlinear Auto-Regressive with eXogenous inputs) modelo que se basasólo en el uso de entradas y salidas muestreadas; y H-W (Hammerstein-Wiener), que son denominadosmodelos orientados a bloques (block-oriented nonlinear models); esta segunda estructura consiste en unaconexión en cascada de tres subsistemas o bloques.

A medida que se realizó el estudio de las estructuras no lineales, se encontró que una forma de repre-sentar las estructuras internamente es por una red neuronal; por esta razón se hace un estudio y asimilaciónde redes neuronales, además, se presentan dos algoritmos de entrenamiento para llevar a cabo el ajuste delos pesos sinápticos de las mismas; de las estructuras mencionadas anteriormente, ambas se programaronen forma de librería utilizando el lenguaje de programación de Matlab®. La opción de utilizar Matlab®es debido a que es muy utilizado en la comunidad de control automático.

En este trabajo de tesis también se presenta la comparación de los resultados obtenidos al haceridentificación con la implementación de código propio desarrollado y los resultados que se obtienenutilizando el Toolbox de identificación de Matlab®, los datos que se utilizan para llevar a cabo la tarea deidentificar con las estructuras mencionadas son: un ducto de ventilación [4], un sistema de dos tanques[13] y un circuito no lineal electrónico tomado del trabajo de Schoukens, Suykens y Ljung [23].

1.1. Concepto de sistema

Un sistema es toda realidad en la que interactúan variables de diferentes tipos para producir señales ob-servables; de estas las que son de interés para el observador se denominan salidas del sistema, mientrasque aquellas otras señales del sistema que pueden ser manipuladas libremente por el observador son lasentradas del mismo. El resto de señales que influyen en la evolución de las salidas y no pueden ser ma-nipuladas se denominan perturbaciones, esto se muestra en la figura 1.2.

Figura 1.2: Sistema dinámico

1.2. Modelo de un sistema

Cuando se hace necesario conocer el comportamiento de un sistema en unas determinadas condicionesy ante unas determinadas entradas, se puede recurrir a la experimentación sobre dicho sistema y a laobservación de sus salidas. Sin embargo, en muchos casos la experimentación puede resultar compleja oincluso imposible de llevar a cabo, lo que hace necesario trabajar con algún tipo de representación que seaproxime a la realidad, y a la que se conoce como modelo [2].

2

Page 31: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

1.2. MODELO DE UN SISTEMA

Básicamente, un modelo es una herramienta que permite predecir el comportamiento de un sistemasin necesidad de experimentar sobre él.

1.2.1. Tipos de modelos

Hay varios tipos de modelos de sistemas dinámicos, una clasificación de ellos se describe a continuación:

1. Modelos mentales, intuitivos o verbales. Estos modelos carecen de formalismo matemático. Paraconducir un coche, por ejemplo, se requiere un modelo mental o intuitivo sobre el efecto queproduce el movimiento del volante, pero no es necesario caracterizar dicho efecto medianteecuaciones matemáticas exactas.

2. Modelos no paramétricos. Muchos sistemas quedan perfectamente caracterizados mediante ungráfico o tabla que describa sus propiedades dinámicas mediante un número no finito de parámetros.Por ejemplo, un sistema lineal queda definido mediante su respuesta al impulso o al escalón, o bienmediante su respuesta en frecuencia.

3. Modelos paramétricos o matemáticos. Para aplicaciones más avanzadas, puede ser necesarioutilizar modelos que describan las relaciones entre las variables del sistema mediante expresionesmatemáticas como pueden ser ecuaciones diferenciales (para sistemas continuos) o en diferencias(para sistemas discretos). En función del tipo de sistema y de la representación matemáticautilizada, los sistemas pueden clasificarse en:

Determinísticos y estocásticos. Se dice que un modelo es determinístico cuando expresa larelación entre entradas y salidas mediante una ecuación exacta. Por contra, un modelo esestocástico si posee un cierto grado de incertidumbre. Estos últimos se definen medianteconceptos probabilísticos o estadísticos.

Dinámicos y estáticos. Un sistema es estático cuando la salida depende únicamente de laentrada en ese mismo instante (por ejemplo, un resistor). En estos sistemas existe una relacióndirecta entre entrada y salida, independiente del tiempo. Mientras que un sistema dinámicoes aquél en el que las salidas evolucionan con el tiempo tras la aplicación de una determinadaentrada (por ejemplo, una red RC). En éstos, para conocer el valor actual de la salida esnecesario conocer el tiempo transcurrido desde la aplicación de la entrada.

Continuos y discretos. Los sistemas continuos trabajan con señales continuas, y secaracterizan mediante ecuaciones diferenciales. Los sistemas discretos trabajan con señalesque se muestrean, y quedan descritos mediante ecuaciones en diferencias.

3

Page 32: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 1. INTRODUCCIÓN

1.3. Estado del arte

Desde los años 60s la identificación de sistemas se estableció como un campo de investigación reconoci-do dentro del área de control automático y a mediados de los sesenta en el tercer congreso de la IFAC enLondres 1966 en el que por primera vez se presentó un artículo de visión general sobre identificación desistemas.

Mientras que en los años 70s se obtuvo una aplicación de identificación en sistemas de una entradauna salida (SISO). Fue hasta la década de los 90s cuando de manera oficial se utilizó esta técnica enprocesos industriales [17].

Narendra y Parthasarathy en la época de los 90s demuestran que las redes neuronales pueden ser usa-das en identificación y control de sistemas dinámicos, el enfoque que presentan es hacer identificaciónusando el algoritmo de aprendizaje retropropagación del error (back-propagation) método utilizado parael ajuste de los parámetros [20].

Martin T. Hagan y Mohammad B. Menhaj presentan el algoritmo de Levenberg-Marquardt que sebasa en el algoritmo de retropropagación del error para entrenar redes neuronales con realimentación.Además de que dicho algoritmo es comparado con el algoritmo de gradiente conjugado. Por otro ladopresentan que el algoritmo de Levenberg-Marquardt es mucho más eficiente que el gradiente conjugadocuando la red contiene unos 100 pesos sinápticos [15].

Juditsky, Hakan, Albert, Bernard, Lennart, Jonas y Qinghua muestran varios aspectos de los fun-damentos matemáticos del problema de identificación no lineal, puesto que un factor para obtener unabuena estimación está en base a un buen algoritmo de identificación. También muestran que los sistemasde identificación tipo caja negra normalmente son considerados en estructuras como redes neuronales,redes de base radial, redes wavelet, así como métodos basados en la transformación de wavelet y modelosutilizando lógica difusa [11],[24].

Cohello y Pesoa, en 2009 realizan identificación no lineal del sistema llamado “tubo y bola”, un pro-totipo de bajo costo. Ellos conectan en paralelo el sistema real y la estructura NARX que utilizan paraidentificar dicho sistema, al mismo tiempo obtienen el error de la diferencia entre la salida del sistemareal y la salida estimada con la estructura NARX [5].

Jozef Vörös en 2004 explica como hace identificación de sistemas dinámicos usando la estructuraHammerstein-Wiener; también, muestra la aplicación de una técnica de descomposición que proporcionaexpresiones especiales para la descripción de modelos que son lineales en los parámetros. [26].

Andrzej Janczak en su libro “Identificación de sistemas no lineales usando redes neuronales y mode-los polinomiales” con un enfoque a bloques orientados, muestra dos tipos de modelos: Wiener y Ham-merstein; también, presenta una combinación donde el bloque lineal es representado por polinomios(función de transferencia) y el bloque no lineal por una red neuronal con una tangente hiperbólica en lacapa oculta [9].

Emad Abd-Elrady and Li Gan presenta una alternativa de hacer identificación no lineal con los mo-delos Hammerstein y Wiener, utilizan el algoritmo generalizado de Newton para la estimación de losparámetros [1].

4

Page 33: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

1.3. ESTADO DEL ARTE

En CENIDET del año 2005 al 2010 se han desarrollado trabajos de identificación de los cuales seencuentran las siguientes tesis de maestría, “Identificación de sistemas utilizando redes neuronales” [25],“Identificación de sistemas utilizando lógica difusa” [8] e “Identificación de sistemas en lazo cerrado conestructura tipo CLOE” [2].

1.3.1. Identificación de sistemas no lineales

Los modelos de sistemas reales son de gran importancia en casi todas las disciplinas, por que, con los mo-delos se tiene un mejor entendimiento del sistema real, también hacen posible simular el comportamientode los sistemas.

La identificación de sistemas dinámicos no lineales es una tarea difícil, debido a que estos son únicosen el sentido de que no comparten muchas propiedades [17]. Por otro lado, en este trabajo se siguen pasospara identificar sistemas dinámicos no lineales los cuales se enuncian a continuación:

1. Elección de la entrada y salida del modelo. Dentro de este paso se obtienen los datos de entrada-salida a través de experimentar directamente con el proceso.

2. Tratamiento de los datos obtenidos. En este caso como los datos obtenidos en el paso anterior sonimportantes, deben ser tratados debido a que muchas veces vienen acompañados de ruido. Esto es,preparar los datos para facilitar y mejorar el procesos de identificación.

3. Elección de la representación dinámica. En este caso se elige la estructura no lineal con la que sedesea trabajar, para ello se recomienda leer antes sobre cada una de las estructuras existentes.

4. Elección del orden del modelo. En este paso se aplica el algoritmo para la optimización de losparámetros al mismo tiempo esto nos lleva a dos pasos:

a) Selección del mejor modelo.

b) Selección de los parámetros.

5. Validación de modelo. Finalmente, se hacen todas la pruebas necesarias para determinar si elmodelo obtenido es una buena representación del modelo real; si se llega a la conclusión de que elmodelo no es válido, se deben revisar los siguientes aspectos como posibles causas:

a) El conjunto de datos de entrada-salida no proporciona suficiente información sobre ladinámica del sistema.

b) La estructura seleccionada no es capaz de proporcionar una buena descripción del modelo.

c) El criterio de ajuste de los parámetros seleccionado no es el más adecuado.

De acuerdo con los pasos mencionados, también es importante señalar que existe la metodologíaLjung para sistemas lineales, en el libro de Lennart Ljung [14] se describe dicha metodología.

5

Page 34: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 1. INTRODUCCIÓN

Para realizar identificación de sistemas no lineales se requieren soluciones diferentes a los de unsistema lineal por lo que se utilizan diferentes herramientas encontradas en diversas disciplinas como:estadística matemática, redes neuronales, lógica Neuro-Fuzzy, entre otros; esto se demuestra en los tra-bajos realizados por los investigadores en las últimas dos décadas. Las técnicas de identificación que seencuentran en la literatura son: NARMAX (no lineal autorregresivo de media móvil exogena) [6], NARX(no lineal autorregresivo con entrada exogena), NOE (no lineal con error de salida), redes neuronales arti-ficiales [16],[20], modelos difusos, series de volterra [18], los modelos orientados a bloques Hammersteiny Wiener y la combinación de ambas [9], entre otros.

En la figura 1.3 se presenta una clasificación particular de los métodos de identificación existentes,aunque para los modelos tipo caja negra sólo se presentan las dos estructuras de nuestro interés.

Figura 1.3: Diagrama a bloques de identificación

En esta tesis sólo se trabaja con el método paramétrico, la razón principal es porque en este métodose requiere tener la planta o proceso a identificar y definir una posible estructura, además de que en estemétodo se obtiene un modelo, en cambio el método no paramétrico se caracteriza mediante un gráfico otabla que describa sus propiedades dinámicas mediante un número no finito de parámetros. Por ejemploun sistema se define por el análisis de la respuesta transitoria, análisis espectral, análisis de Fourier, entreotros [14].

Por otro lado, de los diferentes métodos de identificación no lineal que existen, para este trabajo seeligen utilizar las redes neuronales artificiales, esta elección se hace principalmente por las característicasque poseen ya que tienen:

Una gran capacidad de aproximar funciones no lineales debido a las funciones de activación que seutilizan [7], [10], [17].

Una estructura paralela con el sistema y permiten identificación en línea.

6

Page 35: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

1.3. ESTADO DEL ARTE

Una gran habilidad para procesar un número grande de entradas y salidas y.

Automáticamente se ajustan los parámetros mediante el algoritmo de aprendizaje.

Tomando en cuenta las propiedades mencionadas anteriormente, son motivo principal del por quélas redes neuronales son aplicadas a la identificación, ya que presentan ventajas importantes; una espoder modelar sistemas no lineales en linea o fuera de linea, otra es ajustar de forma automática suspesos sinápticos durante el entrenamiento, siendo esto así, se puede notar que no es necesario tener unconocimiento amplio del proceso que se desea modelar [7], [17].

1.3.2. Técnicas de optimización

En este trabajo se da una introducción para la optimización desde el punto de vista de identificación.En [17], se presentan de manera general tres formas diferentes para la optimización. Estas difieren en lacantidad de información del modelo, esas tres formas de aprendizaje son:

Supervisados

Reforzados

No supervisados

De las tres, en particular los supervisados son de nuestro interés debido a que están basados en elconocimiento de los datos de entrada y salida del proceso. En el aprendizaje supervisado el objetivo esminimizar el error medido entre el proceso y el modelo para obtener el mejor modelo.

Antes de iniciar con cualquier algoritmo de Optimización se necesita definir un criterio, que es ladescripción matemática de lo que se desea optimizar. En el aprendizaje supervisado la elección máscomún para un criterio es la suma de errores al cuadrado, como se muestra en la ecuación 1.1:

E(k) =N

∑i=1

e2(i) con e(i) = y(i)− ysal(i) (1.1)

Las técnicas de optimización supervisadas son divididas en tres clases: los métodos lineales, el méto-do local no lineal y el método global no lineal. De estas tres, las técnicas de optimización lineal son lasmás usadas y más sencillas de aplicar. Por otro lado, en este trabajo de tesis se utilizaron los métodoslocales basados en el gradiente, especialmente el gradiente descendente y Levenberg-Marquardt, en lafigura 1.4 se muestra de manera general la clasificación de dichas técnicas.

7

Page 36: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 1. INTRODUCCIÓN

Figura1.4:T

écnicasde

optimización

desistem

aslineales

yno

lineales

8

Page 37: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

1.4. DESCRIPCIÓN DEL PROBLEMA

1.4. Descripción del problema

En ocasiones el obtener un modelo de un sistema es necesario conocer bien el sistema a modelar y re-currir a las leyes físicas para describir el comportamiento dinámico de un proceso, este análisis resultacomplicado cuando se trabaja con sistemas no lineales complejos, es precisamente la identificación unaopción para la estimación y construcción de modelos.

Algunos trabajos que se han realizado, un gran número de ellos están aplicados a la identificación desistemas lineales, debido a que en gran parte muchos sistemas no lineales son linealizados alrededor deun punto de operación; pero esta aproximación no refleja el comportamiento real del sistema no lineal.Por lo tanto, para obtener un buen modelo no lineal, con una estructura que refleje la información realdel sistema exige un incremento en costo, este costo es debido a la necesidad de utilizar algoritmos másavanzados que utilicen estructuras más complejas.

La identificación no lineal en la actualidad se ha convertido en una herramienta que debe ser usada, elmotivo es porque los procesos cada vez son más complejos, y obtener su modelo por el método analíticose hace laborioso y complicado; es por ello, que se opta por experimentar directamente con el sistema através de la identificación.

La identificación es un método totalmente experimental, en el cual no se necesita de un conocimientoa detalle del sistema que se desea modelar. Si la comparamos con el método analítico, la identificación esmás rápida [13]. Por lo tanto, la identificación puede representar de manera adecuada al sistema real.

1.5. Propuesta de solución

La tarea es comprender la teoría reciente de identificación no lineal, así como familiarizarse con la progra-mación para desarrollar un algoritmo de implementación de código propio. A propósito dicho algoritmose desarrollará utilizando el software de Matlab®, este código se pondrá a disposición en el grupo decontrol de la comunidad del CENIDET para que sirva de apoyo.

1. En primer lugar se hace una revisión bibliográfica (artículos, libros, revistas, tesis y manuales) yse entendieron de manera general las estructuras de identificación no lineal ARX y Hammerstein-Wiener, esto con el fin de conocer la metodología que se debe seguir para la obtención del modelomatemático.

2. Se realizó una búsqueda de la información para tener un mejor entendimiento de las estructurasde identificación no lineal antes mencionadas; debido a que se obtuvieron las formulacionesmatemáticas de ambas estructuras, lo cual nos ayudó a seleccionar un algoritmo a utilizar, asícomo aprovecharon las características de dichas estructuras.

3. Teniendo en cuenta la información recabada y la asimilación sobre identificación no lineal seprogramó un código propio de las estructuras no lineales mencionadas.

4. Finalmente, se tomo un conjunto de datos entrada-salida de tres sistemas dinámicos reales y seidentificaron. Por otro lado, se hace la validación haciendo pruebas al modelo estimado, esto es, larespuesta temporal y la repuesta en frecuencia, así como la medición del error y la verificación delajuste del modelo estimado con el sistema real (FIT).

9

Page 38: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 1. INTRODUCCIÓN

1.6. Objetivos

Actualmente la obtención de modelos matemáticos de un sistema es importante, ya que ayuda a entenderel comportamiento y diseñar controladores para dichos sistemas o procesos, de manera que la tarea adesarrollar es la de encontrar un método que genere modelos y que sea capaz de aproximar una granfamilia de sistemas reales.

1.6.1. Objetivo General

Asimilar la teoría reciente de identificación de sistemas no lineales con el fin de desarrollar unalgoritmo de implementación para las estructuras NARX y Hammerstein-Wiener.

1.6.2. Objetivos Específicos

Estudiar las estructuras NARX y Hammerstein-Wiener.

Desarrollar un algoritmo de identificación para el modelo NARX.

Programar el algoritmo de identificación para la estructura NARX.

Desarrollar un algoritmo de identificación para el modelo Hammerstein-Wiener.

Programar el algoritmo para la estructura Hammerstein-Wiener.

Identificar un sistema o maqueta del CENIDET, un sistema real o en su defecto un sistema de labase de datos de Daisy.

Comparar los resultados obtenidos de los algoritmos desarrollados con el Toolbox de identificaciónno lineal de Matlab®.

1.7. Alcance de la Tesis

Se sabe que el proceso de identificación involucra los pasos del experimento para la obtención delos datos, para este trabajo en particular no se toman en cuenta estos pasos por lo que se decidiótomar datos de un proceso real como son un ducto de ventilación [4], un sistema de dos tanques[13] y los datos de un circuito no lineal [23] dichos sistemas se identificaron.

Para llevar a cabo la programación de los algoritmos utilizando el software de Matlab® se tomócomo base el manual de usuario del Toolbox de identificación no lineal de Matlab® [13], la tesisde identificación utilizando redes neuronales de Ugalde [25] y el libro de Andrzej Janczak [9] entreotros.

Una aportación del trabajo es que se desarrolló un algoritmo para cada estructura y ademásse llevaron a la implementación. El trabajo estará a disposición para quien desee contribuir oenriquecer sus conocimientos del tema.

Por otro lado, se muestra el desarrollo matemático de las estructuras no lineales usando redesneuronales para realizar identificación de sistemas dinámicos.

Por último, se hace la validación de los modelos obtenidos utilizando el código desarrolladocomparado con los resultados que se tiene con el Toolbox de identificación.

10

Page 39: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

1.8. ORGANIZACIÓN DE LA TESIS

1.8. Organización de la Tesis

El contenido de la tesis se encuentra dividido en seis capítulos y tres apéndices, a continuación se describede forma general el contenido de cada capítulo. La introducción se refiere al estado del arte, la descripcióndel problema, la propuesta de solución, los objetivos de la tesis y los alcances de la misma.

En el capítulo 2 se presenta la teoría general de las redes neuronales, sus posibles campos de apli-cación, el modelo estándar de una neurona ya que principalmente se muestran tres modelos: perceptrónsimple, Adalina y perceptrón multicapa; así como también, se presentan dos algoritmos de aprendizajeque son aplicados a las estructuras no lineales.

El capítulo 3 se describe la representación de la estructura NARX usando redes neuronales, tambiénse presenta el modelo de dicha estructura, el desarrollo matemático y el aprendizaje usando gradientedescendente.

El capítulo 4 se describe la estructura Hammerstein-Wiener usando redes neuronales, así como el mo-delo y el desarrollo matemático de la estructura; por último, se muestra el aprendizaje en forma matricialusando gradiente descendente.

El capítulo 5 se presentan los resultados obtenidos al identificar tres sistemas dinámicos; esto emple-ando las estructuras de identificación no lineales desarrollados, los resultados fueron obtenidos a travésde la simulación usando el algoritmo de aprendizaje de Levenberg-Marquardt; así también, se presentala comparación de los sistemas identificados con los algoritmos desarrollados contra lo obtenido con elToolbox de identificación de Matlab®. Finalmente, en este capítulo se muestra la validación de los sis-temas.

En el capítulo 6 se presentan las conclusiones finales del trabajo de tesis y se enlistan algunos trabajosfuturos propuestos.

En el Apéndice A se describen algunas derivadas de vectores y matrices, la definición de gradiente,la matriz jacobiana y la matriz Hessiana.

En el Apéndice B se muestran los resultados y las dimensiones de las matrices de los modelosobtenidos. También se presentan los valores de los parámetros de los tres sistemas identificados.

En el Apéndice C se presenta el manual de usuario en el cual se describen las funciones usadas en laprogramación realizada.

Finalmente en el Apéndice D se presenta una interfaz gráfica, para que el usuario pueda realizaridentificación de manera gráfica y sencilla con ambas estructuras.

11

Page 40: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 41: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Capítulo 2

Redes neuronales Artificiales

2.1. Introducción

En este capítulo se presenta un estudio sobre redes neuronales, se describen los aspectos esenciales delfuncionamiento neuronal que son utilizadas en este trabajo de tesis, dentro de las cuales se describen elperceptrón simple, la adalina y el perceptrón multicapa.

Cabe mencionar que todos los procesos del cuerpo humano se relacionan en alguna forma con laactividad o inactividad de estas neuronas. Siendo un componente relativamente simple del ser humano;pero cuando millares de ellas se conectan en forma conjunta se hacen muy poderosas. Por tanto, las redesneuronales no son más que otra forma de emular ciertas características propias de los humanos (como lacapacidad de memorizar y asociar hechos). Como ya se sabe, el pensamiento tiene lugar en el cerebro,que consta de billones de neuronas interconectadas; así, el secreto de la inteligencia, sin importar como sedefina, se sitúa dentro de estas neuronas interconectadas y de su interacción. También, es bien conocidoque los humanos son capaces de aprender. Esto significa que aquellos problemas que inicialmente nopueden resolverse pueden ser resueltos después de obtener más información acerca del problema. Por lotanto, las Redes Neuronales:

Consisten de unidades de procesamiento que intercambian datos o información.

Son aplicadas en diversas áreas, como: reconocimiento de patrones, incluyendo imágenes,manuscritos y secuencias de tiempo como tendencias financieras.

Tienen capacidad de aprender y mejorar su funcionamiento.

Teniendo en cuenta esto, en primer lugar, se presenta una breve introducción de neuronas biológicas,que es el principio del funcionamiento de las redes neuronales artificiales; luego se definen las redesneuronales para después darle paso a la presentación y descripción de una red neuronal artificial yfinalmente se describen de forma general las arquitecturas de las redes unidireccionales con aprendizajesupervisado. Dentro de este grupo se estudio al perceptrón, la adalina y el perceptrón multicapa; así como,una descripción general de las redes recurrentes; además, se muestra la clasificación de los modelos delas redes neuronales. También se presentan 2 algoritmos de aprendizaje para las redes MLP que es laarquitectura utilizada para el desarrollo de este trabajo de tesis.

13

Page 42: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 2. REDES NEURONALES ARTIFICIALES

2.2. Introducción biológica

Empezamos con algunos conceptos básicos de los sistemas neuronales biológicos, para poder establecermás fácilmente la similitud que existe entre las neuronas biológicas y las artificiales.

Las redes neuronales biológicas empezaron a ser estudiadas a mediados del siglo XVIII. Y en 1988 sedemuestra que el sistema nervioso está formado por una red de células individuales, que son las neuronasinterconectadas entre sí. También en ese mismo año se establece que la información fluye en la neuronadesde las dendritas hacia el axón, atravesando el soma. Este descubrimiento fue parte esencial para el de-sarrollo de las neurociencias en el siglo XX; en esa época causó una conmoción en la forma de entenderal sistema nervioso. Hoy día muchos científicos de esta disciplina han avanzado en el estudio de la redesneuronales. Por otro lado, gracias al desarrollo tecnológico en particular a la microscopía electrónica seha llegado a profundizar mucho más en el estudio de la neurona.

Se estima que el sistema nervioso contiene alrededor de 100 mil millones de neuronas vistas desdeel microscopio, este tipo de células se presenta en múltiples formas, una es como la que se muestra en lafigura 2.1. Aunque muchas de ellas presentan un aspecto similar con un cuerpo celular, núcleo o soma(de entre 10 y 80 micras de longitud), del que se ramifican las dendritas y del cual parte una fibra tubulardenominada axón (cuya longitud varía desde las 100 micras hasta el metro), también se ramifican en suextremo final para conectarse con otras neuronas [3].

Figura 2.1: Neurona biológica

Es importante mencionar que en la figura 2.1, se ha simplificado en buena mediada, ya que la realidades mucho más compleja; por ejemplo, aunque se tiene un desarrollo de la electrónica y las ciencias de lacomputación extraordinario, ni el ordenador más potente puede llevar a cabo tareas tales como reconoceruna mosca y atraparla al vuelo, que un sistema tan simple como el cerebro de una rana es capaz de llevara cabo.

14

Page 43: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

2.3. DEFINICIONES DE UNA RED NEURONAL

2.3. Definiciones de una red neuronal

Existen numerosas formas de definir a las redes neuronales desde las definiciones cortas y genéricas,hasta las que intentan explicar más detalladamente su funcionamiento. Veamos algunas de ellas:

Un modelo matemático compuesto por un gran número de elementos que procesan información ya la vez están organizados en niveles.

Un sistema de computación compuesto por un gran número de elementos simples, elementos deprocesos muy interconectados, los cuales procesan información por medio de su estado dinámicocomo respuesta a entradas externas.

Es un grafo dirigido que está formado de un umbral, un nodo el cual se conecta por medio de pesosque se adaptan durante su uso para mejorar el comportamiento.

En la figura 2.2 se muestra la forma más simple de la conexión del grafo o nodo [3], [19].

Figura 2.2: Conexiones de una neurona

Las redes neuronales artificiales son mecanismos de procesamiento de información inspirados enel funcionamiento de las redes neuronales biológicas [25]. Las redes neuronales son una herramientapoderosa, las cuales por sus características son utilizadas en diferentes campos de aplicación comoson: telecomunicaciones, aplicaciones medicas, reconocimiento del habla, finanzas, biología, análisisde mercados, industrias de semiconductores, predicción, fallos en motores eléctricos, aplicacionesbiomédicas, control de procesos y refinería de petróleo. También son utilizadas en aplicaciones militarescomo: Guiado automático de misiles y Combate aéreo [3].

2.3.1. Ventajas que ofrecen las redes neuronales

Debido a su constitución y a sus fundamentos, las redes neuronales artificiales presentan un gran númerode características semejantes a las del cerebro; por ejemplo, son capaces de aprender de la experiencia, degeneralizar de casos anteriores a nuevos casos, de abstraer características esenciales a partir de entradasque representan información irrelevante. Esto hace que ofrezcan numerosas ventajas y que este tipo detecnología se esté aplicando en múltiples áreas mencionadas anteriormente. Entre las ventajas se destacanlas siguientes:

15

Page 44: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 2. REDES NEURONALES ARTIFICIALES

Aprendizaje Adaptativo. Capacidad de aprender a realizar tareas basadas en un entrenamiento o enuna experiencia inicial.

Auto-organización. Una red neuronal puede crear su propia organización o representación de lainformación que recibe mediante una etapa de aprendizaje.

Tolerancia a fallos. La destrucción parcial de una red conduce a una degradación de su estructura;sin embargo, algunas capacidades de la red se pueden retener, incluso sufriendo un gran daño.

Operación en tiempo real. Los cómputos neuronales pueden ser realizados en paralelo; para esto sediseñan y fabrican máquinas con hardware especial para obtener esta capacidad.

Fácil inserción dentro de la tecnología existente. Se pueden obtener chips especializados para redesneuronales que mejoran su capacidad en ciertas tareas, ello facilitará la integración modular en lossistemas existentes.

2.4. Modelo estándar de una neurona artificial

En la figura 2.3 se muestra el modelo estándar de una neurona artificial y como se puede observar, con-siste de un conjunto de entradas, pesos sinápticos, un umbral, una función de activación y una salida [3].

Figura 2.3: Modelo de una neurona estándar

La neurona trata al conjunto de valores de entrada como si fueran uno solo, los valores de entrada semultiplican por los pesos sinápticos anteriormente ingresados a la neurona; por consiguiente, los pesosgeneralmente ajustan su valor debido a la influencia que tienen los valores de entrada. Mientras que unafunción de activación es aquella que modifica la salida de una neurona y se obtiene de la entrada menosel umbral (θi) en un valor de activación, cuyo rango normalmente va de (0 a 1) o de (–1 a 1). Esto esasí, porque una neurona puede estar totalmente inactiva (0 o –1) o activa (1). Existen diferentes tipos defunciones de activación, entre las más comunes se muestran en la figura 2.4.

16

Page 45: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

2.4. MODELO ESTÁNDAR DE UNA NEURONA ARTIFICIAL

Figura 2.4: Funciones de activación

Ahora bien, matemáticamente la salida de la neurona estándar de la figura 2.3 se define por la ecuación2.1.

Yi = ϕ(∑ωi, ju−θi

)(2.1)

donde:

ωi, j es el peso sináptico que pondera la entrada i de la neuronaθi es el umbral

ϕ(·) es la función de activaciónui es la entrada i de la neuronaYi representa simultáneamente la salida de la neurona

En la actualidad se puede encontrar bastante información de redes neuronales y diversas aplicacionesde las mismas; pero además, existen varios modelos de neuronas artificiales, las cuales son diseñadas paratratar de simular el comportamiento de una neurona real [17], cosa que no se ha logrado debido a que elcerebro resulta ser un sistema más complejo de procesamiento no lineal que trabaja en paralelo y ademáses adaptativo [3].

17

Page 46: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 2. REDES NEURONALES ARTIFICIALES

Considerando todo lo anterior un ejemplo importante es haciendo una comparativa de los ordenadoresactuales con el cerebro humano la cual se muestra en la tabla 2.1.

Tabla 2.1: Cerebro frente a computador convencional

2.5. Arquitecturas de redes neuronales

Una arquitectura o topología de una red neuronal consiste en la organización de la misma, formandocapas, agrupaciones de neuronas o patrón de conexionado de una red neuronal, éstas conexiones deter-minan las distintas arquitecturas de redes neuronales que existen. Para el propósito de identificación y enespecial en este trabajo las arquitecturas usadas son:

1. Redes de simple capa (monocapa). En estas redes se establecen conexiones entre las neuronas quepertenecen a la única capa que constituye la red. Principalmente se utilizan en tareas relacionadascon lo que se conoce como autoasociación (regenerar información de entrada que se presenta ala red de forma incompleta o distorsionada), dentro de la cuales se encuentran el perceptrón y laadalina.

2. Redes multicapa. Son aquellas que disponen de un conjunto de neuronas agrupadas en varias (2,3,..,n) capas.

3. Redes neuronales dinámicas o recurrentes. Son redes neuronales donde la salida es conectada a laentrada de redes anteriores, también llamada como conexión retroalimentada o feedback.

Por cierto, la conectividad entre los nodos de una red neuronal está relacionada con las salidas de lasneuronas de manera que éstas se puedan convertir en entradas de otras neuronas, es decir, la salida de unnodo puede ser una entrada de otro nodo, o incluso ser una entrada de sí mismo.

18

Page 47: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

2.5. ARQUITECTURAS DE REDES NEURONALES

2.5.1. El perceptrón

El perceptrón es la red neuronal realimentada más simple y más conocida, este modelo neuronal fue in-troducido por el psicólogo Rosenblatt a finales de los años 50s, el se basó en el modelo de McCulloch yPitts y lo llamo perceptrón (figura 2.5a) y una de las características que más interés despertó este modelofue su capacidad de aprender a reconocer patrones [3].

El perceptrón simple es un modelo unidireccional que está compuesto por dos capas de neuronas,una sensorial o de entradas y la otra de salida (figura 2.5b). Las neuronas de entrada no realizan ningúncálculo únicamente envían la información a las neuronas de salida.

(a) Perceptrón (b) Perceptron simple

Figura 2.5: Perceptrón

La importancia del perceptrón es que es un dispositivo entrenable, esto se logra con el algoritmo deaprendizaje introducido por Rosenblant el cual determina los pesos sinápticos. El algoritmo de aprendiza-je es el denominado por corrección de errores, o sea los pesos se ajustan en proporción a la diferenciaque existe entre la salida actual y la salida deseada, una desventaja del perceptrón simple es que no puederepresentar funciones complejas.

El algoritmo de aprendizaje para el ajuste de los pesos de esta red neuronal se obtuvo de la siguientemanera:

En primer lugar se definió la función de desempeño dada por la ecuación 2.2.

E(k) =12(e(k))2 (2.2)

O bien

E(k) =12(y(k)− ysal)

2 (2.3)

donde:

e = y(k)− ysal (2.4)

ysal = ϕ (x(k)) (2.5)

19

Page 48: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 2. REDES NEURONALES ARTIFICIALES

Mientras que:

x(k) =n

∑i=1

ωi, j(k)ui(k) (2.6)

Ahora, para el ajuste de los pesos sinápticos ωi, j y minimizar la función de desempeño, se utiliza elalgoritmo de gradiente descendente , el cual se obtiene de la siguiente manera:

ωi, j(k+1) = ωi, j(k)−η∂E(k)

∂ωi, j(k)(2.7)

donde:

∂E(k)∂ωi, j(k)

=∂E(k)∂e(k)

∂e(k)∂ysal(k)

∂ysal(k)∂x(k)

∂x(k)∂ωi, j(k)

(2.8)

∂E(k)∂e(k)

= e(k),∂e(k)

∂ysal(k)=−1

∂ysal(k)∂x(k)

= ϕ (x(k))∂x(k)∂ωi, j

= ui(k)(2.9)

Entonces sustituyendo las derivadas parciales de la ecuación 2.9 se tiene:

∂E(k)∂ωi, j(k)

=−e(k)ϕ (x(k))ui(k) (2.10)

Finalmente, el ajuste de los pesos sinápticos a través de la ecuación 2.7 aplicado a la neurona percep-trón puede representarse como:

ωi, j(k+1) = ωi, j(k)+ηe(k)ϕ (x(k))ui(k) (2.11)

A propósito, la neurona perceptrón comúnmente usa la función de activación sigmoidea 2.12 o logís-tica 2.13.

f (x) = ϕ(x) = tanh(x) =e(x)− e(−x)

e(x)+ e(−x)=

1− e(−2x)

1+ e(−2x)(2.12)

f (x) = ϕ(x) = logistic(x) =1

1+ e(−x)(2.13)

2.5.2. Adalina

Otro modelo clásico es la adalina (Adaline) que fue introducida por B. Widrow en 1959, este modelo essimilar al modelo del perceptrón, sólo que la adalina está compuesta por dos partes: una respuesta linealy otro con un cuantificador de dos niveles debido a la función de activación que utiliza. Por otra parte,la adalina incorpora un parámetro denominado umbral; aunque debe tenerse en cuenta que no se trata deun umbral de disparo como en el perceptrón, puesto que es un parámetro que proporciona un grado delibertad.

20

Page 49: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

2.5. ARQUITECTURAS DE REDES NEURONALES

La diferencia más importante con el perceptrón reside en la regla de aprendizaje, ya que la adalinautiliza para el ajuste de los pesos sinápticos la regla Delta Widrow-Hoff, mejor conocida como mínimoscuadrados LMS (Least Mean Squares).

Figura 2.6: Neurona lineal de la adalina

En la figura 2.6 se muestra una neurona adalina de n+ 1 entradas (u0,u1,u2, . . . ,un) y dos salidas:una analógica s y una binaria Y . En términos matemáticos la salida analógica de la neurona adalina sedescribe por la ecuación2.14.

Yi =m

∑j=1

ωi j×u j−θi (2.14)

Mientras que la salida binaria Y está dada por Y = sign(·), es decir, Y puede tomar dos valores+1 o −1, esto depende de la polaridad de la salida analógica.

Los pesos sinápticos varían de acuerdo a la optimización y pueden tomar valores tanto positivos comonegativos.

Para el ajuste de los pesos sinápticos se toma en cuenta la señal de error ecuación 2.15.

e = y− s (2.15)

donde:y es la salida del sistema real.s es la salida de la neurona.

Por lo tanto, el ajuste de los pesos sinápticos (ωi,1,ωi,2,ωi,3, . . . ,ωi,n) se realiza mediante el algoritmode mínimos cuadrados para así minimizar la función de desempeño ecuación 2.16:

E =12

e2 =12(y− s)2 (2.16)

21

Page 50: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 2. REDES NEURONALES ARTIFICIALES

2.5.3. El perceptrón multicapa

Las redes neuronales perceptrón multicapa son las más ámpliamente conocidas y usadas [3], [19], [9].En un perceptrón multicapa o MLP (Multi-Layer Perceptrón) las neuronas son ordenadas en una o máscapas ocultas y conectadas a una capa de salida; esta arquitectura suele entrenarse mediante el algoritmode propagación de errores o BP (back-propagation), debido a que es el más utilizado y común para estetipo de red, estrictamente hablando el algoritmo BP es sólo un método para el cálculo del gradiente deuna red MLP con respecto a los pesos sinápticos [17]. En particular en este trabajo se usan las redesneuronales MLP para las estructuras NARX y Hammerstein-Wiener.

Una red MLP también llamada aproximador universal [9], esto porque puede aproximar cualquierfunción suave para un grado de exactitud requerido mientras el número de capas aumente, una ventajaen identificación es que entre mayor sea el número de capas utilizadas mayor es la capacidad de apro-ximación de la red neuronal, pero también mayor es la complejidad del modelo resultante; sin embargo,el MLP con una sola capa oculta, es decir 3 capas, la capa de entrada, la oculta y la de salida es posibleidentificar una gran variedad de modelos [3].

En la figura 2.7 se observa una arquitectura multicapa de cuatro capas, donde la capa de entrada sóloalimenta a la primera capa oculta, la cual junto con la segunda capa oculta sí realizan operaciones modifi-cando las señales de entrada y por último la capa de salida que sólo entrega la señal estimada al exterior.

Cada neurona de la MLP está caracterizada por tener una salida y varias entradas que pueden ser lassalidas de otras neuronas.

Figura 2.7: Perceptrón multicapa

El mapeo de entrada-salida de la MLP se representa por la ecuación 2.17.

ysal = ϕ3 [W3×ϕ2 [W2×ϕ1 [W1×u]]] (2.17)

22

Page 51: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

2.5. ARQUITECTURAS DE REDES NEURONALES

donde:ysal es la salida de la red neuronalu = [u1,u2, ...,un] es el vector de entrada de la redϕ(·) es un operador conocido como función de activaciónω1,ω2,ω3 = son los pesos sinápticosW1 es la matriz de pesos sinápticos de la capa de entradaW2 es la matriz de pesos sinápticos de la primera capa ocultaW3 es el vector de pesos sináptico de la segunda capa oculta

El algoritmo de aprendizaje que se usa para el ajuste de los pesos sinápticos de un perceptrónmulticapa es conocido como retropropagación del error. En primer lugar el error de salida es:

e = y(k)− ysal (2.18)

Donde:y(k) es la salida del sistema en el instante kysal es la salida de la red neuronal

Ahora, la función objetivo está dada por la ecuación 2.19.

E(k) =12(e(k))2 (2.19)

Usando el gradiente descendente el ajuste se obtiene de la siguiente forma:

∆ω j,i = ω j,i(k+1)−ω j,i(k) =−η∂E(k)

∂ω j,i(k)(2.20)

El término ∆ω j,i(k) es conocida como la regla delta. El término∂E(k)

∂ω j,i(k)se calcula como:

∂E(k)∂ω j,i(k)

=∂E(k)∂e(k)

∂e(k)∂ysal(k)

∂ysal(k)∂v(k)

∂v(k)∂ω j,i(k)

(2.21)

Las derivadas parciales están dadas por:

∂E(k)∂e(k)

= e(k)∂e(k)

∂ysal(k)=−1

∂ysal(k)∂v(k)

= ϕ ′ (v(k)) con ϕ ′(β ) =∂ϕ(β )

∂β

∂v(k)∂ω j,i(k)

= ysal(k)

(2.22)

Por lo tanto, la regla delta se puede escribir como:

∆ω j,i(k) = ηδ (k) (2.23)

23

Page 52: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 2. REDES NEURONALES ARTIFICIALES

con

δ (k) =−∂E(k)∂ y(k)

∂ysal(k)∂v(k)

(2.24)

Por último, usualmente la función de activación es una función no lineal y es una sigmoidea definidacomo:

f (x) = ϕ(x) = tanh(x) =1

1+ e(−x)(2.25)

2.5.4. Redes Neuronales recurrentes

Las redes neuronales recurrentes a diferencia de las redes realimentadas mencionadas anteriormentetienen lazos de retroalimentación en cualquier neurona que las conforman. En otras palabras una neu-rona está conectada a las neuronas posteriores de la siguiente capa a las neuronas de la capa anterior y aella misma. La complejidad de este tipo de redes es alta en comparación con las redes realimentadas.

Las estructuras neuronales con retroalimentación son particularmente aplicadas en el area de controlautomático para identificación y control. En la figura 2.8 se muestra un ejemplo de una red recurrente.

Figura 2.8: Red neuronal recurrente

24

Page 53: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

2.6. CLASIFICACIÓN DE LOS MODELOS NEURONALES

2.6. Clasificación de los modelos neuronales

Teniendo en cuenta lo mencionado anteriormente se observó que dependiendo del modelo de neurona quese utilice, de la arquitectura o topología de conexión, y del algoritmo de aprendizaje se tendrán diferentesmodelos de redes neuronales.

Por otro lado, en el libro de del Brío [3], se encuentra una distinción en cuanto al tipo de aprendizajey la arquitectura de la red; a su vez, se toma en cuenta el tipo de topología de la red, por lo que la clasifi-cación de las redes neuronales es como se muestra en la figura 2.9.

Teniendo en cuenta que se ha presentado la adalina, el perceptrón y el perceptrón multicapa o MLP,debido a que esta clase de modelos en particular son los sistemas neuronales más empleados en las apli-caciones prácticas, en la figura 2.9 se puede apreciar que éstas se encuentran en el grupo de aprendizajesupervisado que es el más numeroso.

Figura 2.9: Clasificación de las redes por el tipo de aprendizaje

25

Page 54: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 2. REDES NEURONALES ARTIFICIALES

2.7. Algoritmos de aprendizaje

En el desarrollo de este trabajo especialmente para las estructuras no lineales ARX y Hammerstein-Wiener, se utilizan la herramienta de redes neuronales mencionadas en las secciones 2.3 y 2.5, es im-portante aclarar que la red neuronal que se utiliza es un perceptrón multicapa que generalmente sonentrenadas con el algoritmo de aprendizaje de retropropagación de errores (BP), [19, 9].

En las estructuras no lineales propuestas que se presentan en los capítulos posteriores surge de formanatural el descenso por el gradiente para llevar a cabo el entrenamiento, una manera de actualizar los pesossinápticos es calcular su variación e ir acumulando los resultados y solamente entonces se procede a laactualización de los mismos. Este esquema se suele denominar aprendizaje por lotes (batch) [3]. Otraposibilidad consiste en actualizar los pesos tras la presentación de cada patrón y se denomina aprendizajeen serie (on line), la segunda es la que se utiliza en este trabajo de tesis.

2.7.1. Gradiente descendente

Considerando la definición de gradiente mostrada en el apéndice A.3 y aplicar este algoritmo, el cual sebasa en la aplicación de la bien conocida regla de la cadena.

En primer lugar se elige la función de desempeño como la que se muestra en la ecuación 2.26 que esla más común para las redes MLP.

E(k) =12(e(k))2 (2.26)

e(k) = y(k)− y(k) (2.27)

donde:

y(k) es la salida estimada de la red neuronaly(k) es la salida del sistema

Por lo tanto, el ajuste de los pesos sinápticos son ajustados mediante la ecuación 2.28.

Wj,i(k+1) =Wj,i(k)−η× ∂E(k)∂Wj,i(k)

(2.28)

Donde η > 0 que es el coeficiente de aprendizaje y el termino∂E(k)

∂Wj,i(k)es el vector gradiente ecuación

2.29.

∇E =

{∂E(k)

∂w ji(k)

}(2.29)

26

Page 55: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

2.7. ALGORITMOS DE APRENDIZAJE

2.7.2. Levenberg-Marquardt

Un inconveniente del BP es la lentitud de convergencia y para resolver este problema se plantean variantesde las cuales sobresale un segundo grupo de algoritmos denominados genéricamente métodos de segundoorden que se basan en realizar el descenso por el gradiente utilizando también la información proporciona-da por el cambio de la pendiente; es decir, la segunda derivada del error H = ∂ 2E(W )/∂wi, j∂k,l (H sedenomina matriz Hessiana). Los algoritmos de gradientes conjugados, gradientes conjugados escalados,Newton y Levenberg-Marquardt son ejemplos de ello [3].

Son técnicas más robustas que el BP que pueden acelerar en uno o dos órdenes de magnitud la conver-gencia, aunque como contrapartida son mucho más complejas de implementar y precisan más recursos decálculo. Téngase en cuenta que ninguno de los algoritmos descritos puede considerarse superior, un buenmétodo en un caso puede proporcionar un rendimiento pobre en otro. En este caso particular se destacaespecialmente el algoritmo de Levenberg-Marquardt [3, 17].

La optimización de los pesos está dado por la ecuación 2.30.

W (k+1) =W (k)− (H f +λ I)−1 ·∇ f (2.30)

donde:λ es el coeficiente de aprendizajeI es una matriz identidadH es el la matriz Hessiana

La idea es seleccionar λde manera que la matriz H f +λ I sea positiva definida. La ecuación anteriorse aproxima al método de gradiente si λ → ∞, y al método de Newton λ → 0. Usualmente se seleccionavalores iniciales grandes de λ los cuales se disminuyen a medida que se aproxima al mínimo.

Una aproximación puede ser introducida para el cálculo de la matriz Hessiana. Cuando la funciónobjetivo tiene la forma de una suma de cuadrados (como es típico en las redes realimentadas), entoncesla matriz Hessiana se puede aproximar a (ecuación 2.31).

H ≈ JT × J (2.31)

Y el gradiente se puede calcular como:

∇ ≈ JT × e (2.32)

Esto permite al método aproximar las derivadas de segundo orden de la Hesiana a través de lasderivadas de primer orden de la matriz jacobiana, lo cual se traduce a un ahorro computacional, y esmucho menos complejo que el cálculo de la Hessiana por las segundas derivadas.

Por lo tanto, la optimización del algoritmo de Levenberg-Marquardt utilizando 2.31 se describe porla ecuación 2.33.

W (k+1) =W (k)−[JT × J+λ × I

]−1× JT × e (2.33)

27

Page 56: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 57: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Capítulo 3

Estructura NARX

3.1. Introducción

En ingeniería y otras disciplinas se sabe que en su mayoría los sistemas reales tienen comportamiento nolineal y los modelos lineales son sólo aproximaciones en un rango pequeño de operación de los procesos.En otras palabras para que el modelo que se utilice sea válido se necesitan incluir las no linealidades,tarea que se realiza en la identificación no lineal.

Después de haber realizado el estudio de las redes neuronales artificiales, éstas son aplicadas a la téc-nica de identificación a través de las estructuras NARX y Hammerstein-Wiener. Hay numerosas formaspara describir los sistemas no lineales; sin embargo, en este trabajo sólo se hace el enfoque a las dosestructuras antes mencionadas. Por otro lado, en este capítulo se presenta la estructura propuesta NARXbasada en redes neuronales.

En la sección 3.2 se muestra la representación en diagrama a bloques de la estructura NARX, laecuación de salida y la descripción de cada una de las partes que la forman; en 3.3 se hace mención alos diferentes estimadores que se pueden utilizar tanto en la estructura NARX como en la Hammerstein-Wiener; mientras que la estructura NARX propuesta en este trabajo se presenta en 3.4; después en 3.5 seobtiene el modelo del bloque lineal y bloque no lineal y también se realiza el desarrollo matemático.

Por último, en 3.7 se obtiene el entrenamiento mediante el gradiente descendente y se hace la repre-sentación en forma matricial de los parámetros a optimizar.

29

Page 58: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 3. ESTRUCTURA NARX

3.2. Representación a bloques de la estructura NARX

El modelo NARX es la generalización no lineal del modelo bien conocido ARX, el cual constituye unaherramienta estándar en la identificación de sistemas lineales tipo caja negra. Un modelo NARX se for-mula como una ecuación entrada-salida de tiempo discreto como se observa en la ecuación 3.1, de maneraque la salida y y el tiempo t dependen de los valores anteriores de la entrada y salida.

y(t) = f (y(t−1), ...,y(t−na),u(t−nk), ...,u(t−nk−nb+1)) (3.1)

Donde la función f depende de un número finito de entradas u y salidas y anteriores, na es el númerode términos de salidas pasadas usados para predecir la salida actual, nb es el número de términos de en-tradas pasadas usados para predecir la salida actual, nk es el retardo de la entrada a la salida, especificadacomo el número de muestras, de manera que y(t−1), ...,y(t−na),u(t−nk), ...,u(t−nk−nb+1) son lasvariables de retraso de entrada-salida, llamadas regresores. Considerando lo mencionado, el modelo de laecuación 3.1 es no lineal siempre que la función f sea una función no lineal [13].

De acuerdo con el manual de usuario del toolbox de identificación [13], se tomó de referencia el dia-grama a bloques de la estructura no lineal ARX que se muestra en la figura 3.1, este diagrama sirvió paraproponer una estructura propia basada en redes neuronales la cual se presenta más adelante.

Figura 3.1: Representación de la estructura no lineal ARX

Note que el estimador no lineal mapea los regresores usando una combinación de funciones lineal yno lineal. Por otro lado, en [13] se presentan diferentes estimadores no lineales los cuales se mencionanen la siguiente sección.

3.3. Estimadores no lineales

El Toolbox de identificación [13], tiene a disposición 6 estimadores que son utilizados para la estructuraNARX, los cuales son Wavelet network, One layer sigmoid network, Tree partition, linear, Custom Net-work, Multilayered neural network, este último está indirectamente ya que requiere de otra herramientapara su funcionamiento.

De la misma forma para la estructura Hammerstein-Wiener el toolbox tiene 8 estimadores no linea-les, los cuales son Piecewise linear, One layer sigmoid network, Wavelet network, Saturation, Dead zone,One-dimensional polynomial, Unit gain, Custom network.

30

Page 59: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

3.3. ESTIMADORES NO LINEALES

De los trabajos de identificación realizados en CENIDET se encuentran [2], [8] y [25] esta última fuede apoyo debido a que utiliza redes neuronales para identificar, además de la bibliografía revisada, en par-ticular [14],[12] y [13], para el desarrollo de las estructuras NARX y H-W. Por lo tanto, de los estimadoresmencionados se elige utilizar el One layer sigmoid network, la razón principal de utilizar esta función esporque ya se ha trabajado con ella, por lo que se aprovechará lo utilizado para el desarrollo de este trabajo.

Un punto muy importante a destacar de este trabajo es que, aunque el Toolbox menciona cuáles sonlos estimadores que se utilizan en dichas estructuras, lo más importante no lo dice, que es cómo llevarloa la implementación, es esta la tarea importante de este trabajo de investigación. Por esta razón se desa-rrollo una versión propia de implementación.

La función de la red sigmoidea está basada sobre la expansión que se muestra en la ecuación 3.2:

F(x) = (x− r)×P×L+a1 f ((x− r)×Q×b1 + c1)+ . . .+anf ((x− r)×Q×bn + cn)+d (3.2)

Donde f es la función sigmoidea, dado por la ecuación:

f (z) =1

e−z +1(3.3)

P y Q son matrices de proyección m× p y m× q. Las matrices de proyección P y Q se determinanmediante el análisis de componentes principales de los datos de estimación. Normalmente p = m.

Cuando se utiliza en modelos NARX, q es igual al tamaño de los regresores no lineales, está es unapropiedad de NARX.

r es un vector de 1×m y representa el valor medio del vector de regresores, calculado a partir de losdatos de estimación.

d, ak y ck son escalares.L es un vector de p×1.bk son vectores de q×1.

31

Page 60: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 3. ESTRUCTURA NARX

3.4. Estructura NARX propuesta basada en redes neuronales

En base a la expansión de la ecuación 3.2, respetando las dimensiones mostradas en sección anteriory además del diagrama de bloques de la figura 3.1 se propone la estructura NARX basada en redesneuronales.

3.4.1. Estructura NARX propuesta

La estructura NARX que será utilizada en el desarrollo de este trabajo de tesis, es la que se muestra enla figura 3.2 donde se observa que cada uno de los bloques esta representado por una red neuronal MLP(Perceptrón Multicapa).

Para tener un mejor entendimiento de la red, primero se obtuvo el modelo matemático de dicha redque se utilizó para desarrollar el algoritmo de entrenamiento de la red neuronal. Por cierto es importanteaclarar que la red de la figura 3.2, fue desarrollada para este trabajo.

Figura 3.2: Estructura NARX

32

Page 61: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

3.5. MODELO DE LA ESTRUCTURA NARX

3.5. Modelo de la estructura NARX

Para obtener el modelo de la estructura NARX se considera la figura 3.2

3.5.1. Modelo del bloque no lineal

Tomando en cuenta el bloque de la función no lineal de la figura 3.2, se obtiene el modelo que se muestraen la ecuación 3.4.

YNL = f (YNL1)×aVecYNL1 = YNL2×bMat + cVecYNL2 = UN×Q

(3.4)

donde :UN ∈ R1×(na+nb), Q ∈ R(na+nb)×(na+nb), bMat ∈ R(na+nb)×nn

aVec ∈ Rnn×1, cVec ∈ R1×nn

3.5.2. Modelo del bloque lineal

Ahora, el modelo del bloque de la función lineal es el que se muestra en la ecuación 3.5.

YL = YL1×L+dYL1 = UN×P (3.5)

donde:UN ∈ R1×(na+nb), P ∈ R(na+nb)×(na+nb), L ∈ R(na+nb)×1, d ∈ R

Por otro lado, el desarrollo del modelo de las ecuaciones 3.4 y 3.5 se muestra a continuación.

3.6. Desarrollo del modelo

En primer lugar, tomando el modelo del bloque no lineal se obtiene el siguiente desarrollo:

Para:

YNL2 =UN×Q (3.6)

donde:UN es un vector formado por los regresoresQ es una matriz de pesos sinápticos de la capa de entrada.

UN =[

y(k−1) y(k−2) · · · y(k−na) u(k−nk) · · · u(k−nk−nb+1)]

(3.7)

Q =

Q1,1 Q1,2 Q1,na · · · Q1,na+nbQ21, Q2,2 Q2,na · · · Q2,na+nbQna,1 Qna,2 Qna,na · · · Qna,na+nb

......

.... . .

...Qna+nb,1 Qna+nb,2 Qna+nb,na · · · Qna+nb,na+nb

(3.8)

33

Page 62: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 3. ESTRUCTURA NARX

Por lo tanto, por definición un vector columna y un vector fila de la matriz Q son presentados en lasecuaciones 3.9 y 3.10 respectivamente.

coli (Q) :=

Q1,iQ2,iQna,i

...Qna+nb,i

(3.9)

rowi (Q) :=[

Qi,1 Qi,2 Qi,na · · · Qi,na+nb], i = 1,2,3, . . . ,na+nb (3.10)

Haciendo el producto de la ecuación 3.6 se obtiene a YNL2 que es la salida de capa de entrada de la redneuronal.

YNL21,i =na+nb

∑j=1

UN1, j ×Q j,i

Por otro lado, si se desea el valor de YNL2 en la posición i, esta se obtiene mediante la ecuación 3.11.

YNL21,i =UN× coli (Q) (3.11)

Al sustituir a UN y coli (Q) se obtiene lo siguiente:

YNL21,1 = Q1,1× y(k−1)+Q2,1× y(k−2)+ · · ·+Qna+nb,1×u(k−nk−nb+1) (3.12)

Ahora tomando a YNL1 = YNL2×bMat + cVec

donde:bMat es una matriz de pesos sinápticos de la capa ocultacVec es un vector de pesos sinápticos de la capa oculta

bMat =

bMat1,1 bMat1,2 · · · bMat1,nnbMat2,1 bMat2,2 · · · bMat2,nnbMatna,1 bMatna,2 · · · bMatna,nn

......

. . ....

bMatna+nb,1 bMatna+nb,2 · · · bMatna+nb,nn

(3.13)

Mientras que un vector columna y un vector fila de la matriz bMat se muestran en las ecuaciones 3.14y 3.15 respectivamente.

coli (bMat) :=

bMat1,ibMat2,ibMatna,i

...bMatna+nb,i

, i = 1,2,3, . . . ,nn (3.14)

34

Page 63: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

3.6. DESARROLLO DEL MODELO

row j (bMat) :=[

bMat j,1 bMat j,2 · · · bMat j,nn], j = 1,2,3, ...,na+nb (3.15)

cVec =[

cVec1,1 cVec1,2 · · · cVec1,nn]

(3.16)

El valor de cVec en la posición i se muestra en la ecuación 3.17.

cVeci = cVec1i i = 1,2,3, ...,nn (3.17)

Tomado en cuenta las dimensiones de bMat, cVec y YNL2 se realizan las operaciones para obtener lasalida de la capa oculta (YNL1), la cual se muestra de manera general en la ecuación 3.18 (note que YNL1 esun vector fila).

YNL11,i =

(na+nb

∑k=1

(na+nb

∑j=1

UN1, j ×Q j,k

)×bMatk,i

)+ cVec1,i (3.18)

De manera que para obtener el valor en la posición deseada de YNL1 la expresión queda como laecuación 3.18.

YNL11,i = YNL2× coli(bMat)+ cVec1,i (3.19)

Por último, para obtener la salida del bloque no lineal se toma a YNL = f (YNL1)×aVec

donde:f es una función sigmoidea (y = tanh(x))aVec es un vector columna de pesos sinápticos de la capa de salida

aVec =

aVec1,1aVec2,1

...aVecnn,1

(3.20)

Por lo tanto, la ecuación 3.21 representa sólo la salida del bloque no lineal que esta representada ensu forma general.

YNL = tanh(YNL11,1)×aVec1,1 + tanh(YNL11,2)×aVec1,2 + . . .+ tanh(YNL11,nn)×aVecnn,1 (3.21)

Ahora, considerando el modelo del bloque de la función lineal ecuación 3.5 y de acuerdo conYL1 =UN×P, donde: UN es el vector de regresores y P es una matriz de pesos sinápticos.

P =

P1,1 P1,2 P1,na · · · P1,na+nbP2,1 P2,2 P2,na · · · P2,na+nbPna,1 Pna,2 Pna,na · · · Pna,na+nb

......

.... . .

...Pna+nb,1 Pna+nb,2 Pna+nb,na · · · Pna+nb,na+nb

(3.22)

35

Page 64: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 3. ESTRUCTURA NARX

Al igual que la matriz Q del bloque no lineal para la matriz P se tiene un vector fila y un vectorcolumna que se muestran en las ecuaciones 3.23 y 3.24.

coli (P) :=

P1,iP2,iPna,i

...Pna+nb,i

(3.23)

rowi (P) :=[

Pi,1 Pi,2 Pi,na · · · Pi,na+nb]

(3.24)

Al realizar la operación se obtiene a YL1 ecuación 3.25.

YL11,i =na+nb

∑j=1

UN1, j ×Pj,i (3.25)

Para terminar y obtener la salida del bloque lineal se tiene YL = YL1×L+d

donde:L es un vector de pesos sinápticosd es un peso sináptico llamado umbral

L =

L1,1L2,1Lna,1

...Lna+nb,1

Por lo tanto, al realizar las operaciones para la salida del bloque lineal, se obtuvo la ecuación 3.26.

YL =

(na+nb

∑i=1

(na+nb

∑j=1

UN1, j ×Pj,i

)×Li,1

)+d (3.26)

Finalmente la salida de la estructura es la suma de salida del bloque lineal con la salida del bloque nolineal que se muestra en la ecuación 3.27

y = YNL +YL (3.27)

Hasta aquí sólo se muestra el desarrollo del modelo de la estructura NARX, el cual se utilizo para eldesarrollo del algoritmo de aprendizaje.

3.7. Entrenamiento basado en el gradiente descendente

Para el ajuste de los pesos sinápticos mediante el gradiente descendente; en primer lugar, se obtienen lasderivadas parciales de las ecuaciones 2.26, 2.27 y 3.27 como se observa en la ecuación 3.28.

∂E∂e

= e∂e∂ y

=−1∂ y

∂YNL= 1

∂ y∂YL

= 1 (3.28)

36

Page 65: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

3.7. ENTRENAMIENTO BASADO EN EL GRADIENTE DESCENDENTE

Por otro lado, tomando la salida del bloque no lineal ecuación 3.21 se calculan las derivadas con res-pecto a la matriz de pesos sinápticos Q, en este caso sólo se muestran las derivadas parciales con respectoal vector Qna+nb,1, para na+nb = 1,2,na, ...,na+nb obteniendo la ecuación 3.29.

∂YNL

∂Q1,1= ∑

nni=1(sech2

(YNL11,i

)×aVeci,1×bMat1,i× y(k−1)

)∂YNL

∂Q2,1= ∑

nni=1 sech2

(YNL11,1

)×aVeci,1×bMat1,i× y(k−2)

......

...∂YNL

∂Qna+nb,1= ∑

nni=1 sech2

(YNL11,1

)×aVeci,1×bMat1,i×u(k−nk−nb+1)

(3.29)

Mientras que las derivadas con respecto a bMat, aVec, cVec se muestran en la ecuación 3.30, 3.31 y3.32 respectivamente. Note que para bMat al igual que Q se muestran las derivadas con respecto al primervector columna.

∂YNL

∂bMat1,1= sech2

(YNL11,1

)×aVec1,1×YNL21,1

∂YNL

∂bMat2,1= sech2

(YNL11,1

)×aVec1,1×YNL21,2

......

...∂YNL

∂bMatna+nb,1= sech2

(YNL11,1

)×aVec1,1×YNL21,na+nb

(3.30)

∂YNL

∂aVec1,1= tanh(YNL11,1)

∂YNL

∂aVec2,1= tanh(YNL11,2)

......

...∂YNL

∂aVecnn,1= tanh(YNL11,nn)

(3.31)

∂YNL

∂cVec1,1= sech2

(YNL11,1

)×aVec1,1

∂YNL

∂cVec1,2= sech2

(YNL11,2

)×aVec2,1

......

...∂YNL

∂cVec1,nn= sech2

(YNL11,nn

)×aVecnn,1

(3.32)

Para calcular la derivada de la función objetivo con respecto a Q mediante la regla de la cadena comoen la ecuación 3.33 se utilizan las ecuaciones 3.28 y 3.29. De manera similar para bMat, aVec y cVec seutilizan las ecuaciones 3.28, 3.30, 3.31 y 3.32 respectivamente.

37

Page 66: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 3. ESTRUCTURA NARX

∂E∂Q1,1

=∂E∂e× ∂e

∂ y× ∂ y

∂YNL× ∂YNL

∂Q1,1∂E

∂Q2,1=

∂E∂e× ∂e

∂ y× ∂ y

∂YNL× ∂YNL

∂Q2,1...

∂E∂Qna+nb,1

=∂E∂e× ∂e

∂ y× ∂ y

∂YNL× ∂YNL

∂Qna+nb,1

(3.33)

Ahora, con respecto a la salida de modelo lineal ecuación 3.26, se obtienen las derivadas parciales deYL con respecto a los vectores Pna+nb,1, Lna+nb,1 para na+nb = 1,2,na, ...,na+nb y el escalar d, resultandolas ecuaciones 3.34, 3.35 y 3.36 respectivamente.

∂YL

∂P1,1= L1,1×UN1,1

∂YL

∂P2,1= L1,1×UN1,2

......

...∂YL

∂Pna+nb,1= L1,1×UN1,na+nb

(3.34)

∂YL

∂L1,1= ∑

na+nbj=1 UN1, j ×Pj,1

∂YL

∂L2,1= ∑

na+nbj=1 UN1, j ×Pj,2

......

...∂YL

∂Lna+nb,1= ∑

na+nbj=1 UN1, j ×Pj,na+nb

(3.35)

∂YL

∂d= 1 (3.36)

Para terminar con el bloque lineal, al igual que el bloque no lineal se aplica la regla de la cadena eneste caso para los pesos sinápticos del vector Pna+nb,1, resultando la ecuación 3.37. De forma similar sedebe hacer para el vector Lna+nb,1 y para el escalar d.

∂E∂P1,1

=∂E∂e× ∂e

∂ y× ∂ y

∂YL× ∂YL

∂P1,1∂E

∂P2,1=

∂E∂e× ∂e

∂ y× ∂ y

∂YL× ∂YL

∂P2,1...

∂E∂Pna+nb,1

=∂E∂e× ∂e

∂ y× ∂ y

∂YL× ∂YL

∂Pna+nb,1

(3.37)

38

Page 67: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

3.7. ENTRENAMIENTO BASADO EN EL GRADIENTE DESCENDENTE

3.7.1. Representación del algoritmo de optimización

Una representación general del algoritmo de optimización al utilizar el descenso del gradiente como laecuación 2.28 para los pesos sinápticos Q, bMat, cVec, aVec, P, L y d se muestran en las ecuaciones 3.38,3.39, 3.40, 3.41, 3.42, 3.43, 3.44 respectivamente.

Q(k+1) = Q(k)−η∇EQ (3.38)

P(k+1) = P(k)−η∇EP (3.39)

bMat(k+1) = bMat(k)−η∇Eb (3.40)

L(k+1) = L(k)−η∇EL (3.41)

cVec(k+1) = cVec(k)−η∇Ec (3.42)

aVec(k+1) = aVec(k)−η∇Ea (3.43)

d(k+1) = d(k)−η∇Ed (3.44)

Por lo tanto, para cada matriz o vector de pesos, una matriz del gradiente del error se construirá de lasiguiente manera:

(∇EQ) =

∂E

∂Q1,1· · · ∂E

∂Q1,na+nb...

. . ....

∂E∂Qna+nb,1

· · · ∂E∂Qna+nb,na+nb

(∇Ep) =

∂E

∂P1,1· · · ∂E

∂P1,na+nb...

. . ....

∂E∂Pna+nb,1

· · · ∂E∂Pna+nb,na+nb

(∇Eb) =

∂E

∂bMat1,1· · · ∂E

∂bMat1,nn...

. . ....

∂E∂bMatna+nb,1

· · · ∂E∂bMatna+nb,nn

(∇EL) =

∂E

∂L1,1...

∂E∂Lna+nb,1

(∇Ec) =

[∂E

∂cVec1,1· · · ∂E

∂cVec1,nn

](∇Ea) =

∂E

∂aVec1,1...

∂E∂aVecnn,1

(∇Ed) =∂E∂d

Ahora utilizando el cálculo de las derivadas de los pesos sinápticos, la representación matricial delentrenamiento de la estructura NARX se muestra en las siguientes ecuaciones:

39

Page 68: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 3. ESTRUCTURA NARX

RE

PRE

SEN

TAC

IÓN

MA

TR

ICIA

L

Q

1,1(

k+

1)Q

1,2(

k+

1)···

Q1,

na+

nb(k+

1)Q

2,1(

k+

1)Q

2,2(

k+

1)···

Q2,

na+

nb(k+

1). . .

. . .. .

.. . .

Qna

+nb

,1(k+

1)Q

na+

nb,2(k+

1)···

Qna

+nb

,na+

nb(k+

1)

=

Q1,

1(k)

Q1,

2(k)

···

Q1,

na+

nb(k)

Q2,

1(k)

Q2,

2(k)

···

Q2,

na+

nb(k)

. . .. . .

. ..

. . .Q

na+

nb,1(k)

Qna+

nb,2(k)···

Qna+

nb,n

a+nb(k)

−[ η×−

e×( ∑

nn i=1

sech

2( Y N

L11,

i) ×aV

eci,1×

bMat

l,i×

UN

1,j)]

bM

at11(K

+1)

bMat

12(K

+1)

···

bMat

1,nn(K

+1)

bMat

21(K

+1)

bMat

22···

bMat

2,nn(K

+1)

. . .. . .

. ..

. . .bM

atna

+nb

,1(K

+1)

bMat

na+

nb,2(K

+1)···

bMat

na+

nb,n

n(K+

1)

=

bMat

11(K

)bM

at12(K

)···

bMat

1,nn(K

)bM

at21(K

)bM

at22(K

)···

bMat

2,nn(K

). . .

. . .. .

.. . .

bMat

na+

nb,1(K

)bM

atna+

nb,2(K

)···

bMat

na+

nb,n

n(K)

−[ η×−

e×( se

ch2( Y N

L11,

i) ×aV

eci,1×

Y NL2

1,j)]

aVec

11(k+

1). . .

aVec

nn,1(k+

1)

= aV

ec11(k)

. . .aV

ecnn

,1(k)

−[η×−

e×( ta

nh( Y N

L11,

i))] ,

L 11(

k+

1)L 2

1(k+

1). . .

L na+

nb,1(k+

1)

=

L 11(

k)L 2

1(k) . . .

L na+

nb,1(k)

−[η×−

e×( ∑

na+

nbi=

1U

N1,

P i,j)]

[ cVec

1,1(

k+

1),···,

cVec

1,nn

(k+

1)] =[

cVec

1,1(

k),···,

cVec

1,nn(k)] −[

η×−

e×( se

ch2( Y N

L11,

i) ×aV

eci,1)]

P 1

1(k+

1)P 1

2(k+

1)···

P 1,n

a+nb(k+

1)P 2

1(k+

1)P 2

2(k+

1)···

P 2,n

a+nb(k+

1). . .

. . .. .

.. . .

P na+

nb,1(k+

1)P n

a+nb

,2(k+

1)···

P na+

nb,n

a+nb(k+

1)

=

P 11(

k)P 1

2(k)

···

P 1,n

a+nb(k)

P 21(

k)P 2

2(k)

···

P 2,n

a+nb(k)

. . .. . .

. ..

. . .P n

a+nb,1(k)

P na+

nb,2(k)···

P na+

nb,n

a+nb(k)

−[η×−

e×( L

j,1×

UN

1,l)]

[d(k+

1)]=

[d(k)]−[η×−

e],d

onde

j=l=

1,2,

na,...,n

a+

nb,i

=1,

2,...,

nn

40

Page 69: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

3.7. ENTRENAMIENTO BASADO EN EL GRADIENTE DESCENDENTE

En resumen el enfoque que se utiliza en identificación no lineal entre el sistema real y la estructurano lineal ARX basada en redes neuronales es como se muestra en la figura 3.3, también llamado modeloserie-paralelo no lineal.

Figura 3.3: Configuración de la estructura NARX

41

Page 70: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 71: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Capítulo 4

Estructura Hammerstein-Wiener

4.1. Introducción

Otra forma de obtener modelos no lineales de sistemas dinámicos es mediante la conexión de bloques defunciones lineales y no lineales, estos se llaman modelos orientados a bloques. Los modelo más simplesson el Hammerstein figura 4.1a y el Wiener que se muestra en la figura 4.1b. Cuando se pone un bloqueno lineal entre dos bloques lineales la estructura que se forma es un modelo Wiener-Hammerstein verfigura 4.1c y al poner un bloque lineal entre dos bloques no lineales la estructura formada es un modeloHammerstein-Wiener figura 4.1d, de los cuales sólo se estudió la estructura Hammerstein-Wiener.

(a) Modelo Hammerstein

(b) Modelo Wiener

(c) Modelo Wiener-Hammerstein

(d) Modelo Hammestein-Wiener

Figura 4.1: Modelos no lineales orientados a bloques

Teniendo en cuenta lo mencionado anteriormente, en este capítulo primero se describe de manerageneral la estructura Hammerstein-Wiener 4.2, en seguida se presenta la estructura propuesta basada enredes neuronales 4.3; en 4.4 se obtiene el modelo del bloque de entrada, el bloque lineal y el bloque desalida; después en 4.5 se realiza el desarrollo del modelo para darle paso al desarrollo del algoritmo deoptimización de la estructura.

43

Page 72: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 4. ESTRUCTURA HAMMERSTEIN-WIENER

4.2. Representación de la estructura Hammerstein-Wiener

En la actualidad los modelos Hammerstein-Wiener han tomado fuerza en la identificación de sistemasdinámicos. La idea para construir los modelos mediante bloques orientados es conectando dos bloquesno lineales en serie con un bloque lineal dinámico. Además de que estas conexiones pueden corresponderfísicamente a instrumentos y la estructura Hammerstein-Wiener es un claro ejemplo ya que una manerade describirlo es de la siguiente forma:

El bloque de entrada representa los actuadores no lineales, seguido de un bloque lineal dinámico yfinalmente a la salida un bloque que representa los sensores no lineales [12]. Por otro lado, esta estructuratiene varias áreas de aplicación tales como: modelado de sistemas electromecánicos y componentes deradiofrecuencia, audio y procesamiento de voz entre otros.

Al igual que la estructura NARX, para H-W se tomó del manual de usuario del toolbox de identifi-cación de Matlab® [13] el diagrama a bloques de la figura 4.2 que sirvió para proponer una estructurapropia basada en redes neuronales. Principalmente la estructura Hammerstein-Wiener está definida porla conexión en cascada de un bloque no lineal estático f seguido por un sistema dinámico lineal B/F queesta seguido por un bloque no lineal estático h.

Figura 4.2: Representación de la estructura Hammerstein-Wiener

Donde:

κ(t) = f (u(t)) es una función de transformación no lineal de los datos de entrada u(t). κ(t) tiene lamisma dimensión que u(t).

x(t) = (B/F)κ(t) es una función de transferencia lineal. x(t) tiene la misma dimensión que y(t).

y(t) = h(x(t)) es una función no lineal que mapea la salida del bloque lineal para el sistema de salida.

ω(t) y x(t) son variables internas que definen la entrada y salida del bloque lineal, respectivamente.

Como se mencionó en el capítulo 3 se utilizó el estimador One layer sigmoid network que está basadaen la expansión que se muestra en la ecuación 3.2 y para la estructura Hammerstein-Wiener se hace lasiguiente consideración: m = q = 1 por lo que Q y P son escalares.

4.3. Estructura H-W propuesta

Tomando como referencia la figura a bloques 4.2 se desarrolla para este trabajo la estructura Hammers-tein -Wiener basada en redes neuronales que se muestra en la figura 4.3; a pesar de que en gran partela información de esta estructura se puede encontrar en [9], [17], [26] y en el manual del Toolbox deidentificación [13], se hará el desarrollo y la implementación del código propio de dicha estructura.

44

Page 73: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

4.3. ESTRUCTURA H-W PROPUESTA

Figu

ra4.

3:E

stru

ctur

aH

amm

erst

ein-

Wie

ner

45

Page 74: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 4. ESTRUCTURA HAMMERSTEIN-WIENER

4.4. Modelo de la estructura Hammerstein-Wiener

Ahora, al tener bien definida la estructura Hammerstein-Wiener primero se obtiene el modelo de dichaestructura que se utilizará para el desarrollo del algoritmo de entrenamiento de la red neuronal.

4.4.1. Modelo del bloque no lineal de entrada

De acuerdo con la estructura propuesta figura 4.3 se obtiene el modelo matemático del bloque no linealde entrada la cual se muestra en la ecuación 4.1.

y1(k) = YN1 +YinYN1 = f (YN2)×aVecYN2 = u(k)×b+ cVecYin = u(k)×Lin+d

(4.1)

donde:cVec ∈ R1×ni, aVec ∈ Rni×1, d ∈ R, b ∈ R1×ni, Lin ∈ Rni es el número de neuronas en la capa oculta del bloque de entrada

4.4.2. Modelo del bloque lineal

Con respecto al bloque lineal que es una representación lineal basada en redes neuronales (OE). El mo-delo que se obtuvo es la ecuación 4.2.

y2(k) = YL×R+dLYL = UN×LUN = [Ry,Ru]

(4.2)

donde:R ∈ R(nb+n f )×1, L ∈ R(nb+n f )×(nb+n f ), dL ∈ R, UN ∈ R1×(nb+n f )

nb es el número de datos pasados de la salida del bloque de entradan f es el número de datos pasados a la salida del bloque linealnk es el retardo de la entra a la salida del bloque lineal

4.4.3. Modelo del bloque no lineal de salida

Finalmente, para el bloque de salida el modelo obtenido es la ecuación 4.3.

y(k) = Yo+YLOYo = g(Y n)×aVoY n = y2(k)×Z + cVoYLO = y2(k)×Ls+do

(4.3)

donde:cVo ∈ R1×no, aVo ∈ Rno×1, do ∈ R, Z ∈ R1×no, Ls ∈ Rno es el número de neuronas en la capa oculta del bloque de salida

46

Page 75: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

4.5. DESARROLLO DEL MODELO

4.5. Desarrollo del modelo

En primer lugar, se tomó el modelo del bloque no lineal de entrada considerando a la función f comosigmoidea, es decir, f = tanh(x).

Para: YN2 = u(k)×b+ cVec

donde:u(k) es la entrada en el instante kb es un vector fila de pesos sinápticoscVec es un vector fila de pesos sinápticos

b =[

b1,1 b1,2 · · · b1,ni]

(4.4)

cVec =[

cVec1,1 cVec1,2 · · · cVec1,ni]

(4.5)

Al realizar las operaciones resulta el valor de YN2 ecuación 4.6

YN2 =[

u(k)×b1,1 + cVec1,1 u(k)×b1,2 + cVec1,2 · · · u(k)×b1,ni + cVec1,ni]

(4.6)

Ahora para: YN1 = f (YN2)×aVec

donde:f es una función no linealaVec es un vector columna de pesos sinápticos

aVec =

aVec1,1aVec2,1

...aVecni,1

(4.7)

Al sustituir aVec y la función no lineal, la salida que se obtiene queda representada por la ecuación 4.8.

YN1 = (tanh(u(k)×b1,1 + cVec1,1)×aVec1,1)+(tanh(u(k)×b1,2 + cVec1,2)×aVec2,1)+ · · ·+(tanh(u(k)×b1,ni + cVec1,ni)×aVecni,1)

(4.8)

Mientras que para Yin = u(k)×Lin+ d, que esta en paralelo con la función no lineal se define a Lincomo un peso sináptico, d un umbral y u(k) es la entrada en el instante k.

Por último, con respecto al bloque de entrada la salida se obtiene mediante la ecuación 4.9.

y1(k) = YN1 +Yin (4.9)

Ademas, ahora se considera el modelo del bloque lineal ecuación 4.2, primero para: YL =UN ×L

donde:UN es un vector formado por regresoresL es una matriz de pesos sinápticos de la capa de entrada

47

Page 76: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 4. ESTRUCTURA HAMMERSTEIN-WIENER

UN =[

y2(k−1) · · · y2(k−nb) y1(k−nk) · · · y1(k−nk−n f +1)]

(4.10)

L =

L1,1 L1,2 L1,nb · · · L1,nb+n fL2,1 L2,2 L2,nb · · · L2,nb+n fLnb,1 Lnb,2 Lnb,nb · · · Lnb,nb+n f

......

.... . .

...Lnb+n f ,1 Lnb+n f ,2 Lnb+n f ,nb · · · Lnb+n f ,nb+n f

(4.11)

A propósito un vector columna y un vector fila de la matriz L se pueden representar como en lasecuaciones 4.12 y 4.13, para i = 1,2,3, ...,nb+n f .

coli(L) :=

L1,iL2,iLnb,i

...Lnb+n f ,i

(4.12)

rowi :=[

Li,1 Li,2 Li,nb · · · Li,nb+n f]

(4.13)

De forma general se obtiene el cálculo de YL como se muestra en la ecuación 4.14.

YL1,i =nb+n f

∑j=1

UN1, j ×L j,i i = 1,2, ...,nb+n f (4.14)

En relación a la ecuación 4.14, si se desea obtener el valor de YL en la posición que se desee conocerse realiza lo siguiente:

YL1,i =UN× coli(L)

YL1,i = L1,i× y2(k−1)+ · · ·+Lnb,i× y2(k−nb)+Lnb+1,i× y1(k−nk)+ · · ·+Lnb+n f ,i× y1(k−nk−n f +1)

Por último, para obtener la salida del bloque lineal se toma la expresión 4.15.

y2(k) = YL×R+dL (4.15)

donde:R es un vector de pesos sinápticosdL es un peso sináptico (umbral)

R =

R1,1R2,1Rnb,1

...Rnb+n f ,1

(4.16)

48

Page 77: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

4.5. DESARROLLO DEL MODELO

Por lo tanto, la representación general de la salida del bloque lineal esta dada por la ecuación 4.17.

y2 =

(nb+n f

∑i=1

(nb+n f

∑j=1

UN1, j ×L j,i

)×Ri,1

)+dL (4.17)

Para finalizar el desarrollo matemático de la estructura, ahora se considera el modelo del bloque desalida ecuación 4.3 y se considera a la función como sigmoidea (g = tanh(x)).

Para: Y n = y2(k)×Z + cVo.

donde:Z es un vector fila de pesos sinápticoscVo es un vector fila de pesos sinápticosy2(k) es la salida del bloque lineal pero a la vez es la entrada del bloque de salida

Z =[

Z1,1 Z1,2 · · · Z1,no]

(4.18)

cVo =[

cVo1,1 cVo1,2 · · · cVo1,no]

(4.19)

Sustituyendo las ecuaciones 4.18 y 4.19 se obtiene a Y n:

Y n =[

y2(k)×Z1,1 + cVo1,1 y2(k)×Z1,2 + cVo1,2 · · · y2(k)×Z1,no + cVo1,no]

(4.20)

Para: Yo = g(Y n)×aVo

donde:aVo es un vector columna de pesos sinápticosg es una función no lineal

aVo =

aVo1,1aVo2,1

...aVono,1

(4.21)

Sustituyendo la ecuación 4.21 y la función no lineal se tiene lo siguiente:

Yo = (tanh(y2(k)×Z1,1 + cVo1,1)×aVo1,1)+(tanh(y2(k)×Z1,2 + cVo1,2)×aVo2,1)+ · · ·+(tanh(y2(k)×Z1,no + cVo1,no)×aVono,1)

(4.22)

De manera que para YLO = y2(k)×Ls+do se define a Ls como un peso sináptico, do un umbral y y2(k)como la entrada del bloque en el instante (k).

Finalmente, la salida de la estructura Hammerstein-Wiener esta dada por la ecuación 4.23

y = Yo+YLO (4.23)

49

Page 78: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 4. ESTRUCTURA HAMMERSTEIN-WIENER

4.6. Entrenamiento por retropropagación de errores (BP)

Para el entrenamiento de la red neuronal artificial de la estructura Hammerstein-Wiener se utiliza el al-goritmo de retropropagación de errores (BP). Para ello, se plantea una función objetivo como se muestraen 2.7.1 y se deriva parcialmente en función de los pesos sinápticos haciendo el uso de la bien conocidaregla de la cadena, primero se calculan la derivadas de las ecuaciones 2.26, 2.27 y 4.23.

∂E∂e

= e∂e∂ y

=−1∂ y

∂Yo= 1

∂ y∂YLO

= 1 (4.24)

Por otro lado, considerando el bloque de salida, las derivadas de la función de salida con respecto aaVo, cVo, Z, do y Ls se obtienen mediante las formulas 4.25, 4.26, 4.27, 4.28 y 4.29 respectivamente.

∂Yo∂aVoi,1

= tanh(y2(k)×Z1,i + cVo1,i) (4.25)

∂Yo∂cVo1,i

= sech2(y2(k)×Z1,i + cVo1,i)×aVoi,1 (4.26)

∂Yo∂Z1,i

= sech2(y2(k)×Z1,i + cVo1,i)×aVoi,1× y2(k) (4.27)

∂YLO

∂do= 1 (4.28)

∂YLO

∂Ls= y2(k) (4.29)

para: i = 1,2,3, ...,no

Mientras que las derivadas parciales del bloque lineal de la función de salida con respecto a los pesossinápticos dL, R y L son las siguientes:

∂Yo∂dL

=no

∑i=1

sech2(y2(k)×Z1,i + cVo1,i)×aVoi,1×Z1,i (4.30)

∂YLO

∂dL= Ls (4.31)

∂YLO

∂R j,1= YL1, j ×Ls (4.32)

∂Yo∂R j,1

=

(no

∑i=1

sech2(y2(k)×Z1,i + cVo1,i)×aVoi,1×Z1,i

)×YL1, j (4.33)

∂YLO

∂L j,l= Rl,1×Ls×UN1, j (4.34)

∂Yo∂L j,l

=

(no

∑i=1

sech2(y2(k)×Z1,i + cVo1,i)×aVoi,1×Z1,i

)×Rl,1×UN1, j (4.35)

donde:j = 1,2,3, ...,nb+n f l = 1,2,3, ...,nb+n f

50

Page 79: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

4.6. ENTRENAMIENTO POR RETROPROPAGACIÓN DE ERRORES (BP)

Como se puede observar hay dos derivadas parciales con respecto a cada peso sináptico, debido a quehay dos caminos para llegar al peso que se esta optimizando, esto se puede observar en la figura 4.3.

Por último, con respecto al bloque de entrada las derivadas de la función de salida con respecto a lospesos sinápticos de d, Lin, aVec, b y cVec son las que se muestran de forma general a continuación:

∂Yo∂d

=

(no

∑i=1

sech2(y2(k)×Z1,i + cVo1,i)×aVoi,1×Z1,i

(nb+n f

∑j=1

nb+n f

∑i=nb+1

Li, j×R j,1

)(4.36)

∂YLO

∂d=

(nb+n f

∑j=1

nb+n f

∑i=nb+1

Li, j×R j,1

)×Ls (4.37)

∂Yo∂Lin

=

(no

∑i=1

sech2(y2(k)×Z1,i + cVo1,i)×aVoi,1×Z1,i

(nb+n f

∑j=1

nb+n f

∑i=nb+1

Li, j×R j,1

)×u(k) (4.38)

∂YLO

∂Lin=

(nb+n f

∑j=1

nb+n f

∑i=nb+1

Li, j×R j,1

)×u(k)×Ls (4.39)

∂Yo∂aVecni,1

=∂Yo∂d× tanh(u(k)×b1,ni + cVec1,ni) (4.40)

∂YLO

∂aVecni,1=

(nb+n f

∑j=1

nb+n f

∑i=nb+1

Li, j×R j,1

)×Ls× tanh(u(k)×b1,ni + cVec1,ni) (4.41)

∂Yo∂b1,ni

=∂Yo∂d× sech2 (u(k)×b1,ni + cVec1,ni)×aVecni,1×u(k) (4.42)

∂YLO

∂b1,ni=

∂YLO

∂d× sech2 (u(k)×b1,ni + cVec1,ni)×aVecni,1×u(k) (4.43)

∂Yo∂cVec1,ni

=∂Yo∂d× sech2 (u(k)×b1,ni + cVec1,ni)×aVecni,1 (4.44)

∂YLO

∂cVec1,ni=

∂YLO

∂d× sech2 (u(k)×b1,ni + cVec1,ni)×aVecni,1 (4.45)

Una vez que se obtienen las derivadas se procede a la optimización de los pesos sinápticos, para estose utiliza la bien conocida regla de la cadena y así se obtuvo la representación del algoritmo como seobserva en la siguiente subsección.

4.6.1. Representación matricial

De acuerdo con a ecuación 2.28 y de la misma forma que se hizo para la estructura NARX, ahora paraoptimizar los pesos de la estructura Hammerstein-Wiener cVec, aVec, d, Lin b, R, L, dL, cVo, aVo, Z, Ls ydo, aplicando BP mediante el gradiente descendente se tiene la representación matricial del algoritmo deoptimización resultando las ecuaciones 4.46, 4.47, 4.48, 4.49, 4.50, 4.51, 4.52, 4.53, 4.54, 4.55, 4.18, 4.57y 4.58.

cVec(k+1) = cVec(k)−η∇EcVec (4.46)

51

Page 80: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 4. ESTRUCTURA HAMMERSTEIN-WIENER

aVec(k+1) = aVec(k)−η∇EaVec (4.47)

Lin(k+1) = Lin(k)−η∇ELin (4.48)

d(k+1) = d(k)−η∇Ed (4.49)

b(k+1) = b(k)−η∇Eb (4.50)

R(k+1) = R(k)−η∇ER (4.51)

L(k+1) = L(k)−η∇EL (4.52)

dL(k+1) = dL(k)−η∇EdL (4.53)

cVo(k+1) = cVo(k)−η∇EcVo (4.54)

aVo(k+1) = aVo(k)−η∇EaVo (4.55)

Z(k+1) = Z(k)−η∇EZ (4.56)

do(k+1) = do(k)−η∇Edo (4.57)

Ls(k+1) = Ls(k)−η∇ELs (4.58)

Finalmente, la representación de la optimización de los pesos sinápticos de forma generalizada seobtiene sustituyendo el cálculo de las derivadas parciales, esto se muestra en las siguientes ecuaciones:

aVo11(k+1)aVo21(k+1)

...aVov,1(k+1)

=

aVo11(k)aVo21(k)

...aVov,1(k)

− [η×−e× tanh(y2(k)×Z1,v + cVo1,v)]

[cVo1,1(k+1) cVo1,2(k+1) · · · cVo1,v (k+1)

]=[

cVo1,1(k) cVo1,2(k) · · · cVo1,v(k)]−

[η×−e× sech2(y2(k)×Z1,v + cVo1,v)×aVov,1

][

Z1,1(k+1) Z1,2(k+1) · · · Z1,v (k+1)]=[

Z1,1(k) Z1,2(k) · · · Z1,v (k)]−

[η×−e× sech2(y2(k)×Z1,v + cVo1,v)×aVov,1× y2(k)

]Donde para cada bloque se toman las siguientes consideraciones:

Bloque de entrada v = 1,2,3, ..,ni, bloque lineal j = 1,2,3, ..,nb+n f y l = 1,2,3, ...,nb+n f y bloque desalida n = 1,2,2, ...,no

52

Page 81: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

4.6. ENTRENAMIENTO POR RETROPROPAGACIÓN DE ERRORES (BP)

RE

PRE

SEN

TAC

IÓN

MA

TR

ICIA

L

[ cVec

1,1(

k+

1)cV

ec1,

2(k+

1)···

cVec

1,n(k+

1)] =[

cVec

1,1(

k)cV

ec1,

2(k)···

cVec

1,n(

k)] −

[ η×( ( −

e×( ∑

no i=1

sech

2 (y 2(k)×

Z 1,i+

cVo 1

,i)×

aVo i,1×

Z 1,i) ×(

∑nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×sec

h2(u(k)×

b 1,n+

cVec

1,n)×

aVec

n,1) +

( −e×( ∑

nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×sec

h2(u(k)×

b 1,n+

cVec

1,n)×

aVec

n,1×

Ls))]

aVec

11(k+

1). . .

aVec

n,1(

k+

1)

= aV

ec11(k)

. . .aV

ecn,

1(k)

−[ η×( ( −

e×( ∑

nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×Ls×

tanh

(u(k)×

b 1,n+

cVec

1,n))

( −e×( ∑

no i=1

sech

2 (y 2(k)×

Z 1,i+

cVo 1

,i)×

aVo i,1×

Z 1,i) ×(

∑nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×tan

h(u(k)×

b 1,n+

cVec

1,n)))]

[Lin(k+

1)]=

[Lin(k)]−[ η×( ( −

e×( ∑

no i=1

sech

2 (y 2(k)×

Z 1,i+

cVo 1

,i)×

aVo i,1×

Z 1,i) ×(

∑nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×u(k)) +

( −e×( ∑

nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×u(k)×

Ls))]

[d(k+

1)]=

[d(k)]−[ η×( ( −

e×( ∑

no i=1

sech

2 (y 2(k)×

Z 1,i+

cVo 1

,i)×

aVo i,1×

Z 1,i) ×(

∑nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

)) +

( −e×( ∑

nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×Ls))]

53

Page 82: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 4. ESTRUCTURA HAMMERSTEIN-WIENER

RE

PRE

SEN

TAC

IÓN

MA

TR

ICIA

L

[ b 1,1(k+

1)b 1

,2(k+

1)···

b 1,n

(k+

1)] =[

b 1,1(k)

b 1,2(k)···

b 1,n(k)] −

[ η×( ( −

e×( ∑

no i=1

sech

2 (y 2(k)×

Z 1,i+

cVo 1

,i)×

aVo i,1×

Z 1,i) ×(

∑nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×sec

h2(u(k)×

b 1,n+

cVec

1,n)×

aVec

n,1×

u(k)) +

( −e×( ∑

nb+

nf

j=1

∑nb l=

1L l

,j×

Rj,1

) ×sec

h2(u(k)×

b 1,n+

cVec

1,n)×

aVec

n,1×

u(k)×

Ls))]

R11(k+

1)R

21(k+

1). . .

Rj,1(k+

1)

= R

11(k)

R21(k)

. . .R

j,1(k)

−[η×(( −e

×( ∑

no i=1

sech

2 (y 2(k)×

Z 1,i+

cVo 1

,i)×

aVo i,1×

Z 1,i) ×Y

L 1,j

) +(−

e×Y L

1,j×

Ls))]

L 1,1(k+

1)L 1

,2(k+

1)···

L 1,l(k+

1)L 2

,1(k+

1)L 2

,2(k+

1)···

L 2,l(k+

1). . .

. . .. .

.. . .

Lj,1(k+

1)L

j,2(k+

1)···

Lj,l(k+

1)

= L 1

,1(k)

L 1,2(k)···

L 1,l(k)

L 2,1(k)

L 2,2(k)···

L 2,l(k)

. . .. . .

. ..

. . .L

j,1(k)

Lj,2(k)···

Lj,l(k)

−[ η×(( −e

×( ∑

no i=1

sech

2 (y 2(k)×

Z 1,i+

cVo 1

,i)×

aVo i,1×

Z 1,i) ×R

l,1×

UN

1,j) +(

−e×

Rl,

Ls×

UN

1,j))]

[dL(k+

1)]=

[dL(k)]−[ η×(( −e

×∑

no i=1

sech

2 (y 2(k)×

Z 1,i+

cVo 1

,i)×

aVo i,1×

Z 1,i) +(−

e×Ls))]

[Ls(

k+

1)]=

[Ls(

k)]−

[η×−

e×y 2(k)]

[do(

k+

1)]=

[do(

k)]−

[η×−

e]

54

Page 83: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Capítulo 5

Implementación de los algoritmos

5.1. Introducción

Una vez que se desarrollaron los algoritmos de optimización para el ajuste de los pesos sinápticos delas estructuras NARX y Hammerstein-Wiener en 3 y 4, lo que sigue es poner a prueba los algoritmos.En otras palabras, el siguiente paso es identificar a tres sistemas no lineales para verificar si los modelosgenerados con dichas estructuras representan al sistema no lineal que se está identificando.

Para llevar a cabo el proceso de identificación nos basamos en los puntos del procedimiento que semencionan en la subsección 1.3.1, de los cuales el punto 1 y 2 se dan por hechos y hasta este momentose tiene concluido el punto 3. Por otro lado, este capítulo se divide en 5 secciones, en 5.2 se describenlos tres sistemas dinámicos que se identificaron; en 5.3 se presenta el criterio de selección del ordendel modelo y las formas de validación que se utilizaron en este trabajo; después se presentan los resul-tados y comparaciones de los modelos obtenidos con las estructuras NARX y Hammerstein-Wiener en5.4 y 5.5 respectivamente y por último en 5.6 se describen las ventajas y desventajas de ambas estructuras.

Típicamente la identificación sistemas o procesos consiste en dos tareas: la selección de la estructura,es decir la selección de los términos que conforman el orden de los polinomios (na,nb,nk,n f ) que sonincluidos en el modelo, y un estimador de parámetros donde normalmente se utiliza un regresor lineal[22].

55

Page 84: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

5.2. Sistemas dinámicos identificados

Ya que se comprendió y asimilo la teoría de identificación de sistemas no lineales en particular las es-tructuras NARX y Hammerstein-Wiener, lo siguiente fue programar los algoritmos de identificación paraque sean aplicados y verificar que los algoritmos desarrollados para ambas estructuras generen modelosasí como también ver que tanto estos modelos representan de manera adecuada al sistema que se ha iden-tificado.

Como se menciono en 1.7 los sistemas no lineales que se identificaron son:

Un ducto de ventilación

Dos tanques acoplados y un

Circuito no lineal electrónico

El ducto de ventilación es una guía de ondas, de un extremo está abierto (salida), mientras que el otroextremo se encuentra tapado por una corcho de material especial acústico que ayuda a no tener rebotesde las ondas. Por otro lado, la entrada del sistema son las perturbaciones (ruido) como se muestra en lafigura 5.1; este sistema fue tomado del artículo de Jean Claude Carmona y Víctor M. Alvarado [4] dondehacen control del ducto aplicando el método de control robusto; por cierto el conjunto es de 1024 datosde entrada-salida.

Figura 5.1: Ducto de ventilación

Cabe señalar que no se identifica a todo el sistema para intereses particulares, la parte en la que setrabaja es la que se encuentra encerrada con líneas punteadas que se muestra en la figura 5.1; el objetivoes obtener un modelo el cual sirva para trabajar con él y en la salida obtener el menor ruido posible.

Otro sistema que se identificó es un par de tanques, el cual funciona de la siguiente manera: el aguafluye a través de una tubería al tanque 1 y desemboca en el tanque 2, el nivel de agua del sistema esajustado a través de un pequeño orificio en el fondo del tanque 2; la entrada al sistema es la alimentaciónaplicada a la bomba que alimenta al tanque 1 (en volts) y la salida es la altura del agua en el tanque 2 (enmetros), como se muestra en la figura 5.2.

56

Page 85: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.2. SISTEMAS DINÁMICOS IDENTIFICADOS

Figura 5.2: Sistema de tanques

Este sistema fue tomado del manual de toolbox de identificación [13], con el objetivo de poner aprueba a las estructuras no lineales desarrolladas y el conjunto de datos utilizado de entrada-salida, es de3000 muestras.

Un tercer sistema que se modeló es un circuito no lineal electrónico que fue construido por Gerd Van-dersteen, él utiliza una estructura Wiener-Hammerstein como el de la figura 4.1c, donde el primer bloquelineal es un filtro Chebyshev de tercer orden, el segundo bloque lineal también es un filtro Chebyshevpero inverso de tercer orden y el bloque no lineal está construido usando un diodo. Una conexión com-pleta de esta estructura se muestra en la figura 5.3; por cierto, el conjunto de datos de entrada-salida delsistema es de 188000 datos muestreados y esto es tomado de artículo de Schoukens, Suykens y Ljung [23].

Figura 5.3: Sistema Wiener-Hammerstein

En años recientes la comunidad de control automático que se dedica a la identificación de sistemasno lineales, ha tomado como referencia el artículo de Schoukens, Suykens y Ljung [23] debido a que esuna herramienta que sirve para comparar los diferentes métodos de identificación. El objetivo de estosautores es obtener un mejor entendimiento sobre las capacidades de los diferentes métodos de identifi-cación. Ellos dividen en dos partes el conjunto de datos: la parte de estimación y la parte de prueba. Losdatos de estimación son usados para estimar y validar el modelo; mientras que, los de prueba son usadoscomo punto de referencia para observar la calidad de los modelos estimados.

57

Page 86: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

En este trabajo se utilizó el primer conjunto de datos para la estimación y el segundo conjunto parala validación. Además de obtener una descripción del método de identificación se obtienen cálculosestadísticos para poder realizar una comparación de resultados y los cálculos que se hacen son:

El valor medio del error de simulación.

γ =1N

N

∑t=1

e(t) (5.1)

La desviación estándar del error

St =

√∑

Nt=1(e(t)− γ)2

N(5.2)

La raíz cuadrada del error medio al cuadrado

erms =

√∑

Nt=1 e(t)2

N(5.3)

donde:N es el número de datose(t) es el error

e(t) = y(t)− y(t) (5.4)

De los cálculos que se muestran en las ecuaciones 5.1, 5.2 y 5.3, sólo se tomó la ecuación 5.3 ya quesirvió para elegir el orden del modelo a estimar.

5.3. Selección del orden del modelo

Para la obtención del orden del modelo de las estructuras (nk, nb y na para NARX mientras que paraHammerstein-Wiener nk, n f y nb) se llevaron a cabo los siguientes pasos:

1. Se propusieron valores grandes para na y nb por ejemplo 15, al mismo tiempo se hizo variar a nk yutilizando la fórmula 5.3 se calculo él error para cada combinación, finalmente se eligió el menorerror como se muestra en la tabla 5.1.

Tabla 5.1: Selección de nk

2. Se tomó el valor seleccionado de nk y ahora se varia na y nb, al igual como en la selección de nkse cálculo el error de las diferentes combinaciones como se muestra en la tabla 5.2, eligiendo elmenor error.

58

Page 87: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.3. SELECCIÓN DEL ORDEN DEL MODELO

Tabla 5.2: Selección de na y nb

Ahora ya que se obtuvo el orden del modelo lo que sigue es sustituirlo en las estructuras no linealesdesarrolladas anteriormente y hacer la identificación. Por cierto, para el ejemplo que se mostró anterior-mente en la selección del orden del modelo se utilizaron los datos del ducto de ventilación.

Por otro lado, para el orden del modelo utilizando el toolbox de identificación, se obtuvo de acuerdoal error final de predicción (FPE), este procedimiento es uno de los más utilizados en identificaciòn y sedescribe en las tesis de identificación realizadas en los años recientes en CENIDET [2], [8] y [25] .

Por último, ya que se obtuvo el modelo estimado es necesario demostrar si dicho modelo representala dinámica del sistema identificado para los fines deseados. A esto se le llama validación del modelo, hayformas de validar un modelo estimado y de esta manera tener una mejor confianza en él, la herramientade validación más utilizada es mediante la simulación haciendo un análisis de residuos, respuesta en fre-cuencia, respuesta temporal, entre otras, en este trabajo se usa la validación de la respuesta temporal y elanálisis en la frecuencia.

La validación en el dominio del tiempo consiste en observar la respuesta del modelo obtenido y delsistema real ante las entradas escalón e impulso, por comodidad lo más común es elegir un escalón y unimpulso unitario.

Validación en frecuencia. Este método consiste en obtener las gráficas de bode tanto en el sistemacomo del modelo estimado y comparar las señales esto a sistemas lineales, pero como los sistemas son nolineales no es posible obtener estas gráficas de modo que para hacer la validación en frecuencia se utilizóla transformada rápida de Fourier (FFT).

FFT (del inglés Fast Fourier Transform) es la abreviatura de un eficiente algoritmo que permite calcu-lar la transformada de Fourier discreta. Por ejemplo, una secuencia periódica puede ser representada porseries de Fourier; con la correcta interpretación la misma representación puede ser aplicada a secuenciasde duración finita, la representación de Fourier resultante para secuencias de duración finita es lo que sele conoce como la transformada discreta de Fourier (TDF).

59

Page 88: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

5.4. Sistemas Identificados con la estructura NARX

5.4.1. Ducto de ventilación

El sistema que se identificó corresponde a un ducto de ventilación (sistema SISO), dado por los datosmuestreados de entrada u y salida y que se muestran en las figuras 5.4a y 5.4b respectivamente, cabeaclarar que para este trabajo del procedimiento para hacer identificación no lineal que se describió en lasección 1.3.1 sólo se desarrollaron los puntos 3, 4 y 5 y se dan por hechos los puntos 1 y 2.

(a) Datos de entrada (b) Datos de salida

Figura 5.4: Datos entrada-salida de un ducto de ventilación

De acuerdo con la estructura NARX que se muestra en la sección 3.4, así como el desarrollo y entre-namiento de la misma, se procedió a programarla utilizando el algoritmo de optimización de Levenberg-Marquardt para dicho sistema. También, se identificó el mismo sistema con el toolbox de identificaciónde Matlab® ya que se hizo una comparación de los resultados obtenidos de algoritmo desarrollado contralos resultados que se obtuvieron con esta herramienta.

Los resultados obtenidos de la identificación se muestran en la tabla 5.3.

Tabla 5.3: Comparación de resultados del ducto de ventilación con NARX

Ahora, si en el modelo de la estructura NARX ecuaciones 3.4 y 3.5 sustituimos el orden del modeloobtenido de la simulación, el modelo generado queda representado por la ecuación 5.5. Por cierto, losvalores de los parámetros se muestran en el apéndice B.1.1.

y = (tanh((UN×Q)×bMat + cVec)×aVec)+((UN×P)×L+d) (5.5)

donde:UN ∈ R1×36, Q ∈ R36×36, bMat ∈ R36×5,aVec ∈ R5×1, cVec ∈ R1×5

P ∈ R36×36, L ∈ R36×1, d ∈ R

60

Page 89: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.4. SISTEMAS IDENTIFICADOS CON LA ESTRUCTURA NARX

En la figura 5.5a se presenta la salida del sistema real y la salida del modelo estimado con la estructuraNARX desarrollada, mientras que en la figura 5.5b se presenta la respuesta del sistema real y del modeloNARX utilizando el toolbox de identificación; de esta manera se puede observar la aproximación de lasalida estimada con la salida real del sistema para ambos casos.

0 200 400 600 800 1000−6

−4

−2

0

2

4

6Comparación de la salida real y salida estimada

Muestras

Am

plitu

d

salida realsalida estimada

(a) Comparación de salidas utilizando código propio

0 200 400 600 800 1000−6

−4

−2

0

2

4

6

Muestras

Am

plitu

d

Comparación de la salida real y la salida estimada

salida realsalida estimada

(b) Comparación de salidas utilizando toolbox

Figura 5.5: Comparación del sistema real con el estimado

5.4.1.1. Validación del modelo estimado

En la figura 5.6a se presenta una comparación de las respuestas ante la entrada escalón, tanto el sistemareal como del modelo estimado con la estructura NARX desarrollada. Por otro lado, en la figura 5.6b sepresenta la comparación de las respuestas ante la misma entrada escalón pero en este caso del sistemareal y del modelo estimado con el toolbox de identificación de Matlab®.

−5 0 5 10 15 20 25

x 10−3

−0.2

−0.15

−0.1

−0.05

0

0.05

0.1

0.15

Respuesta al escalón

Am

plitu

d

Tiempo

Salida del sistema realSalida estimada

(a) Respuesta del algoritmo propio

−5 0 5 10 15 20 25

x 10−3

−0.2

−0.15

−0.1

−0.05

0

0.05

0.1

0.15

Respuesta al escalón

Am

plitu

d

Tiempo

Salida sistema realSalida estimada

(b) Respuesta utilizando el toolbox

Figura 5.6: Respuesta al escalón

61

Page 90: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

−0.01 −0.005 0 0.005 0.01 0.015 0.02 0.025 0.03−300

−200

−100

0

100

200

300

400Respuesta al Impulso

Tiempo

Am

plitu

d

sistema realModelo estimado

(a) Respuesta con algoritmo propio

−0.01 −0.005 0 0.005 0.01 0.015 0.02 0.025 0.03−300

−200

−100

0

100

200

300Respuesta al Impulso

Tiempo

Am

plitu

d

Sistema realModelo estimado

(b) Respuesta utilizando el toolbox

Figura 5.7: Respuesta al impulso

Ahora, la figura 5.7a muestra la comparación del sistema real y el modelo estimado con la estructuraNARX desarrollada ante una entrada impulso donde se aprecia que las respuestas presentan un respuestasimilar. Por otro lado, en la figura 5.7b ante la misma entrada impulso se muestra la comparación entre elsistema real y el modelo estimado obtenido con el toolbox de identificación, donde se observa que ambasrespuestas presentan un comportamiento similar.

0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

0.3

0.4

0.5

0.6

Normalized frequency

Análisis en Frecuencia

Sistema realModelo estimado

(a) Respuesta en frecuencia con código propio

0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

0.3

0.4

0.5

0.6

Normalized frequency

Análisis en Frecuencia

Sistema realModelo estimado

(b) Respuesta en frecuencia con Toolbox

Figura 5.8: Respuesta en frecuencia

Por último, se realizó la validación de la respuesta en frecuencia aplicando la transformada discretade Fourier. En la figura 5.8a se presenta la respuesta en frecuencia del modelo estimado y el sistema realesto con el algoritmo desarrollado, mientras que en la figura 5.8b se muestra la respuesta del sistema realy el modelo estimado utilizando el toolbox de identificación.

62

Page 91: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.4. SISTEMAS IDENTIFICADOS CON LA ESTRUCTURA NARX

5.4.2. Dos tanques

Un segundo sistema o proceso que se identificó, son dos tanques los cuales ya se han descrito anterior-mente y estos se muestran en la figura 5.2. Los datos de entrada u y salida y se muestran en las gráficas5.9a y 5.9b respectivamente. A propósito, en este caso los datos se dividieron en dos conjuntos, de talforma que el primer conjunto quedó de 1000 datos y fueron utilizados para identificar el sistema y elsegundo conjunto quedó de 2000 datos que fueron utilizados para validar el sistema.

0 500 1000 1500 2000 2500 3000

1

2

3

4

5

6

7

8

9

10

Datos de entrada

Vol

taje

Muestras

(a) Datos de entrada

0 500 1000 1500 2000 2500 30000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Datos de salida

Altu

raMuestras

(b) Datos de salida

Figura 5.9: Datos para identificar el sistema de tanques

Primero se eligió la estructura, en este caso se seleccionó la estructura NARX que se propuso en 3.4,la cual está basada en redes neuronales artificiales; entonces se optimizan los pesos sinápticos medianteel algoritmo de Levenberg-Marquardt para encontrar los mejores pesos que ajustan la respuesta del mo-delo a los datos de entrada-salida; cabe mencionar que los valores iniciales de los pesos sinápticos sonasignados aleatoriamente en un intervalo de −1,6 a 1. Después de que se ajustan los pesos se calcula laraíz cuadrada del error medio, esto porque es utilizado para obtener el orden del sistema.

Ahora, se encontró el orden del sistema siguiendo los pasos mostrados en 5.3, y al identificar el sis-tema se obtuvieron los resultados mostrados en la tabla 5.4.

Tabla 5.4: Comparación de resultados de los tanques con NARX

Al igual que el ducto de ventilación para este sistema se obtiene un modelo, al sustituir los valoresobtenidos que se muestran en la tabla 5.4 en las ecuaciones 3.4 y 3.5 el modelo generado está dado por laecuación 5.6 y los valores de los parámetros se muestran en el apéndice B.1.2.

63

Page 92: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

y = (tanh((UN×Q)×bMat + cVec)×aVec)+((UN×P)×L+d) (5.6)

donde :

UN ∈ R1×4, Q ∈ R4×4, bMat ∈ R4×5,aVec ∈ R5×1, cVec ∈ R1×5, P ∈ R4×4, L ∈ R4×1, d ∈ R

La figura 5.10a presenta la comparación de la salida del modelo NARX estimado, utilizando la redneuronal desarrollada y la salida del sistema real; mientras que en la figura 5.10b se presenta la salida delsistema real y del modelo NARX estimado utilizando el toolbox de identificación, donde se observa lasimilitud de la salida estimada con la salida real del sistema en ambos casos.

0 500 1000 1500 20000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Comparación de la señal de salida y señal estimada

Muestras

Altu

ra

salida realsalida estimada

(a) Comparación de las salidas con algoritmo desarrollado

0 500 1000 1500 2000−0.1

0

0.1

0.2

0.3

0.4

0.5

0.6

Muestras

Altu

ra

Comparación salida real y salida estimada

salida realsalida estimada

(b) Comparación de salidas usando toolbox

Figura 5.10: Comparación de las respuestas

5.4.2.1. Validación del modelo estimado

En la figura 5.11a se presenta una comparación de las respuestas ante la entrada escalón, tanto del sis-tema real como del modelo estimado con el algoritmo desarrollado. Por otro lado, en la figura 5.11b sepresenta la comparación de las respuestas ante la misma entrada escalón pero en este caso del sistemareal y del modelo estimado utilizando el toolbox de identificación, esto se logró al utilizar la función stepde Matlab®. Se observa que ambas gráficas tienen un comportamiento similar.

64

Page 93: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.4. SISTEMAS IDENTIFICADOS CON LA ESTRUCTURA NARX

−2 0 2 4 6 8 10

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05Respuesta al escalón

Am

plitu

d

Tiempo

Sistema realModelo estimado

(a) Respuesta al escalón del algoritmo desarrollado

−2 0 2 4 6 8 10

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05Respuesta al escalón

Am

plitu

d

Tiempo

Sistema realModelo estimado

(b) Respuesta al escalón usando toolbox

Figura 5.11: Respuesta al escalón

Por último, para el sistema de tanques se realizó la validación de la respuesta en frecuencia, aplicandola transformada discreta de Fourier. En la figura 5.12a se presenta la respuesta en frecuencia del modeloestimado que se obtuvo con el algoritmo desarrollado y el sistema real; por otro lado, en la figura 5.12bse presenta la respuesta en frecuencia del sistema real y el modelo estimado utilizando el toolbox deidentificación.

Por cierto, las gráficas que se muestran en la figura 5.12 ambas tienen un acercamiento, la razón por lacual se hizo es para poder observar las dos señales ya que sin el acercamiento no es posible visualizarlascorréctamente.

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035 0.04

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

Normalized frequency

Análisis en la Frecuencia

Sistema realModelo estimado

(a) Respuesta en frecuencia con código desarrollado

0 0.005 0.01 0.015 0.02 0.025 0.03 0.035

0

0.02

0.04

0.06

0.08

0.1

0.12

0.14

0.16

0.18

0.2

Normalized frequency

Análisis en la Frecuencia

Sistema realModelo estimado

(b) Respuesta en frecuencia usando toolbox

Figura 5.12: Análisis en la frecuencia

65

Page 94: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

5.4.3. Circuito no lineal electrónico

Un último y tercer sistema que se identificó corresponde a un circuito no lineal electrónico que ya se hadescrito anteriormente y este se muestra en la figura 5.3, de acuerdo al sistema los datos de entrada uy salida y se presentan en la figura 5.13a y 5.13b respectivamente. Por otro lado, como se muestra en elartículo de Schoukens, Suykens y Ljung [23], los datos son divididos en dos partes: la parte de estimacióny la parte de prueba. Pero para este caso los primeros 100000 datos se utilizaron para hacer identificacióny los 88000 restantes fueron utilizados para validar el sistema.

0 2 4 6 8 10 12 14 16 18

x 104

−3

−2

−1

0

1

2

3Datos de entrada

Muestras

Am

plitu

d

(a) Datos de entrada

0 2 4 6 8 10 12 14 16 18

x 104

−1

−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8Datos de salida

Am

plitu

d

Muestras

(b) Datos de salida

Figura 5.13: Señales de entrada-salida

En primer lugar se eligió la estructura a utilizar seleccionando la estructura NARX que se propuso eneste trabajo y que se muestra en la sección 3.4, como se puede observar está basada en redes neuronalesartificiales; por lo que los pesos sinápticos se optimizaron mediante el algoritmo de Levenberg-Marquardtpara encontrar los mejores pesos que ajustan la respuesta del modelo a los datos muestreados del sistema.Después de que se obtienen los mejores pesos, se hace el cálculo de la raíz cuadrada del error mediodebido a que se utilizó para obtener el orden del sistema.

Por otro lado, para obtener el orden del modelo se siguieron los pasos que se muestran en 5.3, y alidentificar el sistema se obtuvieron los resultados que se muestran en la tabla 5.5.

Tabla 5.5: Comparación de resultados del circuito electrónico con NARX

El modelo generado es el de la ecuación 5.6, esto se obtiene al sustituir el orden del sistema encontradoque se muestra en la tabla 5.5; además de esto, los valores de los pesos sinápticos ajustados se muestranen el apéndice B.1.3.

66

Page 95: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.4. SISTEMAS IDENTIFICADOS CON LA ESTRUCTURA NARX

y = (tanh((UN×Q)×bMat + cVec)×aVec)+((UN×P)×L+d) (5.7)

donde :

UN ∈ R1×4, Q ∈ R10×10, bMat ∈ R10×5,aVec ∈ R5×1, cVec ∈ R1×5

P ∈ R10×10, L ∈ R10×1, d ∈ R

En la figura 5.14a se presenta la respuesta del modelo NARX estimado, utilizando la red neuronaldesarrollada y la respuesta del sistema real, mientras que en la figura 5.14b se presenta la respuesta delsistema real y del modelo NARX estimado utilizando el toolbox de identificación; de esta manera se ob-serva la similitud de la salida estimada con respecto a la salida real del sistema. Por cierto ambas figurastienen un acercamiento para observar mejor las señales y por eso es que las gráficas sólo se muestranhasta 1000 datos

0 200 400 600 800 1000

−0.6

−0.4

−0.2

0

0.2

0.4

Comparación de la salida real y salida estimada

Muestras

Am

plitu

d

salida realsalida estimada

(a) Comparación de las salidas con el algoritmo desarrollado

0 200 400 600 800 1000

−0.5

−0.4

−0.3

−0.2

−0.1

0

0.1

0.2

0.3

0.4

0.5

Muestras

Am

plitu

d

Comparación de la salida real y salida estimada

salida realsalida estimada

(b) Comparación de las salidas usando el toolbox

Figura 5.14: Comparación de las respuestas

5.4.3.1. Validación del modelo estimado

Como ya se ha mencionado, para hacer valido el modelo estimado se deben hacer pruebas al modelo paratener una mejor confianza en él, estas pruebas se muestran en seguida.

La figura 5.15a presenta una comparación de las respuestas, tanto el sistema real como en el modeloestimado con la estructura NARX desarrollada, ante una entrada escalón unitario. Por otro lado, en lafigura 5.15b se presenta la comparación de las respuestas ante la misma entrada pero en este caso delmodelo estimado con el toolbox de identificación y el sistema real; de acuerdo a la gráficas, se observaque ambas señales tienen un comportamiento similar.

67

Page 96: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

−0.01 −0.005 0 0.005 0.01 0.015 0.02 0.025 0.03 0.0350

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Respuesta al escalón

Am

plitu

d

Tiempo

Sistema realModelo estimado

(a) Respuesta al escalón del algoritmo desarrollado

−4 −2 0 2 4 6 8 10 12 14

x 10−4

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Respuesta al escalón

Am

plitu

d

Tiempo

Sistema realModelo estimado

(b) Respuesta al escalón usando toolbox

Figura 5.15: Respuesta al escalón

Finalmente, para el circuito electrónico se realizó la validación de la respuesta en frecuencia, apli-cando la transformada discreta de Fourier. En la figura 5.16a se presenta la respuesta en frecuencia delsistema real y del modelo estimado que se obtuvo con el algoritmo desarrollado, mientras que en la figura5.16b se presenta la respuesta del sistema real y el modelo estimado utilizando el toolbox de identifi-cación; donde se observa que son muy similares.

A propósito, como los datos son numerosos en las gráficas que se muestran en la figura 5.16 tienen unacercamiento, la razón por la cual se hizo este acercamiento es para poder observar mejor las dos señalesya que si no se hace esto no es posible visualizar correctamente las señales.

0 0.02 0.04 0.06 0.08 0.1

0

2

4

6

8

10

12

14x 10

−3

Normalized frequency

Análisis en Frecuencia

Sistema realModelo estimado

(a) Respuesta en frecuencia con código desarrollado

0 0.02 0.04 0.06 0.08 0.10

2

4

6

8

10

12

14x 10

−3

Normalized frequency

Análisis en la Frecuencia

ampl

itud

Sistema realModelo estimado

(b) Respuesta en frecuencia usando toolbox

Figura 5.16: Análisis en la frecuencia

68

Page 97: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.5. SISTEMAS IDENTIFICADOS CON LA ESTRUCTURA H-W

5.5. Sistemas Identificados con la estructura H-W

5.5.1. Dos tanques

El sistema que se identificó, son dos tanques los cuales ya se han descrito anteriormente y estos se mues-tran en la figura 5.2. Los datos de entrada u y salida y se muestran en las gráficas 5.17a y 5.17b respec-tivamente. A propósito, en este caso los datos se dividieron en dos conjuntos, de tal forma que el primerconjunto quedo de 1000 datos y fueron utilizados para identificar el sistema y el segundo conjunto quedode 2000 datos que fueron utilizados para validar el sistema.

0 500 1000 1500 2000 2500 3000

1

2

3

4

5

6

7

8

9

10

Datos de entrada

Vol

taje

Muestras

(a) Datos de entrada

0 500 1000 1500 2000 2500 30000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Datos de salida

Altu

ra

Muestras

(b) Datos de salida

Figura 5.17: Datos para identificar el sistema de tanques

Primero se eligió la estructura, en este caso se seleccionó la estructura Hammerstein-Wiener que sepropuso en 4.3, como se puede observar la estructura está basada en redes neuronales artificiales; porlo tanto, se eligió de los algoritmos de entrenamiento utilizar el algoritmo de Levenberg-Marquardt paraentrenar y encontrar los mejores pesos que ajustan la respuesta del modelo a los datos de entrada-salida;cabe mencionar que los valores iníciales de los pesos sinápticos son asignados aleatoriamente en un in-tervalo de −1,6 a 1 como se muestra en la tabla 5.6. Después de que se ajustan los pesos se calcula la raízcuadrada del error medio, esto porque es utilizado para obtener el orden del sistema.

Ahora, ya que se encontró el orden del sistema siguiendo los pasos mostrados en 5.3, se identificó elsistema obteniendo los resultados mostrados en la tabla 5.6.

Tabla 5.6: Comparación de resultados de los tanques con H-W

69

Page 98: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

Al sustituir los valores del orden del sistema de la tabla 5.6 en las ecuaciones 4.1, 4.2 y 4.3, el modeloresultante se muestra en la ecuación 5.8, mientras que los valores de los parámetros se presentan en elapéndice B.2.1.

y1(k) = tanh(u(k)×b+ cVec)×aVec+u(k)×Lin+dy2(k) = (UN×L)×R+dL

y(k) = tanh(y2(k)×Z + cVo)×aVo+ y2(k)×Ls+do(5.8)

donde :

cVec ∈ R1×5, aVec ∈ R5×1, d ∈ R, b ∈ R1×5, Lin ∈ RR ∈ R5×1, L ∈ R5×5, dL ∈ RcVo ∈ R1×5, aVo ∈ R5×1, do ∈ R, Z ∈ R1×5, Ls ∈ R

En la figura 5.18a se presenta la comparación de la salida del modelo H-W estimado utilizando elalgoritmo de Levenberg-Marquardt de la red neuronal desarrollada y la salida del sistema real. Por otrolado, en la figura 5.18b se presenta la comparación de la salida del sistema real y del modelo H-W esti-mado utilizando el toolbox de identificación, donde se puede observar que está estructura en ambos casosle cuesta tener una buena estimación del modelo, aunque no es un modelo malo ya que eso dependerá dela aplicación del mismo.

0 500 1000 1500 20000

0.1

0.2

0.3

0.4

0.5

0.6

0.7Comparación de la salida real y salida estimada

Muestras

Altu

ra

salida del sistema realsalida estimada

(a) Comparación de las salidas con algoritmo desarrollado

0 500 1000 1500 20000

0.1

0.2

0.3

0.4

0.5

0.6

0.7

Muestras

Am

plitu

d

Comparación del sistema real y el modelo estimado

salida realsalida estimada

(b) Comparación de salidas usando toolbox

Figura 5.18: Comparación de las respuestas

5.5.1.1. Validación del modelo estimado

En la figura 5.19a se presenta una comparación de las respuestas ante la entrada escalón, tanto del sis-tema real como del modelo estimado con el algoritmo desarrollado. Por otro lado, en la figura 5.19b semuestra la comparación de las respuestas ante la misma entrada escalón pero en este caso del sistema realy del modelo estimado utilizando el toolbox de identificación. En ambos casos se puede observar que lasrespuestas ante el escalón difieren un poco, también se observa que el toolbox de identificación tiene unamejor respuesta.

70

Page 99: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.5. SISTEMAS IDENTIFICADOS CON LA ESTRUCTURA H-W

−2 0 2 4 6 8 10

0

0.01

0.02

0.03

0.04

0.05

Respuesta al escalón

Am

plitu

d

Tiempo

Sistema realModelo estimado

(a) Respuesta al escalón del algoritmo desarrollado

−2 0 2 4 6 8 10

0

0.005

0.01

0.015

0.02

0.025

0.03

0.035

0.04

0.045

0.05

Respuesta al escalón

Am

plitu

d

Tiempo

Sistema realModelo estimado

(b) Respuesta al escalón usando toolbox

Figura 5.19: Respuesta al escalón

Por último, para el sistema de tanques se realizó la validación de la respuesta en frecuencia, aplicandola transformada discreta de Fourier, obteniendo los siguiente resultados: en la figura 5.20a se presenta larespuesta en frecuencia del sistema real y del modelo estimado que se obtuvo con el algoritmo desarro-llado; mientras que, en la figura 5.20b se muestra la respuesta en frecuencia del sistema real y el modeloestimado utilizando el toolbox de identificación.

Cabe mencionar que las gráficas que se muestran en la figura 5.20 ambas tienen un acercamiento, larazón por la cual se hizo es para poder observar las dos señales ya que sin el acercamiento no es posiblevisualizarlas correctamente.

0 0.01 0.02 0.03 0.04 0.050

0.05

0.1

0.15

0.2

Normalized frequency

Análisis en la frecuencia

Sistema realModelo estimado

(a) Respuesta en frecuencia con código desarrollado

0 0.01 0.02 0.03 0.04 0.050

0.05

0.1

0.15

0.2

Normalized frequency

Análisis en la Frecuencia

ampl

itud

Sistema realModelo estimado

(b) Respuesta en frecuencia usando toolbox

Figura 5.20: Análisis en la frecuencia

71

Page 100: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

5.5.2. Ducto de ventilación

Otro sistema que se identificó con la estructura Hammerstein-Wiener corresponde a un ducto deventilación el cual se ha descrito en 5.2 y está dado por los datos de entrada-salida que se muestran en lafiguras 5.21a y 5.21b. Ahora, para llevar a cabo la identificación de este sistema se siguió el procedimientoque se presentó en 1.3.1. Sin embargo, hago mención de que sólo se desarrollaron los puntos 3, 4 y 5 eneste trabajo y se dan por hechos los puntos 1 y 2.

(a) Datos de entrada (b) Datos de salida

Figura 5.21: Datos entrada-salida de un ducto de ventilación

Considerando lo mencionado anteriormente, se procede a la identificación del sistema utilizando laestructura H-W que se propuso en la sección 4.3, como se puede apreciar está basada en redes neuronalesartificiales por lo que se utilizó el algoritmo de optimización de Levenberg-Marquardt para el ajuste de lospesos. Por otro lado, el mismo sistema se identificó con el toolbox de identificación de Matlab®, debidoa que se hizo una comparación de resultados obtenidos con ambos algoritmos, estos se muestran en latabla 5.7.

Tabla 5.7: Comparación de resultados del ducto de ventilación con H-W

Tomando los valores del orden del modelo obtenido que se muestra en la tabla 5.7 y sustituirlos enlas ecuaciones 4.1, 4.2 y 4.3, el modelo estimado queda representado por la ecuación 5.9.

y1(k) = tanh(u(k)×b+ cVec)×aVec+u(k)×Lin+dy2(k) = (UN×L)×R+dL

y(k) = tanh(y2(k)×Z + cVo)×aVo+ y2(k)×Ls+do(5.9)

donde :

cVec ∈ R1×5, aVec ∈ R5×1, d ∈ R, b ∈ R1×5, Lin ∈ RR ∈ R29×1, L ∈ R29×29, dL ∈ RcVo ∈ R1×5, aVo ∈ R5×1, do ∈ R, Z ∈ R1×5, Ls ∈ R

72

Page 101: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.5. SISTEMAS IDENTIFICADOS CON LA ESTRUCTURA H-W

En la figura 5.22a se muestra la comparación entre la salida del sistema real y la salida del modeloestimado con el algoritmo desarrollado, mientras que en la figura 5.22b se muestra la comparación entrela salida del sistema real y la salida modelo estimado utilizando el toolbox de identificación, de estamanera se puede observar en ambos casos la diferencia de las señales.

0 200 400 600 800 1000−6

−4

−2

0

2

4

6Comparación de la salida real y salida estimada

Muestras

Am

plitu

d

salida del sistema realsalida estimada

(a) Comparación de salidas con algoritmo propio

0 200 400 600 800 1000−6

−4

−2

0

2

4

6

Muestras

Am

plitu

d

Comparación de salida real y salida estimada

salida realsalida estimada

(b) Comparación de salidas utilizando toolbox

Figura 5.22: Comparación del sistema real con el estimado

5.5.2.1. Validación del modelo estimado

En la figura 5.23a se muestra la comparación de las respuestas ante una entrada escalón, tanto para elsistema real como para el modelo estimado con el algoritmo desarrollado de la estructura H-W. Por otrolado, en la figura 5.23b se presenta la comparación de las respuestas ante la misma entrada escalón peroen este caso del sistema real y del modelo estimado con el toolbox de identificación.

−2 0 2 4 6 8 10

−0.2

−0.15

−0.1

−0.05

0

0.05

0.1

0.15

Respuesta al escalón

Am

plitu

d

Tiempo

Sistema realModelo estimado

(a) Respuesta del algoritmo propio

−5 0 5 10 15 20 25

x 10−3

−0.2

−0.15

−0.1

−0.05

0

0.05

0.1

0.15

0.2

Respuesta al Escalon

Am

plitu

d

Tiempo

Datos modelo realDatos modelo estimado

(b) Respuesta utilizando el toolbox

Figura 5.23: Respuesta al escalón

73

Page 102: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 5. IMPLEMENTACIÓN DE LOS ALGORITMOS

Ahora, en la figura 5.24a se muestra la comparación de la respuesta ante una entrada impulso delsistema real y del modelo estimado con el algoritmo desarrollado de la estructura H-W. Por otro lado, enla figura 5.24b se presenta la comparación de la respuesta ante la misma entrada pero en este caso delsistema real y del modelo estimado con el toolbox de identificación.

−4 −2 0 2 4 6 8 10 12−0.8

−0.6

−0.4

−0.2

0

0.2

0.4

0.6

0.8Respuesta al Impulso

Tiempo

Am

plitu

d

Sistema realModelo estimado

(a) Respuesta con algoritmo propio

−0.01 −0.005 0 0.005 0.01 0.015 0.02 0.025 0.03−300

−200

−100

0

100

200

300Respuesta al Impulso

Tiempo

Am

plitu

d

Modelo realModelo estimado

(b) Respuesta utilizando el toolbox

Figura 5.24: Respuesta al impulso

Finalmente, se realizó la validación de la respuesta en frecuencia aplicando la transformada discretade fourier de manera que, en la figura 5.25a se muestra la comparación de la respuesta en frecuenciaentre el sistema real y el modelo estimado que se obtuvo con el algoritmo desarrollado, mientras que enla figura 5.25b se presenta la comparación de la respuesta en frecuencia entre el sistema real y el modeloestimado con el toolbox de identificación.

0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

0.3

0.4

0.5

0.6

Normalized frequency

Análisis en la frecuencia

Sistema realModelo estimado

(a) Respuesta en frecuencia con código propio

0 0.1 0.2 0.3 0.4 0.50

0.1

0.2

0.3

0.4

0.5

0.6

Normalized frequency

Analisis en la Frecuencia

ampl

itud

Salida realSalida estimada

(b) Respuesta en frecuencia con Toolbox

Figura 5.25: Respuesta en frecuencia

74

Page 103: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

5.6. VENTAJAS Y DESVENTAJAS

Para resumir, comparando los resultados obtenidos con las dos estructuras desarrolladas se observóque con el algoritmo de la estructura NARX se obtuvieron mejores resultados al identificar los sistemas nolineales (tubo de ventilación y el sistema de dos tanques ), además de que es más sencilla de implementarque la H-W. Aunque en este caso la estructura H-W no identifica bien a estos sistemas eso no indica quees malo, lo que significa que para otra familia de sistemas si lo hará obteniendo buenos resultados.

5.6. Ventajas y Desventajas

A medida que se fue desarrollando este trabajo de tesis y principalmente durante el proceso de identificarlos sistemas tanto con el algoritmo desarrollado como con el toolbox de identificación se encontraronalgunas ventajas y desventajas las cuales se describen a continuación:

Ventajas

Con el algoritmo desarrollado se puede interactuar con el código fuente para hacer mejoras y asíobtener mejores resultados.

Con respecto a la estructura NARX, con la función sigmoidea se puede usar en la capa que se deseey no necesariamente en la capa oculta cosa que el toolbox tiene por defaul y no se puede cambiar.

Se puede cambiar la programación de la convergencia del coeficiente de aprendizaje.

Desventajas

La identificación con el algoritmo desarrollado es muy lenta comparada con el toolbox deidentificación de Matlab®.

Se requiere de una maquina potente en Hardware para disminuir el tiempo de simulación.

75

Page 104: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med
Page 105: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Capítulo 6

Conclusiones y trabajos futuros

En este capítulo se presentan las conclusiones de trabajo de tesis y se describen algunos trabajos quepudieran mejorar a los algoritmos desarrollados de las estructuras NARX y Hammerstein-Wiener.

En el desarrollo de este trabajo se estudiaron dos estructuras no lineales “NARX y Hammerstein-Wiener”. En primer lugar, fue importante el estudio de las redes neuronales artificiales, debido a que lasestructuras fueron representadas internamente por ellas; principalmente por una red neuronal multicapa,cabe hacer mención que ésta es una forma de representarlas. Esto permitió tomar como referencia lostrabajos de identificación realizados en el CENIDET utilizando redes neuronales y lógica difusa [25] y[8] respectivamente. Además, se aprovecharon para la asimilación y reproducción de los algoritmos deaprendizaje de las redes neuronales, también ayudaron a la obtención y desarrollo de los algoritmos deidentificación de sistemas no lineales de ambas estructuras mencionadas.

Una vez que se comprendió y asimiló la teoría reciente de identificación de las estructuras NARX yHammerstein-Wiener en [9], [13], [12] y [16] para sistemas dinámicos no lineales variantes en el tiempo,se obtuvo el desarrollo matemático de las estructuras para su implementación.

La implementación numérica de los algoritmos fue realizada utilizando herramientas como elproducto matricial y vectorial, cuidando que las dimensiones fueran las correctas y de esta manera teneruna programación eficiente. Dicha programación fue realizada en funciones en el ambiente de Matlab®así como también se realizó una interfaz gráfica de usuario (GUI por las siglas en inglés de Graphical UserInterface) de las dos estructuras, de manera que el usuario podrá elegir en qué ambiente desea trabajar.Por ahora, los algoritmos desarrollados en este documento sólo fueron desarrollados para sistemas de unaentrada una salida (SISO).

6.1. Conclusiones Generales

Con base al estudio realizado, este trabajo de tesis consiste en la identificación de sistemas dinámicosno lineales basándose solo de datos de entrada-salida muestreados del sistema real y de esta forma gene-rar un modelo matemático para los fines deseados.

Con los algoritmos desarrollados de las estructuras los sistemas que se identificaron fueron un tubo deventilación [4], un sistema de dos tanques [13] y un circuito electrónico [23], que son sistemas reales; porotro lado, mencionar que los conjuntos de datos entrada-salida de dichos sistemas fueron proporcionados.

77

Page 106: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 6. CONCLUSIONES Y TRABAJOS FUTUROS

En identificación de sistemas no lineales no hay una metodología que diga cómo obtener el modelodel sistema, de manera que en este trabajo el desarrollo y la implementación son una versión propia decomo se realizó la identificación no lineal.

En el capítulo 5 se presentaron los resultados obtenidos de los distintos sistemas identificados con losalgoritmos desarrollados en este trabajo; sin embargo no se describe el porqué de los resultados obtenidos,algunos puntos se describen a continuación:

Los modelos generados utilizando los algoritmos de las estructuras desarrolladas no son mejoresque los modelos generados utilizando el toolbox de identificación, esto se puede observar en laspruebas de validación realizadas a los modelos.

La metodología que se llevó a cabo para la identificación de sistemas no lineales si funciona, yaque presentó resultados buenos en la mayoría de las pruebas realizadas a los sistemas.

El tiempo de simulación de los algoritmos desarrollados es mayor comparado con el algoritmo deltoolbox de identificación de Matlab®, esto se muestra en la tabla 6.1.

Tabla 6.1: Tiempos de simulación de los algoritmos

También, se hizo la comparación de los algoritmos desarrollados, contra los algoritmos del toolboxcomercial de identificación de Matlab® para tener una referencia en relación a lo comercial, los resulta-dos de las comparaciones entre los modelos estimados utilizando el toolbox de identificación de Matlab®y los algoritmos desarrollados de cada estructura se mostraron en el capítulo 5, donde se obtiene que laestructura NARX tiene un ajuste promedio del 90% con respecto a los sistemas reales mientras que parala estructura Hammerstein-Wiener el ajuste promedio es de 80%.

Los resultados obtenidos con los algoritmos desarrollados para las estructuras NARX y Hammerstein-Wiener muestran buenos resultados, incluso se pueden aprovechar para que en un futuro se tengan mejorasy de esta manera obtener mejores modelos que representen al sistema.

Sin embargo, al hacer una comparación de las estructuras de los algoritmos desarrollados en las tablas5.3, 5.4, 5.5, 5.6 y 5.7 se puede observar que la estructura NARX presenta mejores resultados comparadocon la estructura Hammerstein-Wiener esto se refleja en las pruebas de validación realizadas a los siste-mas identificados.

Tomando todo lo antes mencionado se pueden hacer mejoras y llegar a obtener mejores resultados,una descripción de actividades se proponen en la siguiente sección.

78

Page 107: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

6.2. TRABAJOS FUTUROS

6.2. Trabajos futuros

Dentro del contexto de identificación de sistemas no lineales cabe mencionar que durante el desarrollo deeste trabajo de tesis se encontraron temas relacionados bastante interesantes que se pueden abordar y deesta manera enriquecer el acervo dentro de la comunidad de control automático tanto en CENIDET comoen otras instituciones. Tomando, como referencia este trabajo se proponen los siguientes temas:

Desarrollar o proponer un método sistemático para la asignación de los valores iniciales delos pesos sinápticos ya que existen diferentes formas de hacerlo pero no hay una metodologíasistemática.

Identificación de sistemas no lineales mediante las estructuras NARX y Hammerstein-Wienerutilizando otro estimador no lineal diferente a la sigmoidea, por ejemplo: Wavelet network, Treepartition, Custom Network, Saturation, Dead zone entre otros; con el fin de compararlos y poderdeterminar cual de todos estos es mejor para cada estructura.

Hacer la programación e implementación de las estructuras NARX y H-W a sistemas de múltiplesentradas y una sola salida (MISO), sistemas de una entrada y múltiples salidas (SIMO) y a sistemasde múltiples entradas y salidas (MIMO) bajo el enfoque de entrada-salida ya que en este trabajosolo se realizó para sistemas de una entrada una salida (SISO).

Entrenamiento por lotes de las estructuras NARX y H-W, debido a que en este trabajo el algoritmode optimización modifica por cada par de datos de entrada-salida y durante el desarrollo del trabajose encontró que también se puede llevar a cabo la optimización por lotes, que consiste en modificaruna vez procesados todos los datos de entrada-salida, esto para determinar con cual de los dos seobtienen mejores resultados.

Realizar identificación no lineal con la estructura NARX utilizando otras herramientas como:algoritmos Genéticos y series de volterra y obtener a la mejor herramienta para identificar sistemasno lineales.

79

Page 108: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

CAPÍTULO 6. CONCLUSIONES Y TRABAJOS FUTUROS

80

Page 109: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Bibliografía

[1] Emad Abd-Elrady and Li Gan. Identification of Hammerstein and Wiener Models Using SpectralMagnitude Matching. IFAC, (1992):6440–6445, 2008.

[2] López Montero Eduardo Benedicto. Identificación de sistemas en lazo cerrado con estructura tipoCLOE. Tesis de maestría, CENIDET, 2007.

[3] Bonifacio Martin Del Brio and Sanz Molina Alfredo. Redes Neuronales y Sistemas Borrosos.Alfaomega, México, tercera edition, 2007.

[4] Jean Claude Carmona and Victor M. Alvarado. Active Noise Control of a Duct Using RobustControl Theory. IEEE Transactions on Control systems technology, 8(6):930–938, August 2000.

[5] Leandro dos Santos Coelho and Marcelo Wicthoff Pessôa. Nonlinear model identification of anexperimental ball-and-tube system using a genetic programming approach. Mechanical Systemsand Signal Processing, 23(5):1428–1446, July 2009.

[6] Feng Ding and Tongwen Chen. Identification of Hammerstein nonlinear ARMAX systems.Elservier, 41, 2005.

[7] W. Yu E. Sanchez, A. Poznyac. Dynamic Multilayer Neural Network for Nonlinear SystemIdentification. pages 3–7.

[8] Avendaño Castellanos Oscar Fabián. Identificación de sistemas utilizando lógica difusa. Tesis demaestría, CENIDET, 2008.

[9] Andrzej Janczak. Identification of Nonlinear Systems Using Neural Networks and PolynomialModels, volume 6. Springer, Germany, January 2004.

[10] Olivera Jovanovic. Identification of Dynamic System Using Neural Network. The scientific journal,1(4):525 – 532.

[11] Anatoli Juditsky, Hakan Hjalmarsson, Albert Benveniste, Bernard Delyon, Lennart Ljung, JonasSjoberg, and Qinghua Zhang. Nonlinear black-box models in system identification: Mathematicalfoundations. Automatica, 31(12):1725–1750, December 1995.

[12] Lennart Ljung. Identification of Nonlinear Systems. Technical report, universitet Linköpings,Sweden, 2007.

[13] Lennart Ljung. System Identification Toolbox, 2010.

[14] Lennat Ljung. System Identification. Prentice hall, Unites States of America, 2da edition, 1999.

[15] T.Hagan Martin and B. Menhaj Mohammad. Training Feeddforward Networks with the MarquardtAlgorithm. IEEE Transactions on neural networks, 5(6):5, October 1994.

81

Page 110: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

BIBLIOGRAFÍA

[16] Morgan and Nelson. Artificial Neural Networks. Los alamitos, 1990.

[17] Oliver Nelles. Nonlinear System Identification. Springer, Berlin, 2001.

[18] Tokunbo Ogunfunmi. Adaptive Nonlinear System Identification. 2007.

[19] Danilo P. Mandic and Jonathom A. Chambers. Recurrent Neural Networks for Prediction, volume 4.John Wiley & Sons Ltd, England, 2001.

[20] Kannan Parthasarathy. Identification and Control of Dynamical Systems Using Neural Networks.IEEE, I(I):24, 1990.

[21] Luigi Piroddi, Marcello Farina, and Marco Lovera. Polynomial NARX Model Identification: aWiener-Hammerstein Benchmark. 15th IFAC Symposium on System Identification, (1):1074–1079,2009.

[22] Tiziano Pulecchi and Luigi Piroddi. A cluster selection approach to polynomial NARXidentification. New York, pages 852–857, 2007.

[23] Johan Schoukens, Johan Suykens, and Lennart Ljung. Wiener-Hammerstein Benchmark. Technicalreport, Linköpings universitet, Suecia, 2009.

[24] Jonas Sjöberg, Qinghua Zhang, Lennart Ljung, Albert Benveniste, Bernard Delyon, Pierre-YvesGlorennec, Hakan Hjalmarsson, and Anatoli Juditsky. Nonlinear Black-box Modeling in SystemIdentification: Unified Overview. Science, 31(12):1691–1724, 1995.

[25] Hector Manuel Romero Ugalde. Identificación de sistemas utilizando redes neuronales. Tesis demaestría, CENIDET, 2008.

[26] Jozef Vörös. An Iterative Method for Hammertein-Wiener Systems Parameter Identification.Journal of Electrical Engineering, 55(11):328–331, 2004.

82

Page 111: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Apéndice A

Álgebra de matrices y vectores

En este apéndice se muestran algunas derivadas de vectores y matrices [17].

A.1. Definiciones

Una matriz A es un arreglo rectangular mientras los elementos ai, j estan organizados en filas y columnas.Si hay m filas y n columnas, podemos decir que tenemos una matriz de m×n.

A =

a1,1 a1,2 · · · a1,na2,1 a2,2 · · · a2,n

......

. . ....

am,1 am,2 · · · am,n

= (ai, j) (A.1)

Cuando m = n, se dice que la matriz es cuadrada.

Una matriz identidad es aquella que en la diagonal principal tiene valor de 1 ademas de que tanto pordebajo y por encima de la diagonal son cero.

I =

1 0 · · · 00 1 · · · 0...

.... . .

...0 0 · · · 1

(A.2)

Una matriz triangular es un tipo especial de matriz cuadrada, donde las entradas ya sea por debajo opor encima de la diagonal principal son cero.

A =

l1,1 0 · · · 0l2,1 l2,2 · · · 0

......

. . ....

ln,1 ln,2 · · · ln,n

= (ai, j) (A.3)

83

Page 112: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE A. ÁLGEBRA DE MATRICES Y VECTORES

A.2. Derivadas de Vectores y Matrices

La derivada de un vector columna de dimensión-m, x =[

x1 x2 · · · xm]T con respecto a un escalar

θ se define como:

∂x∂θ

=

∂x1

∂θ∂x2

∂θ...

∂xm

∂θ

(A.4)

La derivada de una matriz X de dimensión-nxm con respecto a un escalar θ se define como:

∂X∂θ

=

∂X11/∂θ ∂X12/∂θ · · · ∂X1m/∂θ

∂X21/∂θ ∂X22/∂θ · · · ∂X2m/∂θ

......

. . ....

∂Xn1/∂θ ∂Xn2/∂θ · · · ∂Xnm/∂θ

(A.5)

Cuando la derivada de un escalar w con respecto a un vector columna de dimensión-n,θ =

[θ1 θ2 · · · θn

]T se define como:

∂w∂θ

=

∂w∂θ1∂w∂θ2

...∂w∂θn

(A.6)

La derivada de un vector fila xT de dimensión-m con respecto a un vector columna θ de dimensión-nse define mediante el producto mostrado en la ecuación A.8.

∂xT

∂θ=

∂θ· xT =

∂x1/∂θ1 ∂x2/∂θ1 · · · ∂xm/∂θ1

∂x1/∂θ2 ∂x2/∂θ2 · · · ∂xm/∂θ2

......

. . ....

∂x1/∂θn ∂x2/∂θn · · · ∂xm/∂θn

(A.7)

La regla de la cadena se puede extender al caso vectorial mediante la definición de la deriva del vectorde un producto escalar, como se muestra en la ecuación A.8.

∂θ

(xT y)=

∂xT

∂θ· y+

∂yT

∂θ· x (A.8)

Cuando xT es un vector fila de dimensión-m, y es un vector columna de dimensión-m y θ es un vectorcolumna de dimensión-n.

84

Page 113: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

A.3. GRADIENTE, MATRIZ JACOBIANA, MATRIZ HESSIANA

Un caso especial e interesante de A.8 ocurre, si un vector no depende de θ y el otro es equivalente aθ (esto, por supuesto requiere que m = n).

∂θ

(zT

θ)= z (A.9)

y

∂θ

T z)= z (A.10)

Donde los vectores fila y columna zT y z no dependen de θ . Las expresiones correspondientes son siel vector z se remplaza por una matriz Z.

∂θ

(ZT

θ)= Z (A.11)

∂θ

T Z)= Z (A.12)

La derivada de la forma cuadrática θT Zθ es importante donde Z es una matriz cuadrada de nxn:

∂θ

T Z︸︷︷︸xT

θ︸︷︷︸y

)=

∂θ

T Z)·θ +

∂θ

T ) · (θ T Z)T

= Zθ + IZT θ =(Z +ZT

(A.13)

En un primer paso, A.8 se aplica como se indica. En un segundo paso, ∂θT/∂θ es igual a la matriz

identidad de acuerdo a A.7. El último término en A.13 puede simplificarse aún más a 2Zθ si Z essimétrica.

A.3. Gradiente, Matriz Jacobiana, Matriz Hessiana

El gradiente g es la primera derivada de una función escalar con respecto a un vector. El gradiente de una

función f (θ) depende del vector de parámetros de dimensión-n θ =[

θ1 θ2 · · · θn]T con respecto

a estos parámetros es definida como el vector de dimensión-n.

g =∂ f (θ)

∂θ=

g1g2...

gn

=

∂ f (θ)/∂θ1

∂ f (θ)/∂θ2

...∂ f (θ)/∂θn

(A.14)

La matriz hessiana H es la segunda derivada de una función escalar con respecto a un vector.La matriz hessiana de la función f (θ) depende de la dimensión-n del vector de parámetros θ =[

θ1 θ2 · · · θn]T con respecto a estos parámetros es definida como la siguiente matriz de

dimensiones nxn:

H =∂ 2 f (θ)

∂θ2 =

H11 H12 · · · H1n

H21 H22 · · · H2n...

.... . .

...Hn1 Hn2 · · · Hnn

85

Page 114: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE A. ÁLGEBRA DE MATRICES Y VECTORES

=

∂ 2 f (θ)/∂θ 2

1∂ 2 f (θ)/∂θ1∂θ2 · · · ∂ 2 f (θ)/∂θ1∂θn

∂ 2 f (θ)/∂θ2∂θ1 ∂ 2 f (θ)/∂θ 22 · · · ∂ 2 f (θ)/∂θ2∂θn

......

. . ....

∂ 2 f (θ)/∂θn∂θ1 ∂ 2 f (θ)/∂θn∂θ2 · · · ∂ 2 f (θ)/∂θ 2n

(A.15)

Para una función lineal la matriz Hessiana es cero y para una función cuadrática la matriz hessianaes constante. La matriz hessiana es simétrica. Es definida positiva en un mínimo de la función y definidanegativa en un máximo de la función.

La matriz Jacobiana es la primera deriva de una función vectorial con respecto a un vector. La matrizjacobiana de la función vectorial de dimensión-N, f (θ) =

[f1(θ) f2(θ) · · · fN(θ)

]T depende del

vector de parámetros de dimensión-n, θ =[

θ1 θ2 · · · θn]T con respecto a estos parámetros, es

definida como la matriz de dimensión N xn, que se muestra en la ecuación A.16.

J =∂ f (θ)

∂θ=

(∂ f1(θ)/∂θ)T

(∂ f2(θ)/∂θ)T

...(∂ fN(θ)/∂θ)T

=

J11 J12 · · · J1n

J21 J22 · · · J2n...

.... . .

...JN1 JN2 · · · JNn

=

∂ f1(θ)/∂θ1 ∂ f1(θ)/∂θ2 · · · ∂ f1(θ)/∂θn

∂ f2(θ)/∂θ1 ∂ f2(θ)/∂θ2 · · · ∂ f2(θ)/∂θn

......

. . ....

∂ fN(θ)/∂θ1 ∂ fN(θ)/∂θ2 · · · ∂ fN(θ)/∂θn

(A.16)

Entonces como se observa la matriz Jacobiana contiene los gradientes transpuestos de cada entradade e con respecto a θ , es decir, J =

[g

1g

2· · · g

N

]T, donde g

ies el gradiente de ei.

86

Page 115: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Apéndice B

Modelos obtenidos

B.1. Modelos obtenidos con la estructura NARX

B.1.1. Valores de los parámetros del ducto de ventilación

De acuerdo a las ecuaciones 3.4 y 3.5, el modelo del ducto esta dado por la expresión B.1.

y = (tanh((UN×Q)×bMat + cVec)×aVec)+((UN×P)×L+d) (B.1)

Donde:

UN =[

y(k−1) y(k−2) y(k−3) y(k−4) y(k−5) y(k−6)y(k−7) y(k−8) y(k−9) y(k−10) y(k−11) y(k−12)

y(k−13) y(k−14) y(k−15) y(k−16) y(k−17) y(k−18)y(k−19) u(k−7) u(k−8) u(k−9) u(k−10) u(k−11)

u(k−12) u(k−13) u(k−14) u(k−15) u(k−16) u(k−17)u(k−18) u(k−19) u(k−20) u(k−21) u(k−22) u(k−23)

](B.2)

Y los valores de los parámetros de la ecuación B.1son:

aVec =[

0,2230 0,2230 0,2230 0,2230 0,2230]T (B.3)

cVec =[−1,7839 −1,7839 −1,7839 −1,7839 −1,7839

](B.4)

L =[

0,0768 0,0768 0,0768 0,0768 0,0768 0,07680,0768 0,0768 0,0768 0,0768 0,0768 0,07680,0768 0,0768 0,0768 0,0768 0,0768 0,07680,0768 0,0768 0,0768 0,0768 0,0768 0,07680,0768 0,0768 0,0768 0,0768 0,0768 0,0768

0,0768 0,0768 0,0768 0,0768 0,0768 0,0768]T

(B.5)

d = 1,0630 (B.6)

87

Page 116: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE B. MODELOS OBTENIDOS

Q =

−0,0012 −0,0012 −0,0012 −0,0012 −0,0012 , · · · , −0,00120,07970 0,07970 0,07970 0,07970 0,07970 , · · · , 0,079700,0133 0,0133 0,0133 0,0133 0,0133 , · · · , 0,0133−0,0518 −0,0518 −0,0518 −0,0518 −0,0518 , · · · , −0,05180,0840 0,0840 0,0840 0,0840 0,0840 , · · · , 0,0840−0,0404 −0,0404 −0,0404 −0,0404 −0,0404 , · · · , −0,04040,0439 0,0439 0,0439 0,0439 0,0439 , · · · , 0,04390,0134 0,0134 0,0134 0,0134 0,0134 , · · · , 0,0134−0,0256 −0,0256 −0,0256 −0,0256 −0,0256 , · · · , −0,0256−0,0024 −0,0024 −0,0024 −0,0024 −0,0024 , · · · , −0,00240,0287 0,0287 0,0287 0,0287 0,0287 , · · · , 0,0287−0,0285 −0,0285 −0,0285 −0,0285 −0,0285 , · · · , −0,02850,0507 0,0507 0,0507 0,0507 0,0507 , · · · , 0,05070,0164 0,0164 0,0164 0,0164 0,0164 , · · · , 0,01640,0487 0,0487 0,0487 0,0487 0,0487 , · · · , 0,04870,0592 0,0592 0,0592 0,0592 0,0592 , · · · , 0,05920,0232 0,0232 0,0232 0,0232 0,0232 , · · · , 0,0232−0,0200 −0,0200 −0,0200 −0,0200 −0,0200 , · · · , −0,02000,0225 0,0225 0,0225 0,0225 0,0225 , · · · , 0,0225−0,0026 −0,0026 −0,0026 −0,0026 −0,0026 , · · · , −0,0026−0,0253 −0,0253 −0,0253 −0,0253 −0,0253 , · · · , −0,02530,0176 0,0176 0,0176 0,0176 0,0176 , · · · , 0,01760,0206 0,0206 0,0206 0,0206 0,0206 , · · · , 0,02060,0089 0,0089 0,0089 0,0089 0,0089 , · · · , 0,00890,0308 0,0308 0,0308 0,0308 0,0308 , · · · , 0,03080,0067 0,0067 0,0067 0,0067 0,0067 , · · · , 0,00670,0055 0,0055 0,0055 0,0055 0,0055 , · · · , 0,00550,0075 0,0075 0,0075 0,0075 0,0075 , · · · , 0,0075−0,0073 −0,0073 −0,0073 −0,0073 −0,0073 , · · · , −0,00730,0299 0,0299 0,0299 0,0299 0,0299 , · · · , 0,02990,0006 0,0006 0,0006 0,0006 0,0006 , · · · , 0,0006−0,0083 −0,0083 −0,0083 −0,0083 −0,0083 , · · · , −0,00830,0130 0,0130 0,0130 0,0130 0,0130 , · · · , 0,01300,0190 0,0190 0,0190 0,0190 0,0190 , · · · , 0,01900,0016 0,0016 0,0016 0,0016 0,0016 , · · · , 0,00160,0050 0,0050 0,0050 0,0050 0,0050 , · · · , 0,0050

(B.7)

88

Page 117: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

B.1. MODELOS OBTENIDOS CON LA ESTRUCTURA NARX

P =

−0,1730 −0,1730 −0,1730 −0,1730 −0,1730 , · · · , −0,17300,1178 0,1178 0,1178 0,1178 0,1178 , · · · , 0,1178−0,1580 −0,1580 −0,1580 −0,1580 −0,1580 , · · · , −0,1580−0,2208 −0,2208 −0,2208 −0,2208 −0,2208 , · · · , −0,2208−0,0121 −0,0121 −0,0121 −0,0121 −0,0121 , · · · , −0,0121−0,0003 −0,0003 −0,0003 −0,0003 −0,0003 , · · · , −0,0003−0,0923 −0,0923 −0,0923 −0,0923 −0,0923 , · · · , −0,0923−0,0691 −0,0691 −0,0691 −0,0691 −0,0691 , · · · , −0,06910,0268 0,0268 0,0268 0,0268 0,0268 , · · · , 0,0268−0,0256 −0,0256 −0,0256 −0,0256 −0,0256 , · · · , −0,0256−0,0472 −0,0472 −0,0472 −0,0472 −0,0472 , · · · , −0,0472−0,0070 −0,0070 −0,0070 −0,0070 −0,0070 , · · · , −0,0070−0,0227 −0,0227 −0,0227 −0,0227 −0,0227 , · · · , −0,0227−0,0575 −0,0575 −0,0575 −0,0575 −0,0575 , · · · , −0,0575−0,0056 −0,0056 −0,0056 −0,0056 −0,0056 , · · · , −0,00560,0409 0,0409 0,0409 0,0409 0,0409 , · · · , 0,0409−0,0232 −0,0232 −0,0232 −0,0232 −0,0232 , · · · , −0,02320,0058 0,0058 0,0058 0,0058 0,0058 , · · · , 0,00580,0427 0,0427 0,0427 0,0427 0,0427 , · · · , 0,0427−0,0380 −0,0380 −0,0380 −0,0380 −0,0380 , · · · , −0,0380−0,0599 −0,0599 −0,0599 −0,0599 −0,0599 , · · · , −0,05990,0292 0,0292 0,0292 0,0292 0,0292 , · · · , 0,02920,0358 0,0358 0,0358 0,0358 0,0358 , · · · , 0,03580,0083 0,0083 0,0083 0,0083 0,0083 , · · · , 0,00830,0257 0,0257 0,0257 0,0257 0,0257 , · · · , 0,02570,0094 0,0094 0,0094 0,0094 0,0094 , · · · , 0,00940,0226 0,0226 0,0226 0,0226 0,0226 , · · · , 0,02260,0131 0,0131 0,0131 0,0131 0,0131 , · · · , 0,01310,0020 0,0020 0,0020 0,0020 0,0020 , · · · , 0,0020−0,0013 −0,0013 −0,0013 −0,0013 −0,0013 , · · · , −0,0013−0,0215 −0,0215 −0,0215 −0,0215 −0,0215 , · · · , −0,02150,0010 0,0010 0,0010 0,0010 0,0010 , · · · , 0,0010−0,0256 −0,0256 −0,0256 −0,0256 −0,0256 , · · · , −0,0256−0,0246 −0,0246 −0,0246 −0,0246 −0,0246 , · · · , −0,0246−0,0155 −0,0155 −0,0155 −0,0155 −0,0155 , · · · , −0,01550,0063 0,0063 0,0063 0,0063 0,0063 , · · · , 0,0063

(B.8)

89

Page 118: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE B. MODELOS OBTENIDOS

bMat =

0,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,07070,0707 0,0707 0,0707 0,0707 0,0707

(B.9)

90

Page 119: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

B.1. MODELOS OBTENIDOS CON LA ESTRUCTURA NARX

B.1.2. Valores de los parámetros del sistema de tanques

De acuerdo a las ecuaciones 3.4 y 3.5, el modelo del sistema de tanques esta dado por la expresión B.10.

y = (tanh((UN×Q)×bMat + cVec)×aVec)+((UN×P)×L+d) (B.10)

Donde:

UN =[

y(k−1) y(k−2) u(k−3) u(k−4)]

(B.11)

Y los valores de los parámetros de la ecuación B.10son:

aVec =[

0,1220 0,1220 0,1220 0,1220 0,1220]T (B.12)

cVec =[

0,3695 0,3695 0,3695 0,3695 0,3695]

(B.13)

L =[

0,5869 0,5869 0,5869 0,5869 0,5869]T (B.14)

d = 0,0721 (B.15)

Q =

0,0252 0,0252 0,0252 0,02520,0252 0,0252 0,0252 0,02520,0387 0,0387 0,0387 0,03870,0386 0,0386 0,0386 0,0386

(B.16)

P =

0,2046 0,2046 0,2046 0,20460,2047 0,2047 0,2047 0,20470,0021 0,0021 0,0021 0,00210,0028 0,0028 0,0028 0,0028

(B.17)

bMat =

−0,0513 −0,0513 −0,0513 −0,0513−0,0513 −0,0513 −0,0513 −0,0513−0,0513 −0,0513 −0,0513 −0,0513−0,0513 −0,0513 −0,0513 −0,0513

(B.18)

91

Page 120: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE B. MODELOS OBTENIDOS

B.1.3. Valores de los parámetros del circuito electrónico

De acuerdo a las ecuaciones 3.4 y 3.5, el modelo resultante del circuito electrónico esta dado por la ex-presión B.19.

y = (tanh((UN×Q)×bMat + cVec)×aVec)+((UN×P)×L+d) (B.19)

Donde:

UN =[

y(k−1) y(k−2) u(k−3) u(k−4) u(k−5) u(k−6)u(k−7) u(k−8) u(k−9) u(k−10)

] (B.20)

Y los valores de los parámetros de la ecuación B.19son:

aVec =[−0,0220 −0,0220 −0,0220 −0,0220 −0,0220

]T (B.21)

cVec =[−0,4495 −0,4495 −0,4495 −0,4495 −0,4495

](B.22)

L =[

0,5637 0,5637 0,5637 0,5637 0,56370,5637 0,5637 0,5637 0,5637 0,5637

]T (B.23)

d =−0,0851 (B.24)

Q =

0,0286 0,0286 0,0286 0,0286 0,0286 , · · · , 0,02860,0309 0,0309 0,0309 0,0309 0,0309 , · · · , 0,03090,0309 0,0309 0,0309 0,0309 0,0309 , · · · , 0,03090,0313 0,0313 0,0313 0,0313 0,0313 , · · · , 0,03130,0315 0,0315 0,0315 0,0315 0,0315 , · · · , 0,03150,0319 0,0319 0,0319 0,0319 0,0319 , · · · , 0,03190,0321 0,0321 0,0321 0,0321 0,0321 , · · · , 0,03210,0320 0,0320 0,0320 0,0320 0,0320 , · · · , 0,03200,0319 0,0319 0,0319 0,0319 0,0319 , · · · , 0,03190,0315 0,0315 0,0315 0,0315 0,0315 , · · · , 0,0315

(B.25)

P =

0,3220 0,3220 0,3220 0,3220 0,3220 , · · · , 0,3220−0,1490 −0,1490 −0,1490 −0,1490 −0,1490 , · · · , −0,14900,0028 0,0028 0,0028 0,0028 0,0028 , · · · , 0,0028−0,0068 −0,0068 −0,0068 −0,0068 −0,0068 , · · · , −0,00680,0117 0,0117 0,0117 0,0117 0,0117 , · · · , 0,0117−0,0054 −0,0054 −0,0054 −0,0054 −0,0054 , · · · , −0,0054−0,0060 −0,0060 −0,0060 −0,0060 −0,0060 , · · · , −0,00600,0166 0,0166 0,0166 0,0166 0,0166 , · · · , 0,0166−0,0126 −0,0126 −0,0126 −0,0126 −0,0126 , · · · , −0,01260,0057 0,0057 0,0057 0,0057 0,0057 , · · · , 0,0057

(B.26)

92

Page 121: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

B.2. MODELOS OBTENIDOS CON LA ESTRUCTURA HAMMERSTEIN-WIENER

bMat =

0,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,05150,0515 0,0515 0,0515 0,0515 0,0515

(B.27)

B.2. Modelos obtenidos con la estructura Hammerstein-Wiener

B.2.1. Valores del sistema de tanques

El modelos que se obtuvo es el que se muestra en la ecuación B.28

y1(k) = tanh(u(k)×b+ cVec)×aVec+u(k)×Lin+dy2(k) = (UN×L)×R+dL

y(k) = tanh(y2(k)×Z + cVo)×aVo+ y2(k)×Ls+do(B.28)

Una vez que se obtuvo el modelo del sistema de tanques con la estructura H-W los valores de losparámetros finales del modelo son los siguientes:

UN =[

y2(k−1) y2(k−2) y1(k−2) y1(k−3) y1(k−4)]

(B.29)

cVec =[−0,0282 −0,0708 −0,0440 −0,0563 −0,0668

](B.30)

b =[−0,1269 −0,0608 −0,1559 −0,0108 −0,0766

](B.31)

aVec =[

0,0983 0,0548 0,1602 0,0715 0,1156]′ (B.32)

d = 0,1811 (B.33)

Lin = 0,0478 (B.34)

cVo =[

0,0605 0,0605 0,0571 0,0552 −0,0547]

(B.35)

Z =[

0,0473 0,0446 0,1340 0,1981 0,2377]

(B.36)

aVo =[−0,2144 −0,2222 −0,2231 −0,2134 −0,2114

]T (B.37)

do = 0,7752 (B.38)

93

Page 122: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE B. MODELOS OBTENIDOS

Ls = 0,3020 (B.39)

dL =−0,6307 (B.40)

R =[

0,0142 −0,6757 −0,6992 −0,4009 −0,3898]T (B.41)

L =

−0,1234 −0,1796 −0,0452 −0,1639 −0,0143−0,3717 −0,3891 −0,3359 −0,2385 −0,3331−0,2477 −0,4584 −0,0690 −0,3440 −0,1405−0,1512 −0,4034 −0,3578 −0,1039 −0,1418−0,0552 −0,1111 −0,4338 −0,2263 −0,3280

(B.42)

94

Page 123: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Apéndice C

Funciones de Matlab® utilizadas y Manualde usuario de las funciones

C.1. Funciones de Matlab® utilizadas

Datos = iddata(Y,U,Ts)

Crea un objeto de Datos con salida y, entrada u y un intervalo de muestreo T s.

narx([na nb nk])

Estima el modelo del sistema mediante la estructura NARX.

nlhw([nb n f nk])

Estima el modelo del sistema usando la Hammesrtein-Wiener

impulse(Datos)

Grafica la respuesta del objeto de datos ante una entrada impulso.

step(Datos)

Grafica la respuesta del objeto de datos ante una entrada escalón.

fft(x)

Calcula la transformada discreta de Fourier (DFT) del vector x. Para matrices, la transformada deFourier discreta se aplica a cada vector columna.

mean(x)

Calcula el valor medio de los elementos en x.

eye(N)

Crea una matriz identidad de N×N.

95

Page 124: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE C. FUNCIONES DE MATLAB® UTILIZADAS Y MANUAL DE USUARIO DE LASFUNCIONES

C.2. Manual de usuario de funciones desarrolladas

Como se mencionó anteriormente la programación de las estructuras se realizaron en funciones en formade librerías, para realizar identificación de sistemas no lineales. las estructuras estructuras son:

NARX

Hammerstein-Wiener

C.2.1. Modelo neuronal de la estructura NARX

En primer lugar, tomando en cuenta la estructura neuronal NARX que se mostró en la figura 3.2, se tienela ecuación resultante C.1.

y = (tanh((UN×Q)×bMat + cVec)×aVec)+((UN×P)×L+d) (C.1)

Tomando la ecuación C.1, las funciones que se programaron utilizando el algoritmo de optimizaciónde Levenberg-Marquardt son las siguientes:

obten_nk: Función que se utiliza para obtener el valor de nk.

obten_na_nb: Función que se utiliza para obtener el valor de na y nb.

matrices: Función que genera los regresores para el cálculo del orden del modelo.

matrices_ident: Función que genera los regresores para la identificación del sistema.

matrices_validación: Funcion que genera los regresores para la validación del sistema.

valores_iniciales: Función que asigna los valores iniciales de los parámetros.

modelo: Función que calcula el modelo neuronal de la estructura NARX.

derivadas: Calcula las derivadas parciales de la salida de la estructura con respecto a cada parámetro.

entrenamiento: Calcula y ajusta los valores de los parámetros mediante el algoritmo de Levenberg-Marquardt.

A continuación se muestra la sintaxis de cada una de las funciones respectivamente:

[nk, ermse_nk]=obten_nk(final, u, y)

[na, nb, ermse] =obten_na_nb(fin, inicio, nk, u, y)

[A1, A2, r]=matrices(u, y, na, nb, nk)

[A1, A2, r]=matrices_ident(ent, sal, na, nb, nk)

[Ao ,Ai, r]=matrices_validacion(valu, valy, na, nb, nk)

96

Page 125: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

C.2. MANUAL DE USUARIO DE FUNCIONES DESARROLLADAS

[Q, bMat, cVec, aVec, P, L, d, nn]=valores_iniciales(na, nb, y)

[YNL2, YNL1, YNL, YL1, YL]=modelo(UN, Q, bMat, cVec, aVec, P, L, d)

[dEde, dedYhat, dYhatdYNL, dYNLdcVec, dYNLdQ, dYNLdbMat, dYNLdaVec, dYhatdYL, dYLdP,dYLdL, dYLdd]=derivadas(e, i, aVec, YNL1, na, nb, UN, nn, bMat, YNL2, L, YL1)

[Q, bMat, cVec, aVec, P, L, d]=entrenamiento(na, nb, Q, dYNLdQ, dEde, dedYhat, dYhatdYNL, etak, i,dYNLdbMat, nn, bMat, dYNLdcVec, cVec, dYNLdaVec, aVec, dYLdP, P, dYhatdYL, dYLdL, L, d, YLdd, d)

C.2.2. Modelo neuronal de la estructura Hammerstein-Wiener

Con respecto a la estructura Hammerstein-Wiener de la figura 4.3, el modelo que se obtiene es la ecuaciónC.2.

y1(k) = tanh(u(k)×b+ cVec)×aVec+u(k)×Lin+dy2(k) = (UN×L)×R+dL

y(k) = tanh(y2(k)×Z + cVo)×aVo+ y2(k)×Ls+do(C.2)

Por otro lado las funciones que se programaron son las siguientes:

obten_nk: Función que se utiliza para obtener el valor de nk.

obten_nb_nf: Función que se utiliza para obtener los valores de nb y n f respectivamente.

valores_iniciales:Función que asigna los valores iniciales de los parámetros.

modelo_bloque_entrada: Función que se utiliza para el cálculo del modelo del bloque de entrada.

modelo_bloque_salida: Función que se utiliza para para el cálculo del modelo del bloque de salida.

derivadas: Calcula las derivadas parciales de la salida de la estructura con respecto a cada parámetro.

entrenamiento: Calcula y ajusta los valores de los parámetros mediante el algoritmo de Levenberg-Marquardt.

Por otro lado, la sintaxis de las funciones se muestra enseguida:

[nk, ermse_nk]=obten_nk(final, u, y)

[na, nb, ermse] =obten_nb_nf(fin, inicio, nk, u, y)

[b, cVec, aVec, d, Lin, ni, L, R, dL, Z, cVo, aVo, do, Ls, no]=valores_iniciales(nb, nf)

[YN2, YN1, Yin]=modelo_bloque_entrada(b, cVec, aVec, Lin, d, valu, i)

[Yn, Yo, YLO]=modelo_bloque_salida(Z, cVo, aVo, Ls, do, i, y2hat)

97

Page 126: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE C. FUNCIONES DE MATLAB® UTILIZADAS Y MANUAL DE USUARIO DE LASFUNCIONES

[dEde, dedYhat, dYhatdYo, dYhatdYLO, dYodaVo, dYLOddo, dYLOdLs, dYodcVo, dYodz, dYLOddL,dYoddL, dYodR, dYLOdR, dYodL, dYLOdL, dYodd, dYLOdd, dYodLin, dYLOdLin, dYodaVec, dYLO-daVec, dYodcVec, dYLOdcVec, dYodb, dYLOdb]=derivadas(e1, i, Yn, y2hat, aVo, Ls, YL, R, UN, nf, nb,valu, YN2, aVec, no, Z, L)

[b, cVec, aVec, Lin, d, L, R, dL, Z, cVo, aVo, Ls, do]=entrenamiento(dEde, dedYhat, dYhatdYo,dYhatdYLO, dYodaVo, dYLOddo, dYLOdLs, dYodcVo, dYodz, dYLOddL, dYoddL, dYodR, dYLOdR,dYodL, dYLOdL, dYodd, dYLOdd, dYodLin, dYLOdLin, dYodaVec, dYLOdaVec, dYodcVec, dYLOdcVec,dYodb, dYLOdb, nf,nb, etak, i, no, ni, b, cVec, aVec, Lin, d, L, R, dL, Z, cVo, aVo, Ls, do)

98

Page 127: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

Apéndice D

Interfaz gráfica

El diseño, elaboración y programación de una interfaz gráfica fue una tarea extra, que permitirá al usuariorealizar identificación de sistemas no lineales de forma gráfica y sencilla, mediante las estructuras NARXy Hammerstein-Wiener.

Para trabajar con la interfaz se debe llevar a cabo lo siguiente:Primero se ejecuta el programa de nombre INICIO o de lo contrario escribir en el área de trabajo de

Matlab® dicha palabra. Con esta operación se abre la ventana que se muestra en la figura D.1. Una vezabierta la ventana se observan tres botones, de los cuales, uno es para seleccionar la estructura NARX,otro es para seleccionar la estructura Hammerstein-Wiener y el último es la opción salir que cierra lainterfaz.

Figura D.1: Ventana principal de la interfaz

El siguiente paso es dar clic en la estructura con la que se desea identificar el sistema que se debeseleccionar previamente.

99

Page 128: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE D. INTERFAZ GRÁFICA

D.1. Estructura NARX

Al seleccionar la estructura NARX se abre una ventana como la que se muestra en la figura D.2 y sesiguen los siguientes pasos para hacer la identificación:

Figura D.2: Ventana de estructura NARX

1. Dar clic en cargar datos, en seguida se abre una ventana figura D.3 donde se debe asignar la direc-ción donde se encuentra guardado el archivo de los datos, se debe tomar en cuenta que el archivodebe contener un vector de entradas u y un vector de salidas y, normalmente dichos archivos tienenla extensión dat. Para este caso se toman los datos del sistema de tanques.

Figura D.3: Cargar datos

100

Page 129: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

D.1. ESTRUCTURA NARX

2. Ahora, ya cargados los datos se deben hacer dos conjuntos de datos: una parte es para haceridentificación y la otra es para hacer la validación. Esto se hace en la ventana de comandos,por ejemplo: para el sistema de tanques los datos son 3000 y se dividen de la siguiente manera:sal=y(1:1000) ent=u(1:1000) son los datos para identificar; mientras que valy=y(1001:3000)valu=u(1001:3000) son utilizados para validar el sistema (opcional).

3. El siguiente paso procede a la identificación dando clic en ejecutar estructura, la estructura ter-mina de ejecutarse hasta que aparece el mensaje ”Programa ejecutado con éxito”, como se observaen la figura D.4

Figura D.4: Ventana de mensaje

a) Una vez ejecutada la estructura se pueden obtener las gráficas como la comparación de lasalida real con la salida estimada en el botón Comparación y la validación con la Respuestaescalón, la Respuesta impulso, y la Respuesta en frecuencia.

b) Mientras que al dar clic en el botón valores nos muestra la ventana de la figura D.5, en estaventana se encuentran los botones de los parámetros ya optimizados, al seleccionar cualquierade ellos se mostrará el valor de dicho parámetro en el área de trabajo de Matlab®.

4. Por último, si por alguna razón se seleccionó la estructura no deseada no hay problema, en cadaventana se encuentra un botón que indica inicio de modo que al seleccionarlo nos regresa a laprincipal y de ahí otra vez se puede partir sin necesidad de reiniciar el rograma .

Figura D.5: Ventana de parámetros

101

Page 130: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

APÉNDICE D. INTERFAZ GRÁFICA

D.2. Estructura Hammerstein-Wiener

Al seleccionar la estructura Hammerstein-Wiener se abrirá una ventana como la que se muestra en lafigura D.6 y para llevar a cabo la identificación se siguen los siguientes pasos:

Figura D.6: Ventana principal de la estructura H-W

1. Dar clic en cargar datos, en seguida se abre una ventana y ahí se debe asignar la dirección dondese encuentra guardado el archivo de los datos, se debe tomar en cuenta que el archivo debe contenerun vector de entradas u y un vector de salidas y, normalmente dichos archivos tienen la extensióndat.

2. Ahora, ya cargados los datos se deben hacer dos conjuntos de datos: una parte es para haceridentificación y la otra es para hacer la validación. Esto se hace en la ventana de comandos,por ejemplo: para el sistema de tanques los datos son 3000 y se dividen de la siguiente manera:sal=y(1:1000) ent=u(1:1000) son los datos para identificar; mientras que valy=y(1001:3000)valu=u(1001:3000) son utilizados para validar el sistema (opcional).

3. En ese momento se procede a la identificación dando clic en ejecutar estructura, la estructura ter-mina de ejecutarse hasta que aparece el mensaje ”Programa ejecutado con éxito”, como se muestraen la figura D.7.

Figura D.7: Ventana de mensaje

102

Page 131: Centro Nacional de Investigación y Desarrollo Tecnológico Departamento de Ingeniería Electrónica TESIS DE MAESTRÍA EN CIENCIAS “Identificación de sistemas no lineales med

D.2. ESTRUCTURA HAMMERSTEIN-WIENER

a) Una vez ejecutada la estructura se pueden obtener las gráficas como la comparación de lasalida real con la salida estimada en el botón Comparación y la validación con la Respuestaescalón, la Respuesta impulso, y la Respuesta en frecuencia, los botones para obtener estasgráficas se muestran en la figura D.8.

Figura D.8: Botones de gráficas

b) Mientras que al dar clic en el botón valores nos muestra la ventana de la figura D.9, en estaventana se encuentran los botones de los parámetros ya optimizados, al seleccionar cualquierade ellos se mostrará el valor de dicho parámetro en el área de trabajo de Matlab®.

4. Por último, si por alguna razón se seleccionó la estructura no deseada no hay problema, en cadaventana se encuentra un botón que indica inicio de modo que al seleccionarlo regresa a la ventanaprincipal.

Figura D.9: Ventana de parámetros de la estructura H-W

Finalmente, mencionar que el algoritmo de optimización que se utilizó en estas estructuras es el deLevenberg-Marquardt. Por otro lado, en el área de trabajo se podrán mostrar todos lo valores como losordenes del sistema, el ajuste (FITF), el error (ermse),numero de épocas, el coeficiente de aprendizaje,entre otros.

103