Departamento de Automática y Sistemas
Computacionales
Identificación no lineal de un sistema con zona
muerta severa
Diunisley Fernández Gutiérrez
Dr. C. Francisco Herrera Fernández
M. Sc. Ailyn Gutiérrez Ferrera
, Junio 2018
Universidad Central “Marta Abreu” de Las Villas
Facultad de Ingeniería Eléctrica
Departamento de Automática y Sistemas Computacionales
TRABAJO DE DIPLOMA
Identificación no lineal de un sistema con zona
muerta severa
Autor: Diunisley Fernández Gutiérrez
Tutor: Dr. C. Francisco Herrera Fernández
M. Sc. Ailyn Gutiérrez Ferrera
Santa Clara
2018
"Año 60 de la Revolución"
Este documento es Propiedad Patrimonial de la Universidad Central “Marta Abreu” de Las
Villas, y se encuentra depositado en los fondos de la Biblioteca Universitaria “Chiqui
Gómez Lubian” subordinada a la Dirección de Información Científico Técnica de la
mencionada casa de altos estudios.
Se autoriza su utilización bajo la licencia siguiente:
Atribución- No Comercial- Compartir Igual
Para cualquier información contacte con:
Dirección de Información Científico Técnica. Universidad Central “Marta Abreu” de Las
Villas. Carretera a Camajuaní. Km 5½. Santa Clara. Villa Clara. Cuba. CP. 54 830
Teléfonos.: +53 01 42281503-1419
PENSAMIENTO
“Todos estamos en las alcantarillas, pero algunos miramos a las estrellas”.
Oscar Wilde
i
DEDICATORIA
A mi familia por su perseverancia.
ii
AGRADECIMIENTOS
Agradecer:
A todas aquellas personas que hallan contribuido de alguna forma en la culminación de esta
tarea tan prolongada, en especial a mi familia y a mi tutor Francisco Herrera.
iii
TAREA TÉCNICA
1. Revisar las manifestaciones de efecto no lineal existentes en sistemas bajo condiciones
severas de operación así como las principales estructuras de modelo empleadas en su
identificación.
2. Seleccionar los métodos de acondicionamiento más convenientes a emplear en el manejo
de datos en el tiempo con determinadas características y su posterior identificación,
atendiendo a los requerimientos de las estructuras de modelo disponibles.
3. Seleccionar según las capacidades y posibilidades de los distintos modelos estudiados,
las estructuras de modelo más adecuadas para identificar sistemas con presencia de no
linealidades severas tipo zona muerta.
4. Diseñar una herramienta que permita simular el efecto zona muerta severa así como el
procedimiento de identificación a desarrollar para su modelado.
iv
RESUMEN
El presente trabajo aborda la utilización de una alternativa para el tratamiento de algunos de
los problemas reales que se presentan en la estimación de parámetros durante la
identificación del modelo de determinados sistemas, debido a la presencia de no
linealidades severas así como a la disponibilidad de datos experimentales en el dominio del
tiempo muestreados en intervalos irregulares y de frecuencia y períodos variables. Los
principales resultados teóricos y prácticos existentes desarrollan la identificación de
determinados sistemas considerando no linealidades individuales y fundamentalmente
empleando modelos NARX y Hammerstein. Motivado por esto se desarrolla un algoritmo
que implementa un procedimiento de identificación aplicado a sistemas presentando un
efecto de no linealidad severo, tal como zona muerta combinada con otros tipos de no
linealidades, que sintetiza algunos de los resultados existentes en los métodos de
identificación no lineal e incorpora estas características especiales de efecto no lineal
severo y la presencia de datos experimentales irregularmente obtenidos en el tiempo.
v
TABLA DE CONTENIDOS
PENSAMIENTO......................................................................................................................i
DEDICATORIA......................................................................................................................ii
AGRADECIMIENTOS.........................................................................................................iii
TAREA TÉCNICA.................................................................................................................iv
RESUMEN..............................................................................................................................v
INTRODUCCIÓN..................................................................................................................1
Organización del informe...................................................................................................8
CAPÍTULO 1.IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA
SEVERA.................................................................................................................................9
1.1 Sistemas no lineales, tipos de no linealidades, características, clasificación.........10
1.2 Caracterización de la no linealidad Zona Muerta..................................................10
1.3 Modelos de sistemas dinámicos.............................................................................12
1.4 Algoritmo de identificación no lineal de sistemas.................................................13
1.5 Requerimientos básicos de los datos para la identificación no lineal en la
herramienta de identificación de sistemas de MATLAB..............................................15
1.6 Tratamiento de los datos destinados a la identificación de sistemas mediante la
herramienta de MATLAB.............................................................................................16
1.7 Estructuras de modelos no lineales para la identificación de sistemas disponibles
en el System Identification Toolbox..............................................................................16
1.8 Consideraciones finales del capítulo......................................................................19
vi
CAPÍTULO 2.DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA
MUERTA SEVERA..............................................................................................................20
2.1 Presentación del software empleado.......................................................................20
2.2 Descripción de los esquemas de adquisición de datos............................................20
2.2.1 Adquisición de los datos mediante simulación....................................................21
2.2.1.1 Obtención de la entrada a utilizar en la simulación..........................................21
2.2.1.2 Representación de los sistemas no lineales.......................................................22
2.2.1.3 Registro de los datos de entrada y de salida......................................................22
2.2.2 Adquisición de los datos mediante procesos físicos............................................23
2.3 Tratamiento inicial de los datos...............................................................................23
2.4 Selección de los modelos........................................................................................24
2.5 Análisis y validación del desempeño de los modelos.............................................25
2.6 Selección del tipo de entrada y estrategia para la estimación de datos no medidos
.......................................................................................................................................25
2.7 Determinación de los experimentos a realizar........................................................29
2.8 Consideraciones finales del capítulo.......................................................................29
CAPÍTULO 3.RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE
IDENTIFICACIÓN...............................................................................................................30
3.1 Resultados fundamentales a considerar......................................................................30
3.2 Datos sin diezmado.....................................................................................................30
3.2.1 Zona muerta 25%.....................................................................................................31
3.2.2 Zona muerta 50%.....................................................................................................35
3.2.3 Zona muerta 75%.....................................................................................................39
3.3 Datos con diezmado....................................................................................................43
3.3.1 Diezmado zona muerta de 25%................................................................................43
3.3.2 Diezmado zona muerta de 25% en proceso de estructura desconocida...................54
vii
3.4 Valoración económica.................................................................................................56
3.5 Consideraciones finales del capítulo...........................................................................57
CONCLUSIONES Y RECOMENDACIONES....................................................................58
Conclusiones....................................................................................................................58
Recomendaciones.............................................................................................................58
REFERENCIAS BIBLIOGRÁFICAS..................................................................................59
ANEXOS...............................................................................................................................61
Anexo I Algoritmo de identificación................................................................................61
viii
INTRODUCCIÓN
INTRODUCCIÓN
Habitualmente en diversas ramas de las ciencias se hace necesario realizar estudios sobre el
comportamiento de un sistema bajo condiciones específicas, para lo cual en muchas
ocasiones es más conveniente el empleo de modelos que representen a dichos sistemas. Los
modelos pueden ser de muy diversos tipos (paramétricos, no paramétricos) y una de las vías
para obtenerlos es conocida como la “Identificación de Sistemas”, en este caso los datos
son recopilados de la propia operación normal del sistema o por procedimientos
experimentales expresamente realizados con este objetivo. Dichos datos en su forma más
simple corresponden a datos de entradas y salidas del propio sistema.
Son variadas las causas que normalmente atentan contra una correcta aplicación de las
técnicas de identificación. Entre ellas las incertidumbres, dinámicas impredecibles y otros
fenómenos desconocidos que no pueden ser modelados por vía directa.
Un problema real existe en la estimación de parámetros en la identificación del modelo de
un sistema de datos en el tiempo con las siguientes características:
• Datos muestreados en intervalos irregulares de tiempo (un período de muestreo
variable).• Ciclos de datos en el tiempo de frecuencia y períodos variables.• Presencia de no linealidades en el sistema bajo estudio.
Estas características dificultan la tarea de extracción de conocimientos de un proceso o
sistema, o sea la identificación de las propiedades estáticas y dinámicas.
En relación a la presencia de no linealidades:
Una de las características más importantes de los sistemas no lineales es la dependencia en
el comportamiento de la respuesta del sistema con la magnitud y tipo de entrada. De lo
anterior se deduce que las no linealidades dificultan la tarea de extracción de información
de un sistema, o sea la identificación de sus propiedades estáticas y dinámicas a partir de
1
INTRODUCCIÓN
los datos experimentales obtenidos. Existen dificultades reales en la identificación del
modelo de un proceso no lineal, especialmente en presencia de no linealidades severas. En
los últimos años se han producido algunos resultados teóricos y prácticos sobre la
identificación de determinados sistemas con zona muerta o histéresis fundamentalmente
empleando modelos NARX y Hammerstein. Estos y otros resultados obtenidos hasta el
momento no resuelven en su totalidad el problema de identificación para cualquier sistema
que presente los tipos de no linealidades mencionadas, de ahí la necesidad de continuar
valorando la aplicación de otras técnicas para contribuir a la solución.
En la FIE (Facultad de Ingeniería Eléctrica) se ejecuta un proyecto institucional “Desarrollo
de Métodos y Algoritmos para la determinación de dinámicas de comportamiento a partir
de datos aperiódicos y no repetitivos”, inscrito en el Programa Nacional de Ciencias
Básicas, en el cual se trabaja en la identificación no lineal de determinados sistemas con
presencia del efecto de no linealidades tales como histéresis, saturación, zona muerta y
otros, que están sometidos normalmente a condiciones severas de operación.
Por otra parte se impone la aplicación de modernos métodos de identificación a partir de
datos experimentales irregularmente obtenidos en el tiempo. Contar con una maqueta
virtual que anide varios de estos procedimientos de identificación será un aspecto
determinante para el desarrollo de futuros trabajos de investigación.
Es muy amplia la presencia de efectos no lineales en el comportamiento de procesos
industriales. Gran parte de los sistemas mecánicos usados en la industria son también
sistemas rotacionales multi-masas donde las no linealidades como la fuerza de Coulomb y
la zona muerta influyen significativamente sobre la operación del sistema cuando la
rotación cambia la dirección (Kara and Eker, 2004).
Es una situación muy común encontrar sistemas donde la parte dinámica puede expresarse
en términos lineales pero existen a su vez no linealidades estáticas a la entrada y/o la salida.
Este es el caso cuando estamos en presencia de actuadores no lineales o si los sensores
tienen características no lineales (Ljung, 1999).
Las investigaciones dirigidas a la obtención de modelos que representen de manera
adecuada el comportamiento de sistemas mecánicos con influencia marcada de dinámicas
no lineales, son muy diversas y trascienden por su gran aplicabilidad:
2
INTRODUCCIÓN
En los estudios realizados sobre sistemas que presentan motores DC, la identificación no
lineal junto con la compensación de no linealidades como la fricción de Coulomb, la
histéresis y la zona muerta han demostrado su utilidad cuando el sistema rota en ambas
direcciones, ya que si la operación incluye el paso por la velocidad cero, la zona muerta y la
fricción de Coulomb tienen un efecto pronunciado haciendo que el modelo lineal pierda
exactitud y fiabilidad, en algunos trabajos como primera aproximación se utiliza el modelo
de tiempo discreto ARX para la descripción del sistema por un modelo lineal y para la
descripción no lineal del sistema se emplea el modelo Hammerstein, finalmente para la
evaluación del desempeño de ambos modelos se utiliza el método de minimización del
error cuadrático (MSE), en este caso los resultados muestran que el modelo no lineal no
solo tiene una mejor actuación durante la estimación para la operación a bajas velocidades
donde las no linealidades tienen mayor efecto, sino que mejora las propiedades de
convergencia disminuyendo el error en la identificación (Kara and Eker, 2004).
De manera similar se han realizado trabajos que presentan esquemas de estimación
paramétrica en línea de sistemas con presencia de no linealidades a la entrada y a la salida,
en una de estas aplicaciones se hace énfasis en la zona muerta y la histéresis de manera
individual y combinada, mediante la realización de múltiples estimaciones a través del
método recursivo de minimización cuadrática (RLS), en este caso las señales de entrada y
de salida determinan el esquema de estimación RLS a emplear en cada período de muestreo
y la comparación entre los resultados de la estimación determina los parámetros de la zona
muerta y la histéresis. Se realiza además la simulación de un sistema de estimación
adaptativo utilizando el Simulink de MATLAB para verificar la convergencia, de manera
adicional los resultados se comprobaron experimentalmente para diversas situaciones, un
carro accionado por motor DC, un sistema de válvula piloto electro-hidráulica y un carro
con libertad de movilidad acoplado a un segundo carro accionado mediante motor DC
(Lentz, 2008).
Otras investigaciones enfocadas en el estudio de sistemas con zona muerta emplean un
método de identificación basado en máquinas de trabajo vectorial donde la característica
dinámica no lineal del sistema es expresada usando el modelo Hammerstein, y el modelo
no lineal de la zona muerta se obtiene mediante la máquina de trabajo vectorial utilizando
el método de minimización cuadrática, además se introduce una función modificada con el
fin de mejorar la exactitud del modelo de zona muerta basado en las entradas y la condición
3
INTRODUCCIÓN
de convergencia que se analiza de manera teórica. Finalmente la simulación de la estrategia
diseñada se realizó en un servo-sistema de posicionamiento hidráulico y se pudo constatar
que el método propuesto mejora la exactitud del modelo obtenido por el proceso de
identificación (Du and Wang, 2009).
Otras publicaciones se enfocan en el estudio de sistemas tipo sándwich (compuestos por
una no linealidad tipo zona muerta ubicada entre dos subsistemas lineales) utilizando
identificación recursiva; con el fin de incluir el efecto de la zona muerta se introducen
varias funciones conmutativas en el modelo del sistema basado en el principio de
separación, de esta forma el sistema tipo sándwich puede ser transformado de manera que
se obtenga un modelo especial donde todos los parámetros se estiman de manera separada
con el fin de posibilitar la aplicación de un algoritmo general de identificación recursiva
modificado (MRGIA) para la obtención de estos parámetros. Finalmente se realiza un
análisis del algoritmo de convergencia y se presenta un ejemplo de simulación, donde se
ilustran los resultados a través de una etapa de posicionamiento sobre X-Y (Tan et al.,
2009).
En la bibliografía científica consultada resulta de gran interés el tratamiento de no
linealidades complejas como la zona muerta asimétrica, uno de los estudios sobre el tema
expone el empleo de métodos de identificación basados en una forma especial del modelo
Hammerstein, partiendo del carácter lineal por secciones de la no linealidad, y utilizando un
mecanismo de estimación iterativo que se basa en la adquisición y procesamiento de
mediciones de las entradas y salidas así como en variables internas estimadas. Los
resultados del modelado fueron buenos obteniéndose un número mínimo de parámetros que
además aparecen de forma explícita en la descripción del modelo permitiendo ser estimados
simultáneamente, además los ejemplos donde se aplicó el esquema propuesto demostraron
factibilidad y buena convergencia (Voros, 2004). Adicionalmente es válido mencionar un
trabajo que propone un método de identificación de una sola etapa basado en el modelo
Hammerstein, debido a la presencia de no linealidades tipo zona muerta asimétrica (típica
de servo-motores DC, válvulas de control y sistemas de transmisión mecánicos) a la entrada
de un sistema. En este contexto se utiliza una red neuronal lineal por secciones continuas
modificada, cuyas funciones de activación se especifican como las funciones lineales de
máximo-mínimo para describir la zona muerta, y se deriva un modelo parametrizado
integrado para representar el sistema total. Los parámetros de la zona muerta al igual que
4
INTRODUCCIÓN
los del subsistema lineal son calculados de acuerdo al esquema propuesto y la principal
diferencia entre el método presentado y los métodos recursivos más comúnmente
empleados radica en la posibilidad de trabajar las partes lineal y no lineal de manera
integrada por lo que no se necesita iterar para obtener los parámetros y no se necesita un
conocimiento previo de la zona muerta, siendo un método compatible con sistemas del tipo
Hammerstein. Se presentan experimentos numéricos para demostrar su efectividad en la
identificación de sistemas Hammerstein (Lv et al., 2010).
Otra investigación relevante desarrolla un algoritmo de identificación para sistemas del tipo
Wiener con presencia de zona muerta y datos muestreados de manera no uniforme.
Primeramente se reforma un modelo uniforme de sistema Wiener con la ayuda de una
técnica de elevación y una función de conmutación, luego un algoritmo recursivo iterativo
basado en minimización cuadrática con un factor de reemplazo (olvido) variable es
presentado usando el modelo auxiliar y el método iterativo. El algoritmo propuesto permite
estimar los parámetros del modelo directamente mediante el empleo de manera conjunta de
los métodos del modelo auxiliar y las iteraciones, el factor de reemplazo variable permite
mejorar le velocidad de convergencia. Los resultados de la simulación demostraron la
efectividad del algoritmo propuesto (Liu et al., 2015).
En el ámbito nacional aparecen pocas investigaciones relacionadas con la presencia
individual o combinada de distintos tipos de no linealidades, en (Esquivel, 2015) se aborda
la identificación no lineal de sistemas, principalmente el desarrollo y la implementación de
las estructuras no lineales ARX (NARX) y Hammerstein-Wiener, para obtener modelos
matemáticos mediante la identificación. En este caso se utilizan datos de entrada-salida
obtenidos experimentalmente, se selecciona la estructura a utilizar y se realiza un algoritmo
de optimización de los parámetros.
A partir de realizar un análisis bibliográfico del estado actual nacional e internacional en
relación al tema abordado, es posible afirmar que la zona muerta, como efecto de no
linealidad, sigue siendo objeto de atención, pero sobre todo cuando esta se presenta
combinada con otros efectos, tales como histéresis, backlash, etc, presentándose entonces
lo que puede denominarse zona muerta severa (en lo adelante identificaremos como ZMS).
En estos casos aún no existen soluciones efectivas para determinado tipo de ZMS, por lo
que se define como situación del problema: la existencia de dificultades reales en la
identificación del modelo de un proceso no lineal, especialmente en presencia de no
5
INTRODUCCIÓN
linealidades severas. En los últimos años se han producido algunos resultados teóricos y
prácticos sobre la identificación de determinados sistemas con zona muerta o histéresis
fundamentalmente empleando modelos NARX y Hammerstein, estos no resuelven en su
totalidad el problema de identificación para cualquier sistema que presente los tipos de no
linealidades mencionadas además de que no se cuenta con herramientas que abarquen
totalmente los efectos de la no linealidad para estos casos de ZMS.
Partiendo de estas conclusiones se concibió y desarrolló la presente investigación en la
Universidad Central “Marta Abreu” de Las Villas, a partir del siguiente problema
científico:
¿Cómo formular un algoritmo que implemente un bloque de identificación de aplicación en
sistemas presentando un efecto de no linealidad severo, tal como zona muerta, que use los
resultados existentes en los métodos de identificación no lineal e incorpore estas
características especiales de efecto no lineal severo y la presencia de datos experimentales
irregularmente obtenidos en el tiempo?
De igual forma la presente investigación responde a determinadas interrogantes científicas
para su desarrollo:
Interrogantes Científicas
¿Cómo afecta la zona muerta y particularmente la ZMS la operación de los sistemas?
¿Cuál es la situación actual que exhibe el desarrollo de soluciones para el problema de la
identificación no lineal de sistemas con presencia de una zona muerta más compleja?
¿Cómo elaborar una herramienta para la identificación de sistemas afectados por zona
muerta con distintos grados de severidad?
Con el fin de dar solución a la situación del problema, se plantea como objetivo general:
desarrollar una herramienta para la aplicación de procedimientos de identificación no lineal
en sistemas con determinado tipo de ZMS, usando una maqueta virtual. En tanto, como
objetivos específicos se definen:
1 Determinar el criterio más adecuado a emplear para la selección de la estrategia de
acondicionamiento y la estructura del modelo necesarias para lograr realizar la
identificación no lineal de sistemas con presencia de ZMS.
6
INTRODUCCIÓN
2 Diseñar una herramienta de software para la simulación de diferentes ZMS, así como
del proceso de identificación de sus características utilizando funciones del Ident de
MATLAB.
Al finalizar la investigación se debe contemplar como resultados fundamentales una
herramienta para la identificación no lineal de sistemas con zona muerta de distintos grados
de severidad, mediante el desarrollo de una maqueta virtual para la identificación no lineal
de estos sistemas haciendo uso de métodos modernos de identificación, incorporándose el
empleo de datos experimentales irregularmente obtenidos en el tiempo.
Tareas de investigación
1. Caracterización de la no linealidad tipo ZMS y su efecto en el comportamiento de
un sistema.2. Revisión analítica de métodos de identificación no lineal apropiados para sistemas
con ZMS.3. Desarrollo de un bloque simulador de ZMS, con diferentes características estáticas y
dinámicas.4. Desarrollo de un bloque simulador de identificación de sistemas con zona muerta,
con acceso a funciones del Ident de MATLAB, aplicado para el caso de ZMS.
El impacto esperado se centra en potenciar la capacidad de procesamiento de datos
obtenidos experimentalmente y posibilitar mejoras en los procedimientos de estimación de
las dinámicas de comportamiento de sistemas con determinado tipo de no linealidad, por lo
que el impacto es directo en todas las ramas del conocimiento y la investigación científica,
sea en investigaciones básicas o en aplicadas que se realizan con vistas al desarrollo
económico y social del país, partiendo de que se brindan alternativas para fomentar nuevos
horizontes de la investigación científica, así como herramientas para los centros
desarrolladores de conocimientos sobre la energía y el medio ambiente.
Debido a su nivel de aplicabilidad este proyecto aportará un recurso para la aplicación de
procedimientos de identificación no lineal en sistemas sometidos a zona muerta con
determinados niveles de severidad; para el logro de este fin se diseñará una maqueta virtual
con el objetivo de aportar una herramienta computacional para el cumplimiento de los
requisitos y retos que plantea la teoría de los Sistemas Complejos que ha potenciado la
teoría de los sistemas dinámicos no lineales y con ello la identificación no lineal. De igual
forma el proyecto se desarrolla a partir de recursos tanto materiales como humanos para el
7
INTRODUCCIÓN
sustento de la investigación mediante la utilización de herramientas de hardware y software
ya existentes en la entidad, como son el software para el desarrollo de simulaciones y de
algoritmos para la identificación, microcomputadoras, y conectividad a internet, por lo que
puede afirmarse su viabilidad.
Organización del informe
El informe de la investigación se estructurará en introducción, capitulario, conclusiones,
referencias bibliográficas y/o bibliografía y anexos.
En la introducción se definirá la importancia, actualidad y necesidad del tema que se aborda
y se dejarán explícitos los elementos del diseño teórico.
Capitulario
CAPÍTULO I: Se dedicará a la caracterización de los procedimientos utilizadas para la
identificación no lineal de sistemas con presencia de zona muerta, para determinar los
métodos más adecuados a emplear en sistemas predeterminados afectados por ZMS a la
entrada o a la salida.
CAPÍTULO II: Se utilizará para expresar el diseño de los procedimientos a desarrollar para
la identificación de sistemas de interés según los métodos seleccionados
CAPÍTULO III: Se dedicará a la elaboración del bloque simulador de identificación para
los diferentes grados de severidad de la zona muerta que debe incorporarse a los
subsistemas lineales. Se validará la herramienta a través de la identificación de los distintos
modelos.
Conclusiones
Recomendaciones
Referencias bibliográficas y/o Bibliografía
Anexos
8
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON
ZONA MUERTA SEVERA
La identificación de sistemas es la etapa inicial que permite determinar las variables que se
requieren para que un modelo quede determinado de manera que describa con el grado de
exactitud deseado o de acuerdo a requerimientos específicos, un proceso real en cuestión.
Los sistemas sometidos a un proceso de identificación pueden presentar de manera natural
o intencionada disímiles relaciones entre las entradas y las salidas, clasificándose de esta
forma en lineales y no lineales.
La identificación no lineal de sistemas es más compleja y se emplea fundamentalmente
cuando existe la necesidad de realizar un control en un rango de trabajo amplio donde una
identificación lineal deja de tener buenos resultados.
Existen múltiples métodos de identificación de sistemas, aplicándose con buenos resultados
en sistemas sin fenómenos o dinámicas desconocidas; sin embargo de manera general, es
común encontrarse con el objetivo de modelar sistemas con dificultades reales para la
aplicación de las técnicas de identificación debido a rasgos desconocidos que no pueden ser
modelados por vía directa, lo que puede ser originado por incertidumbre en sus variables o
bien, indefinición en su estructura.
En este capítulo se realiza de manera breve una representación de aspectos fundamentales
en la identificación no lineal de sistemas, de manera adicional se hace una descripción
sintetizada de la zona muerta presente de manera individual y combinada con otros tipos de
no linealidades, dando lugar a una ZMS. Para culminar el capítulo se prevé realizar un
resumen de las técnicas de identificación implementadas en MATLAB con las cuales se
trabajará.
9
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
1.1 Sistemas no lineales, tipos de no linealidades, características, clasificación
Las no linealidades que se presentan en los sistemas reales se pueden clasificar en
accidentales e intencionales, en el primer caso figuran la fricción de Coulomb, la fricción
estática, juego libre de engranes (backlash), zona muerta, saturación, etc.; mientras que las
intencionales se introducen para lograr determinados requerimientos en los sistemas. Las no
linealidades en sentido general se presentan en dos variantes fundamentales, es decir si son
analíticas o no, las no linealidades analíticas son aquellas que no presentan cambios bruscos
y por tanto pueden ser representadas gráficamente por una curva o familia de curvas en
consecuencia se pueden describir sus características a través de una sola ecuación, mientras
que las no analíticas presentan cambios abruptos en sus características y usualmente se
representan mediante curvas discontinuas o con valores múltiples, ejemplos típicos son el
juego libre de engranes (backlash), la zona muerta, sistemas de relé, etc (Thaler and Pastel,
1962).
1.2 Caracterización de la no linealidad Zona Muerta
La zona muerta se define como el rango de las entradas de un sistema para el cual la salida
permanece inalterada, fuera de este rango existe una relación lineal entre la entrada del
sistema y la salida o respuesta (Lentz, 2008).
En la práctica es común la presencia accidental o intencionada de manera simultánea de no
linealidades como la fricción y la histéresis de conjunto con la zona muerta como no
linealidad preponderante, en este caso el representar la dinámica no lineal resultante del
sistema localizándola en una etapa específica de una planta o esquema como un bloque
separado resulta complejo, pero de manera general una de las manifestaciones de este
efecto combinado que de manera más ilustrativa describe la relación entre la entrada y la
salida del subsistema no lineal se aprecia en forma de función discontinua con presencia de
puntos de quiebre o una derivada discontinua. En la figura 1 se representan gráficamente de
manera conjunta la zona muerta y la zona muerta con fricción:
10
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
Figura 1. Relación entrada/salida de la banda muerta (tomado de (Wescott, 2016)).
Figura 2. Representación analítica del efecto ZMS.
Entre las manifestaciones físicas de este fenómeno, destacan aplicaciones prácticas como
las siguientes:
En un carro motorizado que se encuentra acoplado a un segundo carro de forma tal que este
último tiene movimiento libre, el modelo del sistema se corresponde a una función de
transferencia de primer orden con una zona muerta a la salida y la posición del carro tiene
una banda muerta debido al tipo de acople (Lentz, 2008).
En la figura 3 se muestran 10 ciclos de la velocidad del carro libre versus la entrada de
voltaje aplicada al motor utilizado para accionar dicho carro:
Figura 3. Velocidad vs voltaje para el carro libre (tomado de (Lentz, 2008)).
La dinámica de un motor DC se puede esquematizar de la siguiente forma, donde la
velocidad de la armadura determina la magnitud del torque producto de la fricción que se
opone al torque aplicado y el resultante, de existir, es el responsable de la aceleración de la
armadura del motor. La velocidad de la armadura es integrada obteniéndose la posición del
rotor, el motor acciona un mecanismo de engranes que presenta cierto juego (histéresis), en
consecuencia la salida del modelo presenta la influencia combinada de dos no linealidades
(Wescott, 2016).
11
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
Figura 4. Posición angular vs torque aplicado para un motor DC (tomado de (Wescott,
2016)).
1.3 Modelos de sistemas dinámicos
Un medio efectivo cuando se hace necesario conocer la interacción entre las variables en un
sistema es la obtención de modelos, estos pueden presentar distintos niveles de formalismo
matemático de acuerdo a la limitación de su uso (Ljung, 1999), por lo tanto se les puede
clasificar según su tipo como :
- modelos mentales: no presentan ninguna formalidad matemática y tienen un fuerte
componente cualitativo debido a que se basan fundamentalmente en la experiencia, su
representación es ejecutable mentalmente, incompleta y no tiene límites definidos pudiendo
describir directamente indeterminaciones.
- modelos gráficos (no paramétricos): son apropiados para sistemas donde las propiedades
se describen a través de tablas y de ploteados numéricos.
- modelos matemáticos (paramétricos): se emplean cuando es necesario describir las
relaciones entre las variables del sistema a través de expresiones matemáticas tales como
ecuaciones diferenciales, estos se encuentran a su vez caracterizados por el tipo de ecuación
diferencial utilizada y se emplean fundamentalmente para la simulación y la predicción.
Los modelos matemáticos se construyen a su vez a través de dos vías (o una combinación
de ellas), la identificación o fragmentación de los sistemas complejos en distintos
subsistemas cuyas propiedades se conocen a partir de experiencias previas y la posterior
unión de estos a través de recursos matemáticos, y la identificación de sistemas que se basa
directamente en la experimentación, donde señales de entrada y salida del sistema son
almacenadas y analizadas para inferir los modelos (Ljung, 1999).
12
armadura
fricción
backlashTorque
aplicado
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
El proceso de construcción de modelos a través del procesamiento de datos implica además
la selección de la estructura de dichos modelos, estos pueden ser tipo caja negra (los
parámetros simplemente son vehículos para lograr el mejor ajuste posible con los datos
medidos y no tienen la capacidad de reflejar ningún rasgo físico real) o modelos en espacio
estado parametrizados físicamente (los parámetros se ajustan de manera que guarden
relación directa con el sistema real, usualmente se parte de leyes físicas o relaciones
conocidas para la determinación de algunos parámetros físicos desconocidos), así como
lineales o no lineales.
El presente trabajo sólo se enfoca en modelos paramétricos debido a que se requiere a partir
de la experimentación (registro de mediciones de señales de entrada y salida) definir las
relaciones entre las variables del sistema a través de expresiones matemáticas determinadas
por un número finito de parámetros que tienen un significado decisivo para la simulación y
la predicción.
1.4 Algoritmo de identificación no lineal de sistemas
La construcción de modelos a partir del procesamiento de datos tiene tres momentos
básicos (Ljung, 1999):
1.Almacenamiento y tratamiento de los datos: el objetivo de diseñar los experimentos es
determinar qué señales medir, cuándo medirlas, y escoger las señales de entrada más
adecuadas, así como el mejor modo de manipularlas de ser necesario.
- generalmente las señales son muestreadas usando un intervalo de muestreo constante (en
sentido general la frecuencia de muestreo debe ser aproximadamente diez veces el ancho de
banda del sistema, pero una consideración práctica es registrar la respuesta al paso del
sistema y seleccionar el intervalo de muestreo de manera que ocurran de 4 a 6 muestreos
durante el tiempo de subida)
- la calidad del sistema de identificación depende de la entrada aplicada, esta debe ser
suficientemente rica para forzar al sistema a mostrar sus propiedades que es contener el
mayor número de frecuencias posible, por esto las señales escalonadas (con cambios
abruptos) son ampliamente utilizadas, puesto que contienen un espectro suficientemente
amplio de frecuencias
13
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
- para sistemas lineales, es suficiente utilizar dos niveles de entrada, preferiblemente
barriendo todo el rango de variación permitido. En este tipo de sistemas se suele utilizar
señales binarias de duración aleatoria (conocidas como señales binarias aleatorias). Sin
embargo, para sistemas no lineales es necesario trabajar con señales de más de dos niveles
de entrada (conocidas como señales gaussianas aleatorias), además la entrada debe tener
una persistencia suficiente para la excitación durante la operación a lazo abierto
Cuando los datos son recolectados durante un experimento previo a la identificación,
generalmente no se encuentran en condiciones para realizar directamente el algoritmo de
identificación debido a diferentes características:
a-disturbios de alta o baja frecuencia durante la adquisición de los datos, cercanos a las
frecuencias de interés de la dinámica del sistema
b- valores extremos o erróneos, datos faltantes, registro discontinuo de datos
Existen múltiples recursos para lidiar con estas situaciones y de alguna manera
acondicionar los datos antes de identificar, como son: eliminar las perturbaciones a través
de un tratamiento previo explícito de los datos, utilizar el modelo ruidoso para tratar las
perturbaciones, reemplazo de los segmentos de datos con información errónea, estimar
datos faltantes mediante regresión lineal y mínimos cuadrados o métodos de minimización
del error de predicción indistintamente.
2. Selección de la estructura del modelo: existen inicialmente varias estructuras posibles,
caja negra o modelos en espacio estado parametrizados físicamente y lineal o no lineal,
donde la elección depende del conocimiento previo que se tenga sobre el sistema.
Posteriormente se selecciona de manera particular el modelo a emplear teniendo en cuenta
la representación dinámica aproximada del sistema, definiéndose aspectos como el orden y
los parámetros de dicho modelo.
3. Selección del método de identificación: existen tres variantes o aproximaciones :
- el error de predicción: tiene la ventaja de ser aplicable a todo tipo de estructura de modelo,
ya sea lineal o no lineal, también es válido para sistemas en lazo abierto o cerrado
- la correlación: se usa de manera más natural en modelos caja-negra lineales
14
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
- el subespacio para la estimación de modelos en el espacio estado: se usa especialmente en
modelos caja-negra lineales en la forma espacio estado
Validación del modelo: se realiza una valoración realista del desempeño del modelo
seleccionado para determinar si es una buena representación del sistema real; de no cumplir
con los requerimientos establecidos se concluye que el modelo no es válido, y se procede a
la revisión de las posibles causas.
De manera general los modelos no lineales son esencialmente relaciones matemáticas que
se establecen entre las entradas u(t) y las salidas y(t) ponderadas del sistema para
determinar la salida en el instante actual. La expresión general de un modelo en tiempo
discreto es:
y(t) = f(u(t - 1), y(t - 1), u(t - 2), y(t - 2), . . .)
de esta forma un modelo no lineal presentaría una función no lineal en el lugar de f,
pudiendo ser un caso arbitrario como un switch o saturación (MathWorks,Inc., (2014)).
Las estructuras de modelos no lineales que se abordan en la literatura son: NARMAX (no
lineal autorregresivo de media móvil exógena), NARX (No lineal autorregresivo con
entrada exógena), NOE (no lineal con error de salida), redes neuronales artificiales,
modelos difusos, series de Volterra, los modelos orientados a bloques Hammerstein y
Wiener y la combinación de ambos, entre otros (Esquivel ,2015).
Directamente enfocados al proceso de identificación de la no linealidad zona muerta se han
desarrollado disímiles trabajos debido a su amplia presencia en sistemas mecánicos
actuales. Entre los trabajos consultados destaca (Esquivel ,2015) donde se sintetiza un
criterio que sugiere el empleo del mejor método a utilizar para una zona muerta dada, en
determinada posición dentro de un sistema o proceso, específicamente se desarrolla dicho
método mediante su implementación en la herramienta de identificación de sistemas de
MATLAB para identificar una zona muerta específica, adicionalmente se determina la
posibilidad de mejorar las técnicas actuales de identificación de sistemas para el caso de
procesos con no linealidades severas como zona muerta.
1.5 Requerimientos básicos de los datos para la identificación no lineal en la
herramienta de identificación de sistemas de MATLAB
Condiciones necesarias (MathWorks,Inc., (2014)):
15
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
- para el empleo de las estructuras Hammerstein-Wiener los datos deben encontrarse en el
dominio del tiempo y presentar instantes de muestreo uniformemente espaciados
- para el empleo de las estructuras NARX los datos deben encontrarse en el dominio del
tiempo (incluyendo series de tiempo) y presentar instantes de muestreo uniformemente
espaciados
- para el empleo de los modelos en el espacio-estado no lineales los datos pueden
encontrarse en el dominio del tiempo (incluyendo series de tiempo) o en el dominio de la
frecuencia
1.6 Tratamiento de los datos destinados a la identificación de sistemas mediante la
herramienta de MATLAB
Los fallos durante la adquisición de datos en ocasiones provocan mediciones perdidas en la
entrada y en la salida. Cuando los datos faltantes son representados por el término NaN
(dato inexistente, Not a Number) es válido emplear la función misdata para estimar los
valores faltantes, esta función del System Identification Toolbox de MATLAB realiza
inicialmente una interpolación lineal ( y x=y0+x−x0
x1−x0
( y1− y0) ) con la cual obtiene los
primeros datos y a partir de estos un primer modelo y luego utiliza este modelo para estimar
nuevos datos como parámetros mediante un método de minimización del error de
predicción de la salida obtenida a partir de los datos reconstruidos, este proceso se repite de
manera iterativa hasta que se alcance alguna condición preestablecida (número máximo de
iteraciones o tolerancia), el modelo inicial puede tener una estructura lineal dada por el
usuario, cuando no se subministra ninguna estructura se emplea del tipo n4sid (algoritmo
numérico para la identificación de sistemas tipo espacio estado en el subespacio)
(MathWorks,Inc., (2014)).
1.7 Estructuras de modelos no lineales para la identificación de sistemas disponibles
en el System Identification Toolbox
Los modelos NARX son una extensión de los modelos lineales ARX y presentan la
estructura:
y(t) = f(y(t - 1), ..., y(t - na), u(t - nk), ..., u(t -nk -nb + 1))
16
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
donde la función no lineal f depende de un número finito de entradas u anteriores y salidas
y. Los números de salidas y entradas pasadas respectivamente son na y nb y se utilizan para
predecir el valor de la salida actual, en conjunto con el retardo nk. Estas estructuras se
emplean fundamentalmente como caja negra.
Diagrama en bloque de la estructura NARX enfocado a simulación:
Figura 5. Estructura NARX.
El modelo NARX calcula la salida en dos etapas:
1.Calcula los regresores a partir del valor actual y valores anteriores de la entrada, así como
valores anteriores de la salida. En el caso más simple, los regresores son salidas y entradas
anteriores, tales como u(t-1) y y(t-3) llamados regresores estándar. Adicionalmente se
pueden especificar regresores personalizados que son funciones no lineales de entradas y
salidas anteriores, por ejemplo tan(u(t-1)) o u(t-1)*y(t-3). Por defecto todos los regresores
son entradas de los bloques funcionales lineal y no lineal del estimador de no linealidad, de
igual forma se puede escoger un subconjunto de los regresores como entradas del bloque
funcional no lineal.
2.El bloque estimador de no linealidad direcciona los regresores a la salida del modelo
utilizando una combinación de funciones lineales y no lineales, es posible seleccionar entre
los estimadores de no linealidad disponibles, tales como las redes de árbol de particiones
(Tree Partition Network), redes de tren de ondas (Wavelet Networks), y redes neuronales
multi-capa (Multi-layer Neural Networks), también se puede excluir tanto el bloque
funcional lineal como el no lineal del estimador de no linealidad (MathWorks,Inc., (2014)).
Los modelos Hammerstein-Wiener describen sistemas dinámicos utilizando uno o dos
bloques de no linealidad estática en serie con un bloque lineal que representa el
componente dinámico del modelo, estas estructuras se emplean fundamentalmente para
capturar efectos no lineales físicos en sensores y actuadores que afectan la entrada y la
salida de un sistema lineal tal es el caso de saturación y zona muerta, así como en la
17
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
identificación de una gran variedad de sistemas electromecánicos, en consecuencia se
utilizan como estructuras caja negra debido a que su parametrización tiene gran
flexibilidad en los modelos no lineales y de igual forma se emplean como caja gris para
capturar conocimientos sobre características físicas de los procesos, como es el caso de no
linealidades a la entrada que pueden representar transformaciones físicas típicas en
actuadores y no linealidades a la salida que pueden describir características físicas en los
sensores.
Diagrama en bloques del modelo Hammerstein-Wiener:
Figura 6. Estructura Hammerstein-Wiener.
El modelo Hammerstein-Wiener calcula la salida en tres etapas:
1.Calcula w(t) = f(u(t)) a partir de los datos de entrada, w(t) es entrada de la función
transferencial lineal B/F, la no linealidad de entrada es una función estática (sin memoria)
donde el valor de la salida en un instante dado depende solamente del valor de la entrada en
el mismo instante. De igual forma se puede configurar la no linealidad de entrada como red
sigmoidea (Sigmoid Network), redes de tren de ondas (Wavelet Network), saturación
(Saturation), zona muerta (Dead Zone), función lineal por tramos (Piecewise Linear
Function), polinomio unidimensional (One- Dimensional Polynomial), red personalizada
(Custom Network) y ausencia de no linealidad (Unit Gain).
2.Calcula la salida del bloque lineal utilizando w(t) y condiciones iniciales x(t) = (B/
F)w(t), además se puede configurar el bloque lineal especificando los órdenes del
numerador B y el denominador F.
3.Calcula la salida del modelo transfiriendo la salida del bloque lineal x(t) utilizando la
función no lineal h: y(t) = h(x(t)).
Similar a la no linealidad de entrada, la no linealidad de salida es una función estática
configurable de igual manera (MathWorks,Inc., (2014)).
Los modelos en el espacio-estado no lineales se representan de la forma:
x'( t ) = F ( x ( t ), u ( t ) )
18
CAPÍTULO 1. IDENTIFICACIÓN NO LINEAL DE SISTEMAS CON ZONA MUERTA SEVERA
y ( t ) = H ( x ( t ), u ( t ) )
donde una ecuación diferencial ordinaria de orden superior puede ser representada como un
conjunto de ecuaciones de primer orden, además F y H pueden tener cualquier
parametrización y los parámetros tienen generalmente una interpretación física
(MathWorks,Inc., (2014)).
1.8 Consideraciones finales del capítulo
Determinadas características tales como los tipos de modelo disponibles (parámetros con
significado físico o no) y la representación de la dinámica de sistemas no lineales
(semejante a efectos no lineales físicos en sensores y actuadores que afectan la entrada y la
salida de un sistema lineal), permiten determinar la factibilidad de la utilización de
estructuras Hammerstein y Wiener (no una combinación de ambas) para la identificación de
los sistemas no lineales que se emplean en el presente trabajo, donde se presentan efectos
no lineales estáticos severos a la entrada y la salida de un subsistema lineal determinado.
Incorporando además la dificultad aportada por la presencia de datos muestreados en
intervalos irregulares de tiempo, resulta conveniente con el objetivo de emplear la
estructura mencionada para la identificación no lineal de sistemas, que está limitada al
empleo de datos muestreados uniformemente, desarrollar un algoritmo donde se estime de
manera lógica datos desconocidos debido a un registro discontinuo de las mediciones de las
señales de entrada y salida del proceso.
19
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE
IDENTIFICACIÓN DE LA ZONA MUERTA SEVERA
El desarrollo de algoritmos de identificación a través de técnicas computacionales
necesariamente se rige por reglas y basamentos que se establecen para el procesamiento de
datos obtenidos mediante experimentación, las consideraciones teóricas a contemplar para
la obtención de modelos de un sistema, en este caso no lineal sometido a condiciones
severas de operación, fueron abordadas con anterioridad. En este capítulo se describe de
manera seccionada empleando disímiles situaciones experimentales, el procedimiento de
identificación no lineal de un sistema seleccionado, con técnicas computacionales a través
de sus diferentes etapas.
2.1 Presentación del software empleado
El software System Identification Toolbox presenta disponibilidad de modelos de tipo
numérico (descritos a través de coeficientes numéricos estimados) o generalizado (descritos
a través de combinaciones de parámetros numéricos y parámetros desconocidos o
ajustables). De manera adicional permite operar desde el ambiente de la aplicación y desde
las líneas de comando, pudiendo realizar de forma íntegra tanto las tareas de preparación de
los datos con el objetivo de obtener una representación lista para identificar, como la propia
configuración y estimación de los parámetros de la estructura de modelo seleccionada. En
el presente trabajo se empleará de manera simultánea las herramientas de MATLAB:
System Identification Toolbox y Simulink, ambas en su revisión 2015a.
2.2 Descripción de los esquemas de adquisición de datos
Con el fin de emplear la herramienta de identificación propuesta existen tres vías
fundamentales para la obtención previa de los datos a identificar: la medición de señales de
entrada y salida procedentes de sistemas físicos, la generación de señales de entrada con
20
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
características deseadas (permite estudiar el impacto de las características de las señales de
entrada en la estimación) y el registro de señales provenientes de modelos de Simulink. En
el presente trabajo se utiliza de manera conjunta la generación de señales de entrada con
características deseadas y el registro de señales provenientes de modelos de Simulink.
2.2.1 Adquisición de los datos mediante simulación
En caso de realizarse una simulación el esquema sería el siguiente:
Figura 7. Esquema de simulación del sistema con ZMS.
2.2.1.1 Obtención de la entrada a utilizar en la simulación
Para esta aplicación la entrada (entrada aleatoria) necesaria para excitar el sistema se
obtiene a través de la generación de dos variantes de una señal gaussiana aleatoria,
utilizando como herramienta la ventana Editor de MATLAB R2015a, quedando las entradas
de la siguiente forma:
Figura 8. Magnitud de la entrada tipo 1 aplicada al sistema no lineal vs tiempo.
Figura 9. Magnitud de la entrada tipo 2 aplicada al sistema no lineal vs tiempo.
21
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
Ambas señales se caracterizan por tener una magnitud acotada entre 1 y -1, además
cumplen con los requisitos planteados en el capítulo anterior ya que presentan múltiples
niveles y determinado grado de aleatoriedad, pero en el caso de la señal tipo escalón la
duración de cada pulso puede estar entre un 30 y un 70% del tiempo de estabilización del
sistema. De manera adicional las señales de entrada son ingresadas desde el Workspace de
MATLAB al esquema de simulación mediante un bloque perteneciente al Simulink de tipo
From Worspace, donde se representa en formato de estructura la entrada a aplicar sobre el
sistema, especificándose además el período de muestreo.
2.2.1.2 Representación de los sistemas no lineales
Con el objetivo de simular el comportamiento de dos sistemas no lineales con estructuras y
dinámicas diferentes pero afectados por la misma entrada, se utiliza un subsistema no lineal
compuesto por el efecto ZMS, representado por la zona muerta combinada con fricción, en
serie con un subsistema lineal de segundo orden sin retardo, presentándose de esta forma
simultáneamente las estructuras correspondientes a un proceso Hammerstein y uno Wiener.
Estructura lineal de segundo orden:
K∗(τn1 s+1)(τn 2s+1)(τd 1 s+1)(τd 2 s+1)
donde K=1, τn1=τn2=0 y τd1=τd2=1
Estructura no lineal severa: el parámetro ud, correspondiente a la figura 2, o umbral
superior de la zona muerta toma los valores: 0.25, 0.5 y 0.75 indistintamente, resultando en
una magnitud relativa de 25%, 50% y 75% en la zona muerta.
2.2.1.3 Registro de los datos de entrada y de salida
Las señales de entrada y de salida son ingresadas desde el esquema de simulación hacia el
Workspace mediante un bloque perteneciente al Simulink de tipo To Worspace, donde se
representan en formato de estructura con tiempo los datos a obtener del sistema,
especificándose además el período de muestreo, este se selecciona como primera
aproximación de manera que al menos se muestree de 4 a 6 veces durante el tiempo de
subida del sistema.
2.2.2 Adquisición de los datos mediante procesos físicos
Una particularidad presente en los datos provenientes de procesos físicos es la escacez de
conocimientos previos respecto a las características del sistema que los originó, pero es
22
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
importante debido a las dificultades existentes durante las mediciones reales, considerar
situaciones donde la información no presente las condiciones idóneas para su utilización,
tales como valores de medición erróneos o totalmente inexistentes. En este caso se dispone
del conjunto de los datos de entrada y salida, además se conocen los instantes de muestreo
(pudiendo presentarse un muestreo aleatorio o no) y se precisan, de manera iterativa de ser
necesario, detalles referentes a la parte dinámica del sistema. En este caso los datos se
obtienen mediante simulación pero se asume con fines prácticos que no se conoce el tipo de
estructura no lineal, ni las características de la parte lineal.
2.3 Tratamiento inicial de los datos
Anterior al procedimiento de identificación propiamente, se realiza un análisis de la calidad
de los datos, de esta forma se detecta la ausencia de datos debido al carácter aperiódico del
registro de estos. En el caso de datos procedentes de un proceso físico se presenta la
información en forma de tres conjuntos: dos conteniendo la entrada y la salida medidas y
un tercero donde se contemplan los instantes de muestreo, siendo perceptible la existencia
de un espaciado temporal no uniforme; mientras que en el caso de datos obtenidos mediante
simulación, debe introducirse primeramente un diezmado de las señales de entrada y de
salida registradas ya presentes en el Workspace, luego se procede a analizar la información
temporal de los datos adquiridos por las diferentes vías (datos obtenidos mediante
simulación o datos obtenidos a través de un proceso físico) para realizar una estimación del
período de muestreo máximo posible a considerar, partiendo de este resultado se desarrolla
posteriormente una estimación de los datos de entrada y salida identificados con NaN
(datos correspondientes a instantes de muestreo inexistentes), necesarios para obtener la
estructura deseada, mediante el procesamiento de la información disponible a través de la
función misdata del System Identification Toolbox de MATLAB que presenta entre sus
argumentos los datos de entrada y salida, el período de muestreo y el comportamiento de
las señales entre los instantes de muestreo, en un formato tipo estructura iddata
(representación de los datos a utilizar para la identificación, presentes en el Workspace y
expresados en el dominio del tiempo o de la frecuencia), además del número máximo de
iteraciones a realizar y la tolerancia como condiciones de parada (número máximo de
iteraciones =5 y tolerancia = 1% en este caso).
23
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
Posteriormente se elimina la media (mean) de los datos mediante el comando detrend en su
opción '0', con el objetivo de optimizar los resultados de la identificación, y se seleccionan
las porciones para la estimación (alrededor del 70% de los datos) y validación (alrededor
del 30% restante de los datos), en este caso las secciones de los datos destinadas con ambos
fines, están predeterminadas con el objetivo de enmarcar los resultados en esta situación
específicamente por presentar una mayor conveniencia debido a la distribución observada
en el comportamiento de los datos durante la generalidad de los experimentos, aun así
desde el punto de vista práctico este aspecto es modificable en busca de una mayor
generalidad.
2.4 Selección de los modelos
Partiendo de las características inherentes a los datos con los que se trabaja los modelos a
emplear son Hammerstein y Wiener, en el caso de los datos registrados desde el sistema
simulado con estructura predeterminada se identifica mediante la función nlhw del System
Identification Toolbox de MATLAB, la cual requiere los datos destinados a la estimación
así como, en cuanto al estimador lineal, el número de ceros más uno (nb), el número de
polos (nf), el retardo de la entrada a la salida en términos del número de muestras (nk) y por
último los estimadores no lineales (InputNL, OutputNL) donde se define el tipo de
estructura (Hammerstein o Wiener), en este caso aunque lo referente a los parámetros de los
modelos es conocido debido a que se trata de una simulación, se realizan pruebas con
distintas variantes en cuanto a estos parámetros, para determinar la estructura que mejor
explica los datos medidos. En el contexto de los sistemas físicos reales se procede de
manera similar salvo que no se conoce de antemano los estimadores tanto lineales como no
lineales más adecuados, ya que la estructura del sistema es una incógnita, en el caso de los
estimadores lineales se determinan de manera iterativa como se explicó anteriormente.
De manera adicional se utiliza la función pem (actualiza los parámetros independientes o
que no guardan relación con ningún parámetro determinado que presente un significado
físico, del modelo a refinar mediante la aplicación de un algoritmo de minimización del
error de predicción utilizando los datos de estimación dados) del System Identification
Toolbox de MATLAB para refinar los modelos, realizando hasta 30 iteraciones en este caso.
Finalmente se selecciona el modelo con los mejores resultados en relación a la predicción
24
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
de la salida medida, comparándose en cuanto al desempeño los modelos iniciales con los
modelos refinados a través de la función pem.
2.5 Análisis y validación del desempeño de los modelos
Para reflejar las características del modelo con el objetivo de examinar aspectos como el
nivel de complejidad de la no linealidad estimada, se utiliza el comando plot donde se
puede observar la relación entrada/salida de la no linealidad, la función get donde se
aprecian los coeficientes del polinomio B/F (característica lineal o dinámica del sistema) y
el comando compare que determina y representa gráficamente el 'porcentaje de la salida
medida que es explicado por el modelo' (FIT o porcentaje de ajuste) de la siguiente forma:
FIT=100∗(1−norma(Y −YHAT )
norma(Y −media(Y ))) , donde Y es la salida medida o de validación y
YHAT es la salida del modelo.
2.6 Selección del tipo de entrada y estrategia para la estimación de datos no
medidos
La entrada a aplicar sobre el sistema presenta entre sus características la aleatoriedad, y esta
determina el grado en que es posible reconstruirla empleando la función misdata cuando
existe ausencia de datos o mediciones, como se aprecia en las figuras donde las señales
simuladas son aquellas que no fueron sometidas a ningún diezmado y por tanto contienen la
información real mientras que las señales estimadas son aquellas que se obtienen a partir de
reconstruir de manera aproximada las señales simuladas sometidas a un diezmado posterior
a su generación, debiendo parecerse estas estimaciones lo máximo posible a los valores
simulados (reales) en orden de representar con veracidad el proceso que originó las señales
simuladas portadoras de la información real y correcta:
25
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
Figura 10. Entrada tipo 1 estimada (superior) vs tiempo y entrada tipo 1 simulada (inferior)
vs tiempo.
Figura 11. Entrada tipo 2 estimada (superior) vs tiempo y entrada tipo 2 simulada (inferior)
vs tiempo.
Figura 12. Salida estimada del sistema con entrada tipo 1 (superior) vs tiempo y salida
simulada del sistema con entrada tipo 1 (inferior) vs tiempo.
26
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
Figura 13. Salida estimada del sistema con entrada tipo 2 (superior) vs tiempo y salida
simulada del sistema con entrada tipo 2 (inferior) vs tiempo.
Por esta razón se selecciona la entrada tipo 1 para utilizar en los procedimientos a realizar.
De manera general la función misdata no produce modificación alguna en los datos que
son reales y en consecuencia no necesita estimar:
Figura 14. Diferencia (en una escala de 10^-6) entre los datos sometidos a diezmado y los
datos estimados vs tiempo.
Es posible apreciar que la función misdata, tiene un buen desempeño durante la
reconstrucción de la salida mientras que al estimar los valores faltantes en la entrada
produce con recurrencia valores erróneos de magnitud excesiva, por lo que se analizan
diferentes variantes para utilizar misdata ya que en las circunstancias de este trabajo se
considera el peor caso posible, donde para los instantes en que la entrada se desconoce
tampoco se dispone de la salida lo que dificulta la estimación de la entrada; de esta forma
se determina la posibilidad, debido a la naturaleza de la generación de la entrada donde no
existe una aleatoriedad total, de reconstruir la entrada de manera individual considerándola
una serie de tiempo para su tratamiento con misdata y posteriormente utilizar esta entrada
estimada para obtener la salida estimada correspondiente a través de una segunda
27
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
aplicación de la función misdata, debido a que la salida guarda relación con la entrada y no
puede estimarse como una variable independiente, los resultados obtenidos durante la
recuperación de ambas señales se muestran en las figuras:
Figura 15. Entrada tipo 1 diezmada (azul) vs tiempo y entrada tipo 1 simulada (rojo) vs
tiempo, aplicando misdata a la entrada.
Figura 16. Entrada tipo 1 estimada (azul) vs tiempo y entrada tipo 1 simulada (rojo) vs
tiempo, aplicando misdata a la entrada.
Figura 17. Reducción de la magnitud de los valores pico en la entrada estimada (azul) vs
tiempo respecto a la entrada simulada (rojo) vs tiempo.
28
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
Figura 18. Salida diezmada del sistema con entrada tipo 1 (azul) vs tiempo y salida
simulada del sistema con entrada tipo 1 (rojo) vs tiempo, aplicando misdata a la salida
utilizando la entrada estimada.
Figura 19. Salida estimada del sistema con entrada tipo 1 (azul) vs tiempo y salida simulada
del sistema con entrada tipo 1 (rojo) vs tiempo, aplicando misdata a la salida utilizando la
entrada estimada.
Figura 20. Reducción de la magnitud de los valores pico en la salida estimada (azul) vs
tiempo respecto a la salida simulada (rojo) vs tiempo.
Debido a la favorable disminución de la diferencia apreciable entre los valores simulados y
los valores obtenidos mediante la estimación, se selecciona como procedimiento para el
acondicionamiento de los datos afectados por diezmado, la realización de una estimación
inicial de la entrada medida utilizando misdata, y la posterior estimación de la salida
medida empleando dicha entrada estimada.
2.7 Determinación de los experimentos a realizar
Con el objetivo de evaluar finalmente cómo se afecta la calidad de la identificación en un
sistema expuesto a una no linealidad severa tipo zona muerta, esta se considera para
distintas amplitudes relativas a la magnitud de la entrada (25%, 50% y 75%) incorporando
un muestreo cuya aleatoriedad se evalúa en mayor y menor grado (distanciamiento máximo
considerado entre instantes de muestreo, dado en muestras: 1, 2, 3 y 4).
29
CAPÍTULO 2. DISEÑO DEL PROCEDIMIENTO DE IDENTIFICACIÓN DE LA ZONA MUERTASEVERA
2.8 Consideraciones finales del capítulo
1. La consideración de dos sistemas de estructura no lineal distinta resultando en dos
procesos, uno semejante a Hammerstein y otro a Wiener, sometidos ambos a distintos
niveles de severidad de la zona muerta permite determinar el modelo que mejor explica el
efecto no lineal considerado y cuál es el desempeño alcanzado en cada caso.
2. La simulación del diezmado de los datos para la identificación brinda la posibilidad de
definir el efecto real que tiene lugar sobre los modelos obtenidos, así como valorar la
calidad de la estimación alcanzada durante la reconstrucción de las señales medidas de
forma aleatoria.
30
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO
DE IDENTIFICACIÓN.
Este capítulo incluye la representación y valoración de los principales resultados de los
experimentos diseñados en el capítulo 2, además se obtiene de manera general una base o
sugerencia para la elección de los modelos a utilizar en disímiles circunstancias presentes
en el procedimiento de identificación, en correspondencia con la problemática comprendida
en la introducción del presente trabajo. Finalmente se realiza una valoración cualitativa de
los resultados obtenidos atendiendo a su impacto económico.
3.1 Resultados fundamentales a considerar
El análisis del desempeño de los modelos se basará tanto en su 'capacidad para explicar la
salida medida' (FIT) como en la calidad con que logra representar el efecto no lineal
presente en el sistema analizado.
3.2 Datos sin diezmado
En este caso se muestran dos ejemplos fundamentales de los empleados para definir la
estructura lineal, expresada en forma del vector de parámetros [nb nf nk] de donde se
obtiene durante la conformación del modelo el polinomio denotado como B/F, que refleja la
dinámica lineal del proceso. En el caso de la parte no lineal según el estimador
seleccionado, se presenta la estructura en correspondencia con los parámetros obtenidos a
través de la identificación, de la forma:
31
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Picewise linear parametrizado a través de puntos de quiebre (breakpoints o puntos
que delimitan los rangos de las entradas o intervalos donde el sistema puede ser
representado por una relación obtenida a través de interpolación lineal)
Sigmoidnet g(x )=∑k=1
n
K∗ak∗(es+1)−1
∗(bk∗(x−℘k))
Dead zone parametrizado a través de la duración del período de cero respuesta en la
señal
3.2.1 Zona muerta 25%
Tabla 1. Resultados de la identificación de la ZMS al 25%
Nombre de los
modelosParte lineal Tipo de modelo
Estimador no
lineal
FIT
obtenido
Modelo1 [1 2 0] Hammerstein Picewise linear 98.61%
Modelo2 [1 2 0] Wiener Picewise linear 97.38%
Modelo3 [2 3 1] Hammerstein Picewise linear 99.94%
Modelo4 [2 3 1] Wiener Picewise linear 98.20%
Modelo1:
Parte lineal: B /F (z−1)=
11−1.8443 z−1
−0.8514 z−2
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-0.7520 -0.7334 -0.5345 -0.4760 -0.2738 -0.2299 0.0727 0.1386 0.2295 0.5881
0.6599 0.6848 0.7202; -0.0054 -0.0053 -0.0039 -0.0035 -0.0020 -0.0003
-0.0002 -0.0004 0.0015 0.0041 0.0046 0.0048 0.0050)
32
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 21. Relación entrada/salida de la no linealidad identificada por el modelo 1 en el
sistema tipo Hammerstein con ZMS al 25% sin diezmado.
Figura 22. Comparación de la respuesta de validación del sistema tipo Hammerstein con
ZMS al 25% sin diezmado (negro) con la respuesta del modelo 1 (azul).
Modelo 2:
Parte lineal: B / F(z−1)=
11−1.8459 z−1
−0.8529 z−2
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-116.2649 -110.2737 -108.8719 -39.8133 -38.6114 -31.2071 -3.9930 27.9131
31.0937 33.7051 92.5629 101.8756 159.0488; -0.8137 -0.7765 -0.7669 -0.2822
-0.0366 -0.0265 -0.0265 -0.0265 -0.0174 0.2305 0.6501 0.7084 1.1119)
33
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 23. Relación entrada/salida de la no linealidad identificada por el modelo 2 en el
sistema tipo Wiener con ZMS al 25% sin diezmado.
Figura 24. Comparación de la respuesta de validación del sistema tipo Wiener con ZMS al
25% sin diezmado (negro) con la respuesta del modelo 2 (azul).
Modelo 3:
Parte lineal: B /F (z−1)=0.6276 z−1
+1 z−2
1−1.6749 z−1+0.5747 z−2
+0.1105 z−3
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-0.2737 -0.2297 0.1454 0.2275; -0.0018 -0.0002 -0.0002 0.0013)
34
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 25. Relación entrada/salida de la no linealidad identificada por el modelo 3 en el
sistema tipo Hammerstein con ZMS al 25% sin diezmado.
Figura 26. Comparación de la respuesta de validación del sistema tipo Hammerstein con
ZMS al 25% sin diezmado (negro) con la respuesta del modelo 3 (azul).
Modelo 4:
Parte lineal: B /F (z−1)=0.0464 z−1
+1 z−2
1−0.8769 z−1−0.8688 z−2
+0.7632 z−3
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-70.3812 -47.8003 -42.8119 -16.4442 -16.3555 -10.0125 -1.6002 6.6268
13.3667 13.5913 15.8983 42.7356 50.1372; -1.1706 -0.7930 -0.7097 -0.2687
-0.0239 -0.0239 -0.0239 -0.0239 -0.0239 0.2098 0.2547 0.7036 0.8265)
Figura 27. Relación entrada/salida de la no linealidad identificada por el modelo 4 en el
sistema tipo Wiener con ZMS al 25% sin diezmado.
35
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 28. Comparación de la respuesta de validación del sistema tipo Wiener (negro) con
ZMS al 25% sin diezmado con la respuesta del modelo 4 (azul).
3.2.2 Zona muerta 50%
Tabla 2. Resultados de la identificación de la ZMS al 50%
Nombre de los
modelosParte lineal Tipo de
modelo
Estimador no
lineal
FIT
obtenido
Modelo5 [1 2 0] Hammerstein Picewise linear 98.57%
Modelo6 [1 2 0] Wiener Picewise linear 93.52%
Modelo7 [2 3 1] Hammerstein Picewise linear 99.99%
Modelo8 [2 3 1] Wiener Picewise linear 93.75%
Modelo5:
Parte lineal: B /F (z−1)=
11−1.8437 z−1
−0.8508 z−2
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-0.5355 -0.5049 0.4589 0.5155; -0.0036 -6.3517*10^-5 -6.5411*10^-5 0.0037)
36
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 29. Relación entrada/salida de la no linealidad identificada por el modelo 5 en el
sistema tipo Hammerstein con ZMS al 50% sin diezmado.
Figura 30. Comparación de la respuesta de validación del sistema tipo Hammerstein con
ZMS al 50% sin diezmado (negro) con la respuesta del modelo 5 (azul).
Modelo 6:
Parte lineal: B /F (z−1)=
11−1.8450 z−1
+0.8520 z−2
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-100.7099 -81.6520 -75.9027 -73.5568 -64.1900 -23.4508 -4.4907 14.5973
58.3437 66.3228 69.1883 92.7005 110.0866; -0.6992 -0.5609 -0.5196 -0.0198
-0.0118 -0.0118 -0.0118 -0.0118 -0.0118 -0.0046 0.4981 0.6654 0.7787)
Figura 31. Relación entrada/salida de la no linealidad identificada por el modelo 6 en el
sistema tipo Wiener con ZMS al 50% sin diezmado.
37
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 32. Comparación de la respuesta de validación del sistema tipo Wiener con ZMS al
50% sin diezmado (negro) con la respuesta del modelo 6 (azul).
Modelo 7:
Parte lineal: B /F (z−1)=
1.0713 z−1+1 z−2
1−1.8100 z−1+0.8194 z−2
−2.7677∗10−4 z−3
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-0.972 -0.8351 -0.5296 -0.5113 0.0580 0.0719 0.1076 0.4587 0.4641 0.4676
0.5157 0.8434 1.3966; -0.0041 -0.0035 -0.0022 -3.8548*10^-5 -3.8367*10^-5
-3.8071*10^-5 -3.8096*10^-5 -3.8122*10^-5 0.0002 0.0003 0.0023 0.0037
0.0061)
Figura 33. Relación entrada/salida de la no linealidad identificada por el modelo 7 en el
sistema tipo Hammerstein con ZMS al 50% sin diezmado.
38
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 34. Comparación de la respuesta de validación del sistema tipo Hammerstein con
ZMS al 50% sin diezmado (negro) con la respuesta del modelo 7 (azul).
Modelo8:
Parte lineal: B / F(z−1)=
1 z−1+0.0172 z−2
1−2.0821 z−1+1.3100 z−2
−0.2214−3
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-134.6578 -113.0742 -85.5272 -80.4606 -46.5940 -19.7410 -3.5313 15.9255
38.6764 72.6299 78.0832 106.5883 124.9570; -0.8269 -0.6915 -0.5170 -0.0115
-0.0115 -0.0115 -0.0115 -0.0115 -0.0115 -0.0114 0.4943 0.6742 0.7896)
Figura 35. Relación entrada/salida de la no linealidad identificada por el modelo 8 en el
sistema tipo Wiener con ZMS al 50% sin diezmado.
39
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 36. Comparación de la respuesta de validación del sistema tipo Wiener con ZMS al
50% sin diezmado (negro) con la respuesta del modelo 8 (azul).
3.2.3 Zona muerta 75%
Tabla 3. Resultados de la identificación de la ZMS al 75%
Nombre de los
modelosParte lineal Tipo de modelo
Estimador no
lineal
FIT
obtenido
Modelo9 [1 2 0] Hammerstein Picewise linear 97.31%
Modelo10 [1 2 0] Wiener Picewise linear 82.36%
Modelo11 [2 3 1] Hammerstein Picewise linear 96.89%
Modelo12 [2 3 1] Wiener Picewise linear 90.44%
Modelo9:
Parte lineal: B / F(z−1)=
11−1.8447 z−1
+0.8517 z−2
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-0.8348 -0.7623 -0.5408 -0.4448 -0.3140 -0.2961 -0.1244 -0.1133 0.3539
0.3730 0.4768 0.6982 0.7335; -0.0057 1.4178*10^-5 4.3964*10^-5 -1.3900*10^-5
-5.1958*10^-5 3.2525*10^-5 -4.4422*10^-5 2.3447*10^-5 8.2349*10^-6
2.0537*10^-5- 4.0130*10^-6 4.1295*10^-5 0.0053)
40
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 37. Relación entrada/salida de la no linealidad identificada por el modelo 9 en el
sistema tipo Hammerstein con ZMS al 75% sin diezmado.
Figura 38. Comparación de la respuesta de validación del sistema tipo Hammerstein con
ZMS al 75% sin diezmado (negro) con la respuesta del modelo 9 (azul).
Modelo 10:
Parte lineal: B /F (z−1)=
11−1.8492 z−1
−0.8560 z−2
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-596.2815 -165.2973 -115.4367 -112.9562 -110.7929 -2.9909 17.0128 33.2237
102.7133 107.5737 109.7089 368.7223 384.0850; -3.8387 -1.0500 -0.7235
0.0057 0.0116 0.0116 0.0116 0.0116 0.0117 0.0721 0.7562 2.5154 2.6192)
41
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 39. Relación entrada/salida de la no linealidad identificada por el modelo 10 en el
sistema tipo Wiener con ZMS al 75% sin diezmado.
Figura 40. Comparación de la respuesta de validación del sistema tipo Wiener con ZMS al
75% sin diezmado (negro) con la respuesta del modelo 10 (azul).
Modelo 11:
Parte lineal: B / F(z−1)=
1 z−1+0.9365 z−2
1−1.8095 z−1+0.8184 z−2
+1.5302∗10−4 z−3
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-0.8351 -0.8213 -0.7779 -0.6120 -0.0829 -0.0450 -0.0290 0.1508 0.2285
0.4693 0.4706 0.7064 0.7253; -0.0037 -0.0028 1.0618*10^-5 1.0602*10^-5
1.078902*10^-5 1.0661*10^-5 1.0604*10^-5 1.0623*10^-5 1.0606*10^-5
1.0626*10^-5 1.0631*10^-5 1.0604*10^-5 0.0035)
42
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 41. Relación entrada/salida de la no linealidad identificada por el modelo 11 en el
sistema tipo Hammerstein con ZMS al 75% sin diezmado.
Figura 42. Comparación de la respuesta de validación del sistema tipo Hammerstein con
ZMS al 75% sin diezmado (negro) con la respuesta del modelo 11 (azul).
Modelo 12:
Parte lineal: B /F (z−1)=0.4344 z−1
+1 z−2
1−0.8142 z−1−0.9858 z−2+0.8177 z−3
Parte no lineal: Puntos de Quiebre ([x] ; [y])=
(-62.6456 -62.4667 -46.7997 -34.2032 -24.1687 -13.8386 -2.9809 7.9394
18.2185 28.7290 41.1254 58.7113 58.9789; -0.6906 0.0127 0.0127 0.0127
0.0127 0.0127 0.0127 0.0127 0.0127 0.0127 0.0127 0.0127 0.7238)
43
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 43. Relación entrada/salida de la no linealidad identificada por el modelo 12 en el
sistema tipo Wiener con ZMS al 75% sin diezmado.
Figura 44. Comparación de la respuesta de validación del sistema tipo Wiener con ZMS al
75% sin diezmado (negro) con la respuesta del modelo 12 (azul).
3.3 Datos con diezmado
En este caso se determina el efecto real que presenta la identificación no lineal de un
sistema dado afectado por una zona muerta con determinado nivel de severidad, ante
distintos grados del carácter aperiódico en el muestreo.
3.3.1 Diezmado zona muerta de 25%
Tabla 4. Resultados de la identificación de la ZMS al 25%
Aleatoriedad
máxima
Parte lineal Tipo de modeloEstimador no
lineal
FIT
obtenido
44
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
1 muestra [1 2 0] Hammerstein Picewise linear 98.17%
Wiener Sigmoidnet 96.64%
2 muestras [1 2 0] Hammerstein Picewise linear 96.52%
Wiener Picewise linear 95.4%
3 muestras [1 2 0] Hammerstein Picewise linear 91.26%
Wiener Picewise linear 86.06%
Diezmado aleatorio de una muestra:
Figura 45. Entrada simulada (rojo) vs tiempo y entrada con diezmado de hasta una muestra
(azul) vs tiempo.
Figura 46. Entrada estimada vs tiempo.
Figura 47. Salida simulada (rojo) vs tiempo en el sistema tipo Hammerstein con ZMS al
25% y salida con diezmado de hasta una muestra (azul) vs tiempo.
45
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 48. Salida simulada (rojo) vs tiempo en el sistema tipo Wiener con ZMS al 25% y
salida con diezmado de hasta una muestra (azul) vs tiempo.
Figura 49. Salida simulada (rojo) vs tiempo en el sistema Hammerstein con ZMS al 25% y
salida estimada (azul) vs tiempo.
Figura 50. Salida simulada (rojo) vs tiempo en el sistema Wiener con ZMS al 25% y salida
estimada (azul) vs tiempo.
Componente lineal del modelo Hammerstein:
B /F (z−1)=
11−1.8439 z−1
+0.8509 z−2
46
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Componente lineal del modelo Wiener:
B /F (z−1)=
11−1.8481 z−1
+0.8551 z−2
Figura 51. Relación entrada/salida de la no linealidad, identificada por el modelo
Hammerstein en el sistema tipo Hammerstein con ZMS al 25% y diezmado de hasta una
muestra.
Figura 52. Relación entrada/salida de la no linealidad, identificada por el modelo Wiener en
el sistema tipo Wiener con ZMS al 25% y diezmado de hasta una muestra.
47
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 53. Comparación entre la respuesta del modelo Hammerstein (azul) y la respuesta de
validación del sistema tipo Hammerstein con ZMS al 25% y diezmado de hasta una
muestra (negro).
Figura 54. Comparación entre la respuesta del modelo Wiener (azul) y la respuesta de
validación del sistema tipo Wiener con ZMS al 25% y diezmado de hasta una muestra
(negro).
Diezmado aleatorio de hasta dos muestras:
Figura 55. Entrada simulada (rojo) vs tiempo y entrada con diezmado de hasta dos muestras
(azul) vs tiempo.
Figura 56. Entrada estimada vs tiempo.
48
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 57. Salida simulada (rojo) vs tiempo en el sistema tipo Hammerstein con ZMS al
25% y salida con diezmado de hasta dos muestras (azul) vs tiempo.
Figura 58. Salida simulada (rojo) vs tiempo en el sistema tipo Wiener con ZMS al 25% y
salida con diezmado de hasta dos muestras (azul) vs tiempo.
Figura 59. Salida simulada (rojo) vs tiempo en el sistema Hammerstein con ZMS al 25% y
salida estimada (azul) vs tiempo.
49
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 60. Salida simulada (rojo) vs tiempo en el sistema Wiener con ZMS al 25% y salida
estimada (azul) vs tiempo.
Componente lineal del modelo Hammerstein:
B /F (z−1)=
11−1.8206 z−1
+0.8286 z−2
Componente lineal del modelo Wiener:
B /F (z−1)=
11−1.8452 z−1
+0.8523 z−2
Figura 61. Relación entrada/salida de la no linealidad, identificada por el modelo
Hammerstein en el sistema tipo Hammerstein con ZMS al 25% y diezmado de hasta dos
muestras.
Figura 62. Relación entrada/salida de la no linealidad, identificada por el modelo Wiener en
el sistema tipo Wiener con ZMS al 25% y diezmado de hasta dos muestras.
50
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 63. Comparación entre la respuesta del modelo Hammerstein (azul) y la respuesta de
validación del sistema tipo Hammerstein con ZMS al 25% y diezmado de hasta dos
muestras (negro).
Figura 64. Comparación entre la respuesta del modelo Wiener (azul) y la respuesta de
validación del sistema tipo Wiener con ZMS al 25% y diezmado de hasta dos muestras
(negro).
Diezmado aleatorio de hasta tres muestras:
Figura 65. Entrada simulada (rojo) vs tiempo y entrada con diezmado de hasta tres muestras
(azul) vs tiempo.
51
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 66. Entrada estimada vs tiempo.
Figura 67. Salida simulada (rojo) vs tiempo en el sistema tipo Hammerstein con ZMS al
25% y salida con diezmado de hasta tres muestras (azul) vs tiempo.
Figura 68. Salida simulada (rojo) vs tiempo en el sistema tipo Wiener con ZMS al 25% y
salida con diezmado de hasta tres muestras (azul) vs tiempo.
52
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 69. Salida simulada (rojo) vs tiempo en el sistema Hammerstein con ZMS al 25% y
salida estimada (azul) vs tiempo.
Figura 70. Salida simulada (rojo) vs tiempo en el sistema Wiener con ZMS al 25% y salida
estimada (azul) vs tiempo.
Componente lineal del modelo Hammerstein:
B / F(z−1)=
11−1.7592 z−1
+0.7693 z−2
Componente lineal del modelo Wiener:
B / F(z−1)=
11−1.8369 z−1
+0.8442 z−2
Figura 71. Relación entrada/salida de la no linealidad, identificada por el modelo
Hammerstein en el sistema tipo Hammerstein con ZMS al 25% y diezmado de hasta tres
muestras.
53
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 72. Relación entrada/salida de la no linealidad, identificada por el modelo Wiener en
el sistema tipo Wiener con ZMS al 25% y diezmado de hasta tres muestras .
Figura 73. Comparación entre la respuesta del modelo Hammerstein (azul) y la respuesta de
validación del sistema tipo Hammerstein con ZMS al 25% y diezmado de hasta tres
muestras (negro).
Figura 74. Comparación entre la respuesta del modelo Wiener (azul) y la respuesta de
validación del sistema tipo Wiener con ZMS al 25% y diezmado de hasta tres muestras
(negro).
54
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
3.3.2 Diezmado zona muerta de 25% en proceso de estructura desconocida
En este caso la información referente al sistema a identificar de la cual se dispone consiste
solamente en los datos experimentales medidos en la entrada, la salida y los
correspondientes instantes de muestreo no uniformes; estos se obtienen, con el fin de
ilustrar el procedimiento de identificación a realizar cuando se procesan datos medidos
aleatoriamente en un proceso físico real, mediante la simulación y un diezmado aleatorio de
hasta dos muestras, pudiendo definirse los datos a muestrear de manera particular si se
considera necesario. Finalmente para la identificación se subministra una estructura lineal
(vector [nb nf nk] definido anteriormente) aproximada que se asume inicialmente por el
usuario y puede ser modificada según los resultados obtenidos. Los estimadores no lineales
utilizados en el algoritmo se aplican tanto en la estimación de parámetros para una
estructura Hammerstein como para una Wiener y se realizan los debidos refinamientos de
los distintos modelos obtenidos, presentándose al concluir el procedimiento descrito, los
mejores resultados desarrollados por las dos estructuras no lineales mencionadas en cuanto
a predicción de la salida y descripción de la no linealidad detectada.
Figura 75. Segmento de datos muestreados en la salida del sistema de estructura
desconocida vs instantes de muestreo no uniformes.
55
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 76. Diezmado sufrido por los datos medidos a la salida (valores muestreados en
azul).
Figura 77. Datos de salida estimados.
Componente lineal del modelo Wiener:
B /F (z−1)=
11−1.8457 z−1
+0.8529 z−2
Figura 78. Comparación entre la respuesta del modelo Wiener del sistema (azul) y la
respuesta de validación del sistema (negro), con estimador 'picewise linear' para un FIT de
93.36%.
Componente lineal del modelo Hammerstein:
B /F (z−1)=
11−1.8394 z−1
+0.8468 z−2
56
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
Figura 79. Comparación entre la respuesta del modelo Hammerstein del sistema (azul) y la
respuesta de validación del sistema (negro), con estimador 'sigmoidnet' para un FIT de
96.66%.
Figura 80. Relación entrada/salida de la no linealidad, identificada por el modelo Wiener
del sistema.
Figura 81. Relación entrada/salida de la no linealidad, identificada por el modelo
Hammerstein del sistema.
3.4 Valoración económica
El impacto económico del presente trabajo está enfocado en la funcionalidad implícita en
todo proceso de obtención de modelos donde la finalidad es contribuir de manera directa en
el desarrollo de la investigación científica y de manera indirecta en la operabilidad y
57
CAPÍTULO 3. RESULTADOS Y ANÁLISIS DEL PROCEDIMIENTO DE IDENTIFICACIÓN.
posible control de procesos físicos reales sometidos a condiciones severas de trabajo, donde
el punto de partida lo constituye precisamente la adquisición de conocimientos sobre estos
para la determinación de la influencia de factores externos e internos sobre su desempeño.
Es importante puntualizar que los resultados obtenidos no significaron ningún costo
adicional a la institución, debido a la disponibilidad previa de los medios requeridos.
3.5 Consideraciones finales del capítulo
1. Los mejores resultados en la identificación sin presencia de diezmado en los datos, se
concentran en los sistemas con una zona muerta de severidad inferior al 75% de la
magnitud de la entrada (obteniéndose los mejores modelos a través del estimador no lineal
'picewise linear' tanto en las estructuras de modelo tipo Hammerstein como en las tipo
Wiener). Además en el caso Hammerstein los modelos presentan una alta calidad en cuanto
a la 'predicción de la salida medida' (FIT) y no así en la descripción de la no linealidad
existente, mientras que en el caso Wiener ocurre todo lo contrario apreciándose una mejor
representación por el modelo del efecto no lineal y disminuyendo el FIT obtenido.
2. En los procedimientos de diezmado, acondicionamiento e identificación, se observa que
la salida estimada posee una notable semejanza con la salida simulada sometida a
diezmado, y la entrada estimada presenta un parecido aceptable con la entrada simulada
sometida a diezmado. Finalmente es posible afirmar que la calidad de la identificación se
perjudica a medida que aumenta la aleatoriedad en el muestreo ocasionando que las señales
estimadas difieran de las señales reales; pero adicionalmente es válido señalar que la
posición particular de los instantes donde se concentra la ocurrencia de pérdidas de los
datos medidos, afecta el desempeño alcanzado por las estructuras no lineales empleadas.
3. En la identificación realizada utilizando la simulación de un sistema similar a un proceso
Hammerstein, suponiendo que la estructura de dicho sistema se desconoce, el modelo
Hammerstein tuvo resultados más favorables en cuanto a la predicción de la salida medida,
sin embargo el modelo Wiener logra definir con mayor precisión aspectos fundamentales de
la no linealidad estática presente en el sistema tales como los puntos de ruptura o cambios
de pendiente.
58
CONCLUSIONES Y RECOMENDACIONES
CONCLUSIONES Y RECOMENDACIONES
Conclusiones
1 Se determinó el procedimiento más adecuado para el tratamiento previo de los datos a
emplear en la identificación ,teniendo en cuenta las especificaciones de los distintos
modelos a utilizar y del sistema considerado para su descripción.
2 Se seleccionó la estructura de modelo a emplear según las características inherentes al
sistema no lineal considerado y teniendo en cuenta los parámetros necesarios para
representar satisfactoriamente el efecto no lineal severo tipo zona muerta.
3 Se diseñó una herramienta para la simulación e identificación de sistemas con ZMS,
incorporando el proceso de diezmado de los datos medidos, utilizando funciones del
Ident de MATLAB.
Recomendaciones
La presente investigación está enmarcada en el análisis de la incidencia real que tiene la
presencia de un efecto no lineal severo específico, en los resultados a obtener mediante la
identificación no lineal de determinado sistema, por esto se recomienda:
1 Profundizar en definir la influencia que tiene para la identificación no lineal de
sistemas la presencia de condiciones de operación diferentes a las abordadas en este
trabajo, ya sea considerando un efecto no lineal severo de otra naturaleza
(combinación de la zona muerta con otro tipo de no linealidad distinta a la fricción) o
modificando la característica dinámica (parte lineal) del sistema, obteniéndose un
grado de generalidad aún mayor.
59
REFERENCIAS BIBLIOGRÁFICAS
REFERENCIAS BIBLIOGRÁFICAS
Du, J. y M. Wang. (2009). Nonlinear dead zone system identification based on support
vector machine, The Sixth International Symposium on Neural Networks (ISNN
2009), Springer: 235–243.
Kara, T. y İ. Eker. (2004). ''Nonlinear modeling and identification of a DC motor for
bidirectional operation with real time experiments'', Energy Conversion &
Management (2003), 45, 1087–1106.
Lentz, J.J. (2008). Parameter estimation of systems with deadzone and deadband and
emulation using xPC Target. Thesis, Missouri University of Sciense and
Technology, United States of America.
Liu, R., H. Li, T. Pan y Z. Li. (2015). Parameter estimation for Non-uniformly Sampled
Wiener Systems with Dead-zone Nonlinearities , Pre.∗ 9th International Symposium
on Advanced Control of Chemical Processes, IFAC-Pap. 48, 789–794.
Ljung, L. (1999). System Identification. Theory for the user, 2nd Edition, Prentice Hall PTR,
United States of America.
MathWorks,Inc., (2014). System Identification Toolbox TM User's Guide. Natick, MA
01760-2098.
Lv, X., X.Ren, D.Li y X.Wang. (2010). Identification of Hammerstein systems with dead-
zone nonlinearities using modified CPLNN, Control Conference (CCC), 2010 29th
Chinese, IEEE, Beijing, China.
Tan, Y., R.Dong y R.Li. (2009). Recursive Identification of Sandwich Systems With Dead
Zone and Application. IEEE Trans. Control Syst. Technol. 17, 945–951.
https://doi.org/10.1109/TCST.2009.2014241
60
REFERENCIAS BIBLIOGRÁFICAS
Voros, J. (2004). ''Parameter identification of hammerstein systems with asymmetric dead-
zones'', J. Electr. Eng.-Bratisl,55, 46–49.
Esquivel, O. (2015). Identificación no lineal de un sistema con Zona Muerta. Thesis,
Universidad Central “Marta Abreu” de Las Villas, Cuba.
Thaler, G.J. y M.P. Pastel. (1962). Nonlinear Control Systems. McGraw-Hill, New York.
61
ANEXOS
ANEXOS
Anexo I Algoritmo de identificación
% PARÁMETROS MODIFICABLES
tss = 10;% tiempo de estabilización del sistema ante entrada tipo paso y
% coeficientes de la función transferencial de la parte lineal del sistema
% a utilizar, en caso de emplearse simulación
cn0 = 1;
cn1 = 0;
cn2 = 0;
cd0 = 1;
cd1 = 2;
cd2 = 1;
% información referente a: la parte no lineal del sistema a emplear para la
% simulación, grado de aleatoriedad en el muestreo, numero de mediciones a
% realizar, variabilidad en el ancho de pulsos de la entrada y estimadores
% lineales a emplear en el modelado [nb nf nk]
limite_superior_de_zona_muerta = 0.25;
maxima_perdida_de_muestras = 0;
numero_de_mediciones = 5000;
simular = 1;
limite_inferior_de_zona_muerta = -limite_superior_de_zona_muerta;
coeficiente_de_friccion = limite_superior_de_zona_muerta;
amplitud_de_pulsos_min_en_multiplos_de_T_de_muest_real = 30;
62
ANEXOS
amplitud_de_pulsos_max_en_multiplos_de_T_de_muest_real = 70;
SELECTOR_DE_ENTRADA = 1;
nb = 2;
nf = 3;
nk = 1;
predeterminar_valores_a_muestrear = 0;
% en caso de seleccionarse simular=0 los vectores entrada_medida,
% salida_medida e instantes_de_muestreo deben ser inicializados; de igual
% forma si se selecciona predeterminar_valores_a_muestrear=1 el vector
% muestras_a_tomar debe ser inicializado
% PARÁMETROS INTERNOS PARA SIMULACIÓN
if(simular == 1)
numd=[cn2 cn1 cn0]; % numerador de la función de transferencia
dend=[cd2 cd1 cd0]; % denominador de la función de transferencia
T_de_muest_real= round(tss/100,11);
% Obtención de la entrada del sistema para simulación
% entrada escalón
tiempo_de_simulacion = (numero_de_mediciones)*T_de_muest_real;
u = zeros (numero_de_mediciones,1);
k = 1;
while(k <= numero_de_mediciones)
i = amplitud_de_pulsos_max_en_multiplos_de_T_de_muest_real
+round((amplitud_de_pulsos_min_en_multiplos_de_T_de_muest_real...
-amplitud_de_pulsos_max_en_multiplos_de_T_de_muest_real)*rand);
a = 1;
v= rand;
if v > 0.01
63
ANEXOS
n = v;
else
n = 0.01;
end
n = 2*n - 1;
while(a <= i && k<= numero_de_mediciones)
u (k) = n;
k= k+1;
a = a +1;
end
end
entrada_aleatoria.time = [T_de_muest_real:T_de_muest_real:(numero_de_mediciones)*T_de_muest_real];
entrada_aleatoria.signals.values = u;
entrada_aleatoria.signals.dimensions = 1;
if (SELECTOR_DE_ENTRADA == 1)
% en caso de preferir utilizar una entrada con determinadas características deseadas, reemplazar
% la existente (entrada_Hammer_99.98%.mat) con la entrada seleccionada salvada previamente
load('entrada_Hammer_99.98%.mat');
tiempo_de_simulacion = entrada_aleatoria.time(end);
entrada_aleatoria.time = entrada_aleatoria.time;
entrada_aleatoria.signals.values = entrada_aleatoria.signals.values;
entrada_aleatoria.signals.dimensions = 1;
end
sim('Experimento')
t_aper = zeros(1,length(val_exp_in.time));
i = 1;
64
ANEXOS
n = 1;
% Obtención de los instantes de muestreo aperiódico cuando se requiere simulación
if(predeterminar_valores_a_muestrear == 0)
while(n <= length(val_exp_in.time))
t_aper(i) = val_exp_in.time(n);
i = i+1;
n = n + 1 + round((maxima_perdida_de_muestras)*rand);
end
end
if(predeterminar_valores_a_muestrear == 1)
l = 1;
n = muestras_a_tomar(l);
while(n <= length(val_exp_in.time) && l <= length(muestras_a_tomar))
t_aper(i) = val_exp_in.time(n);
i = i+1;
l = l+1;
if(l <= length(muestras_a_tomar))
n = muestras_a_tomar(l);
end
end
end
t_de_muest_aper = t_aper(1:i-1);
valores_muest_aper_in = zeros(1,i-1);
valores_muest_aper_out_H = zeros(1,i-1);
valores_muest_aper_out_W = zeros(1,i-1);
l = 1;
n = 1;
% Obtención de las señales muestreadas aperiódicamente
65
ANEXOS
while (n <= length(val_exp_in.time))
while((l <= length(t_de_muest_aper))&&(t_de_muest_aper(l)== val_exp_in.time(n)))
valores_muest_aper_in(l) = val_exp_in.signals.values(n);
valores_muest_aper_out_H(l) = val_exp_out.signals.values(n);
valores_muest_aper_out_W(l) = val_exp_out1.signals.values(n);
n = n + 1;
l = l + 1;
end
n = n+1;
end
end
% Obtención de la información del sistema cuando no se requiere simulación
if(simular == 0)
t_de_muest_aper = instantes_de_muestreo;
valores_muest_aper_in = entrada_medida;
valores_muest_aper_out_H = salida_medida;
valores_muest_aper_out_W = salida_medida;
end
% Estimador de T de muestreo cte
mul1 = 1;
b = 0;
k = 1;
while(k <= length(t_de_muest_aper) && b == 0 )
M = t_de_muest_aper(k)
i = 1;
x = 0;
while(i<=12 && x == 0)
m1 = M*10^(i-1)
if(round(m1)==m1)
66
ANEXOS
mul = 10^(i-1);
mul1 = max(mul1,mul);
x = 1;
elseif( i == 12 )
mul1 = 10^11;
b = 1;
end
i = i + 1;
end
k = k + 1;
end
dt = round(t_de_muest_aper*mul1);
if(dt(1)==0)
mcd = dt(2);
n = 3;
end
if(dt(1)~=0)
mcd = dt(1);
n = 2;
end
for i=n:1:length(dt)
mcd = gcd(mcd,dt(i));
end
MCD = mcd/mul1;
T_de_muest_calculado = MCD
t_de_muest_aper = round(t_de_muest_aper,11);
aaT = T_de_muest_real-T_de_muest_calculado;
67
ANEXOS
% Determinación de instantes donde no se produjo el muestreo
m = 1;
vect_T_cte = zeros(1,ceil(t_de_muest_aper(end)/MCD)+1);
for i=1:1:ceil(t_de_muest_aper(end)/MCD)+1
x = 0;
l = i-1;
n = round(l*(MCD),11);
if((m <= length(t_de_muest_aper))&&(abs(t_de_muest_aper(m)-n)<0.0000001*MCD))
vect_T_cte(i) = t_de_muest_aper(m);
m = m + 1;
x = 1;
end
if(x == 0)
vect_T_cte(i) = n;
end
end
acantidad_de_datos_para_misdata =
round(length(val_exp_in.time)*T_de_muest_real/T_de_muest_calculado)
% Reemplazo de datos faltantes por NaN
vect_in_T_cte = zeros(1,length(vect_T_cte));
vect_out_T_cte_H = zeros(1,length(vect_T_cte));
vect_out_T_cte_W = zeros(1,length(vect_T_cte));
i = 1;
n = 1;
l = 1;
x =0;
while(i <= length(vect_T_cte)&& x==0)
while((i <= length(vect_T_cte)) && (n <= length(t_de_muest_aper))...
68
ANEXOS
&& (vect_T_cte(i) == t_de_muest_aper(n)))
vect_in_T_cte(i) = valores_muest_aper_in(n);
vect_out_T_cte_H(i) = valores_muest_aper_out_H(n);
vect_out_T_cte_W(i) = valores_muest_aper_out_W(n);
l = l + 1;
i = i + 1;
n = n + 1;
end
if(n == length(t_de_muest_aper)+1)
x = 1;
end
while((n > 1) && (x==0) && (i <= length(vect_T_cte)) && (vect_T_cte(i) ~= t_de_muest_aper(n)))
vect_in_T_cte(i) = NaN;
vect_out_T_cte_H(i) = NaN;
vect_out_T_cte_W(i) = NaN;
i = i + 1;
end
while((n == 1) && (x==0) && (vect_T_cte(i) ~= t_de_muest_aper(n)))
vect_in_T_cte(i)=NaN;
vect_out_T_cte_H(i)=NaN;
vect_out_T_cte_W(i)=NaN;
i = i + 1;
end
end
% Estimación de las señales de entrada y salida
if(acantidad_de_datos_para_misdata<=15000)% esto es opcional, pero si misdata recibe un número de datos
excesivo existe el riesgo de demora en los cálculos
if(simular == 1)
dataHin = iddata(vect_in_T_cte',[],MCD,'Tstart',0);
69
ANEXOS
datahin1 = misdata(dataHin,5,1);
dataH = iddata(vect_out_T_cte_H',datahin1.OutputData,MCD,'Intersample','foh','Tstart',0);
get(dataH);
d = misdata(dataH,5,1);
d1 = detrend(d,0);
% los intervalos de estimación y validación pueden ser modificados
d_est_H = d1(1:ceil(70/100*length(d.Inputdata))-1);
d_val_H = d1(ceil(70/100*length(d.Inputdata))-1:length(d.Inputdata));
dataWin = dataHin;
datawin1 = datahin1;
dataW = iddata(vect_out_T_cte_W',datawin1.OutputData,MCD,'Intersample','foh','Tstart',0);
get(dataW);
d2 = misdata(dataW,5,1);
d3 = detrend(d2,0);
d_est_W = d3(1:ceil(70/100*length(d2.Inputdata))-1);
d_val_W = d3(ceil(70/100*length(d2.Inputdata))-1:length(d2.Inputdata));
end
if(simular == 0)
dataHin = iddata(vect_in_T_cte',[],MCD,'Tstart',0);
datahin1 = misdata(dataHin,5,1);
dataH = iddata(vect_out_T_cte_H',datahin1.OutputData,MCD,'Intersample','foh','Tstart',0);
get(dataH);
d = misdata(dataH,5,1);
d1 = detrend(d,0);
d_est_H = d1(1:ceil(70/100*length(d.Inputdata))-1);
d_val_H = d1(ceil(70/100*length(d.Inputdata))-1:length(d.Inputdata));
dataWin = dataHin;
datawin1 = datahin1;
dataW = dataH;
70
ANEXOS
get(dataW);
d2 = d;
d3 = d1;
d_est_W = d_est_H;
d_val_W = d_val_H;
end
% Obtención de modelos
m1 = nlhw(d_est_H,[nb nf nk],sigmoidnet('NumberOfUnits',8),'unitgain');
m2 = nlhw(d_est_H,[nb nf nk],pwlinear('NumberOfUnits',4),'unitgain');
m3 = nlhw(d_est_H,[nb nf nk],'deadzone','unitgain');
m4 = pem(d_est_H,m1,'MaxIter',30);
m5 = pem(d_est_H,m2,'MaxIter',30);
m6 = pem(d_est_H,m3,'MaxIter',30);
m7 = nlhw(d_est_H,[nb nf nk],sigmoidnet('num',13),'unitgain');
m8 = pem(d_est_H,m7,'MaxIter',30);
m9 = nlhw(d_est_H,[nb nf nk],pwlinear('num',13),'unitgain');
m10 = pem(d_est_H,m9,'MaxIter',30);
[YH, FIT, X0] = compare(d_val_H,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10)
porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H =
max(FIT{1,1},max(FIT{2,1},max(FIT{3,1},max(FIT{4,1},...
max(FIT{5,1},max(FIT{6,1},max(FIT{7,1},max(FIT{8,1},max(FIT{9,1},FIT{10,1})))))))));
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{1,1})
modelo_H = m1;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{2,1})
modelo_H = m2;
end
71
ANEXOS
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{3,1})
modelo_H = m3;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{4,1})
modelo_H = m4;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{5,1})
modelo_H = m5;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{6,1})
modelo_H = m6;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{7,1})
modelo_H = m7;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{8,1})
modelo_H = m8;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{9,1})
modelo_H = m9;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_H == FIT{10,1})
modelo_H = m10;
end
m1 = nlhw(d_est_W,[nb nf nk],'unitgain',sigmoidnet('NumberOfUnits',8));
m2 = nlhw(d_est_W,[nb nf nk],'unitgain',pwlinear('NumberOfUnits',4));
m3 = nlhw(d_est_W,[nb nf nk],'unitgain','deadzone');
m4 = pem(d_est_W,m1,'MaxIter',30);
72
ANEXOS
m5 = pem(d_est_W,m2,'MaxIter',30);
m6 = pem(d_est_W,m3,'MaxIter',30);
m7 = nlhw(d_est_W,[nb nf nk],'unitgain',sigmoidnet('num',13));
m8 = pem(d_est_W,m7,'MaxIter',30);
m9 = nlhw(d_est_W,[nb nf nk],'unitgain',pwlinear('num',13));
m10 = pem(d_est_W,m9,'MaxIter',30);
[YH, FIT, X0] = compare(d_val_W,m1,m2,m3,m4,m5,m6,m7,m8,m9,m10)
porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W =
max(FIT{1,1},max(FIT{2,1},max(FIT{3,1},max(FIT{4,1},...
max(FIT{5,1},max(FIT{6,1},max(FIT{7,1},max(FIT{8,1},max(FIT{9,1},FIT{10,1})))))))));
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{1,1})
modelo_W = m1;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{2,1})
modelo_W = m2;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{3,1})
modelo_W = m3;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{4,1})
modelo_W = m4;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{5,1})
modelo_W = m5;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{6,1})
modelo_W = m6;
73
ANEXOS
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{7,1})
modelo_W = m7;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{8,1})
modelo_W = m8;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{9,1})
modelo_W = m9;
end
if (porciento_de_la_salida_medida_que_es_explicado_por_el_modelo_W == FIT{10,1})
modelo_W = m10;
end
% FIGURAS DE COMPROBACIÓN DE RESULTADOS
if(simular==1)
modelo_sys_Hammerstein = modelo_H;
figure(1)
plot(val_exp_in.time,val_exp_in.signals.values,'red');
hold on
plot(dataHin.SamplingInstants,dataHin.OutputData,'blue');
legend('Entrada simulada (rojo) y entrada diezmada (azul)','Location','NorthOutside');
figure(2)
plot(val_exp_in.time,val_exp_in.signals.values,'red');
hold on
plot(dataH.SamplingInstants,dataH.InputData,'blue');
legend('Entrada simulada (rojo) y entrada estimada (azul)','Location','NorthOutside');
figure(3)
plot(val_exp_out.time,val_exp_out.signals.values,'red');
hold on
74
ANEXOS
plot(dataH.SamplingInstants,dataH.OutputData,'blue');
legend('Salida simulada (rojo) y salida diezmada (azul) sistema Hammerstein','Location','NorthOutside');
figure(4)
plot(val_exp_out.time,val_exp_out.signals.values,'red');
hold on
plot(d.SamplingInstants,d.OutputData,'blue');
legend('Salida simulada (rojo) y salida estimada (azul) sistema Hammerstein','Location','NorthOutside');
modelo_sys_Wiener = modelo_W;
figure(5)
plot(val_exp_out1.time,val_exp_out1.signals.values,'red');
hold on
plot(dataW.SamplingInstants,dataW.OutputData,'blue');
legend('Salida simulada (rojo) y salida diezmada (azul) sistema Wiener','Location','NorthOutside');
figure(6)
plot(val_exp_out1.time,val_exp_out1.signals.values,'red');
hold on
plot(d2.SamplingInstants,d2.OutputData,'blue');
legend('Salida simulada (rojo) y salida estimada (azul) sistema Wiener','Location','NorthOutside');
dif = dataHin.SamplingInstants-val_exp_in.time(1:length(dataHin.OutputData));
end
figure(7)
sys = tf(numd,dend);
l = fft(entrada_aleatoria.signals.values);
n = 1:1:length(entrada_aleatoria.signals.values);
m = (2*pi/(T_de_muest_real))*(n/length(entrada_aleatoria.signals.values));
plot(m,abs(l));
legend('Espectro de la señal de entrada vs la frecuencia en rad/s','Location','NorthOutside');
75
ANEXOS
plot(modelo_sys_Hammerstein)
compare(d_val_H,modelo_sys_Hammerstein);
get(modelo_sys_Hammerstein)
plot(modelo_sys_Wiener)
compare(d_val_W,modelo_sys_Wiener);
get(modelo_sys_Wiener)
else
sobrecarga_de_misdata = 1 % en caso de detectarse un exceso de datos a procesar por misdata, esta variable
lo indicará
end
76