Tema 1 Introducción a la Identificación de sistemas dinámicos 1.1 La Identificación como herramienta para la modelización de sistemas dinámicos El funcionamiento de los procesos industriales ha cambiado drásticamente en las últimas décadas. Este cambio es debido principalmente a la evolución de la tecnología del ordenador. La automatización de los procesos ha comportado un aumento de la productividad de algunos sectores industriales, obligando a la industria a adaptarse a las demandas de mercado y aumentar su competitividad [Backx, 1993]. Para aumentar la competitividad ha sido necesario desarrollar nuevas técnicas: métodos y herramientas que permitan maximizar la eficiencia de los procesos, desarrollando controladores de gran calidad, y maximizar la flexibilidad de los procesos con el menor ajuste de la maquina. Para ello es imprescindible conocer el comportamiento dinámico del proceso, principalmente de las partes críticas. En la actualidad, cada vez más, el trabajo de un ingeniero consiste en la realización de modelos matemáticos de los procesos estudiados [Ljung 1994]. Los modelos son utilizados en áreas tan distintas como: bioingeniería, construcción, economía, meteorología, procesos químicos,... El campo de utilización de dichos modelos es muy amplio, destacar aplicaciones como: control, supervisión, predicción, simulación, optimización,.... A continuación comentamos un poco más las dos primeras ya que las técnicas de identificación y el diseño de controladores han seguido un camino paralelo y porque la supervisión está enlazada directamente con otro curso del programa de doctorado: diagnóstico y detección de fallos. Según [Seborg, 1994], las estrategias actuales de diseño de controladores pueden clasificarse en dos grupos: control convencional y control avanzado. El control convencional consistente en el control: manual, PID, de relación, en cascada, en avance o retardo de fase. Según dicho autor el 90% de los controladores de procesos industriales son actualmente controladores convencionales. Las estrategia s de control avanzado se subdividen en tres grupos: técnicas de control convencionales (control desacoplado, control selectivo, control con compensación de retardo puro), técnicas de control basadas en modelos numéricos (control predictivo, control adaptativo, control robusto, control con modelo interno) y técnicas de control basadas en conocimiento (sistemas expertos, control neuronal, control fuzzy). Tanto para la utilización de técnicas de diseño convencionales como técnicas avanzadas y especialmente las basadas en modelos, es necesario un modelo numérico preciso del proceso estudiado. Comentar también que los procesos industriales están sujetos a severos requerimientos de eficacia, disponibilidad y seguridad. La complejidad de los mismos crece constantemente y esto hace necesario el desarrollo de herramientas automáticas de ayuda al operador humano: los sistemas de supervisión. Entre las tareas de este tipo es necesario destacar las tareas destinadas a la detección y diagnóstico de fallos. Con una rápida detección de los fallos se puede evitar desde una pérdida de prestaciones hasta un deterioro del sistema con consecuencias que pueden ser catastróficas para el propio sistema e incluso para el personal de la planta. Los sistemas de detección de fallos se basan en la obtención de síntomas, de señales indicadoras de fallos, y su análisis para indicar la posible existencia y localización de dicho fallo. Uno de los métodos utilizados para ello es la comparación del proceso con un modelo de simulación, son los métodos denominados diagnostico basado en modelos como en [Iserman84], [Gertler98]. 1 Principalmente, por las dos razones expuestas anteriormente diseño de controladores y métodos de detección de fallos, es necesario disponer de un modelo matemático que se ajuste al comportamiento del sistema estudiado. El curso tiene como objetivos: • Conocer una metodologías de modelización denominada identificación; dicha metodología parte de la información disponible de dichos sistemas o, con otras palabras, el análisis de las entradas, señal de excitación, y las salidas, respuesta del sistema; • Estudiar distintas herramientas para la identificación de: o Modelos lineales, utilizando herramientas de análisis temporal y frecuencial; o Modelos no lineales, utilizando redes neuronales. El desarrollo de las técnicas de diseño de controladores utilizando métodos numéricos y las técnicas de identificación, se originaron simultáneamente [Backx93]. El inició de las técnicas de identificación, aplicadas a procesos con una entrada y una salida, tienen su origen a principios de los años 70 [Åström70]. No será hasta finales de la década de los 90 que empiezan aplicarse a procesos industriales [Ljung87; Söderström89], algunas de ellas útiles para el estudio de sistemas múltiple entrada múltiple (MIMO). 1.2 Estructura y clasificación de los modelos 1.2.1 Aspectos generales Se denomina identificación a la técnica de construir un modelo a partir de las variables medidas del proceso: entradas o variables de control, salidas o variables controladas y, posiblemente, perturbaciones. En principio y con el objetivo de modelizar se pueden proponer tres formas distintas de utilizar los métodos de identificación: - Hacer distintas aproximaciones para estructurar el problema: seleccionar las señales de interés, observar la dependencia entre ellas, estudiar el grado de linealidad del proceso, ... - Construir un modelo que describa el comportamiento entre las entradas y las salidas, prescindiendo del comportamiento físico. Hay distintas formas de abordar el problema, según se consideren modelos no paramétricos o modelos paramétricos. - Utilizar los datos para determinar los parámetros no conocidos del modelo físico obtenido a base del estudio de propiedades y leyes físicas del proceso estudiado. En este caso se habla de modelos “tailor-made” de los cuales se debe estimar solamente los valores de los parámetros no conocidos. Para ello se recurre a ensayos de comportamiento o pruebas físicas y/o a la utilización de técnicas de optimización. El curso propuesto se centra en las dos primeras. Otro aspecto a tener en cuenta será el tipo de modelo matemático que se pretende identificar. Hay varias formas de catalogar los modelos matemáticos [Ljung94]: deterministas o estocásticos, dinámicos o estáticos, de parámetros distribuidos o concentrados, lineales o no lineales, y de tiempo continuo o tiempo discreto. Los tipos de modelos que se pretende analizar en este curso serán: • Deterministas, ya que se quiere estudiar la relación entre la entrada y la salida con una parte no modelizable o no conocida (estocástica); • Dinámicos, porqué el objetivo es conocer el comportamiento dinámico de un proceso; • De parámetros concentrados, no se considera la variación en función del espacio; • Lineales o no lineales, se hará mayor énfasis a las técnicas de identificación de modelos lineales, comentado algunas técnicas para ser utilizadas en el caso de sistemas no lineales; 2 • Tiempo continuo o tiempo discreto, se propone describir técnicas para la identificación de modelos en tiempo discreto y continuo. Debemos dejar claros varios aspectos en cuanto a la construcción de un modelo: a) Un modelo se desarrolla siempre a partir de una serie de aproximaciones e hipótesis y, por lo tanto, es una representación parcial de la realidad; - Un modelo se construye para una finalidad específica y debe ser formulado para que sea útil a dicho fin; - Un modelo tiene que ser por necesidad un compromiso entre la simplicidad y la necesidad de recoger los aspectos esenciales del sistema en estudio. 1.2.2 Estructura del modelo Partiendo de la base de que para modelizar un proceso necesitamos los datos observados, en el caso de un sistema dinámico con una entrada en el instante t denominada como u(t) y una salida en el instante t denominada como y(t) los datos serán una colección finita de observaciones: Z N = {u ( 0), y (0), u(1), y(1),..., u ( N ), y( N )} El problema de los métodos de identificación consiste en encontrar relaciones matemáticas entre las secuencias de entrada y las secuencias de salida. O también, si definimos las observaciones de forma más general: Z N = {[ y (t ),ϕ (t ) ]}; t = 1,...N lo que nos preocupa es como determinar y(N+1) a partir de ϕ(N+1). En el caso de un sistema dinámico, ϕ(t) contendría la información de las entradas y salidas anteriores a t. El problema matemático que se formula es la construcción de una función gˆ N (t ,ϕ (t )) tal que a partir de ella podamos determinar y(t): yˆ (t ) = gˆ N (t , ϕ (t )) En general se busca una función g que sea parametrizable, es decir que tenga un número finito de parámetros. A estos parámetros se les denomina con θ. A toda la familia funciones candidatas se las denomina estructura del modelo, y en general estas funciones se escriben como g N (t , θ , ϕ (t )) . Esta función permite calcular el valor y(t): y (t ) ≈ g N ( t ,θ , ϕ (t )) La búsqueda de una buena función se realiza en términos del parámetro θ, y el cálculo del valor θˆN conduce a: gˆ N (t ,ϕ (t )) = g ( t ,θˆN ,ϕ ( t )) Por ejemplo en el caso de una estructura de modelo simple como ARX de primer orden: y (t) + ay (t − 1) = b1u( t −1) + b2u (t − 2) la correspondencia con la formulación general seria: θ = ( a, b1, b2 ) ϕ (t ) = ( y (t − 1), u (t − 1), u (t − 2) ) g ( t ,θ , ϕ (t )) = −ay (t − 1) + b1u (t − 1) + b2u (t − 2) 3 El ejemplo anterior muestra la formulación convencional de los sistemas de identificación, en que la estructura del modelo se corresponde con una regresión lineal. En general, la estructura del modelo podría ser cualquiera, desde regresiones no lineales (caso en que g es no lineal respecto aθ), modelos tipo ‘tailor-made’, a redes neuronales. También podrían incluirse modelos dinámicos Fuzzy en el caso en que se reemplazara ϕ(t) y y(t) por valores como “el horno está muy caliente”,”el horno está tibio”, “el agua está hirviendo”, ... 1.2.3 Modelos paramétricos y no paramétricos La utilización de modelos como g N (t , θ , ϕ (t )) indica que estamos restringiéndonos a un conjunto pequeño de modelos parametrizados respecto a θ. Un caso interesante es cuando se asume que la correcta representación del sistema pertenece a un gran número de sistemas y que no pueden parametrizarse con un número finito de parámetros. Un ejemplo seria el de la respuesta impulso en donde su modelo corresponde a un número infinito de coeficientes. Matemáticamente este concepto se representa por: ∞ Ug ( t , θ , ϕ( t )) d d d =1 en donde el vector θ contiene d parámetros. Por supuesto que para cada conjunto finito de datos ZN se tiene un d<∞. Esta situación se denomina no paramétrica. Los modelos no paramétricos se presentan en el tema 2. d 1.3 Clasificación de los métodos de identificación paramétrica 1.3.1 Principio de la identificación de sistemas Como se ha comentado en el apartado anterior, el principio de la identificación de sistemas dinámicos se basa en buscar g(t,θ,ϕ(t)) de manera que: y(t) próximo a g(t,θ,ϕ(t)) Este principio también incluye el caso en donde ϕ y y son valores no numéricos, en el caso en que “próximo” se defina adecuadamente. Si consideramos el caso numérico se debe seleccionar θ = θˆN tal que 1 N VN (θ ) = ∑ y( t ) − g (t ,θ ,ϕ (t )) N t =1 2 se minimiza considerando alguna norma · , por ejemplo: ε = ε , siendo: ε (t , θ ) = y( t ) − g (t , θ , ϕ ( t )) Este caso origina una familia de métodos de identificación denominados “métodos de predicción del error”. 1.3.2 Clasificación de los métodos de identificación Son varios los criterios a partir de los cuales clasificar los métodos de identificación [Iserman80]. Podemos considerar en primer lugar unos aspectos prácticos: a) error entre proceso y modelo; b) algoritmo utilizado; c) secuencia de evaluación o procesada de las medidas. 4 a) Evaluando el error entre el modelo y el proceso se puede diferenciar entre ecuación de error y error en la señal de salida. El primero se suele utilizar cuando se dispone de un modelo con una función de pesos, y la segunda si se dispone de una función de ecuaciones diferenciales y/o funciones de transferencia. Para ilustrar la diferencia entre ambas aproximaciones consideremos las siguientes estructuras de modelo: - estructura ARX: y(t)+ay(t-1) = b 1 u(t-1) + b 1 u(t-2) + v(t) - estructura OE: y (t ) = b1 + b2q −1 u (t − 1) + v (t ) 1 + f1q −1 donde y(t) es la medida de la salida del sistema, u(t) es la medida de la entrada del sistema mientras que v(t) es el término perturbación (ruido, señal no conocida). Dependiendo de la estructura del modelo, la estimación de la señal error será: - ecuación del error, estructura ARX, calculado por la expresión: ε(t) = y(t)+ay(t-1) - b 1 u(t-1) + b 1 u(t-2) ≈ v(t) donde tanto el histórico de las entradas como salidas influyen en el cálculo del término error. - error en la salida, estructura OE, calculado por: ε (t ) = y(t ) − b1 + b2q −1 u( t − 1) ≈ v(t ) 1 + f 1q −1 en donde el error o residuo solo está afectado por el histórico de las entradas. b) Con respecto a los algoritmos utilizados en los métodos de identificación, se puede distinguir entre algoritmos recursivos o algoritmos no recursivos. En el primer caso la estimación de los parámetros se realiza después de cada nuevo conjunto de datos, utilizando el valor de los parámetros estimados con un conjunto de datos como punto de partida para la estimación de los parámetros para el conjunto de datos posterior. Con el algoritmo no recursivo se utilizan secuencias enteras que comprenden todos los datos almacenados para calcular en un solo paso el valor de los parámetros. c) Con el hecho de disponer de un ordenador para realizar la identificación del modelo, podemos distinguir entre dos formas de acoplar el proceso con el ordenador, son las denominadas: operación on-line (acoplamiento directo) y operación off-line (acoplamiento indirecto). En el caso off-line se almacenan los datos adquiridos del proceso y posteriormente se transfieren al ordenador para ser evaluados y procesados. Ya que este tipo de identificación se realiza sobre un conjunto de datos, puede considerarse como un proceso en lote (batch processing). Cuando se trabaja en on-line los datos son directamente procesados dando lugar a lo que se denomina procesado en tiempo real o bacth processing cuando los datos son evaluados después de realizarse un conjunto de medidas. Las distintas formas de procesar los datos se describe en la figura 1.1. 5 Figura 1.1. Formas para el procesado de los métodos de identificación [Isermann80] Los métodos de identificación pueden clasificarse también en función de los modelos obtenidos, de esta forma podríamos diferenciar entre: técnicas de identificación no paramétricas, obteniéndose modelos no paramétricos, y técnicas de identificación paramétricas, que conducen modelos paramétricos. Dentro de las denominadas técnicas de identificación no paramétricas podemos citar como mas importantes: (1) Análisis de la respuesta transitoria se basa en la obtención de la respuesta del sistema a un impulso o a un escalón. Las señales de test a utilizar en este caso son un impulso o un escalón, respectivamente, y la salida registrada da el modelo correspondiente. (2) Análisis de correlación es un método del dominio temporal, útil para sistemas lineales y con señales continuas o discretas. Como resultado del mismo se obtiene la función de correlación entre las variables de interés y, como caso especial, una función de pesos. (3) Técnicas frecuenciales que son utilizadas directamente para estimar la respuesta frecuencial del sistema. Dentro de las técnicas frecuenciales podemos diferenciar entre el análisis de Fourier y el análisis Espectral. Todas ellas son aplicables en el caso de considerar procesos lineales o linealizables. Para su utilización no se debe suponer ningún tipo de estructura para el modelo y los resultados obtenidos son de tipos gráfico los cuales pueden ser mas o menos fáciles de interpretar. En el caso de métodos de identificación paramétricos, se debe tener en cuenta una cierta estructura para el modelo. Los parámetros del modelo se calculan minimizando ciertos criterios de error entre el modelo y el proceso. En general podemos distinguir entre dos tipos de técnicas: • Técnicas frecuenciales, las cuales minimizan el error entre la respuesta frecuencial real del proceso y la respuesta frecuencial del modelo; • Técnicas temporales, las cuales minimizan el error temporal, error de predicción o error de salida, entre el modelo y el proceso. Forman parte de este grupo los métodos de identificación paramétricos clásicos y con redes neuronales los cuales se expondrán extensamente en este curso. Ambas pueden ser utilizadas tanto para la estimación de los parámetros de modelos continuos como discretos. 6 1.3.3 Etapas a seguir para la identificación de un modelo En general, las etapas a seguir para identificar un modelo paramétrico son: • Diseño del experimento de identificación. En esta primera etapa es necesario decidir, entre otros aspectos: el tipo de señales de excitación, el mejor periodo para la adquisición de datos, la cantidad de datos necesarios; • Observación y mejora de la calidad de los datos capturados. Antes de utilizar los métodos de estimación de parámetros es necesario: observar y reparar los datos erróneos, filtrar les altas frecuencias, eliminar offsets y tendencias, ...; • Determinación de la estructura del modelo. En esta etapa es necesario definir el tipos de modelos a utilizar: continuos o discretos, tipos de ruido, lineales o no lineales, regresiones, redes neuronales, ... Y es necesario adoptar un procedimiento para determinar el orden del modelo. • Estimación de los parámetros. Etapa la mayoría de las veces muy relacionada con la anterior, en ella se presenta el problema de decidir el método o métodos de estimación de parámetros que se va a utilizar para calcular el valor de los mismos. En general se puede escoger entre dos técnicas distintas: en el dominio temporal y en el dominio frecuencial. • Validación del modelo. Es la etapa en la que debe preguntarse si el modelo identificado es suficientemente representativo del proceso estudiado. En el se debe definir un criterio para evaluar la calidad. Generalmente se dispone de varios modelos candidatos y debe escogerse uno de ellos basándose en algún criterio. Actualmente hay muchos programas comerciales de ayuda a ingeniero en las etapas de identificación, concretamente en las etapas de estimación de parámetros y evaluación de las propiedades del modelo estimado. Hay otras etapas que dependen exclusivamente del usuario [Ljung94]. En este curso utilizaremos como herramienta de trabajo el programa Matlab y concretamente la toobox de identificación. Diseño del experimento y adquisición de datos Datos ¿Es necesario filtrar? Observación y mejora de la cualidad de los datos Datos Determinar la estructura del modelo Métodos de estimación para el ajuste del modelo a los datos La estructura del modelo no es correcta Modelo Validación del modelo Datos no útiles ¿Es el modelo suficientemente representativo? Si Figura 1.2. Etapas para la identificación de un proceso. Los rectángulos son en general responsabilidad del ordenador y los ovalados son en general responsabilidad del usuario. 7 1.3.4 Relación entre mode los y métodos Para finalizar el tema de introducción podríamos remitirnos a [Isermann80] exponiendo de forma resumida la dependencia existente entre la construcción del modelo y su objetivo final o aplicación. Tabla 1.1. Algunos ejemplos de la relación existente entre el objetivo final del modelo (aplicación) y las especificaciones del proceso de identificación. Objetivo final del modelo, aplicación Tipos de modelos Requerimientos de precisión del modelo Método de identificación verificación de modelos teóricos lineal, media / alta off-line, Sintonía de controladores tiempo continuo, respuesta transitoria, no paramétrico/ paramétrico respuesta frecuencial, lineal, estimación paramétrica medio no paramétrico, off-line, respuesta transitoria tiempo continuo Ayuda al diseño de algoritmos de control lineal, medio paramétrico, estimación paramétrica on-line / off line (no paramétrico) tiempo discreto Control adaptativo lineal, medio estimación paramètrica on-line alto estimación paramètrica on-line paramétrico, tiempo discreto Supervisión y detección de fallos linal / no lineal, paramétrico, tiempo continuo 8 Tema 2 Técnicas de identificación no paramétricas 2.1 Introducción Como se ha comentado en la introducción, la identificación es un método de construcción de modelos basado en experimentos. El caso particular de un sistema lineal invariante en el tiempo puede ser descrito por su función de transferencia (modelos paramètricos) o por su correspondiente respuesta impulso o frecuencial (modelos no paramétricos). Se consideran modelos no paramétricos a aquellos en que no es posible definir un vector de parámetros finito para representarlo. Estas técnicas, la mayoría de ellas más fáciles o directas de aplicar o utilizar en un proceso real, aportan información muy útil para afrontar las decisiones que debe tomar el usuario ante un problema de identificación de un proceso, véase la figura 1.2. Como ser expondrá en este tema, utilizando previamente algunas de dichas técnicas, será posible: considerar unos datos válidos o no, diseñar adecuadamente el experimento y, también, conocer algunas de las características de la estructura del modelo. Son tres las técnicas de indentificación no paramétricas presentadas, concretamente se evalúan las técnicas de análisis de la respuesta transitoria, el análisis de correlación entre señales y las técnicas frecuenciales. Previamente a la descripción de dichas técnicas (apartado 2.2), se realiza una introducción de características, propiedades y tipos de señales. Como apartado final, se describen herramientas para el diseño adecuado del experimento. Comentar finalmente que hay métodos en la literatura [Shoukens91] que permiten parametrizar un modelo a partir de los resultados obtenidos con técnicas no paramétricas. Algunas de ellas se expondrán en le tema 3. 2.2 Introducción a las señales 2.2.1 Características generales de las señales. Definiciones Previo a describir los tipos de señales de excitación, es necesario definir algunas características generales y propiedades de las señales. Se define como media, µ,. y covarianza, Ru ( ), de una señal estacionaria determinista, u(t), a: 1 N u = µ u = lim ∑ u (t ) N →∞ N t =1 (2.1) 1 N T Ru (τ ) = lim ∑ [u (t + τ ) − µ ][u (t) − µ ] N → ∞ N t =1 donde N es el número de datos y τ es un entero entre 0 y N. 9 Al valor de la covarianza en τ=0 se la denomina varianza, σ u2 , y se caracteriza por ser una función par: R( −τ ) = R(τ ) La energía total o RMS de una señal se calcula a partir de la ecuación (2.2). 1 N RMS u = u (t ) 2 (2.2) ∑ N t=1 Se define la transformada de Fourier discreta (DFT),UN(ω), de esta señal, como: U N (ω ) = 1 N ∑ u (t ) e N − j ωt t =1 (2.3) para valores de ω=2πk/N, k=1,...,N. UN(ω) se caracteriza por ser una función de periodo 2π, por lo tanto: UN(ω+2π)=UN(ω) y si u(t) es real UN(-ω)=conj(UN(ω)) (conj equivale al conjugado complejo). La señal u(t) se puede representar por la inversa de DFT: 1 N u( t ) = U N ( 2πk N ) e j2πkt / N ∑ (2.4) N k =1 El valor de UN(2πk/N) nos informa sobre el 'peso' que origina la descomposición de la señal u(t) a la frecuencia 2πk/N por los distintos valores de k. Su valor absoluto cuadrático UN(2πk/N)2 es una medida de la contribución energética de esta frecuencia en la señal. La relación de Parseval: N ∑U N ( 2 πk / N ) = ∑ u (t ) 2 N 2 (2.5) reafirma la interpretación que la energía de una señal puede descomponerse en la contribución energética de las diferentes frecuencias. t= 1 t= 1 La densidad espectral, S(ω), de una señal u(t) se define como la transformada de Fourier de la función covarianza: 1 ∞ S (ω ) = ∑ R(τ ) e− iτω (2.6) 2π τ = −∞ y por ser la covarianza una función par: 1 ∞ S (ω ) = ∑ R(τ ) cos(ωτ ) (2.7) π τ =0 Se puede establecer una relación entre el espectro y la transformada de Fourier discreta de una señal; esta viene dada per la ecuación (2.8). 1 2 S (ω ) = U N (ω ) (2.8) 2πN En general, para realizar una buena identificación de parámetros es necesario aplicar una señal de entrada frecuencialmente rica. Para garantizar que los algoritmos de estimación converjan a una solución única, es necesario imponer unos requerimientos mínimos en las 10 señales de test. Esto se denomina condiciones persistentemente excitadas (persistent excitation). Se dice que una variable discreta es persistentemente excitada de orden n si existe el límite: N R u (τ ) = lim N→∞ ∑ u (t )u (t − τ ) t=1 (2.9) y la matriz: R uu ( 0 ) R ( − 1) uu An = M R ( 1 uu − n) R uu (1) R uu ( 0) L O L R uu ( n − 1) M R uu ( 0 ) (2.10) es definida positiva [Åström71] y en consecuencia invertible. De aquí se deduce que la condición necesaria para realizar una estimación consistente de un modelo lineal de orden n es que la señal de test sea persistentemente excitada de orden 2n. Otra definición de señal persistentemente excitada se encuentra en [Söderström89]. Una señal u(t) es persistentemente excitada (p.e.) de orden n si su densidad espectral no es nula en n valores. • Si u(t) es un escalón de amplitud σ: Ru (τ)= σ2 para todo τ y la matriz de Ru (n) es no singular para n=1, por lo tanto es una función p.e. de orden 1 • Si u(t) es un impulso: Ru (τ)= 0 para todo τ y la matriz de Ruu (n)=0, no es p.e. 2.2.2 Propiedades de las señales periódicas Las señales de excitación pueden ser periódicas o no periódicas, las características de las primeras se describen a continuación. Si se considera que u(t) es una señal determinista periódica con un periodo M, u(t)= u(t-M) para todo t, el valor medio µ y la función de covarianza Ru (τ), definidos en (2.1), tiene por expresión: 1 N 1 M µ = lim u ( t ) = ∑ ∑ u (t ) N → ∞ N t =1 M t =1 (2.11) N M 1 Ru (τ ) = lim [u (t + τ ) − µ ][u (t ) − µ ]T = 1 ∑ [u (t + τ ) − µ ][u( t) − µ ]T ∑ N →∞ N t =1 M t=1 para una señal periódica la función de covarianza vale: R( M + τ ) = R(τ ) (2.12) La antitransformada de Fourier discreta de una señal periódica puede ser escrita, de acuerdo con la ecuación (2.4), como: 1 u(t ) = M M ∑A e k =1 k siendo: 11 j 2πkt / M (2.13) 1 M Ak = M ∑u(t )e − j2πkt / M t=1 Si u(t) es una señal periódica y contiene N muestras, con N = κM donde κ es el numero de periodos, se deduce que la contribución energética a les distintas frecuencias vale: 2 κ Ak , si 2 U N (ω ) = 0, si 2πk , N 2πk ω= , N N 2 N k ≠ 0,±κ ,±2κ ,±L ,± 2 ω= k = 0,±κ ,±2κ ,±L ,± (2.14) La función espectral de señales periódicas discretas se puede evaluar como un conjunto de impulsos Dirac de cada una de las frecuencias presentes en la señal [Söderström89]: M −1 k (2.15) S (ω ) = ∑ Ck δ ω − 2π M k =0 donde Ck es la matriz de coeficientes a determinar en cada caso y pueden ser calculados a partir de: 1 M −1 − kγ j2π Ck = α r (γ ) con α = e M ∑ M γ =0 2.2.3 Descripción de algunas de las señales de excitación Hay distintos tipos de señales de entrada, por ejemplo la función impulso, función escalón, ruido blanco o ‘coloreado’, señales sinusoidales, ruido binario pseudo-random (PRBS), etc. En este apartado se van a comentar algunas de las características y propiedades de dichas señales. 2.2.3.1 Ruido blanco y ‘coloreado’ El ruido blanco es una secuencia de variables random uniformemente distribuidas de media cero y una varianza determinada. Dado una señal e(t), e = E {e(t )} = 1 N N ∑ e(t ) = 0 t =1 1 var{e(t )} = R e (0) = N ∞ (2.16) ∑ [e(t ) − e ] 2 =λ 2 t =1 Se caracteriza porque: N 1 / N ∑ e (t )e ( t + τ ) → 0 cuando N →∞ t =1 La matriz (2.9) Ru (n)=λ2 In (In matriz identidad de orden n), es por tanto una matriz definida positiva para todo n, indicando que el ruido blanco es una señal persistentemente excitada. El ancho de banda de un ruido blanco es hipotéticamente infinito, cuando se trata de una señal discreta el ancho de banda esta acotado por el numero de muestras y el periodo de muestreo de dicha señal (2.3). 12 El ruido blanco filtrado se caracteriza por tener un ancho de banda finito. Se obtiene filtrando adecuadamente el ruido blanco. u(t) + c1 u(t-1) + ... + cm u(t-m) = e(t) + d1 e(t-1) + ... + dm e(t-m) (2.17) o C(q-1 ) u(t) = D(q-1 ) e(t) siendo: C(q-1 )= 1 + c1 q-1 + ... + cm q-1 D(q-1 )= 1 + d1 q-1 + ... + dm q-1 Definimos q-1 como el operador retardo, por lo tanto q-1 u(t) = u(t-1). A este tipo de filtro se le llama Auto- Regresivo de Media Móvil (ARMA): si Ci = 0 ⇒ MA (media móvil) si Di = 0 ⇒ AR (auto- regresivo) Los pasos a seguir para diseñar un filtro son: 1. definir el orden de los polinomios C(q-1 )y D(q-1 ); 2. fijar el valor de los parámetros; 3. generar una secuencia de variables Random; D (q −1 ) 4. calcular: u( t ) = e (t ) C ( q −1 ) Para garantizar la estabilidad, las raíces del polinomio C(q-1 ) debe estar dentro del círculo unidad. El ancho de banda de dicho señal será función del filtro diseñado. 2.2.3.2 Secuencia binaria pseudo-random (PRBS) Es una secuencia de pulsos rectangulares, modulados en amplitud, que se caracteriza por tener dos valores, correspondientes a los niveles lógicos 0 y 1, asignados generalmente a +V y –V. Es una señal que en su contenido frecuencial, se aproxima a un ruido blanco discreto. Se denomina pseudo random por el hecho de que la longitud del pulso es una variable random. Puede ser generada directamente a partir de un ruido blanco, por ejemplo: u(t) = sign(randn(500,1)) es persistentemente excitada en toda su longitud. 2.2.3.3 Secuencia binaria de longitud máxima, MLBS. Es la señal binaria mas ampliamente utilizada. Se puede generar fácilmente utilizando el desplazamiento de registros mediante una realimentación apropiada, en la tabla 2.1 se muestra como generar un MLBS según el número de registros. Un ejemplo de la generación de este tipo de señales se muestre en la figura 2.1, [Söderström89]. La MLBS es una señal periódica de longitud: M = 2m − 1 siendo m el número de registros a desplazar, y de período: TMLBS = M∆t 13 (2.18) (2.19) donde ∆t es el periodo del reloj que desplaza los registros. Tabla 2.1. Generación de la PRBS [Landau90] Número de 2 3 4 5 registros Longitud de 3 7 15 31 la secuencia Bits 1,2 1,3 3,4 3,5 sumados 6 7 8 9 10 63 127 255 511 1023 5,6 4,7 2,8 5,9 7,10 CLK ∆t 0 1 0 0 salida, MLBS xor Figura 2.1. Generación de una señal MLBS de 4 registros Ver que como mínimo uno de los N registros debe ser distinto a cero. La función de covarianza de esta señal, cuando el periodo de muestreo es de Ts, y considerando el caso en que Ts< ∆t, vale [Goodfrey80]: 2 Ts Ts < ∆t ,± M∆t ,±2M ∆t ,L V 1 − Ru (τ ) = 2 ∆t (2.20) −V para los altros valores M La densidad espectral calculada a partir de la ecuación (2.6) tiene por expresión 1 2 M M +1 V 2 S u (ω ) = 2V ∫ 1 − t cos(ωt ) dt + 2 ∫ cos(ωt )dt M M 0 1 V2 sin 2 (ω 2) = 2 (M + 1) M (ω 2) 2 = V 2 (M + 1) sin 2 (kπ M ) M2 (kπ M ) 2 (2.21) para k = 1,2,3, L y la densidad espectral discreta [Söderström89], calculada con la fórmula (2.8) vale: S u (ω ) = V2 M2 M −1 k δ ( ω ) + M + 1 ( ) ∑ δ ω − 2π M k=1 donde k son los armónicos. 14 (2.22) La frecuencia de los armónicos queda determinada por ∆t i M: k (2.23) fk = M ∆t y la potencia media del ancho de banda se da aproximadamente 0.443/∆t Hz [Evans92]. Por lo tanto es posible, ajustando el valor de M y ∆t, cubrir apropiadamente el rango de frecuencias del sistema. El espectro de esta señal decrece con la frecuencia. El diseño de esta señal puede realizarse de la siguiente manera: 1- se selecciona un valor de ∆t que origine la máxima frecuencia de interés en el punto -3dB 2- con ∆t fijado, se ajusta M teniendo en cuenta dos aspectos, M=2m -1 y f min (calculada a partir de la ecuación (2.23) para k=1) debe de estar situada en el rango de interés 3- finalmente se selecciona el número de datos a adquirir en cada cambio de registros, la frecuencia de reconstrucción o de muestreo de la señal será de: número de datos por registro/∆t. Esta forma de diseño, origina señales con unas características muy cerradas: - conjuntos ∆t ≈ 0.443/BW, donde BW representa el valor de la frecuencia del proceso a -3dB - y M ∆t > Ts, el tiempo de estabilización del proceso. En [Söderström89] se demuestra que este señal es persistentemente excitado de orden M. 2.2.3.4 Señales multisinusoidales Esta consiste en una suma arbitraria de cosenos de armónicos conexos [Evans92] F u(t ) = ∑ A i cos( 2πfi t + φi ) i =1 (2.24) siendo Ai la amplitud de cada armónico, F el número de armónicos, φ el vector de fases y f la frecuencia, el vector i puede ser cualquier secuencia de valores enteros. Esta señal tiene una gran ventaja respecto a las señales binarias y es que su potencia está concentrada en un intervalo definido de frecuencia. Son señales con un ancho de banda limitada. La historia temporal de una señal, puede medirse cuantitativamente a partir del factor de cresta, CF, definido en (2.25) [Rees92]. Cuando tenemos procesos con ruido, es necesario que las señales tengan un factor de cresta bajo, de esta forma se consigue que la señal de excitación tenga la máxima energía con una amplitud acotada. max u( t ) (2.25) CF = u( t ) rms ( ) A escala comparativa, diremos que una señal sinusoidal puro tiene un factor de cresta igual a 1.414, mientras que en el caso de una señal binaria pseudo aleatoria (PRBS), CF=1. Respecto a las señales multisinusoidals, el valor del factor de cresta depende de la fase de los armónicos. En el caso de considerar fases nulas, el factor de cresta de la señal es alto, CF > 1. 15 Per minimizar el CF de estos tipos de señales, de debe seleccionar cuidadosamente la fase de cada uno de los armónicos [Rees93]. Dos posibles métodos para el diseño de la fase son: A- El método propuesto por Schroeder. La fase de cada armónico se determina utilizando la formula: πk 2 φi = (2.26) F donde φ i es la fase del armónico i de la señal, k es el nombre del componente, y F es el número total de componentes del espectro; los valores de i y k pueden ser distintos si se excluye alguno de los armónicos de la señal multisinusoidal. B- El método propuesto por Guillaume, L8. Consiste en minimizar el del CF, definido en este caso por la expresión: l ( u) CF = ∞ (2.27) l2 ( u) donde l∞(u) es la norma de Chebyshev de u(t) y la norma l2 es el valor de RMS. Se utiliza el método de Gauss-Newton para minimizar el valor de la norma l∞. Este método tiene el inconveniente que su cálculo es muy largo. En el diseño de las señales multisinusoidales se deben considerar dos aspectos. El primero es que la señal diseñada debe concentrar toda la potencia en el ancho de banda del proceso estudiado. Y el segundo, es que debe tener el suficiente número de armónicos para conseguir minimizar el CF, cubrir el espectro necesario y permitir la detección de errores en la modelización. Por otro lado, el hecho de incorporar muchos armónicos es perjudicial ja que reduce la energía de cada test de frecuencia y, en consecuencia, disminuye la precisión de la respuesta frecuencial. La función de autocovarianza de una suma de sinusoides, Ru (τ), es una función coseno (2.28), donde el valor de los pesos Ci depende del valor de ω i = 2πf i y de A2 , tal como se demuestra en [Söderström89]. F ru (τ ) = ∑ Ci cos(ω i τ ) (2.28) i =1 con: Ai2 Ci = 2 Ci = Ai2 sin 2φi si ωi τ ≠ π ,2π ,3π ,L si ωi τ = π ,2π ,3π ,L La densidad espectral discreta para 0 ≤ ω i ≤ π , tiene por expresión [Söderström89]: F C S u (ω ) = ∑ i (δ (ω − ω i ) + δ (ω + ω i ) ) i =1 2 16 (2.29) A partir de la ecuación (2.29) y en el intervalo de valores [−π , π ] se deduce [Söderström89] que este tipos de señales son persistentemente excitados de orden: 2 F si 0 < ω1 , ω F < π 2 F − 1 si 0 = ω1 o ω F = π 2 F − 2 si 0 = ω i ω = π 1 F (2.30) 2.3 Análisis de la respuesta transitoria Las señales test no periódicas utilizadas para evaluar la respuesta transitoria son: impulsos de diferente amplitud y de corta duración, función escalón y función rampa. Para seleccionar la señal test adecuada, debe tenerse en consideración: las propiedades de la señal, la posibilidad de la señal de ser generada y aplicada y el tipo de información que se persigue del proceso. 2.3.1 Análisis de la respuesta impulso La metodología de identificación denominada análisis de la respuesta impulso consiste en aplicar como entrada al proceso una señal impulso. La ecuación general utilizada en la representación de la función de transferencia impulso de un sistema es: −1 y ( t ) = G( q ) u ( t ) + v ( t ) = ∞ ∑ g ( k )u ( t − k ) + v( t ) (2.31) k =1 en donde G(q-1 ) representa la función de transferencia y g(k) la respuesta impulso. Cuando este sistema está sujeto a una entrada impulso definida por: α , t = 0 u( t ) = 0 , t ≠ 0 la salida es: y(t)=α g(t) + v(t) (2.33) (2.34) El valor estimado de los coeficientes de la respuesta impulso se determina a partir de: gˆ (t) = con un error de estimación de: v(t ) α . y (t ) α (2.35) Los problemas que se plantean en el análisis de la respuesta impulso son: • queda restringido al estudio de sistemas estables, • dificultades de generar una señal impulso, • problemas de sincronización entre la entrada y el muestreo, • dificultades con la amplitud de la señal, • problemas cuando hay saturaciones y no linealidades, • dificultades con las colas del impulso debido a su larga duración y bajas amplitudes, • gran sensibilidad al ruido. 17 2.3.2 Análisis de la respuesta escalón Un complemento de la respuesta a un impulso es la muy conocida respuesta a un escalón, que tienen como ventaja que es más fácil de generar. La señal de test se describe como: α u(t ) = 0 ,t> 0 ,t≤0 (2.36) Aplicada esta al sistema descrito en (2.31) se obtiene que la salida puede determinarse mediante: t y (t ) = α ∑ g (k ) + v (t ) (2.37) k =1 Partiendo de ella se puede estimar la respuesta impulso como: y (t) − y (t − 1) gˆ (t ) = (2.38) α siendo el error de estimación: [v(t ) − v(t − 1)] α . En muchas aplicaciones prácticas la utilización de la ecuación (2.38) da errores elevados. Muy a menudo es interesante observar simplemente la respuesta a un escalón. El modelo obtenido se usa por ejemplo para el diseño de controladores. Este método permite de forma simple hacer una estimación de un modelo paramétrico. Los métodos para la evaluación de la respuesta escalón se basan en un pequeño nombre de características de la función respuesta. Uno de los métodos más antiguos y muy conocidos es el introducido por Küpfmüller, el cual dado un sistema de primer orden con retardo expresado por la ecuación diferencial: dy (t ) T + y (t ) = Ku (t − τ ) (2.39) dt o en forma de función de transferencia: G (s) = calcula el valor de los parámetros K, T y τ indicada en la figura 2.2. K e − sτ 1 + sT analizando la respuesta escalón de la forma y αK τ T tiempo Figura 2.2. Evaluación de la respuesta a un escalón según Küpfmüller 18 (2.40) Otro método, desarrollado por Strejc, realiza la estimación de los valores de los parámetros de un modelo de orden n con la misma constante de tiempo y retardo: K G (s) = (1 + sT ) n e − sτ (2.41) y y∝ yi Tu τ Ti Tg tiempo Tm Figura 2.3. Evaluación de la respuesta a un escalón según Strejc Las características de la respuesta escalón se muestran en la tabla 2.2 y la constante de tiempo se calcula mediante: τ 1 = T n . Un método más complejo es el propuesto por Schwarze el cual permite evaluar las respuestas escalón y rampa para diferentes estructuras de modelos. Más información al respecto se encuentra en [Rake80]. Tabla 2.2. Valores característicos de la respuesta escalón n 1 2 3 4 5 6 7 8 9 10 T Tu T Tu Tg Ti T yi y∞ Tm T Tm Tg 1.000 2.718 3.695 4.463 5.199 5.699 6.226 6.711 7.146 7.590 0.000 0.282 0.805 1.425 2.100 2.811 3.549 4-.307 5.081 5.869 0.000 0.104 0.218 0.319 0.410 0.493 0.570 0.642 0.709 0.773 0 1 2 3 4 5 6 7 8 9 0.000 0.204 0.323 0.353 0.371 0.384 0.394 0.401 0.407 0.413 1.000 2.000 2.500 2.888 3.219 3.510 3.775 4.018 4.245 4.458 1.000 0.736 0.677 0.674 0.629 0.616 0.606 0.599 0.593 0.587 Tg 19 2.4 Análisis de correlación El análisis de correlación es un método basado en un análisis estadístico y tiene como objetivo estimar la respuesta impulsional del proceso. Esta, se determina a partir del análisis de correlación entre la señal de entrada y la señal de salida. Las señales test más utilizadas en este ensayo son las secuencias de ruido blanco o, en la práctica, las PRBS. 2.4.1 Definiciones previas La función de convariaza cruzada entre dos variables, x(t) y y(t) se determina: Cov {x ( t1 ), y ( t2 )} = E{( x( t1) − x )( y ( t2 ) − y )} R xy (τ ) = E{( x ( t) − x )( y ( t + τ ) − y )} ≅ 1 N con τ=0,±1,±2,.... N ∑ (( x(t ) − x )( y(t + τ ) − y)) (2.42) t =0 La función de auto correlación se determina: R y {y (t1 ), y (t 2 )} R y (τ ) ρ y ( y (t1 ), y (t 2 )) = = σ 2y R y (0 ) (2.43) ya que: R y (0 ) = σ 2y = Var{y (t )} La función de correlación cruzada se calcula: ρ xy ( x (t1 ), y(t 2 )) = Rxy {x (t1 ), y(t 2 )} = σ xσ y Rxy (τ ) (2.44) Rx (0 ) Ry (0 ) Definición: Se dice que dos señales x(t) y y(t) no están correlacionados (son independientes) con un 95% de confianza sí: 1.96 P ρ xy (τ ) ≤ = 0.95 N 1 .96 Rx (0) Ry (0 ) = 0.95 P Rxy (τ ) ≤ N (2.45) 2.4.2 Análisis de correlación. Descripción El modelo utilizado en el análisis de correlación es la respuesta impulso o función de pesos definida en (2.31) o la función continua equivalente. Si la entrada es una secuencia casi estacionaria de media nula con: Ru (τ ) = E{(u (t ))(u(t + τ ))} (2.46) y asumiendo que se trata de un proceso estocástico estacionario, la relación equivalente entre la función de covarianza cruzada de la entrada con la salida y la función de auto covarianza de la entrada es: 20 ∞ Ryu (τ ) = E{y( t )u (t − τ )} = ∑ g ( k ) E{u (t )u(t − τ )} + E{v (t )u (t − τ )} (2.47) k =0 A esta ecuación de la denomina ecuación de Wiener-Hopf. En el caso en que la señal de entrada y las perturbaciones sean independientes: ∞ ∞ k =0 k =0 R yu (τ ) = ∑ g (k ) E{u (t )u (t − τ )} = ∑ g (k ) Ru (τ − k ) (2.48) En la práctica, ya que las señales de entrada y salida no son infinitas, las funciones de covarianza se estiman a partir de los datos de la siguiente forma: 1 N −max(τ , 0 ) Rˆ yu (τ ) = ∑ y (t ) y (t + τ ) , τ = 0, ±1, ±2, ... N t =1− min(τ , 0 ) 1 Rˆ u (τ ) = N N −τ ∑ u(t )u(t + τ ) (2.49) t =1 En estas condiciones, el valor estimado de los pesos de la función g(k) puede ser determinado solucionando la ecuación (2.50) que consiste en un sistema lineal de dimensión finita. ∞ Rˆ yu (τ ) = ∑ g) (k ) Ru (τ − k ) (2.50) k=0 El problema queda muy simplificado en el caso en que se utilicen señales de test especiales con funciones de auto covarianza sencillas. Cuando se utiliza, por ejemplo, un ruido blanco como señal de test, sabiendo que Rˆ u (τ ) = 0 para τ >0, la ecuación 2.50 queda reducida a: g (τ ) = Rˆ yu (τ ) R u ( 0) siendo fácilmente calculable a partir de los datos experimentales. (2.51) En el caso en que la señal de excitación no sea un ruido blanco, el cálculo de la ecuación 2.50 no es trivial. A continuación se proponen dos métodos para resolverla: 1. Función de pesos truncada o respuesta impulsional finita (FIR). En este caso se considera que la función impulso es de orden finito: g(k)=0 para k≥M. Para ser utilizado, es necesario que M sea mayor que la constante dominante del sistema. En este caso una buena aproximación para solucionar la ecuación 2.50 es: M −1 (2.52) Rˆ (τ ) = g) (k ) R (τ − k ) yu ∑ u k =0 Escribiendo esta ecuación de forma desarrollada para τ = 0,1, ..., M-1, se obtienen el siguiente conjunto de ecuaciones lineales: Rˆ yu ( 0) Rˆ u ( 0) Rˆ yu (1) Rˆ u (1) Rˆ ( 2) = Rˆ ( 2) yu u M M ˆ ˆ R yu ( M − 1) Ru ( M − 1) Rˆ u (1) Rˆ u (0) Rˆ u (1) M Rˆ u ( M − 2) L Rˆ u ( M − 1) gˆ (0 ) L Rˆ u ( M − 2) gˆ (1) L Rˆ u ( M − 3) gˆ ( 2) (2.53) M O M M Rˆ u ( M − 3) L Rˆ u ( 0) gˆ ( M − 1) Rˆ u ( 2) Rˆ u (1) Rˆ u ( 0) 21 Las ecuaciones anteriores pueden ser aplicadas a más de M valores de τ dando lugar a un sistema de ecuaciones lineales sobre determinado. 2. Aplicando filtros. Un segundo método propuesto seria el de aplicar un filtro para blanquear la señal de entrada. Cuando ambas señales, entrada y salida, son filtradas con el mismo filtro L(q-1 ) yF (t ) = L (q −1 ) y(t ) uF (t ) = L (q −1 )u(t ) (2.54) las señales filtradas presentan la misma relación que en la ecuación (2.31) ∞ y F (t ) = ∑ g ( k )u F (t − k ) + vF (t ) (2.55) k=0 El filtro L debe ser seleccionado de tal manera que la señal de entrada uF(t) sea lo más parecida posible a un ruido blanco. Puede calcularse considerando que L es un filtro AR (auto regresivo): A(q-1 )u(t)=e(t), donde el polinomio A(q)=L(q) puede calcularse utilizando el método de mínimos cuadrados (expuesto en el capítulo 3). El orden del polinomio A, na, suele estar comprendido entre 4 y 8. Se determina la función impulsional aplicando la ecuación (2.51) de la forma: R y u (k ) gˆ ( k ) = F F (2.56) R u F ( 0) Más detalles sobre el mismo se exponen en [Ljung94]. Las propiedades básicas del análisis de correlación son: • Al igual que en el análisis de la respuesta transitoria, el análisis de correlación da una rápida información sobre la constante de tiempo dominante del sistema y del retardo puro. • No es necesario ninguna entrada en especial. • Dan como resultado una tabla de datos o una gráfica que no pueden ser utilizados directamente en simulación. • Los resultados obtenidos parten del hecho de que la entrada es independiente de las perturbaciones y/o ruido, esto limita el uso de este método a sistemas sin realimentación (anillo abierto). 2.5 Técnicas frecuenciales Los sistemas lineales pueden también definirse a partir de la respuesta frecuencial G(jω). Mientras que las respuestas transitorias y el análisis de correlación tienen por objetivo estimar la respuesta impulsional, las técnicas frecuenciales tienen por objetivo la estimación directa de la respuesta frecuencial, el cómo a partir de ella se estiman los parámetros de la función de transferencia se abordará en el tema 3. Las técnicas que se presentan en este apartadp son el análisis de Fourier y el análisis espectral. 22 2.5.1 Análisis de la respuesta frecuencial El análisis de la respuesta frecuencial es un método simple para obtener información acerca de un sistema lineal. Consiste simplemente en describir como se comporta el sistema cuando esta sometido a una entrada senoidal. Al aplicar una señal de entrada definida por: u (t ) = α sinω t la respuesta del sistema puede describirse como: y (t ) = G ( jω ) α sin (ω t + φ (ω ) ) + v (t ) + transitorio donde (2.57) (2.58) φ (ω ) = arg G ( j ω ) Asumiendo que se puede ignorar el transitorio y considerar solo la respuesta estacionaria, la salida del sistema puede utilizarse directamente para determinar G(jω). Observando simplemente la señal de entrada y de salida, se puede calcular la ganancia y el desfase entre ambas señales. La figura 2.4 muestra como evaluar la respuesta a una entrada senoidal. u ,y Tφ tφ U Y y(t) u(t) Figura 2.4. Evaluación de la respuesta sinusoidal. La ganancia y la fase se obtienen: G( jω ) = Y Y φ (ω ) = − 2πt φ Tφ Cuando el experimento se repite con distintas frecuencias pertenecientes al ancho de banda del sistema, el resultado puede dibujarse en forma de diagrama de Bode. Las ventajas de este método son: • Es fácil de utilizar y no se requiere un procesado difícil de los datos. 23 • No es necesario hacer ninguna suposición sobre la estructura del modelo, solo considerar que se trata de un modelo lineal. • Es fácil concentrar el estudio del proceso en un rango de frecuencias determinado. Los inconvenientes que presenta este método son: • Dan como resultado una tabla de datos o un gráfico que no puede ser utilizado directamente en simulación. • Son necesario largos periodos de pruebas si se quiere evaluar el valor de G(jω) para un gran número de frecuencias. • Es muy sensible al ruido presente en el sistema y no da ningún valor medio estadístico. • En la mojaría de las veces resulta difícil determinar el valor de desfase entre las señales. Para evitar el problema de las perturbaciones, se puede utilizar el denominado método de correlación para el análisis de la respuesta frecuencial. Tal como se muestra en la figura 2.5, consiste en multiplicar la salida del sistema por una señal seno y una señal coseno de la misma frecuencia que la entrada del sistema y a continuación integrar las señales obtenidas considerando un intervalo específico de medida Tm : y s (ω ) = Tm 1 ∫ y (t ) sinωt dt = 2 T m G ( j ω ) α cos φ (ω ) (2.59) G ( j ω ) α sin φ (ω ) (2.60) 0 y c (ω ) = Tm 1 ∫ y(t) cos ωt dt = 2 T m 0 La estimación de la amplitud y de la fase se calcula mediante: 2 Gˆ ( j ω ) = αTm y s2 (ω ) + y c2 (ω ) (2.61) y (ω ) φˆ(ω ) = arctan c + kπ y s (ω ) (2.62) v u=α sin ωt y Proceso Generador de señales sin ωt ∫ yS cos ωt ∫ yC Figura 2.5. Análisis de la respuesta frecuencial con técnicas de correlación Para minimizar el efecto de las perturbaciones, la duración de las medidas Tm debe ser siempre un múltiplo del periodo de la señal de test. En el mercado hay equipos que utilizan este método para realizar el análisis frecuencial. El principal inconveniente de este método radica en el hecho de que en la mayoría de procesos industriales no es posible aplicar una señal senos como entrada en operación normal y, al igual que el método anterior, requiere 24 repetir los experimentos para muchas frecuencias, hecho que en muchos casos lo hace inviable. 2.5.2 Análisis de Fourier Se dice que una señal, u(t), es de energía finita sí: ∞ ∫ u (t ) dt < ∞ o T −∞ ∞ ∑ u(kT ) < ∞ (2.63) k = −∞ Si la entrada tiene energía finita, es posible determinar la función de transferencia frecuencial utilizando la transformada de Fourier de las señales de entrada y salida: Y (ω ) = G(iω )U (ω ) ⇒ G(i ω ) = Y (ω ) U (ω ) (2.64) En el caso de tener acceso a datos en un intervalo de tiempo finito 0<t<S , la transformada de Fourier de las señales se determina mediante: YS (ω ) = ∫ y(t )e S − jωt 0 S dt , U S (ω ) = ∫ u (t )e − jωt dt (2.65) 0 por lo tanto, la estimación de la función de transferencia empírica (ETFE) se determina con la ecuación: Gˆ S ( jω ) = YS (ω ) U S (ω ) (2.66) En el caso en que se disponga de datos muestreados: u(kT), y(kT) para k=1,...,N, se puede utilizar para el cálculo de la transformada de Fourier discreta: N N k =1 k =1 Y S (ω ) = T ∑ y ( kT ) e − j ω kT y U S (ω ) = T ∑ u ( kT ) e − j ω kT (2.67) siendo T el periodo de muestreo y N=S/T. Cuando la frecuencia tiende por valor ω=r 2π/N, para r = 0,...,N-1, y N se ajusta a una potencia de dos, es posible utilizar la FFT para estimar los valores de YS (ω) y US (ω) . El siguiente teorema nos permite evaluar las propiedades de la ETFE. Teorema 2.1: Considerando que un sistema tiene por expresión ∞ y (t ) = ∫ g (τ )u(t − τ )dτ + v(t ) 0 y asumiendo que: u (t ) ≤ c u y ∫ ∞ 0 se deduce que [Ljung94] 25 τ g(τ ) dτ = c g (2.68) Gˆ S ( jω ) − G ( jω ) ≤ 2cu .cg U S (ω ) + V S (ω ) U S (ω ) (2.69) Para interpretar el resultado se deben hacer suposiciones respecto a la señal de entrada. Caso 1. Entrada periódica y S es un múltiplo del período: - ETFE está definida per un número fijo de frecuencias. - A estas frecuencias la ETFE converge al valor real y su varianza decrece en función de 1/N. Caso 2. La entrada es una señal no periódica: - La ETFE converge asintoticamente a la función de transferencia cuando se incrementa el número de datos, a mayor S mayor número de frecuencias evaluadas. - La variancia de ETFE no decrece al incrementar S, esta se mantiene constante e igual a la relación señal/ruido para cada frecuencia. Entre las ventajas e inconvenientes del análisis de Fourier destacan: • Es un método fácil e eficiente, especialmente cuando se aplica la FFT. • Permite una buena estimación de G(jω) cuando la entrada es una señal periódica. • Para señales no periódicas la función obtenida es muy fluctuante. 2.5.3 Análisis espectral El espectro de una señal u(t) o periodograma, Φ u (ω), se puede interpretar como una media de su contenido frecuencial y se define como: Φ u(ω)= 1/NU(ω)2 (2.70) Las propiedades de los periodogramas son: 1. Una señal puramente senoidal presenta picos en este diagrama. 2. Con otros tipos de señales el resultado obtenido es muy fluctuante. 3. Suavizando visualmente los resultados obtenidos puede obtenerse, a partir de este análisis, una idea del contenido frecuencial de la señal. Dado una señal u(t) obtenida de un proceso estocástico con una densidad espectral Φ u(ω), el valor estimado de Φ̂ N será: ˆ N (ω ) = Φ u (ω ) + RN Φ (2.71) siendo RN el termino residual, responsable de las fluctuaciones. Este término se caracteriza por tener un valor medio nulo y una variancia que depende del tipo de señal y puede tender a cero a medida que se aumenta N. Como resultado de aplicar la transformada de Fourier al modelo representado por: y(t)=G(q)u(t)+v(t) (2.72) Y(ω)=G(jω)U(ω)+V(ω) (2.73) se obtiene: 26 Considerando que las señales u(t) y v(t) son independientes, al multiplicar la ecuación (2.73) por el término U(ω) se obtiene la ecuación (2.74) con la cual es posible estimar la función frecuencial (2.75). Y, al mismo tiempo, como resultado de elevar al cuadrado la ecuación (2.73) se obtiene la ecuación (2.76) que hace posible estimar el espectro de la perturbación (2.77). Φ yu (ω ) = G ( iω )Φ u (ω ) (2.74) La estimación de la función espectral se realiza mediante: Gˆ N (i ω ) = ˆ Nyu (ω ) Φ ˆ uN (ω ) Φ (2.75) El análisis del espectro de las perturbaciones se obtiene: 2 Φ y (ω ) = G (iω ) Φ u (ω ) + Φ v (ω ) ˆ Nyu (ω ) Φ N N ˆ v (ω ) = Φ ˆ y (ω ) − Φ ˆ uN (ω ) Φ 2 (2.76) (2.77) Para aplicar la ecuación (2.75), debe determinarse en primer lugar el espectro de la señal de entrada u(t) y el espectro cruzado entre las señales u(t) y y(t). Se ha visto en (2.71) que el espectro tiene asociado un término residual, por lo tanto para realizar una buena estimación de la función de transferencia del sistema será necesario reducir este término. En la bibliografía hay distintos métodos para reducir la variación o término residuo del espectro de una señal, aquí se describen dos de ellos por ser los utilizados en el programa MATLAB. 1. Método de Welch (pwelch de MATLAB) Consiste en descomponer la señal en L segmentos de longitud M (siendo M una potencia de dos) y con un tanto por ciento de solapamiento, determinar el espectro de cada uno de estos segmentos y hacer un promedio entre los resultados obtenidos. 1 L (k ) ˆ N (ω ) = ∑ Φ ˆ M (ω ) Φ (2.78) L k =1 Con ello se reduce el factor RN a costa de reducir la resolución espectral. 2. Mètode de Blackman-Tukey Este método consiste en reducir las fluctuaciones haciendo un promedio entre un nombre determinado de frecuencias vecinas. π ˆ (ξ )dξ ˆ N (ω ) = Wγ (ω − ξ ) Φ Φ N ∫ −π (2.79) donde: Wγ(ω) es una función ventana centrada y 1/γ describe la longitud de la ventana. Otra forma distinta a la ecuación (2.70) para calcular el espectro de una señal consiste en utilizar la función varianza: 27 Φ u (ω ) = T ∞ ∑R u ( kT )e −i ω kT (2.80) k = −∞ Por lo tanto la ecuación (2.80) puede ser expresada también como: ˆ (ω ) = T Φ N γ ∑W k = −γ γ N ( k ) Rˆ u (kT )e − iω kT (2.81) Las etapas que proponen Blackman-Tukey para estimar el espectro de una función son: a) Definir el tipo de ventana. En general para el análisis espectral se suele utilizar la ventana Hamming: ωγ(k) = ½ (1+cos(πk/γ)) k < γ ωγ(k) = 0 k ≥ γ b) Determinar la longitud de la ventana. Este valor es un compromiso entre la resolución espectral (mayor γ menor resolución) y la variancia (a mayor γ mayor varianza). • Cuando se desean determinar picos de resonancia son necesarios valores grandes de γ, comportando un aumento de la varianza. • Cuando se desea evaluar un espectro llano se utilizan valores pequeños de longitud de ventana. c) Calcular Ru (k) para k=0,...., γ d) Determinar Φ$ N (ω) a partir de la ecuación (2.81). El espectro cruzado entre las señales de entrada y salida se determinan a partir de: ˆ N (ω ) = Φ yu γ ∑ Rˆ l= −γ N yu (l)Wγ ( l)e −ilω (2.82) 2.6 Diseño de los experimentos Para utilizar debidamente los métodos de identificación es necesario, siempre que sea posible, diseñar adecuadamente el experimento. Para ello es necesario disponer de unos conocimientos básicos sobre el comportamiento del proceso, seleccionar las señales de entrada, ... entre otras. Esta información puede obtenerse realizando una serie de experimentos básicos y sencillos conocidos con el nombre de experimentos preliminares. 2.6.1 Experimentos preliminares Los experimentos preliminares permiten obtener información básica del comportamiento del sistema. Se conocen con este nombre los siguientes tipos de ensayos: (a) Los experimentos de funcionamiento libre (free run experiments) consisten en analizar los datos correspondientes al funcionamiento normal del proceso. Por lo tanto, no se requiere ninguna activación específica de las entrada. Este tipo de experimentos permite determinar las características de las perturbaciones que afectan a la salida del proceso y el ruido inherente en las señales capturadas. (b) El experimento en escalón (staircase experiment) es útil para observar el grado de linealidad del proceso estudiado. Consiste en aplicar, a una de las entradas seleccionadas, un test con escalones sucesivos, el intervalo de tiempo de cada uno de los cambios del escalón debe ser suficiente para estabilizar el sistema. El test de linealidad, en estado 28 estacionario, consiste en: (1) seleccionar de los datos de entrada y salida los puntos de equilibrio, (2) ajustar a los mismos un polinomio de segundo o tercer orden y (3) observar el valor de los términos de mayor orden del polinomio ajustado; en el caso de que estos términos sean muy significativos implica que el proceso tiene un gran componente de no linealidad. Para eliminar dicha no linealidad, puede precompensarse los datos del proceso utilizando el modelo inverso del polinomio. En el caso de que no sea posible aplicar una señal escalonada al proceso (técnica no paramétrica expuesta en el apartado 2.3.1), por motivos técnicos o económicos, si que se acepta habitualmente la utilización de un escalón simple, en este caso solo será posible estimar la constante de tiempo más relevante del proceso estudiado. (c) Los experimentos con ruido blanco (white noise experiment) pueden ser útiles para determinar el ancho de banda y los retardos del proceso. Este tipo de experimento se caracterizan por excitar el proceso mediante un ruido blanco. Con los datos resultantes de dicho experimento puede realizarse el estudio espectral y/o el análisis de correlación [Zhu93], técnica también no paramétrica descritas anteriormente. Otros tipos de señales a utilizar en la realización de dicho experimento son señales con el ancho de banda limitado como la PRBS (pseudo random binary sequence) o senoides múltiples (estas señales se describen en el próximo apartado). (d) Finalmente, se menciona la técnica de la respuesta frecuencial del proceso realimentado con un relé con histéresis [Åström88]. Este método consiste en conectar el proceso de la forma indicada en la figura 2.6. Dando lugar, en la mayoría de los procesos, a una onda cuadrada a la salida del relé y una onda aproximadamente sinusoidal a la salida del proceso. Esta técnica es muy útil para determinar las características fundamentales del sistema en el caso en que, por los motivos que sea, no pueda operarse en lazo abierto. ysp G(s) y u e -1 Figura 2.6. Diagrama de bloques de un proceso realimentado con relé Como resultado de descomponer en serie de Fourier la señal de salida del relé y considerando solo el primer armónico, se obtiene que la ecuación descriptiva del relé con histéresis es [Cook86]: N ( Ay ) = 4 Au πAy 2 1 − h − j h Ay 2 Ay (2.83) siendo, Au la amplitud del relé; Ay la amplitud de oscilación de la salida; y h la histéresis del relé. Dado un proceso que tiene por función de G(s), las condiciones de oscilación se dan cuando: N ( Ay ) G(i ω ) = −1 (2.84) 29 que corresponde al caso en que la función de transferencia avaluada en el campo frecuencial, G(ωj), intercepta con -1/N(Ay ), figura 2.7. La ecuación (2.84) se obtiene a partir del requerimiento que una onda sinusoidal de frecuencia ω se propaga a través del anillo realimentado con la misma amplitud y fase. Imaginario -1 -1/N(Ay ) Real -1 G(ωj) Figura 2.7. Diagrama de Nyquist. Conocido el valor de N(A y ), puede estimarse un punto de la respuesta frecuencial, que coincida con la pulsación de oscilación ωh . El módulo y la fase de este punto se determinan a partir de la transformada de Fourier de las señales: G (iω h ) = Y(ω h ) U (ωh ) = Kh (2.85) Y (ω h ) arg( G(i ωh )) = atan = φh U (ωh ) La información sobre la constante de tiempo del proceso estudiado se obtendrá considerando que sus características se ajusta a una determinada función de transferencia. La función de transferencia utilizada por la mayoría de los autores es: G( s) = k e− Ls (Ts + 1) (2.86) siendo k la ganancia, T la constante de tiempo del proceso y L el retardo puro . Igualando las ecuaciones (2.85) con el módulo y la fase de la función de transferencia (2.86) se obtienen dos ecuaciones con tres incógnitas: T, k y L. k Kh = (2.87) T 2ω h 2 + 1 φh = −atan( Tω h ) − Lω h La solución se alcanza realizando un segundo experimento con un valor h, histéresis del relé, distinto. Procesando adecuadamente las ecuaciones anteriores, se obtiene que la 30 constante de tiempo y la ganancia del sistema pueden calcularse a partir de la ecuación (2.88). −1 T 2 − Kh21ωh21 1 K h21 (2.88) 2 = 2 2 k − Kh 2ωh 2 1 K h22 2.6.2 Diseño y selección de las señales de entrada Las variables de salida del proceso suelen quedar definidas al formularse el problema de modelación, por ejemplo la variable a controlar o a predecir (simular). No sucede lo mismo con la variable de entrada, en general suele haber varias variables de entrada y por lo tanto se plantea el problema de seleccionar cual/es de ellas son las adecuadas para conseguir los objetivos propuestos. Además del problema de la selección, hay otro aspecto a tener en cuenta consiste en determinar la amplitud de la señal de excitación. 2.6.2.1 Selección de las señales de entrada A la hora de seleccionar cual o cuales son las variables de entrada para el control o la predicción, hay algunas consideraciones que deben tenerse en cuenta: (1) La selección de la entrada esta muy influenciada por la amplitud y por como incide en el rango de la salida. (2) En el caso de tener como objetivo el control, la variable de entrada debe ser manipulable. (3) La función de transferencia salida/entrada debe ser lineal o linealizable (las no linealidades pueden ser compensadas por ejemplo usando un lazo cerrado sencillo). (4) Las entradas medidas pero no manipulables pueden utilizarse como señales de entrada en el proceso de identificación (esto implica que el número de entradas a utilizar en la identificación podrá ser mayor que en el control). (5) La utilización de la experiencia de los operadores de proceso y el conocimiento que se tenga sobre el mismo son esenciales para la elección de la entrada. Uno de los objetivos de los experimentos preliminares será el de ayudar a la selección de la señal/es de entrada. 2.6.2.2 Diseño de las señales de entrada El diseño de las señales de entrada involucra dos aspectos: la determinación de la amplitud y la selección de la forma. En el caso de la determinación de la amplitud de la señal de test se debe tener en cuenta: • Debe estar restringida por el rango de variación permitido. Por razones de seguridad y económicas, no es posible introducir grandes fluctuaciones en el proceso. • En la práctica muchos procesos son no lineales y los modelos lineales son solo una aproximación. Una linealización de una dinámica no lineal será válida solo en una cierta región. Para estimar los parámetros de un modelo lineal, una amplitud muy grande en la señal de entrada no será útil. • Pero, por otro lado, con una amplitud mayor en la entrada se obtiene una mejora en la precisión del modelo estimado, por ejemplo la precisión de un parámetro en términos estadísticos es inversamente proporcional a la energía de la entrada. Esto es lógico ya que al aumentar u(t) la relación señal/ruido incrementa y por lo tanto las perturbaciones o 31 ruidos tienen una influencia menor. Un criterio sencillo para conocer cual debe ser la amplitud mínima será el de buscar que el efecto de la entrada respecto a la salida sea perceptible visualmente. Otro aspecto que no debemos despreciar, es que la amplitud de la señal de entrada esta muy influenciada por la frecuencia de dicha señal, por lo tanto la medida del factor de cresta, max(|u(t)max |,|u(t)min |)/u(t)rms es también importante. Para una amplitud dada, la energía de la entrada (input power) es proporcional a 1/(factor de cresta)2 . • El rango de frecuencias contenido en la señal excitación es también un elemento importante a tener en cuenta. En función de las características del proceso, como puede ser la constante de tiempo, el rango de frecuencias más adecuadas puede determinarse mediante: 0.1 f min ≅ 2πT (2.89) 5 10 < f max ≤ 2πT 2πT 2.6.3 Selección del período de muestreo y la duración del experimento Para la identificación de modelos en tiempo discreto el periodo de muestreo deber ser seleccionado correctamente antes de empezar el experimento, ya que una vez almacenados los datos este no puede ser modificado. Al operar con datos muestreados, es inevitable que se pierda información sobre el proceso, por ello es necesario seleccionar la frecuencia de muestreo para que dichas pérdidas sean insignificantes. En la mayoría de los casos las muestras se adquieren a instantes equidistantes de tiempo. Para seleccionar el periodo se deben tener en cuenta las siguientes consideraciones: • En muchos casos el periodo de muestreo viene definido por la aplicación final. Por ejemplo el instrumento de control a utilizar, los instrumentos de medida, el tipo de algoritmo de control, ..., limitan en muchos casos el periodo de muestreo. • La pérdida de información debida al periodo se explica mejor en el dominio frecuencial. Es bien conocido que una señal sinusoidal con una frecuencia mayor que la mitad de la frecuencia de muestreo (denominado frecuencia de Nyquist) no puede, al ser muestreda, distinguirse de otra por debajo de este periodo. Consecuentemente, la parte del espectro de la señal que corresponde a altas frecuencias será interpretada como una contribución a bajas frecuencias, denominado fenómeno alias. Esto también significa que el espectro de una señal muestreada será la superposición de diferentes partes del espectro inicial. La información acerca de las frecuencias superiores a la frecuencia de Nyquist se pierde en el muestreo. La distorsión producida por el efecto alias, puede ser reducida utilizando un filtro antialias. El ancho de banda del filtro deberá ser mucho menor que la mitad de la frecuencia de muestreo. El diseño del filtro depende del orden y de la frecuencia de corte. Una manera de determinar la frecuencia de corte es aplicando la fórmula: f corte ≅ f max + (f s/2 - f max ) / 2. 32 Es práctico aplicar el mismo filtro en las señales de salida y entrada. Al disminuir el efecto alias, se incrementa la relación señal/ruido. • Asumiendo que la duración del experimento es fija, puede ser útil aplicar un periodo de muestreo lo más alto posible, de esta manera se dispone de mas datos. • Si el numero total de datos a adquirir que es fijo, el periodo de muestreo no debe ser muy grande ni muy pequeño. El primer caso hace que los datos contengan muy poca información acerca de las dinámicas a alta frecuencia y el segundo caso hace que el ruido tendrá mucha influencia. • Una regla a aplicar puede ser entre 5 o 10 – muy frecuentemente alrededor de 10 – el tiempo de estabilización del proceso. Es muchas veces peor seleccionar un periodo de muestreo demasiado grande que demasiado pequeño. • Conocida la f max del sistema, en [Ogata87] se propone como fórmula para determinar el periodo de muestreo: 8 f max ≤ f s ≤ 10 f max. • Tiempos de muestreo muy pequeños pueden provocar problemas prácticos: todos los polos estarán situados alrededor de 1 en el plano z y el modelo determinado pasará a ser numéricamente muy sensible. En muchos casos el modelo resultante de un muestreo rápido, será de fase no mínima a pesar de que el proceso continuo sea de fase mínima, y en el caso de un proceso con retardo, este, debe ser modelado con muchos datos de retardo causando dificultades, por ejemplo, en el diseño de controladores. La duración del experimento afecta tanto en la precisión de los parámetros, el cual es inversamente proporcional a la duración del experimento, como a la resolución espectral. Una regla a tener en cuenta es que la duración del experimento debe ser mayor a 5 – 10 veces la mayor constante de tiempo del sistema que se desea identificar. Otro aspecto a tener en cuenta es el rango de frecuencias analizado, este debería ser de dos o tres décadas. Finalmente, la duración del experimento debe tener en cuenta el coste de la realización del experimento. Un aspecto importante a considerar, cuando se usan señales periódicas, es que la duración del experimento debe cubrir un número completo de periodos o secuencias. 2.6.4 Pretratamiento de los datos Una vez se dispone de los datos es necesario realizar un tratamiento previo de los mismos, antes de ser utilizados en los algoritmos de identificación. Hay distintas deficiencias en los datos adquiridos que deben ser corregidos: • • • • • Perturbaciones de altas frecuencias en los datos; Ocasionales datos espurios y/o olvidados, Derivas, offset y perturbaciones a bajas frecuencias, Los valores numéricos de las distintas señales no tienen el mismo orden de magnitud, Presencia de tiempos de transporte o retardo importantes. 33 Después de adquirir los datos, lo que debe hacerse es visualizarlos con el objetivo de inspeccionar y analizar si hay algún tipo de deficiencias en ellos. Seguidamente con el objetivo de solucionar el problema, pueden aplicarse alguno de los tratamientos comentados a continuación. 1. Perturbaciones a altas frecuencias. Las perturbaciones a altas frecuencias de los datos adquiridos indican que el periodo de muestreo y/o el filtro previo al muestreo no han sido convenientemente seleccionados. Si el periodo de muestreo es innecesariamente pequeño, los datos pueden volverse a muestrear tomando una muestra de cada x muestras de los datos iniciales. En este caso, antes del nuevo muestreo, debe aplicarse un filtro antialias. 2. Datos espurios y olvidos. Los datos espurios y olvidos tienen una gran influencia en el resultado de la estimación. Es por lo tanto necesario eliminar los datos incorrectos e insertar datos en los tiempos en que ha habido errores de adquisición. Las etapas a seguir para determinar estos problemas son: • Fijar, utilizando el conocimiento previo, un valor de la amplitud de la señal que no sea propia del sistema real; • Calcular la desviación estándar de la señal; • Interpolar todas las muestras de la señal original que tengan una amplitud superior o inferior al rango fijado definido por los valores no posibles o como múltiplo de la desviación estándar. Hay algoritmos que permiten detectar los fallos en la adquisición de datos. De todas formas, se debe ser muy prudente para no falsificar los datos originales. 3. Perturbaciones lentas (offset, tendencias, derivas). Este tipo de perturbación es muy frecuente en los datos. Ellas suelen ser debidas a causas externas y en la mayoría de los casos se prefiere no incluirlas en el modelo. Hay, básicamente, dos formas de eliminar el problema: • Eliminando las perturbaciones mediante un tratamiento de los datos; • Definiendo adecuadamente el ruido del modelo teniendo en cuenta las perturbaciones La primera aproximación implica sustraer directamente las tendencias y offset. En la práctica las técnicas que se aplican para ello son: a) Linealizando el modelo alrededor de un punto de equilibrio u(t), y(t): y (t ) = yˆ (t ) − y (2.90) u (t ) = uˆ (t ) − u siendo (u , y ) un punto de equilibrio físico y (uˆ ( t ), yˆ (t las ) ) señales medidas. b) Parecido al caso anterior pero sustrayendo el valor medio de las variables medidas (2.1). c) El offset puede ser estimado de forma explícita extendiendo el modelo y utilizando las variables originales (2.91) A( q − 1 ) yˆ (t ) = B (q −1 )uˆ (t ) + α + v(t ) donde α indica el offset. 34 En el caso de tendencias o derivas una alternativa a la ecuación (2.90), es substituir el valor medio de las señales por una recta de pendiente definida por la tendencia de las señales o una curva en el caso en que la deriva no sea constante en el tiempo. Una segunda aproximación es considerar α como parte del ruido del modelo. En el caso más sencillo esto corresponde a diferenciar los datos (2.92) y luego utilizarlos en la identificación, pero el modelo resultante de la utilización de estos nuevos datos amplifica las altas frecuencias, por ello no puede ser utilizado en muchas aplicaciones. ∆y = yˆ (t ) − yˆ ( t − 1) ∆u = uˆ (t ) − uˆ ( t − 1) (2.92) 4. Escalado de las variables. En los procesos industriales no todas las variables de entrada y salida son de la misma magnitud. Este problema es importante cuando se evalúa la función de sistemas multivariables. El problema puede ser eliminado corrigiendo adecuadamente el offset y el escalado. 5. Tiempos de retardo. En muchos procesos industriales, los tiempos de retardo no son despreciables y es muy importante describir correctamente el retardo del proceso en el modelo. En los métodos de estimación de parámetros, el retardo es tratado como un desplazamiento temporal de las entradas respecto a las salidas. Una de las señales es utilizada como referencia la otra es desplazada en el tiempo para compensar el retardo. Usualmente, es la entrada la señal desplazada, por ejemplo en el caso de un retardo d: u (t ) = q −d uˆ (t ) = uˆ (t − d ) (2.93) Utilizando la variable desplazada, el modelo puede ser estimado mediante los métodos estándar. Bibliografía adicional sobre el tema Bibliografía adicional sobre el tema [Åström71] K.J. Åström and P. Eykhoff. System Identification – A Survey. Automatica, Vol. 7 pp. 123-162. Pergamon Press, 1971. Great Britain. [Evans92] D.C. Evans, D. Rees, D.L. Jones. Design of test signals for identification of linear systems with nonlinear distortion. IEEE Trans. on Instrumentation and Measurement, 16, 6, p. 768-774, 1992. [Fasol80] K.H. Fasol, H.P. Jorgl. Principles of models building and identification, Automatica, 16, p.501-518, 1980 [Godfrey80] K.R. Godfrey. Correlation methods. Automatic, 16, p. 527-534, 1980 35 [Iserman80] R. Iserman. Practical aspects of process identification, Automatica, 16, p.575587, 1980 [Johansson93] R. Johansson. System modeling and identification. Prentice Hall, 1993 [Landau90] I.D. Landau. System identification and control design, Prentice Hall, 1990. [Ljung87] L.Ljung. System identification – Theory for the user, Prentice Hall, 1987. [Ljung94] L.Ljung and T.Glad. Modelling of dynamic system, Prentice Hall, 1994. [Ogata87]. K. Ogata. Discrete-time Control Systems. Prentice-Hall International Editions, United States. [Söderström89] T. Söderström, P. Stoica. System identification, Prentice Hall, 1989. [Rake80] H.Rake. Step response and frequency response methods, Academic Press, 1994. [Zhu93] Y. Zhu, T. Backx. Identification of multivariable industrial processes – for simulation, diagnosis and control, Springer-Verlag, 1993. 36 Tema 2 Técnicas de identificación no paramétricas Ejercicios y problemas resueltos Problema 2.1. Se quiere diseñar una señal de excitación Random discreta de media 5, desviación estándar 2 (o varianza 4), con 200 elementos y periodo de muestreo de 0.2 segundos. Evaluar utilizando como herramienta el programa Matlab, la variación temporal y la densidad espectral estimada. Calcular su energía total o RMS Solución El programa Matlab dispone de una función randn que permite generar una secuencia de números aleatorios de media cero y variancia 1. Por lo tanto aplicando: >>u=5+2*randn(N,1); con N=200 es posible generar un vector con N filas y una columna de media 5 y desviación estándar 2. La función spectrum estima la densidad espectral de la señal utilizando el método de Welch. >> P = spectrum(u) la visualización del espectro se realiza utilizando el comando specplot >>specplot(P,Fs) siendo Fs la frecuencia de muestreo del señal. Observar que la frecuencia máxima es de: (N-1)/N*Fs/2, ya que se evalúa en la región entre 0 y π. La figura muestra la variación temporal y la densidad espectral de la señal diseñada. Para la representación temporal, generamos el vector tiempo como: >>t=0:0.2:(200-1)*0.2; %variaciones de 0.2 >>%obtención de las curvas >> subplot(211),plot(t,u),title('variacion temporal'), xlabel('tiempo'),ylabel('amplitud') >> subplot(212),specplot(P,1/0.2) Aplicando la ecuación (2.2) se determina la energía total o RMS de la señal diseñada: >> sqrt(sum(u.^2)/N) 1 Problema 2.2. Se quiere filtrar la señal diseñada en el problema anterior de forma que tenga un ancho de banda de 1.5Hz. Observar la variación temporal y espectral de la nueva señal. Solución El programa Matlab dispone de una pantalla gráfica para diseñar filtros de distintas características, fdatool. En nuestro caso se pretende diseñar un filtro discreto IIR pasa bajos de orden 2. El método utilizado será butterword. >> fdatool Nos aparece la pantalla de diseño (figura P2.2), en la que debemos seleccionar el método de diseño del filtro, el orden, la frecuencia de muestreo de la señal (1/0.2) y la frecuencia de corte. Una vez definidos los parámetros podemos diseñar el filtro, ver figura. 2 En file seleccionar export, definiendo la matriz SOS y ganancia G. Obteniéndose: >> SOS SOS = 1.0000 >> G G= 2.0000 1.0000 1.0000 0.3695 0.1958 0.3913 La función de transferencia del filtro discreto es: > NUM=G*SOS(1:3) NUM = 0.3913 0.7827 0.3913 >> DEN=SOS(4:6) DEN = 1.0000 0.3695 0.1958 Señal filtrada >> sys=tf(NUM,DEN,0.2) Transfer function: 0.3913 z^2 + 0.7827 z + 0.3913 -----------------------------z^2 + 0.3695 z + 0.1958 Aplicación del filtro diseñado a determinada en el problema anterior: la señal u >uf=filter(NUM,DEN,u); >Pf=spectrum(uf); >specplot(Pf,1/0.2); Espectro de la señal filtrada 3 Problema 2.3. Se quiere generar una señal MLBS con las siguientes características: ancho de banda 6 Hz, con una frecuencia mínima de 0.1 Hz, 4 muestras por cambio de registro y 2 periodos. Mostrar tanto la variación temporal como frecuencial. Solución 1. Determinar ∆t. Ya que la potencia media del ancho de banda se da aproximadamente en 0.443/∆t, para que esta esté situada a 6Hz el valor de ∆t debe ser: ∆t=0.443/6≈0.074. 2. Ajuste de M. Al ser fmin≈0.1, el valor de M debe estar próximo a 135. Según la tabla 2.1 el M mas próximo a este valor es cuando en número de registros es de 7 y por lo tanto M = 127. El valor de fmin será de: fmin = 1/(M*∆t ) = 0.1064. 3. La frecuencia de muestreo de la señal será de ∆t=0.074, ya que se toman 4 muestras por cambio de registro ts = ∆t/4 = 0.0185. Se ha programado una función Matlab de nombre sbina >> [t,s,f,S]=sbina(n, fmax, sdt,amp,periods,invre) con entradas n número de registros fmax frecuencia máxima de interés en el diseño de la señal sdt numero de muestras a adquirir por registro amp amplitud de la señal de entrada (-a,a) periods número de periodos de la señal de entrada invre señal con armónicos impares (odd harmònic) Como salidas de la función tenemos: t s f S vector tiempo señal obtenida frecuencia de la señal transformada de Fouries de la señal En nuestro caso tendremos por lo tanto: >> [t,s,f,S]=sbina(7, 6, 4,1,2) Los resultados obtenidos se muestran en la siguiente figura P2.6 MLBS [ fmax: 6 Hz, regs: 7, samples/bit: 4, fund: 0.107143 Hz, fr: 54.4286 Hz, amp: 1.00 ] 1 0.5 0 Amplitude -0.5 -1 0 2 4 6 8 10 12 Time (s) [ 1016 Samples ] 14 16 18 Spectrum of above 0.2 0.15 0.1 Amplitude 0.05 0 0 5f(-3db) 10 15 Frequency (Hz) 4 20 25 30 Problema 2.4 Se pretende diseñar 3 periodos de dos señales multisinusoidal con las siguientes características: 0.04 Hz de frecuencia fundamental, de 60 armónicos y una amplitud de 1 parar cada componente, una de ellas se diseñará utilizando una la frecuencia random y la segunda utilizando el método de Schroeder. La frecuencia de adquisición de datos será de 50 Hz. Se pretende comparar las dos señales obtenidas desde el campo temporal y frecuencial. Solución Definimos las características de las señales >>harm=60; fund=0.04; a=1; Fs=50; period=3; >>Tsamples=round(Fs/fund); >>samples=Tsamples*period; >>t=(0:1/Fs:samples/Fs)’-1/Fs; Considerando una fase random >>FI=2*pi*rand(harm,1); >>u=zeros(size(t)); >>Fv=fund*(1:harm)’; >>for i=1:harm >> u=u+cos(2*pi*Fv(i)*t+FI(i)*ones(size(t))); >>end >>plot(t,u) Para hacer el estudio espectral de una señal con mas de un periodo, la frecuencia queda definida como: >>n=length(u); >>f=fund/period*(1:period*harm)'; >>Udat=fft(u,n); >>Udat=Udat(1:(n/2+1)); >>Udat(2:n/2)=2*Udat(2:n/2)/n; >>% espectro de la senyal de entrada >>Guu=conj(Udat).*Udat; >>plot(f,Guu(2:period*harm+1)), title('Espectro'),xlabel('Frecuencia') Espectro Respuesta temporal 1.4 15 1.2 10 1 5 0.8 0 0.6 -5 0.4 -10 -15 0 0.2 0 10 20 30 40 tiempo 50 60 70 80 0 0.5 1 1.5 Frecuencia Con un factor de cresta de 2.4774. 5 2 2.5 En el caso de utilizar el método de Schroeder, la fase se determina: >>FI1=pi*((1:harm)').^2/harm; >>u1=zeros(size(t)); >>for i=1:harm >> u1=u1+cos(2*pi*Fv(i)*t+FI1(i)*ones(size(t))); >>end >>plot(t,u1) >>U1dat=fft(u1,n); >>U1dat=U1dat(1:(n/2+1)); >>U1dat(2:n/2)=2*U1dat(2:n/2)/n; >>% espectro de la senyal de entrada >>Guu1=conj(U1dat).*U1dat; >>plot(f,Guu1(2:period*harm+1)) 1.4 10 8 1.2 6 1 4 0.8 2 0 0.6 -2 0.4 -4 -6 0.2 -8 0 -10 0 0 10 20 30 40 50 60 70 0.5 1 1.5 2 2.5 80 Con un factor de cresta de 1.7386. Problema 2.5. Se tiene un sistema representado por la función de transferencia discreta con un periodo de muestreo de 1 segundo: q −1 + 0.5q −2 y (t ) = u (t ) + v (t ) 1 − 1.5q −1 + 0.7 q− 2 a) Comparar la respuesta impulsional del sistema en el caso en que no haya ruido, v(t)=0, y en el caso en que el ruido sea coloreado con una función de transferencia: v (t ) = 1 − q −1 + 0.2q −2 e (t ) 1 − 1.5q −1 + 0.7 q −2 siendo e(t) un ruido blanco de varianza 0.5. b) Determinar los valores de la respuesta impulsional en cada caso y calcular el error cuadrado acomunado en presencia de ruido. Solución a) Para determinar la respuesta impulsional del sistema utilizando el programa MATLAB v5 y v6, se debe proceder de la siguiente forma: 6 >> % simulamos el sistema con la instrucción dimpulse considerando que v(t)=0 >> % la evaluación se realizará sobre 40 muestras >> yimp=dimpulse([0 1 0.5],[1 -1.5 0.7],40); >> % simulamos la parte estocástica del sistema a una entrad randon >> e=sqrt(0.5)*randn(40,1); >> v=dlsim([1 –1 0.2],[1 –1.5 0.7],e); >> yv=yimp+v; Respuesta impulsional sin ruido (-) y con ruido (--) >> t=1:40; 2.5 >> plot(t,yimp,t,yv,’—‘) 2 1.5 1 0.5 0 -0.5 -1 -1.5 -2 0 5 10 15 20 25 30 35 40 tiempo b) Los valores de la respuesta impulso (yimp) en el caso en que no hay ruido son una secuencia de valores infinita: g(t)= [ 0 1.0000 2.0000 2.3000 2.0500 1.4650 0.7625 0.1182 -0.3564 -0.6173 ...] esta secuencia de valores se obtiene dividiendo el numerador por el denominador de la función de transferencia. En el caso en que si hay ruido (yv), la secuencia que se obtiene es: g(t)= [0.3955 1.5360 1.7876 2.3558 1.0422 0.3852 -0.2976 -0.2088 -1.6083 -1.9502 ...] con un error cuadrado acumulado de: > sum((yimp-yv).^2)/40 = 0.6006 Problema 2.6 Se desea estimar la respuesta impulsional del sistema que tienen por función de transferencia: G( s ) = 1 e −2 s 4s + 4s + 1 4 a partir de la respuesta escalón del mismo. Comparar la respuesta impulsonal real con la respuesta estimada. Solución Para poder estimar la respuesta impulsional del sistema a partir del sistema real se debe disponer de datos muestreados. Aplicando la función step es posible simular la respuesta de un sistema continuo a un escalón. 7 >> %sistema sin retardo puro >> sys1=tf(1,[4 4 1]); >> %aproximamos el retardo puro por un sistema de orden 10 >> [nd,dd]=pade(2,10); >> sys2=tf(nd,dd); >> % realizamos el producto de las dos funciones de transferencia >> sys=series(sys1,sys2); >> %simulamos el sistema de forma continua y muestreamos cada segundo >> t=0:0.1:20; >> td=0:20; >> y=step(sys,t); >> yd=step(sys,td); >> subplot(211),plot(t,y,td,yd,’x’),title(‘Respuesta escalón’), xlabel(‘tiempo’) >> % las etapas indicadas hasta este punto podrían ser realizadas directamente en >> SIMULINK >> >> >> >> >> %estimamos respuesta impulso con la ecuación (2.38) g=yd(2:21)-yd(1:20); yi=impulse(sys,t); subplot(212),plot(t,yi),hold on,bar(td,g,0.1), title(‘Respuesta impulsional’),xlabel(‘tiempo’) axis([0 25 0 0.2]) Respuesta escalón 1 0.8 0.6 0.4 0.2 0 0 2 4 6 8 10 12 14 tiempo Respuesta impulsional 16 18 20 0.2 0.15 0.1 0.05 0 0 5 10 15 20 25 tiempo Problema 2.7 Se desea utilizar el análisis de correlación para estimar la respuesta impulso del sistema descrito en el problema 2.5. Con el fin de realizar un estudio comparativo de lo explicado en el tema se propone comparar la respuesta impulso real del sistema con la estimada en los siguientes casos: a) Cuando v(t)=0 y la señal de excitación es un ruido blanco de amplitud 1. b) Cuando v(t) es un ruido blanco, no correlacionado con la entrada, de variancia 0.3. La señal excitación es la misma que en el caso anterior. Solución a) y b) En primer lugar se van a generar las señales de excitación y perturbación con las que se va a simular el sistema. Generaremos 500 datos con un muestreo de 1 seg. >> t=(0:500)’; >> randn(‘seed’,5); 8 >> >> >> >> u=randn(size(t)); randn(‘seed’,0); e=sqrt(0.3)*randn(size(t)); subplot(2,2,1), plot(t,u,t,e,’—‘), title(‘Evolución temporal de u(t) y e(t)’) Para evaluar las señales diseñadas se hará un estudio de correlación y correlación cruzada. La función de MATLAB covf permite realizar este estudio. R=covf(Z,M); donde: Z es una matriz de N*nz, generalmente Z=[y u] o el conjunto de señales a evaluar; M es el valor máximo de retardo para el cual se quiere evaluar la función de covariancia. R es la función de covariancia E zi(t)*z j(t+k), k tiene los valores de 1 a M. >> R=covf([e u],20); >> subplot(2,2,3),plot(R(1,:)), title(‘Autocorrelación de la señal e(t)’) >> subplot(2,2,4),plot(R(4,:)), title(‘Autocorrelación de la señal u(t)’) >> subplot(2,2,2),plot(R(2,:)), title(‘Correlación cruzada E e(t)*u(t+k)’) Evolución temporal de u(t) y e(t) Correlación cruzada 4 0.15 2 0.1 0 0.05 -2 0 -4 -0.05 0 200 400 600 0 Autocorrelación de la señal e(t) 5 10 15 20 Autocorrelación de la señal u(t) 0.4 1 0.3 0.5 0.2 0.1 0 0 -0.1 0 5 10 15 -0.5 20 0 5 10 15 20 Una vez generadas la señales y evaluadas, procedemos a la simulación del sistema. >> y1=dlsim([0 1 0.5],[1 –1.5 0.7],u); >> y2=y1+e; >> ti=0:50; >> yimp=dimpulse([0 1 0.5],[1 –1.5 0.7],ti); Para estimación de la respuesta impulsional utilizaremos la función cra de MATLAB, además de calcular la función impulso indica con una confianza del 99% el intervalo de valores a partir de los cuales dos señales pueden ser consideradas no correlacionadas. [ir,R,cl] = cra(z,M,na,plot); en donde: z = [y u], matriz de datos M = 50, número de retardos a evaluar la función de covariancia na = 0, orden del filtre AR a aplicar para blanquear las entradas 9 plot = 2 o 1, plot = 0 visualización de los resultados obtenidos; plot = 1, dibuja la función de transferencia impulso; y plot = 2, dibuja las covariancias y función impulso. ir = respuesta impulso estimada, ir(1)=g(0) R= R(:,1) retardos; R(:,2) función de covariancia de la y(t); R(:,3) función de covariancia de la u(t); R(:,4) función de correlación cruzada entre u(t) i y(t); cl = nivel de confianza >> [IR,R,cl]=cra([y1 u], 50,0,2); Covf for y Covf for u 20 1 15 0.5 10 5 0 0 -5 -50 0 -0.5 -50 50 Correlation from u to y 3 0.4 2 0.2 1 0 0 0 50 Impulse response estimate 0.6 -0.2 -50 0 -1 -50 50 0 50 Para comparar la respuesta impulsional estimada con la real, podemos aplicar el siguiente comando: >> plot(ti,IR,ti,yimp,’—‘),title(‘Respuesta impulso comparación, real (--) y estimada (-)’) En la gráfica obtenida se observa que la respuesta impulsional estimada se aproxima a la real en los primeros datos M<7, para valores mayores la diferencia es considerable. Otro aspecto a destacar es que con la respuesta impulsional se observa una respuesta típica de un sistema de 2º orden. 10 Respuesta impulso comparación, real(--) y estimada (-) 2.5 2 1.5 1 0.5 0 -0.5 -1 0 5 10 15 20 25 30 35 40 45 50 En el caso b) tendremos: >> [IRn,Rn,cln]=cra([y2 u], 50,0,2); Covf for y Covf for u 20 1 15 0.5 10 5 0 0 -5 -50 0 -0.5 -50 50 Correlation from u to y 3 0.4 2 0.2 1 0 0 0 50 Impulse response estimate 0.6 -0.2 -50 0 -1 -50 50 0 50 La comparación entre la respuesta impulso real y la estimada será: >> plot(ti,IRn,ti,yimp,’—‘),title(‘Respuesta impulso comparación, real (--) y estimada (-)’) 11 Respuesta impulso comparación, real (--) y estimada (-) 2.5 2 1.5 1 0.5 0 -0.5 -1 0 5 10 15 20 25 30 35 40 45 50 La respuesta obtenida con ruido es muy similar a la obtenida sin ruido. Problema 2.8 Utilizando las técnicas frecuenciales del análisis de Fourier y el análisis espectral determinar la respuesta frecuencial del sistema descrito en el problema 2.5. Como señal de excitación utilizar una señal multisinusoidal de características: 100 armónicos, 0.002 de frecuencia fundamental y 3 periodos. Como señal perturbación utilizar un ruido blanco de variancia 5. Solución Archivo solP2_8. Obsérvese que la respuesta frecuencial se estima correctamente, como resultado de aplicar la función empírica ETFE (figura 5) como el análisis espectral (figura 6). La figura 7 muestra la respuesta frecuencial teórica, resultado de utilizar el comando dbode. Nota: al utilizar en este caso una señal periódica se ha utilizado directamente la transformada de Fourier para la estimación de la función de transferencia empírica (respuesta frecuencial) tanto a partir del análisis frecuencial como espectral. En el caso en que las señales utilizadas no sean periódicas, deben utilizarse directamente los comandos spa y/o etfe. 12 Ejercicios y problemas propuestos E2.1 Se quiere identificar un modelo matemático de un horno tubular que calienta el aire a partir de una resistencia eléctrica. La entrada al proceso es la tensión suministrada a la resistencia calefactora y la salida es la señal enviada por el sensor de temperatura situado a la mitad de este horno. Como señal de excitación se ha utilizado una señal binaria. Las señales de entrada y salida se muestran en las siguientes figuras: 8 entrada 6 4 2 240 250 260 250 260 270 tiempo 280 290 300 280 290 300 salida 0.5 0.4 0.3 0.2 0.1 0 240 270 tiempo Se pide que a la vista de los resultados se comenten los tratamientos previos que deberían realizarse antes de proceder a la identificación del modelo. E2.2. Se desea identificar el modelo discreto de un proceso. Partiendo de un ensayo preliminar se ha determinado que el intervalo de frecuencias que describen el proceso es: [fmin , fmax ] = [0.5, 4 ] Hz. Comentar: - ¿A partir de que ensayos preliminares es posible determinar este intervalo? - ¿Cuál es el periodo de adquisición de datos que utilizarías para identificar este proceso? - Si es menester filtrar los datos con un filtro antialias, ¿que frecuencia de corte escogerías para el diseño de este filtro? E2.3- Ajustar por el método de Küpfmüller y Strejc un modelo que se ajuste a la respuesta escalón del problema 2.6. Comparar los resultados del modelo determinado con el modelo real. E2.4.- Estimar la respuesta impulso del problema 2.7 pero en el caso en que se disponga de una entrada coloreada. Utilizar para ello el comando cra seleccionando el orden adecuado del filtro, na, para blanquear la señal de entrada.. 13 E2.5- Variar las características de la señal de entrada (frecuencia fundamental y número de armónicos) y el nivel de ruido del problema 2.8 y observar como se modifica la respuesta frecuencial del sistema. E2.6- Se desea estimar la respuesta frecuencial de un sistema, para ello se ha excitado dicho sistema con una señal de entrada no periódico u(t) obteniéndose como resultado del mismo la señal y(t), ambas se encuentran el fichero adjunto E26.mat. Utilizar las funciones de Matlab etfa y spa para estimar la función de transferencia empírica a partir del análisis de Fourier y del análisis espectral, respectivamente. Comparar la respuesta frecuencial utilizando ambos métodos y variando la longitud de la ventana (M o 1/γ), justificar los resultados obtenidos. Podríais indicar de que tipo de sistema se trata?, cual es su ancho de banda?. E2.7- Partiendo de los mismos datos del ejercicio anterior, E26.mat, estimar la respuesta impulso del sistema. A partir de los resultados de que tipo de sistema se trata?. Justificar la respuesta. E2.8- A partir de los datos de entrada y salida de un sistema, se ha estimado la función de transferencia impulso obteniéndose los resultados mostrados en la figura. Respuesta impulso estimada 1 0.8 0.6 0.4 0.2 0 -0.2 0 5 10 retards 15 20 Indicar la información podemos obtener a partir de ella. Justificar la respuesta. E2.9- La función de transferencia empírica obtenida a partir del estudio espectral de un sistema excitado mediante un ruido blanco, se observa en la figura siguiente: AMPLITUDE PLOT 1 01 10 10 0 -1 1 0- 2 -2 10 -1 1 0 frequency (rad/sec) 1 0 0 10 1 PHASE PLOT 0 -200 phase -400 10 -2 1 0- 1 1 00 frequency (rad/sec) 14 1 01 ¿Que frecuencia de muestreo escogeríais para dicho sistema? Justificar la respuesta. Indicar también de forma aproximada el tipo de sistema de que se trata. E2.10-. La función de auto covarianza de la entrada y la covarianza cruzada entre la entrada y la salida están representadas en las siguientes figuras: Ifunció d’auto-covariança funció de covariança creuada 1 0.2 0.8 0.15 0.6 0.1 0.4 0.05 0.2 0 0 -0.05 -0.2 0 5 10 lags 15 20 -0.1 0 Sabríais deducir la función de transferencia impulso?. 15 5 10 lags 15 20 Tema 3 Métodos de estimación paramétricos y selección del modelo 3.1 Introducción En este tema nos dedicaremos al estudio de los métodos de estimación de parámetros en el dominio temporal y frecuencial. Estos se basan en el supuesto de que el sistema pueda representarse por una parte determinista o causal y una parte estocástica que engloba las dinámicas no modelizables del sistema. En general se asume que la parte estocástica puede ser representada por una variable Gausiana. Los métodos de estimación en el dominio temporal que se estudian, tienen la particularidad de que a partir de ellos se estiman modelos discretos (dominio-Z). Consecuentemente, en el caso de desearse un modelo continuo (dominio-S o ecuación diferencial) del sistema será necesario convertir el modelo discreto a continuo. Ello no presenta problemas cuando el sistema presenta un mantenedor de orden cero. Contrariamente, utilizando técnicas frecuanciales podremos estimar modelos tanto continuos como discretos. La comparación entre ambos modelos se muestra en la siguiente tabla. Tabla 3.1. Comparación de modelos de sistemas Métodos frecuenciales Función de transferencia en el dominio s y z Ruido aditivo en la entrada y en la salida Modelo no paramétrico del ruido Retardo fraccional Sistemas SISO Métodos temporales Función de transferencia en el dominio z Ruido aditivo al modelo Modelo paramétrico del ruido Retardo es un múltiplo entero de Ts Sistemas MISO Los métodos de estimación frecuenciales tienen diferentes ventajas y desventajas con respeto a los métodos temporales. Los ingenieros muchas veces prefieren la descripción en el dominio frecuencial por las siguientes razones [Kollár94]: • Mientras que la solución de una ecuación diferencial necesita la convolución en el dominio del tiempo, esta convolución se sustituye por una simple multiplicación en el dominio de la frecuencia. • A menudo es posible descomponer la señal / ruido en diferentes bandas frecuenciales. • Con la selección adecuada de los coeficientes de Fourier en una banda de frecuencias adecuada, es posible reducir el número de datos. • Es posible obtener un modelo continuo a partir de los datos. • Pequeñas no linealidades pueden ser fácilmente mensurables y detectables en el dominio de la frecuencia. Por otro lado, trabajar en el dominio del tiempo tiene ventajas [Ljung91]: • Es más natural trabajar con señales en el dominio temporal. • Son métodos menos sensibles al tipo de señal de excitación, los técnicas frecuenciales presentan problemas cuando estas no son periódicas. 3-1 • Ciertas no linealidades son más fáciles de detectar, como es el caso de las saturaciones. • Pueden ser utilizados de forma recursiva. • Permiten medir directamente los transitorios del sistema. En general, la base de todos los métodos de estimación consiste en minimizar unos residuos ε(t), definiendo ε(t) como la diferencia entre el valor deseado de la salida, y(t), y el valor de predicción, y$ (t ) , que es función del modelo estimado. La minimización se realiza generalmente utilizando un criterio cuadrático. La metodología de cálculo a utilizar dependerá de la relación entre ε(t) y los parámetros que se quieren estimar. Cuando la relación sea lineal se podrá utilizar un método de cálculo analítico, mientras que en el caso de una relación no lineal, el método de cálculo a utilizar será iterativo. Se debe decir que los modelos estimados, tanto en el dominio temporal como frecuencial, serán modelos con dinámicas lineales. En la tabla 3.1 se muestran más claramente estos conceptos. Tabla 3.2. Clarificación del término linealidad. ERROR DINÁMICA PROCESO Lineal y '+ ay = u $ −u ε = y '+ ay No-lineal y'+ay 3 = u $ 3 −u ε = y '+ay lineal… no-lineal … … respecto al coeficiente a$ ε = y−w $ =u w' +aw ε = y− w $ 3=u w'+aw 3.2 Los modelos y los métodos de estimación paramétricos discretos 3.2.1 Estructura de los modelos lineales discretos Los métodos de estimación paramétricos están muy relacionados con el modelo utilizado. La forma general de representar la estructura de un modelo discreto es, según [Ljung87]: y (t ) = G ( q − 1 )u ( t ) + H ( q −1 ) e( t ) (3.1) Los errores de modelización se incluyen, a diferencia de otros métodos de estimación, en el término e(t). A este término se le asocia una serie de variables Random independientes uniformemente distribuida de media nula (ruido blanco). G(q-1 ) i H(q-1 ) son filtros de orden finito que modelizan la parte determinista y la parte estocástica respectivamente. Una característica diferencial de las distintas estructuras derivadas de la ecuación general (3.1), es la forma de modelizar la parte estocástica o ruido. Por este motivo los modelos se han agrupado en dos bloques: 3-2 - Modelos en que H(q-1 )=0 a) Modelos de media ajustada, MA: y( t ) = B (q −1 ) u( t − nk ) + e( t ) (3.2) −1 −1 -1 donde: G ( q ) = B( q ) , nk representa el retardo puro del proceso y B(q ) es un polinomio de grado nb que tiene la forma: B ( q − 1 ) = b0 + b1 q − 1 + L+ bnb q − nb (3.3) Se les denomina también modelos de respuesta impulso finito (FIR). Tienen el inconveniente que, para representar el comportamiento de un proceso, es necesario gran número de coeficientes. b) Modelos de error de salida, OE: B (q − 1 ) y( t ) = u( t − nk ) + e( t ) F ( q −1 ) en este caso: G (q −1 ) = B ( q −1 ) − nk q , y F(q-1 ) es un polinomio autoregresivo de orden nf: F (q −1 ) F ( q −1 ) = 1 + f 1q −1 +L+ f nf q − nf (3.4) (3.5) - Modelos en que H(q-1 )≠ 0 c) Modelos autoregresivos con variables exógenas, ARX: A( q −1 ) y (t ) = B( q −1 )u (t − nk ) + e ( t ) (3.6) en este modelo se considera que la parte determinista y la parte estocástica tienen el mismo denominador: B( q − 1 ) − nk G( q − 1 ) = q A(q −1 ) (3.7) 1 −1 H (q ) = A( q −1 ) El polinomio A(q-1 ) es el polinomio autoregresivo de orden na: A ( q −1 ) = 1 + a 1q − 1 +L + a n a q − na (3.8) d) Modelos autoregresivos de media móvil y variables exógenas, ARMAX: A( q −1 ) y (t ) = B( q −1 )u (t − nk ) + C ( q −1 ) e(t ) Al igual que en c), G( q −1 ) i H( q − 1 ) , tienen el mismo denominador: 3-3 (3.9) B( q −1 ) − nk G (q ) = q A(q −1 ) −1 (3.10) C( q −1 ) H (q ) = A( q −1 ) −1 y C(q-1 ) es un polinomio parecido a (3.8) de orden nc. e) Otros modelos del termino error son: A( q −1 ) y ( t ) = q − nk B ( q −1 )u (t ) + 1 e (t ) D (q −1 ) (3.11) siendo D(q-1 ) un polinomio autoregresivo de orden nd. A este modelo se le denomina ARARX. Un modelo más general es la estructura ARARMAX: A( q −1 ) y ( t ) = q − nk B ( q −1 )u (t ) + C( q −1 ) e (t ) D (q −1 ) (3.12) f) Modelo Box-Jenkins, BJ: B( q −1 ) C (q −1 ) u ( t ) + e (t ) F (q − 1 ) D( q −1 ) y( t ) = q − nk (3.13) Una propiedad particular de esta estructura es que G(q-1 ) y H(q-1 ) no tienen parámetros comunes. - Resumen de los distintos tipos de modelos Toda esta familia de modelos se puede representar por el modelo general (3.14) esquematizado en la figura 3.1. −1 A( q ) y ( t ) = q − nk B( q −1 ) C( q −1 ) u (t ) + e (t ) F ( q −1 ) D (q −1 ) (3.14) e(t) C (q −1 ) D(q− 1 ) u(t) q − nk B ( q −1 ) F ( q −1 ) + + 1 A(q −1 ) Figura 3.1. Esquema de bloques del modelo general (3.14) 3-4 y(t) Esta estructura es muy general, pero es útil para elaborar algoritmos ya que sus resultados cubren todos los casos especiales. La relación entre modelos y los casos particulares se exponen en la tabla 3.3. Tabla 3.3. Relación entre el modelo general y los casos especiales. Polinomios utilizados de (3.14) Nombre de la estructura del modelo B AB ABC ABD ABCD BF BFCD FIR ARX ARMAX ARARX ARARMAX OE BJ 3.2.2 Objetivos de los métodos de estimación paramétricos Los métodos de estimación paramétricos tienen por objetivo estimar los parámetros de los polinomios: A, B, C, D y/o F según el modelo considerado, de forma que el error de predicción sea mínimo. En el caso de la ecuación general (3.14) el error de modelización o residuos se determina a partir de la ecuación (3.15). −1 D( q −1 ) −1 − nk B( q ) ε( t ) = y (t ) − y$ ( t ) = A ( q ) y ( t ) − q u (t ) (3.15) −1 −1 C( q ) F (q ) La ecuación de los residuos (3.15) se puede evaluar considerando dos términos: • Modelización de la parte determinista. Se observa que hay una relación lineal entre el error de predicción y los coeficientes de los polinomios A y B, mientras que respecto a los coeficientes del polinomio F la relación es no lineal. Este hecho comporta que, para estimar los parámetros del polinomio F, se debe utilizar un método de cálculo iterativo, mientras que si solo es necesario estimar los parámetros de los polinomios A y B, los métodos de cálculo a utilizar son analíticos y, por tanto, más sencillos. • Modelización de la parte estocástica. Los errores de modelización ε(t) no son conocidos y la relación que hay entre los coeficientes y los residuos no es lineal. Consecuentemente, se deben estimar los valores de ε(t) al mismo tiempo que los valores de los parámetros de los polinomios. En este caso, por lo tanto, los métodos de cálculo serán iterativos. 3.3 Método de estimación por mínimos cuadrados (LS) 3.3.1 Descripción del método de mínimos cuadrados El método LS estima modelos de estructura ARX (3.6). Estos modelos se pueden representar por la ecuación: 3-5 y ( t ) = ϕ T ( t )θ + v( t ) (3.16) siendo: y(t) es el valor de la salida en el instante t, ϕ(t) es el vector regresor o información, y θ es el vector de parámetros. ϕ ( t ) = [ − y ( t − 1) L − y ( t − na ) u( t − nk − 1) L u( t − nb − nk )] θ = [ a1 L a na b1 L bnb ] T (3.17) El problema a resolver consiste en estimar el vector de parámetros, θ$ , partiendo de las N observaciones realizadas: y(1), ϕ(1),...,y(N),ϕ(N). De la ecuación (3.16) se deducen un conjunto de ecuaciones lineales: y (1) = ϕ T (1)θ$ y ( 2 ) = ϕ T ( 2)θ$ (3.18) M y ( N ) = ϕ T ( N )θ$ que pueden ser escritas en forma matricial según: Y = Φθ$ (3.19) siendo: Y un vector de dimensión N, Y = [ y (1) y ( 2) L y ( N ) ] ; y Φ una matriz de dimensión T d/N, Φ = [ ϕ (1)ϕ ( 2) L ϕ ( N )] . T El error de modelización o residuo se define como: ε = Y − Φ θ$ (3.20) con ε=(ε(1)...ε(N))T. La estimación por mínimos cuadrados (LS), consiste en minimizar la función residuo, V (θ$ ) , definida por la ecuación (3.21). 1 N 2 1 T 1 ˆ V (θ ) = ∑ ε (t ) = ε ε = ε 2 t =1 2 2 2 (3.21) Sustituyendo la ecuación (3.20) en (3.21), se obtiene que la función a minimizar es: [ 1 min V (θ ) = V (θˆ ) = Y T Y − Y T Φ θ − θ T Φ T Y + θ T Φ T Φθ ˆ θ 2 ] (3.22) La derivada de la función (3.22) respecto a los parámetros debe ser nula. Deduciéndose que el valor de los parámetros que minimiza V (θ$ ) es: ( θ$ = Φ T Φ ) −1 Φ TY La ecuación anterior se puede escribir como un producto de sumas finitas: 3-6 (3.23) −1 N N θ$ = ∑ ϕ ( t )ϕ( t )T ∑ ϕ( t ) y( t ) t =1 t =1 (3.24) de la cual, conocido el orden del modelo: na, nb y nk, es fácilmente calculable el valor de sus parámetros. • Se debe tener en cuenta que la ecuación planteada tiene solución si la matriz Φ T Φ es definida positiva o, equivalentemente sí el rango Φ ≥ n. En caso contrario la ecuación tiene infinitas soluciones. El requisito necesario para garantizar una solución única de la ecuación (3.23) es que la señal de excitación sea persistentemente excitada de orden mayor que d [Söderström89]. 3.3.2 Propiedades del método LS Las propiedades estadísticas de este método demuestran que dadas unos datos que satisfacen la ecuación (3.25) y( t ) = ϕ T ( t )θ 0 + e( t ) (3.25) donde θ0 es el vector de parámetros verdadero y asumiendo que e(t) es un ruido blanco de media cero y variancia λ2 : (i) (ii) (iii) θ$ converge a θ 0 cuando N tiende a infinito la variable Random N ( θ$ − θ 0 ) se comporta como una distribución normal de media cero y covariancia PLS −1 PLS = λ$2 ( φ T φ ) (3.26) 2 un estimador de λ es: 2V θ$ λ$2 = (3.27) N−d () tal y como se demuestra en [Söderström89]. • Resaltar como principal ventaja de este método que la conversión a un mínimo global está garantizada y no existen mínimos locales. • Y como inconveniente resaltar que sí la perturbación v(t) no es un ruido blanco y la relación señal útil/señal ruido es importante, la conversión al valor real de θ0 no está garantizada. Este hecho limita su utilización como método general de estimación. 3.3.3 Solución de LS utilizando la ecuación normal La estimación de los parámetros por el método LS se realiza a partir de la ecuación (3.24), conocida con el nombre de ecuación normal. ( θ$ = Φ T Φ ) 3-7 −1 Φ TY • Resaltar como ventaja que la resolución directa de esta ecuación es sencilla y que los cálculos algebraicos a realizar son sencillos. • Presenta el inconveniente que la matriz Φ TΦ puede estar mal condicionada, particularmente si es de gran dimensión, lo cual comporta errores numéricos importantes en la resolución de la ecuación (3.23). Es por este motivo que diferentes investigadores han presentado alternativas para resolver esta ecuación, una de ellas es por triangulación ortonormal. 3.3.4 Solución de LS por triangulación ortonormal La triangulación ortonormal o transformación QR es una de les alternativas numéricas desarrolladas para resolver la ecuación lineal (3.19) y evitar los errores generados por el mal acondicionamiento de la matriz Φ TΦ [Ljung87]. Consiste en multiplicar el sistema de ecuaciones original (4.19) por una matriz ortonormal Q: QΦθ = QY (3.28) En estas condiciones, la norma de la función error no de ve afectada por la transformación aplicada, ya que si Q es ortonormal: QQT = I, por tanto: QY − QΦθ 2 = Q (Y − Φθ ) 2 = (Y − Φθ ) Q T Q (Y − Φθ ) T = (Y − Φθ ) (Y − Φθ ) = Y − Φθ T 2 (3.29) El objetivo es buscar una matriz ortonormal Q tal que: R QΦ = 0 (3.30) donde R es una matriz cuadrada de dimensión d/d triangular por encima. La ecuación (3.31) se puede escribir como: R Φ = QT 0 (3.32) A la ecuación (3.31) se la denomina factoritzación QR de Φ. Una posible forma de construir la matriz Q es utilizando la transformación de Householder [Ljung87]. En estas condiciones, el segundo término de la ecuación (3.28), QY, se puede descomponer en dos matrices: L QY = M y consecuentemente calcular la función pérdida (3.21) como: 3-8 (3.33) 2 V (θ$) = QΦθ$ − QY 2 R L 2 = θ$ − = Rθ$ − L + M 0 M 2 (3.34) Es fácil ver que V (θ$ ) se minimiza por θ cuando: Rθ$ = L (3.35) y se obtiene que el mínimo de la función pérdida vale: minV (θ ) = M $ θ 2 = MTM (3.36) • Como ventajas de esta metodología de cálculo mencionar: 1- el sistema lineal (3.35) está mejor condicionado que la ecuación (3.23) y por tanto es numéricamente superior 2- la función pérdida se calcula sin la necesidad de estimar el valor de sus parámetros. • Como inconvenientes destacar que requiere el doble de cálculo que el método directo. 3.4 Método de mínimos cuadrados generalizado (GLS) El método de mínimos cuadrados presenta como principal inconveniente la no-convergencia del algoritmo cuando el ruido presente en el proceso no es blanco. Una posible forma de solucionar el problema es utilizando el método de mínimos cuadrados generalizado el cual es una extensión del método LS [Åström 71], [Zhu93]. Al considerar un modelo de tipo: A( q −1 ) y (t ) = B( q − 1 )u (t − nk ) + H ( q −1 )e (t ) (3.37) Sí la función de transferencia discreta del ruido, H(q-1 ), es conocida, el modelo puede transformarse de la forma: A( q −1 ) ~ y (t ) = B( q −1 )u~(t − nk ) + e( t ) (3.38) donde: ~y (t ) = 1 y (t ) G( q −1 ) 1 u~(t ) = u (t ) G (q −1 ) Con estas nuevas señales filtradas de la entrada y la salida, el problema podría ser resuelto aplicando el método clásico de LS. Por lo tanto el método GLS puede interpretarse como un problema de estimación de LS aplicando como criterio la generalización del error. El problema que se plantea en la utilización de este método es que la función de transferencia H(q-1 ) no es conocida. Para solucionar este problema se requiere un proceso iterativo en cuatro etapas el cual consiste en: 3-9 (1) Con el método LS, hacer una primera estimación de los polinomios A(q-1 ) y B(q-1 ): A( q −1 ) y (t ) = B( q −1 )u (t − nk ) + v (t ) (3.39) (2) Analizar el residuo, ε(t), y determinar por ejemplo un modelo AR para aproximar H(q-1 ). En este caso se tiene un modelo denominado ARARX (3.11). 1 G( q −1 ) = D( q −1 ) (3.40) D( q −1 )ε ( t ) = e (t ) La estimación de D(q-1 ) requiere otra vez la utilización del método LS (3) Filtrar (blanquear) la entrada y la salida usando el modelo obtenido en la etapa (2): ~y (t ) = D (q −1 ) y( t ) u~(t ) = D( q −1 ) u( t ) (3.41) (4) Hacer una nueva estimación por mínimos cuadrados utilizando los señales filtrados. Este proceso debe repetirse, a partir de la etapa (2), tantas veces como sea necesario hasta conseguir la convergencia. La convergencia del método se evalúa comprobando que los residuos definidos obtenidos sean blancos. Para ello puede utilizarse el test de auto correlación. Para utilizarse este método deben definirse tanto el orden de la parte determinista como el orden de la parte estocástica. Para simplificar el problema, la mayoría de las veces se considera que son del mismo orden. 3.5 Método de la variable instrumento 3.5.1 Descripción del método de la variable instrumento El método de la variable instrumento (IV) tiene como objetivo aprovechar las ventajas del método LS y superar sus limitaciones. Tiene el inconveniente que para su utilización es necesario definir una nueva variable llamada instrumento. El planteamiento de este método es muy sencillo. Consiste en multiplicar la ecuación (3.15) por un vector instrumento z(t) z ( t ) y (t ) = z ( t )ϕ T ( t )θ + z ( t ) v (t ) (3.42) que se debe caracterizar por ser independiente del ruido v(t), pero dependiente de la entrada y la salida del sistema. Esta propiedad permite plantear el siguiente sistema de ecuaciones lineales: [ z( t )ε ( t ) = z( t ) y (t ) − ϕ T ( t )θ$ 3-10 ] (3.43) El vector de parámetros que minimiza la función pérdida (3.22) vale, en este caso: ( θ$ = Z T Φ ) −1 ZTY (3.44) donde Z es una matriz de la misma dimensión que Φ. Para que θ$ converja a θ0 es necesario que la variable instrumento tenga como propiedades: 1 N z ( t )ϕ T ( t ) ∑ N t=1 sea singular (3.45) 1 N ∑ z (t)v(t ) = 0 N t=1 En otras palabras, es necesario que la variable instrumento sea fuertemente dependiente del vector regresión, ϕ(t), pero sea independiente del ruido. Este método, al igual que LS, presenta el inconveniente de que la matriz ZTΦ puede estar mal condicionada cuando su dimensión es grande. Por este motivo puede utilizarse la triangulación ortonormal para calcular el valor de los parámetros. Si se considera un modelo con una estructura ARMAX, una forma de garantizar las condiciones (3.45) es considerando un vector instrumento definido por: z( t ) = L( q −1 )[ − x ( t − 1) − x (t − 2) L - x( t - na ) u( t − 1) L u( t - nb) ] T (3.46) donde L es un filtro lineal y x(t) se genera a partir del sistema lineal: N ( q −1 ) x ( t ) = M ( q − 1 ) u( t ) (3.47) El problema consiste en determinar el filtro, L, y el modelo lineal, N(q-1 ) y M(q-1 ). Una forma sencilla seria: (1) Aplicar LS (2) Utilizar el modelo estimado como polinomios N y M, y determinar x(t) con (3.47) (3) Considerando L=1, definir z(t) según (3.46) y estimar el vector de parámetros a partir de la ecuación (3.44). 3.5.2 Método IV óptimo propuesto por Ljung El método de la variable instrumento óptimo propuesto por Ljung [Ljung87], también denominado variable instrumento en cuatro etapas, genera el instrumento, z(t), y el filtro, L, estimando al mismo tiempo la función de transferencia de la parte determinista y estocástica. Este cálculo se realiza en cuatro etapas: (1). Considera la estructura del modelo como un modelo ARX: y$ ( t / θ ) = ϕ T ( t)θ$ 3-11 (3.48) y se utiliza LS para estimar θ. A los parámetros estimados se les denomina θ$ (N1) . A partir de los parámetros se obtiene la función de transferencia (3.49), donde los subíndices indican las iteraciones realizadas. B$ ( 1) ( q) G$ N(1) ( q ) = $ N( 1) AN ( q ) (3.49) (2) Con la función de transferencia estimada y considerando L=1, se genera el vector instrumento, z(1)(t), según se ha descrito en (4.46); x (1) ( t ) = G$ N(1) (q −1 ) u( t ) z (1) ( t ) = [ − x (1) ( t − 1) K − x (1) ( t − na ) u (t − 1) K u( t − nb)] T (3.50) La ecuación (3.44) permite estimar un nuevo valor para los parámetros, y obtener la correspondiente función de transferencia, G$ (N2 ) . (3) Los nuevos polinomios, A$ N( 2) i B$ N( 2 ) , obtenidos de la función de transferencia G$ (N2 ) , sirven para estimar la parte estocástica del proceso: v$ N( 2) (t ) = A$ (N2) y (t ) − B$ N( 2) u( t ) (3.51) Considerando que el ruido se comporta como un modelo auto regresivo (AR) de orden d, se estima, con el método LS, el filtro L$ ( q −1 ) : L$ ( q − 1 ) v$ (N2 ) ( t ) = e (t ) (3.52) (4) De la misma forma que en (3.50), se calcula de nuevo x (2)(t) pero considerando la función de transferencia G$ (N2 ) . El vector instrumento óptimo viene dado por (3.53). T z (2 ) (t ) = L$ N ( q −1 )[ − x ( 2) ( t − 1) K − x ( 2) ( t − na ) u( t − 1) K u( t − nb) ] (3.53) Este nuevo instrumento junto con los filtros sirven para estimar el valor final de los parámetros: N ( 2) $ θ N = ∑ z ( t )ϕ FT t= 1 ϕ F ( t ) = L$ N ( q −1 )ϕ (t ), −1 N ∑z t =1 ( 2) ( t ) y F (t ) y F ( t ) = L$ N ( q −1 ) y ( t ) Las propiedades estadísticas de este método demuestran que la variable Random tiende a una distribución Normal de media cero y variancia PIV: 3-12 (3.54) N ( θ$ − θ 0 ) N ( 2 ) N ( 2) T 1 $ P = λN ∑ z ( t ) ∑ z (t ) t =1 N IV t =1 1 N 2 λ$N = ∑ [ y F ( t ) − ϕ FT ( t )θ$N ] N t =1 −1 (3.55) 3.5.3 Solución de la estimación IV por triangulación ortogonal Al igual que LS se genera una matriz ortogonal Q que se debe caracterizar porqué el producto QZ sea triangular por encima. Con esta propiedad la ecuación (3.44) será: T Z T Y = ( QZ ) QΦθ$ (3.56) Al descomponer la matriz Q en: Q1 Q= Q2 donde Q1 es una matriz cuadrada N/N. Puede definirse una matriz cuadrada y triangular por encima Z1 = Q1 Z. Si se define la matriz Φ 1 = Q1 Φ y ya que Q2 Z = 0, la ecuación (3.56) queda transformada en: Z T Y = Z1TΦ1θ$ (3.57) En (4.58) se demuestra que Z1 es la raíz cuadrada de ZT Z Z T Z = ( QZ ) QZ = Z1T Z1 + [ Q2 Z] Q2 Z = Z1T Z1 T T y por tanto, la ecuación (4.56) se puede escribir como: Q Y = Φ θ$ 1 1 (3.58) (3.59) El error de modelización vendrá dado en este caso por el producto Q2 Y y la función pérdida queda definida como: 2 T minV ( θ ) = Q Y = ( Q Y ) Q2 Y (3.60) 2 2 $ θ • Cabe resaltar como ventaja de esta metodología de cálculo dos aspectos: que el sistema lineal (3.59) está mejor condicionado que la ecuación (3.44) y por tanto es numéricamente superior y que la función pérdida se calcula sin la necesidad de estimar el valor de sus parámetros. • Como inconvenientes debe destacase que requiere el doble de cálculo que el método directo y complica mucho el método IV óptimo. 3.5.4 Método de la máxima probabilidad El método de la máxima probabilidad (ML) es uno de los métodos más generales para la estimación de parámetros. La idea básica consiste en construir una función, denominada función de probabilidad, que relacione los datos con los parámetros no conocidos. La estimación consiste en determinar el valor de los parámetros cuyo valor maximice la función. La función de probabilidad consiste básicamente en la función de densidad de probabilidad de 3-13 las observaciones. La estimación de la máxima probabilidad significa que se selecciona el valor de los parámetros que coinciden más probablemente con las observaciones. Supongamos que las observaciones están representadas por un vector de variables Random Y=[y1 , y2 , ..., yn ]T y indicamos la función de densidad de probabilidad como: f(θ; y1 , y2 , ..., yn )=f y (θ; Y) (3.61) La función de probabilidad de los valores observados puede expresarse como: L(θ)=f y (θ;Y) (3.62) La estimación sé obtiene como: max L(θ ) = L(θˆ) ˆ θ (3.63) El principio de máxima probabilidad es simple y se puede demostrar que converge asintoticamente cuando N→∝ y la estimación es eficiente (variancia mínima)[Söderstrom89]. Si consideramos un modelo genérico dado por la ecuación (3.16) y considerando que v(t) es una señal Gausiana, con una distribución normal y de N elementos, concretamente de media E[v]=0 y covariancia E[vv T ]=Cv conocida. La función de probabilidad de esta señal viene dada por la expresión: [ ] f (v ) = (2π ) det (Cv ) N −1 / 2 1 T −1 exp − v Cv v 2 (3.64) En la cual al considerar el modelo (3.16) se obtiene: [ ] f (v ) = (2π ) det (C v ) N −1 / 2 1 T −1 exp − [Y − Φθ ] Cv [Y − Φ θ ] 2 (3.65) En la práctica la función evaluada es: [ ] 1 1 N T log L (θ ) = − log (2π ) det (Cv ) − [Y − Φθ ] Cv−1 [Y − Φ θ ] 2 2 (3.66) Por lo tanto evaluando el máximo de esta función se estimará el valor de los parámetros θ. En el caso en que el ruido corresponda a un ruido blanco con una matriz de covariancia Cv =σ2 I, es fácil demostrar que la maximización de la función de máxima probabilidad (3.66) es equivalente a minimizar la función pérdida: V (θ ) = 1 [Y − Φθ ]T [Y − Φθ ] = −σ 2 log L(θ ) + constant 2 (3.67) Sí σ no es conocido, la maximización de la ecuación (3.66) con respecto a los parámetros y σ debe realizarse separadamente. Para maximizar la ecuación (3.66) se debe recurrir a métodos de cálculo numérico, como el método de Newton-Raphson. 3-14 Consideremos el caso de un sistema ARMAX (3.9) donde el ruido se supone que tiene una distribución normal y una matriz de covariancia conocida. En este caso la función del logaritmo de probabilidad será: [ ] 1 1 N log L (θ ) = − log (2π ) det (Cv ) − ε T C v−1ε 2 2 donde: ε (t ) = y (t ) − ϕ T (t )θˆ , θ = a1 ,..., an , b1 ,...., bm , c1 ,..., c p [ (3.68) ] ϕ ( t) = [− y (t − 1),...,− y (t − n ), u (t − 1),...., u( t − m), v( t − 1),..., v (t − p) ] . El problema en este caso es que v(t-1), ..., v(t-p) no son conocidos. Por lo tanto, en estas circunstancias, la solución solo es posible haciendo soluciones aproximadas (método iterativo) para conseguir a cada paso una mejor estimación de la matriz de covariancia y de los parámetros. Para más detalles [Johansson93] y [Åström80]. 3.6 Método de predicción de error 3.6.1 Formulación general del método de predicción de error El método de predicción de error se basa de predecir el valor de la salida, y(t), en función de los datos de entrada y salida al mismo y de un modelo estimado, de tal manera que se minimice el error existente entre la variable predicha y su valor real. Considerando la expresión lineal general de un sistema como en (3.16) y despreciando el término ruido, la predicción de la salida en el instante t se obtiene: yˆ (t ) = −a1 y( t − 1) − L − a n y( t − n) + b1u (t − 1) + L + bmu (t − m ) = ϕ T ( t )θˆ (3.69) aquí la ecuación del residuo definida por la ecuación (3.15): ε (t ) = y( t ) − yˆ (t t − 1;θ ) (3.70) puede ser interpretada como un error de predicción donde la predicción a un paso yˆ (t t − 1; θ ) se basa en todas los datos disponibles hasta el instante t-1 y el vector de parámetros del modelo θ. Para la formalización del método se introduce la siguiente estructura general del modelo: y (t ) = G( q −1 ; θ ) u( t ) + H ( q − 1; θ )v (t ) (3.71) Asumiendo que G(0;θ)=0, equivale a decir que el modelo tiene como mínimo un retardo puro de una muestra entre entrada y salida. La forma general de expresar un predictor consiste en: yˆ (t | t − 1;θ ) = L1 ( q − 1; θ ) y (t ) + L2 ( q −1 ;θ )u (t ) 3-15 (3.72) la cual es una función de los datos anteriores, t-1, solo sí los filtros de predicción tienen como restricción: L1 (0;θ)=0 y L2 (0;θ)=0. Hay varias formas de escribir el modelo (3.71) y determinar el predictor. Una vez definido el modelo y el predictor, se calculan los errores de predicción a partir de la ecuación (3.70). La estimación de los parámetros, θˆ , se calcula de tal forma que los errores de predicción sean pequeños. El principio básico de este método se ilustra en la figura 3.1. v(t) + u(t) PROCESO y(t) + + Predictor (parámetros θ) ε(t) - Minimización de ε(t) Figura 3.1. Esquema del método de error de predicción Para definir el método de predicción de error el usuario debe realizar las siguientes elecciones: (1) Elegir la estructura del modelo. Esto concierne a la parametrización de G(q;θ) y H(q;θ) en (3.71) como una función de θ. Por razones algoritmicas, la función de transferencia se factoriza en polinomios en el numerador y en el denominador. En el contexto de la identificación, tal como se ha descrito en el apartado 3.2.1., hay distintos modelos de parametrización: OEM, BJM, ... (2) Elegir el predictor. Esto concierne a los filtros, L1 (q;θ) y L2 (q;θ) en la ecuación (3.72), una vez el modelo ha sido especificado. Estos filtros pueden ser seleccionados de distintas formas. La forma más utilizada es ‘optimal mean square predictor’. Esto significa que los filtros son seleccionados de manera que bajo unas condiciones dadas del modelo los errores de predicción tienen la menor variancia posible. En el caso del modelo general considerado en (3.71), el predictor óptimo seria: [ ] )y (t θ ) = 1 − H −1 ( q −1 ;θ ) y (t ) + H −1 ( q −1 ;θ )G( q −1; θ )u (t ) El error de predicción se determina de forma similar: [ ] ε (t ) = y (t ) − )y (t θ ) = y (t ) − 1 − H −1 ( q −1 ; θ ) y (t ) + H −1 ( q −1 ; θ ) G( q −1 ; θ ) u( t ) (3.73) (3.74) (3) Elegir el criterio. Este se refiere a elegir una función que origine un valor escalar de todos los errores de predicción ε(1,θ), ..., ε(N,θ). Este criterio será minimizado con respecto a θ 3-16 de manera que se realice la mejor predicción. En el caso de una salida el criterio (función error) puede definirse como una suma de cuadrados del error de predicción, mientras que en el caso de sistemas multi-variables como una proyección escalar de la matriz de covariancia 1 N V (θ ) = h ∑ ε (t ; θ )ε T (t ;θ ) N t=1 (3.75) donde h() es una función de valor escalar y, generalmente, consiste en la traza de los pesos de la matriz de covariaza o su determinante. El análisis del método de predicción de error muestra que la función perdida converge a un mínimo y la estimación es consistente cuando se satisfacen las siguientes condiciones: • • • • Los datos {u(t),y(t)} son del proceso en estado estacionario. La entrada es persistentemente excitada. La Hessiana V’’(θ) es no singular al menos alrededor del punto mínimo de V(θ). Los filtros G(q-1 ; θ) y H(q-1 ; θ) son funciones diferenciables del vector de parámetros θ. En muchos casos el mínimo de V(θ) no puede ser hallado de forma analítica. En estos casos la minimización debe realizarse utilizando una rutina de cálculo numérico. El método más usualmente utilizado es el algoritmo de Newton-Raphson: [ ( )] V ' (θˆ ) θˆ ( k +1) = θˆ ( k ) − α k V ' ' θˆ (k ) −1 (k) T (3.76) Aquí θˆ ( k ) indica la iteración k del cálculo numérico. La secuencia de escalares α k se utiliza para controlar la longitud del paso. Estrictamente en el caso del algoritmo Newton-Rapson α k =1, de todas formas en la práctica muchas veces es necesario utilizar un paso variable para asegurar la convergencia del método. 3.7 Métodos recursivos para la estimación de parámetros En los métodos de identificación recursivos, la estimación de los parámetros se calcula recursivamente en tiempo. Esto significa que la estimación θˆ (t ) se calcula como una modificación de la estimación θˆ (t − 1) utilizando las nuevas medidas de u(t) y y(t). Los métodos recursivos para la estimación de parámetros han sido desarrollados para aplicaciones de la identificación en tiempo real y su major campo de aplicación son sistema de control adaptativos y diagnostico de fallos. Ello es debido a que estas aplicaciones requieren que las acciones y evaluaciones utilizadas utilicen el modelo mas actualizado del sistema. Los métodos de identificación recursivos tienen las siguientes características generales: • Los modelos estimados con estos métodos se adaptan fácilmente a los sistemas variantes en el tiempo. Ellos permiten que el modelo siga los cambios de parámetros del sistema o cambios debidos a condiciones de operación en el caso de sistemas no lineales. 3-17 • • Los requerimientos de memoria son reducidos y no aumentan en el tiempo, debido a que no se almacenan todos los datos. Ellos se han derivado de una aproximación de los métodos no recursivos descritos anteriormente. 3.7.1 Método de mínimos cuadrados recursivo Para deducir el método de mínimos cuadrados recursivo (RLS) se parte de la ecuación (3.24) −1 t t θˆ( t ) = ∑ ϕ (k )ϕ T ( k ) ∑ ϕ ( k ) y (k ) k =1 k =1 (3.77) Para calcular esta expresión de forma recursiva se introduce como nueva notación: t P(t ) = ∑ ϕ ( k )ϕ T ( k ) k =1 −1 (3.78) Esta suma puede descomponerse en el valor de P(t) y el valor de P(t-1): P −1 (t ) = P −1 (t − 1) + ϕ ( k )ϕ T (k ) (3.79) Con este cambio de variables, los parámetros pueden estimarse utilizando: t−1 ˆ θ ( t ) = P( t ) ∑ ϕ (k ) y ( k ) + ϕ (t ) y (t ) k =1 = P( t ) P −1 (t )θˆ( t − 1) + ϕ (t ) y( t ) [ (3.80) ] Por lo tanto el método de mínimos cuadrados recursivos adopta la forma: [ ] θˆ ( t ) = θˆ ( t − 1 ) + P( t )ϕ( k ) y( t ) − ϕ T ( k )θˆ ( t − 1 ) (3.81) donde el último valor puede ser interpretado como el error de predicción, mientras que el factor de corrección (P(t)ϕ(t)) puede ser considerado como un peso o factor de ganancia determinado como el error de predicción modifica los elementos del vector de parámetros estimado. El hecho de calcular P(t) en la ecuación 3.79 requiere invertir una matriz a cada paso de iteración. Utilizando −1 el [A + BCD]−1 = A−1 − A −1 B[DA−1 B + C −1 ]−1 DA−1 lema y considerando A = P ( t − 1 ), B = D y C = 1 se obtiene una expresión más eficiente: T P( t ) = P( t − 1 ) + Kϕ T ( k ) P( t − 1 ) donde [ (3.82) ] K = P( t − 1 )ϕ( t ) / 1 + ϕ T ( k )P( t − 1 )ϕ ( t ) 3-18 (3.83) que da como resultado una ganancia. La expresión de mínimos cuadrados recursivos queda por tanto: [ ] θˆ ( t ) = θˆ ( t − 1 ) + K ( t ) y( t ) − ϕ T ( k )θˆ ( t − 1 ) (3.84) 3.7.2 Valor inicial Los algoritmos recursivos requieren aproximar el valor inicial del vector de parámetros y de la matriz P(t). Si es posible realizar una primera estimación del vector de los parámetros (por ejemplo utilizando LS norecursivo) los la matriz P(0) debe reflejar la confianza de los parámetros estimados. En el caso en que P(0) sea pequeño K(t) será pequeño para los distintos t y los parámetros estimados no variaran mucho del valor inicial. Mientras que, si P(0) es grande la estimación de los parámetros variará rápidamente del valor inicial. En ausencia de información previa para realizar una primera estimación de los parámetros, se acostumbra a considerar: θˆ ( 0 ) = 0 y P( 0 ) = κI , donde κ es un número grande. 3.7.3 Factor de oblido Muchas aplicaciones pueden considerarse como sistemas de parámetros variables. En ellos se requiere que los parámetros de modelo estimado se vayan adaptando en función de los cambios del sistema. Interesa en estos casos controlar el cómo las medidas antiguas o las recientes afectan sobre la estimación de los parámetros o cómo de rápido son olvidadas las medidas anteriores o antiguas. Un método utilizado en estos casos es el factor de olvido λ que proporciona un decrecimiento exponencial de los pesos. La función pérdida a minimizar adopta la expresión: t V ( θ ) = ∑ λt − k ε 2 ( k ) (3.85) k =1 donde el valor recomendado de λ es un valor comprendido entre 0.90 y 0.995. Por lo tanto el algoritmo de mínimos cuadrados recursivos con factor de olvido es: [ ] K = P( t − 1 )ϕ( t ) / [λ + ϕ ( k ) P( t − 1 )ϕ( t )] P( t ) = [P( t − 1 ) + Kϕ ( k )P( t − 1 )] / λ θˆ ( t ) = θˆ ( t − 1 ) + K ( t ) y( t ) − ϕ T ( k )θˆ ( t − 1 ) T T (3.86) (3.87) (4.88) Para λ = 1 coincide con el método de mínimos cuadrados común. 3.7.4 Algoritmos de estimación de parámetros recursivos En la bibliografía hay distintos algoritmos de estimación de parámetros recursivos, todos ellos permiten estimar el valor de los parámetros del sistema en tiempo real. Una forma unificada de representarlos es mediante las expresiones: 3-19 θˆ ( t ) = θˆ ( t − 1 ) + K ( t )ε ( t ) K = µ( t )P( t − 1 )ϕ ( t ) ε ( t ) = y( t ) − ψ T ( t )P( t − 1 )ϕ ( t ) (3.89) (3.90) (3.91) En la siguiente tabla se observan los valores de los parámetros, vector de datos y vector de corrección para el caso de los métodos: mínimos cuadrados (RLS), método de la variable instrumento recurdivo (RIV) y el método de la máxima probabilidad recursivo (RML). En el caso de incluirse el factor de olvido es necesario realizar las siguientes modificaciones: (1) Reemplazar el 1 del denominador de µ(t) por λ. (2) Dividir P(t) también por λ. En Iserman (1991) se realiza una comparación entre estos tres métodos con respecto a las características del estimador, su convergencia y el esfuerzo computacional. Las propiedades de estos tres métodos se resumen a continuación: RLS: Aplicable cuando la relación ruido/señal es pequeña. Esfuerzo computacional pequeño. RIV: Tiene unas buenas prestaciones. Para acelerar la convergencia inicial se recomienda empezar con RLS. Esfuerzo computacional mayor que RLS. RML: Altas prestaciones del estimador. Lenta convergencia en la etapa inicial. Se estiman los parámetros del ruido, pero la convergencia es lenta. El esfuerzo computacional es mayor que en los otros dos. Método θ̂ RLS [â L â b̂ L b̂ ] T 1 n 1 m RIV RML [â L â b̂ L b̂ [â L â b̂ L b̂ ] T 1 n 1 1 m ĉ1 L ĉ p n 1 m ] T ψ(t ) [− y( t − 1 )L − y( t − n ) [− y( t − 1 )L − y( t − n ) [− y( t − 1 )L − y( t − n ) T T u ( t − 1 )L u ( t − m ) u ( t − 1 ) L u ( t − m )] u ( t − 1 ) L u ( t − m )] T ε ( t − 1 )L ε ( t − p )] µ( t ) 1 1 1 T T 1 + ψ ( t )P( t − 1 )ψ ( t ) 1 + ψ ( t ) P( t − 1 )ϕ ( t ) 1 + ψ ( t ) P( t − 1 )ϕ ( t ) T P(t) ϕ(t) [ ] [ ] [ ] I − K ( t )ψ T ( t ) P ( t − 1 ) I − K ( t )ψ T ( t ) P ( t − 1 ) I − K ( t )ψ T ( t ) P ( t − 1 ) ψ(t ) [− η ( t − 1 )L − η ( t − n ) − y' ( t − 1 )L − y' ( t − n ) u ( t − 1 )L u( t − m )] T [ u ' ( t − 1 )L u ' ( t − m ) ] ε ' ( t − 1 )L ε ' ( t − p ) 3-20 T 3.8 Métodos de estimación paramétricos frecuenciales El objetivo de los métodos de identificación en el dominio frecuencial es el mismo que en el dominio temporal: identificar un sistema lineal a partir de los datos. La principal diferencia entre ambos radica en el dominio de trabajo. De todas formas los dos métodos son complementarios y, en algunos casos, ambos pueden utilizarse para solucionar el mismo problema. Analizamos a continuación, en que condiciones ambos métodos identifican el mismo sistema. El modelo general utilizado en la identificación en el dominio de la frecuencia de un sistema lineal se muestra en la figura 5.1. El sistema se representa por su función de transferencia H(Ω), donde Ω = s = jω en el dominio de Laplace, o Ω = z-1 = exp(-jωTs) en el dominio z, respectivamente, y H es una forma racional, eventualmente con un término retardo Td (3.92). Ny H(Ω) U + Y Nu Ym + Um Figura 3.2. Modelo general utilizado en la identificación de sistemas en el dominio frecuencial. H (Ω) = e − jω T d b 0 Ω 0 + b 1 Ω 1 + L + b nn Ω nn a 0 Ω 0 + a 1 Ω 1 + L + a nd Ω nd (3.92) La señal de excitación tiene una amplitud compleja Uk a la frecuencia angular ωk y la respuesta del sistema es Yk = H(Ω k )Uk . L’amplitud compleja de las señales de entrada y salida medidas estan contaminada con ruido Nu y Ny , respectivamente, hecho que incorporadar un error en las variables del modelo. Para la solución propuesta, se asume que el ruido tiene como características que: • es Gausiano • es independiente de las señales de entrada y salida • no hay correlación entre las muestras de las diferentes frecuencias Las medidas se realizan a distintas frecuencias ωk , k=1...F, las amplitudes de las entradas y salidas son Umk y Ymk, respectivamente. Los parámetros no conocidos de la función de transferencia se indican con el vector P. Con todo ello las ecuaciones básicas son: Yk = H(Ω k ,P)Uk , k=1,2,...,F Ymk = H(Ω k ,P)(Umk-Nuk )+Nyk , k=1,2,...,F 3-21 (3.93) (3.94) Asumiendo que el ruido en las amplitudes complejas es Gausiana y no correlacionado, y que el ruido de la entrada y la salida no están tampoco correlacionados, su función de densidad probabilística puede escribirse como: 2 2 N Ryk + N Iyk F 1 Π exp − 2 2σ yk2 k =1 2πσ yk N yk N yk F 1 − Π exp 2 2 2 πσ 2 σ k = 1 yk yk 2 2 N Ruk + N Iuk 1 p (N u , N y ) = Π exp − 2 2σ uk2 k =1 2πσ uk Nuk N uk 1 − =Π exp 2 2 k =1 2πσ uk 2σ uk (3.95) donde NRuk , NIuk , NRyk y NIyk se corresponde con las partes real y imaginaria del ruido en las señales de entrada y salida. N es el conjugado complejo de N, σuk y σyk son las correspondientes desviaciones estándar, Nu y Ny indican los vectores formados por Nuk y Nyk en las distintas frecuencias. Substituyendo en (3.95) la variable ruido por Nuk =Umk-Uk y Nyk =Ymk-Yk , y haciendo el logaritmo y asumiendo que σu y σy son conocidas, la función de máxima probabilidad es: F (U − U k )(U mk − U k ) F (Ymk − Yk )(Ymk − Yk ) − ∑ ln( L(U , Y , P)) = cont − ∑ mk 2σ uk2 2σ uk2 k =1 k =1 (3.96) La maximización de la ecuación (3.95) se consigue minimizando la ecuación (3.96) sujeto a la restricción (3.93). (U mk − U k )(U mk − U k ) F (Ymk − Yk )(Ymk − Yk ) + ∑ C LS ( L(U , Y , P)) = ∑ 2 2σ uk2 2 σ k =1 k = 1 uk F (3.97) La restricción (3.93) puede substituirse en (3.97) para eliminar Yk . Como resultado se obtiene un problema de mínimos cuadrados con pesos no lineales. En general pero no se está interesado en Uk , por lo tanto la mejor forma de minimizar la ecuación (3.96) con la restricción (3.93) es utilizar la técnica de multiplicadores de Lagrange para eliminarlos a ambos (Uk y Yk ). En este caso la expresión a minimizar consiste en: − jω T k d N (Ω k , P)U mk − D (Ω k , P)Ymk 1 F e C (P) = ∑ 2 k =1 σ yk2 D (Ω k , P) 2 + σ uk2 N ( Ω k , P) 2 2 (3.98) donde N(Ω,P) y D(Ω,P) son el numerador y el denominador de la función de transferencia, respectivamente. La chi-cuadrada acostumbra a ser la función de coste más utilizada en la resolución del método de estimación de máxima probabilidad para datos Gausianos. Para conseguir que la función de coste (3.98) tienda a una distribución chi-cuadrada se formulan distintas alternativas, una de ellas es la expresada en la ecuación (3.99) donde los pesos, W, han de ser iguales a las variaciones de los términos de los valores absolutos buscados. 3-22 CWLS ( P) = 2 1 F − jω T Wtfk e k d U mk N ( Ω k , P) − Ymk D ( Ω k , P) ∑ 2 k =1 (3.99) La minimización de está función se consigue de forma que: e − jω k Td U mk N ( Ω k , P) − Ymk D ( Ω k , P) = 0 (3.100) El término residuo será: ε k = e − jω kTd U mk N (Ω k , P) − Ymk D (Ω k , P) = 0 La variancia de este residuo será igual a: var {ε k } = 2σ uk2 N ( Ω k , P) + 2σ 2yk D ( Ω k , P) 2 2 sí Nuk y Nyk son independientes. Haciendo Wk =1/var{ε k }, se obtiene que la función de coste (3.99) consiste en la estimación de un sistema lineal, denominado ELiS (Estimator for Linear Systems). Para minimizar la ecuación (3.98) respecto a los parámetros P, deben utilizarse técnicas no lineales con restricciones y para ser utilizada, el usuario debe aportar el valor inicial del retardo puro. En el caso en que Nuk y Nyk no sean independientes por distintas razones: - el sistema está en lazo cerrado. - o hay ruido en la señal de entrada la función coste a considerar es: 2 − jω T e k d N ( Ω k , P)U mk − D ( Ω k , P)Ymk 1 F C (P) = ∑ 2 k =1 σ 2yk D ( Ω k , P) 2 + σ uk2 N (Ω k , P) 2 − 2real {CNDk } (3.101) con: CNDk = c uyk e − jω k Td N ( Ω k , P) D(Ω k , P) y c uyk = 0.5 cov{Nuk , N yk } = 0.5 E{N uk , N yk } 3.9 Selección y validación de la estructura del modelo A demás de los métodos de estimación de los parámetros, otro aspecto muy importante es el de buscar la estructura apropiada para el modelo (por ejemplo ver tabla 3.3). Para ello es necesario entender los métodos de estimación o identificación y conocer el sistema que se desea identificar. Cuando la estructura del modelo ha sido determinada, los métodos de estimación proporcionan un modelo particular de dicha estructura. Una vez identificado el modelo otra cuestión a plantearse es si el modelo identificado es suficientemente bueno, para ello se recurre a las técnicas de validación. Obsérvese que no siempre será posible definir una estructura del modelo, identificar los valores de los parámetros y validar de forma independiente, sino al contrario las tres etapas están muy interrelacionadas. 3-23 3.9.1 Selección de la estructura del modelo. Aspectos generales La selección de la estructura del modelo tiene un considerable efecto sobre la cualidad del modelo resultante y el coste de computación. La cualidad del modelo puede, por ejemplo evaluarse por el criterio del error cuadrático. La mejor estructura del modelo es un compromiso entre flexibilidad y ahorro. Entendiendo por flexibilidad que la estructura del modelo tiene capacidad para describir diferentes sistemas y una forma de obtenerlo es utilizando muchos parámetros. Por otro lado, el ahorro requiere la utilización de pocos parámetros. Para empezar a solucionar un problema de identificación, cabe considerar tres aspectos importantes: * Tipos de conjuntos de modelos * Dimensión del conjunto de modelos o selección del orden de los modelos * Métodos de identificación La selección del tipo dentro de un conjunto de modelos implica buscar entre diferentes clases de modelos como entre modelos no lineares o lineares o entre modelos de entrada-salida, caja negra o parametrizado físicamente, y otros. La búsqueda de que tipo de modelo utilizar es un poco subjetivo y involucra muchos factores que son independientes del conjunto de datos. La búsqueda es habitualmente un compromiso entre diferentes factores, como cualidad del modelo y esfuerzo de modelado. Para obtener unos buenos resultados con pocos parámetros, suele utilizarse el conocimiento previo del proceso y algo de intuición. La información previa es muy útil en el caso de modelos en tiempo continuo. La forma de evaluar ε(t,θ) y su minimización influye mucho en el esfuerzo de programación y el tiempo de cálculo. Modelos sofisticados suelen utilizarse solo en el caso de que no puedan ser validados los modelos sencillos. Las regresiones lineales son los modelos más simples y los que la minimización del criterio es robusta. Cuando se realiza una transformación no lineal de los datos puede ser también evaluado con el ajuste de un modelo lineal. La selección del orden del modelo implica la selección del número de parámetros de una determinada clase de modelos. Este paso requiere usualmente alguna evaluación del conjunto de datos, de todas formas el conocimiento preliminar que se tiene del proceso muy a menudo permite deducir un rango de ordenes del modelo a considerar. La selección del método de identificación depende enormemente de la clase de modelo seleccionado. Como se ha visto en apartados anteriores, un sistema lineal puede representarse de diferentes formas, por su respuesta transitoria o frecuencial o modelo paramétrico. Evidentemente podemos transformar unas en las otras, pero estas transformaciones están muy mal condicionadas en el sentido de que pequeños errores en una representación pueden originar mucho error en otra. La conclusión es clara, la búsqueda del método está íntimamente relacionada con el objetivo de la identificación. 3.9.2 Análisis preeliminareis de los datos para la selección de la estructura del modelo Ciertos tests o evaluaciones de los datos permiten deducir una posible estructura del modelo, algunos de ellos han sido descritos en el tema 2. Estas técnicas no conducen a la 3-24 determinación completa del modelo del sistema. En el caso de métodos paramétricos, el problema se reduce a la selección del orden del modelo. (1) La evaluación del análisis espectral estimado proporciona información sobre el rango de frecuencias de interés del proceso y el nivel de ruido, por lo tanto no ayuda a diseñar correctamente la señal de entrada y los filtros. La estimación no paramétrica de la función de transferencia Gˆ ( jω ) proporciona información sobre los picos de resonancia y el retardo de fase. Todo ello da una orientación sobre el orden requerido par una adecuada descripción de las dinámicas del sistema (o la zona de interés). (2) Evaluar el rango de la matriz de covarianza es un buen método para estimar el orden del sistema. Supóngase que el sistema correcto se describe mediante: y (t ) + a1 y( t − 1) + L + a n y( t − n) = b1u (t − 1) + L + bn u (t − n ) + v (t ) siendo n el verdadero orden del sistema. Si tomamos un modelo de orden s, el vector de datos es: ϕ ( t ) = [ y (t ) y( t − 1) L y( t − s )u (t − 1) Lu (t − s ) ] Considerando primero el caso en que v(t) ≡ 0, tenemos que la matriz de covarianza T 1 N T ϕ (t )ϕ (t ) ∑ N t =1 será no singular para s ≤ n (en el caso que {u(t)} sea persistentemente excitada) y singular para s≥n+1. Rϕϕ ( N ) = En el caso de ruido la matriz de convarianza puede ser utilizada siempre que la relación señal-ruido no sea muy grande, sí es el caso puede utilizarse la fórmula: Rˆ ϕϕ ( N ) = Rϕϕ ( N ) − σ 2 Rv donde σ2 Rv es la estimación de la influencia del ruido del proceso en la matriz de covarianza. Una mejor alternativa, cuando la influencia de v(t) no es despreciable, es la de utilizar otro vector de correlación, por ejemplo en el caso en que {v(t)} y {u(t)} no estén correlados (sistema en lazo abierto) podemos utilizar T ζ ( t ) = [u (t − 1), u (t − 2),L , u (t − 2s ] y por tanto la matriz de convarianza es [ Rˆ ϕζ ( N ) = E ϕ ( t )ζ T (t ) es no singular para s≤n y singular para s≥n+1. ] (3) El método de correlación es otro método que permite obtener información acerca de que variables incluir en la estructura del modelo. Esta variable podría ser y(t-n-1). La cuestión que permite resolver es si una nueva variable contribuye de alguna forma en explicar la variable de salida y(t). Ello puede realizarse mediante la correlación entre la nueva variable y la salida. De todas formas para descartar las posibles relaciones entre ellas, y para conseguir estructuras de poca complejidad, la correlación debería realizarse entra 3-25 ella y los residuos obtenidos como resultado de considerar un primer modelo ε (t ,θˆ ) = y (t ) − yˆ (t | θˆ ) . Ello se conoce con el nombre de correlación parcial. 3.9.3 Criterios para la comparación de la estructura de los modelos Una aproximación natural para determinar la estructura del modelo es simplemente testar diferentes estructuras y comparar el resultado entre ellas. Los métodos de tests más comúnmente utilizados son: * * * Test de la función error o pérdida Test de cancelación de polos y ceros Test del residuo 3.9.3.1 Test de la función error o pérdida El método más simple es mirar sencillamente la función pérdida V (θˆ ) directamente vinculada con el orden del modelo. Cuando incrementa el orden la función pérdida decrece hasta que se mantiene constante o cambia lentamente. Otros métodos se basan en test estadísticos de la función pérdida o en la evaluación de diferentes criterios que tiene encuenta la complejidad del modelo. (1) Un método estadístico para evaluar si la función pérdida disminuye significativamente cuando incrementa el orden del modelo es el F-test. Este test se basa en la independencia estadística de V 1 (θ ) y V 1 (θ ) − V 2 (θ ) donde los subíndices indicap modelos con un núero de parámetros p1 y p2 respectivamente. Para testar si la reducción de la función es significativa cuando el número de parámetros aumenta de p1 a p2 se utiliza: V 1 (θ ) − V 2 (θ ) N − p2 t= V 2 (θ ) p1 − p 2 Esta cantidad tiene una distribución F[p1 - p2 , N - p2 ], entonces para un suficiente número de muestras N, se cumple que: t > F α [p1 - p2 , N - p2 ] entonces se cumple la hipótesis que la reducción de la función pérdida es significativa con el aumento del número de parámetros y por tanto el nuevo parámetro es aceptado con un nivel de confianza de 1-α . En la práctica, el nivel de confianza tiene un rango de 0.01 a 0.1. (2) El criterio de análisis de complejidad puede realizarse simplemente adicionado a la función pérdida un término extra que penalice la complejidad del modelo. En este caso se selecciona el mejor modelo que minimice el criterio. El criterio de información de Akaike (AIC) disminuye con la función pérdida y aumenta con el número de parámetros, se define como: AIC ( p ) = N log V (θ ) + 2 p siendo: 1 N 2 ∑ ε (t,θ ) N t =1 Se ha observado que este criterio puede sobre estimar el orden del modelo. V (θ ) = 3-26 Otro criterio propuesto por Akaike es ‘final prediction error criterion (FPE)’: N+ p FPE( p) = V (θ ) N−p Se ha observado que este criterio tiende a subestimar el modelo del sistema. Una propiedad atractiva tanto del criterio de AIC como FPE es que el orden del modelo se determina como resultado de valor mínimo del criterio y no es necesario evaluarlo en función de unos niveles de confianza como es el caso del método estadístico. 3.9.3.2 Test de cancelación de polos-ceros Si se considera que el orden del modelo es s y es superior al orden del proceso real n, originan pares de polos-ceros muy próximos que pueden ser cancelados. Este fenómeno puede utilizarse para testar el orden del modelo, calculando las raíces de los polinomios los cuales A(q) y B(q) a partir de diferentes órdenes s. 3.9.3.3 Test de residuo Resultado de comparar la salida con la predicción del modelo: ε (t ,θˆ ) = y (t ) − yˆ (t ,θˆ ) representa una forma de representar las diferencias entre las variables observadas y el comportamiento del modelo estimado. En general los residuos deben ser blancos o aproximadamente blancos y no correlados con la entrada, si el modelo es una buena representación del sistema. De lo contrario, indicaría que o bien el modelo a la identificación no es completa. La simple representación de los residuos respecto a los valores ajustados; tal que la representación no revela ninguna dependencia clara. Otro diagrama útil es el histograma de los residuos, amplitudes, el cual revela si la distribución difiere de una distribución normal. Otros tests útiles son los estudiados en el tema 2, test estadístico de auto correlación de los residuos ε(t), test de cross-correlación entre los residuos y las entradas, … 3.9.4 Validación del modelo La pregunta crucial una vez identificado un modelo es bueno para los objetivos considerados. La validación identificado representa el comportamiento real, teniendo métodos de identificación y los objetivos finales. El aspectos: sé este modelo es suficientemente permite comprobar sí el modelo en cuenta las limitaciones de los problema planteado tiene distintos 1. El modelo, ¿satisface suficientemente bien los datos observados? 2. ¿Es el modelo suficientemente bueno para los requerimientos propuestos? 3. ¿Describe el modelo al sistema real? 3-27 El método para responder estas cuestiones es confrontar el modelo con más información – como conocimientos a priori, datos experimentales y experiencia – sobre el sistema real. Puesto que el uso más natural de la identificación consiste en confrontar el modelo con los datos, las técnicas de identificación tienden a centrarse en la pregunta 1. Mientras que la pregunta 3, prescindiendo de los problemas de test, es filosóficamente imposible de contestar, la pregunta 2 es un requerimiento práctico importante. Evaluar si el problema que motivo la tarea de modelización puede ser solucionado usando el modelo obtenido, puede considerarse como la prueba más importante de validación del modelo. Por ejemplo, si un regulador basado en el modelo satisface los requerimientos de control, entonces el modelo será valido, independientemente de la forma que tenga. No obstante, a menudo es imposible, costoso o peligros probar todos los posible modelos con el uso que se ha previsto. Por ello, la confianza en el modelo debe verificarse de otras maneras. Los dos métodos principales son: la verificación de las asunciones a priori y la verificación del comportamiento de la entradasalida. 3.9.4.1 Verification of a priori assumptions Las pruebas de sí las asunciones a priori de los métodos de identificación son ciertos puede realizarse como: * * * * * * Linealización: Comparación del modelo obtenido a partir de diferentes amplitudes de la entrada. Comparación de modelos con funciones transitorias medidas en ambas direcciones. Varianza temporal. Comparación del modelo con los diferentes conjuntos de datos. Residuos: ¿Son los residuos estadísticamente independientes (auto correlación), con media cero?, ¿Son independientes de la señal de entrada (correlación cruzada con respecto la señal de entrada? Medias, tendencias de la salida. Comparación del modelo con y sin eliminación de las tendencias. Señal de entrada: ¿Puede ser medida sin ruido? ¿Es persistentemente excitada?. Matriz de covarianza de los parámetros estimados: ¿la varianza y covarianza decrementa con el incremento de número de muestras? 3.9.4.2 Verificación del comportamiento de las entradas-salidas Un juicio final del modelo identificado se obtiene comparando el comportamiento modelo medido y predicho de la entrada-salida. Esto puede realizarse como: * Comparación de la variable medida y(t) y la señal de salida calculada yˆ (t ,θˆ ) : - con la entrada u(t) utilizada en la identificación, - con otras señales de entrada como escalones o impulses. * Comparación de la función de correlación cruzada basada en las señales medidas y las del modelo. Otra manera es validación cruzada, esto significa la verificación del modelo identificado con otro conjunto de medidas. La comparación entre los datos observados y la salida modelo se muestra generalmente mirando las anomalías del modelo no detectadas previamente. La validación cruzada se considera la mejor manera de validar el modelo y la única prueba verdadera para su aplicabilidad general. 3-28 Bibliografía adicional sobre el tema [Åström 71] K. J. Astrom, P. Eykhoff. System Identification – A survey. Automatica,7, p. 123-162, 1971 [Åström80].K. J. Astrom, Maximum likelihood and prediction error methods. Automatica,16, p. 551-574, 1980 [Bohlin94] Bohlin, T.: Interactive system identification: prospects and pitfalls, Springer Verlag, 1991. [Brdys94]Brdys, M. A. -Malinowski, K. : Computer aided control system design, World Scientific, 1994. [Evans92]Evans, D. C. -Rees, D. -Jones, D. L.: Design of test signals for identification of linear systems with nonlinear distortion, IEEE Trans. on Instrumentation and Measurement, .41, 6, p. 768- 774, 1992. [Fasol80]Fasol, K. H. -Jorgl, H. P. : Principles of model building and identification, Automatica, 16, p. 501-518, 1980. [Godfrey80]Godfrey. K. R.: Correlation methods, Automatica, 16:, p. 527-534, 1980. [Godfrey86]Godfrey, K. -Jones, P.: Signal processing for control, Springer-Verlag, 1986. [Gustavsson72]Gustavsson, I: Comparison of different methods for identification of industrial processes, Automatica, 6, p. 127-142, 1972 [Iserman80] R.. Iserman. Pranctial aspects of process identification, Automatica,16, p. 575587, 1980 [Johansson93] R. Johansson. System modeling and identification. Prentice Hall, 1993 [Kollás93] I. Kollár “On Frecuency Domain Identification of Linear Systema” IEEE Trans. on Instrumentation and Measurement, Vol. 42 No 1, pp. 2-6, Feb. 1993. [Landau90]Landau, I. D. : System identification and control design, Prentice Hall, 1990 [Ljung87] L.Ljung. System identification – Theory for the user, Prentice Hall, 1987. [Pintlon92] R. Pintelon, P. Guillaume, Y. Rolai and F. Verbeys, “ Identification of Linear Systems Captured in a Feedback Loop” IEEE Trans. on Instrumentation and Measurement, Vol. 41, No 6, pp. 747-754, Dec 1992. [Söderström89] T. Söderström, P. Stoica. System identification, Prentice Hall, 1989. [Zhu93] Y. Zhu – T. backx. Identification of multivariable idustrial process – for simulation, diagnosis and control. Springer-Verlag, 1993. 3-29 [Walter97]Walter, E – Pronzato, L. Data. Masson Great Britain, 1997. Identification of Parametric Models from Experimental 3-30 Tema 3 Métodos de estimación paramétricos y selección del modelo Ejercicios y problemas resueltos Problema 3.1. Considerar que una estación depuradora de aguas residuales puede modelizarse por la expresión discreta: y( t ) − â * y( t − 1 ) = b̂ * u( t − 1 ) y se quiere determinar el valor de sus parámetros. Por este motivo se ha diseñado un experimento y se han obtenido los resultados de la tabla, siendo el periodo de adquisición de datos de 2 segundos.. tiempo 0 2 4 6 8 10 12 14 16 18 20 22 24 26 28 30 Entrada -0.0592 -1.0106 0.6145 0.5077 1.6924 0.5913 -0.6436 0.3803 -1.0091 -0.0195 -0.0482 0.0000 -0.3179 1.0950 -1.8740 0.4282 Salida -0.0899 -0.0799 -0.1029 -0.0687 -0.0427 0.0193 0.0364 0.0102 0.0215 -0.0150 -0.0136 -0.0134 -0.0116 -0.0207 0.0185 -0.0463 A partir de los datos y utilizando el método de mínimos cuadrados, estimar el valor de los parámetros sin utilizar los 4 datos últimos. Utilizar los 4 últimos datos para validar el modelo estimado y determinar la variancia del error de predicción. Solución En función de los datos de que se dispone, definimos el vector ϕ(t) como: ϕ ( t ) = [− y( t − 1 )u( t − 1 )] T por lo tanto la matriz información tiene la expresión: Aplicando la fórmula 3.23, y siendo 1 - 0.0592 - 0.0899 - 0.0799 - 1.0106 - 0.1029 0.6145 0.5077 - 0.0687 - 0.0427 1.6924 Φ ( t ) = 0.0193 0.5913 0.0364 - 0.6436 0.3803 0.0102 0.0215 - 1.0091 - 0.0150 - 0.0195 - 0.0136 - 0.0482 T Y=[-0.0799 -0.1029 -0.0687 -0.0427 0.0215 -0.0150 -0.0136 -0.0134] 0.0193 Se estima el valor de los parámetros como: 0.0364 0.0102 â = 0. 8668 y b̂ = 0.0333 Para validar el modelo se procede: ŷ (24)=0.8668*y(22)+0.033*u(22)= 0.8668 *(-0.0134)+0.033 * 0.0000 = -0.0116 ŷ (26)=0.8668*y(24)+0.033*u(24)= 0.8668 *(-0.0116)+0.033 * (-0.3179) = -0.0205 ŷ (28)=0.8668*y(26)+0.033*u(26)= 0.8668 *(-0.0207)+0.033 * 1.0950 = 0.0182 ŷ (30)=0.8668*y(28)+0.033*u(28)= 0.8668 *(0.0185)+0.033 * (-1.8740) = -0.0458 Calculamos el error: ε(24)= ε(26)= ε(28)= ε(30)= -0.0116+0.0116 = 0.0 -0.0207+0.0205 = -0.0002 0.0185-0.0182 = 0.0003 -0.0463+0.0458 = -0.0005 La variación del residuo será de V (ε ) = 1 0 . 0 2 + 0. 0002 2 + 0 . 0003 2 + 0 . 0005 5 4 = 0.00015 Problema 3.2. Se ha simulado el sistema representado por la ecuación discreta: y (t ) − 1.5 * y( t − 1) + 0.7 * y( t − 2) = u (t − 1) + 0.5 * u( t − 2) + v(t ) Se desean comparar distintos métodos de estimación de parámetros: mínimos cuadrados, variable instrumento y método de predicción de error utilizando para ello distintas estructuras de representación del sistema. Se ha excitado el sistema con una señal binaria y con el objetivo de evaluar la robustez de los métodos de identificación respecto a las características del ruido se han realizado dos experimentos: a) v(t)=e(t); b) v(t)=e(t)-e(t-1)+0.2e(t-2); siendo e(t) un ruido blanco con una varianza de 1. Solución La simulación y el residuo de predicción obtenido al aplicar los distintos métodos de estimación se visualizan al ejecutar los programas de Matlab ‘probrema32a.m’ y ‘problema32b.m’ para el caso a y b respectivamente. En la tabla se muestran los resultados obtenidos. 2 Caso a) Parámetro -1.5 0.7 1.0 0.5 RLS -1.4518 0.6548 1.0193 0.5525 IV4 -1.4961 0.6968 0.9985 0.5148 OE -1.4947 0.6955 1.0015 0.5159 PEM-ARX -1.4504 0.6523 1.0157 0.5544 PEM-ARMAX -1.4953 0.6957 1.0035 0.5107 Al ser la relación señal ruido/señal entrada pequeña se observa que todos los métodos tienden al valor real de los parámetros, si el número de muestras a evaluar fuera mayor, mayor seria la convergencia (os animo a que lo probéis). Del análisis del ruido, observar las distintas figuras que aparecen, el componente residuo no es blanco en la mayoría de los casos, se aproxima, mientras que hay independencia temporal entre el residuo y la entrada, este análisis nos permite validar nuestro modelo. Caso b) Parámetro -1.5 0.7 1.0 0.5 RLS -1.3473 0.5519 1.0269 0.6229 IV4 -1.4992 0.6990 1.0102 0.4924 OE -1.5002 0.6993 1.0192 0.4793 PEM-ARX -1.3437 0.5478 1.0267 0.6238 PEM-ARMAX -1.5040 0.7020 1.0162 0.4688 Se observa que los métodos en los cuales se presupone un modelo ARX no hay convergencia de los parámetros, mientras que en los otros casos sí. Los residuos obtenidos son parecidos al caso a). Problema 3.3. Se desea estimar el valor de los parámetros del sistema anterior pero utilizando los métodos recursivos. Los resultados se han obtenido considerando en todos los casos un factor de olvido 1. Solución La solución se presenta en el fichero problema33a y problema33b. Se pide que se comparen los resultados obtenidos. Son iguales que en el problema 3.3? Problema 3.4. Se desea modelizar un sistema de transporte de fluidos regulado por una válvula. Con este objetivo se ha procedido a excitar la válvula con una señal u(t) y se ha adquirido la lectura del sensor de flujo que circula por el tubo, y(t). Los resultados obtenidos se muestran en la siguiente tabla. Se desea a partir de los datos de dicha tabla identificar el retardo puro del sistema, sabiendo que se comporta como un sistema de primer orden. Utilizaremos para ello el criterio del test de la función error y nos reservaremos las 4 últimas muestras para la validación. 3 tiempo Entrada Salida 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 5.6490 7.1777 4.0753 5.5251 4.4058 4.7808 3.6486 6.7789 5.1170 4.8928 5.0306 4.8721 3.9679 4.9043 6.0772 69.8328 68.2208 73.1496 70.8190 73.7060 80.5851 76.7467 77.7857 0.0000 74.7950 70.6032 77.0603 76.8830 76.2308 76.0243 Solución El vector información, ϕ(t), de un sistema de primer orden viene definido por: ϕ (t ) = [− y (t − 1)u(t − nk )] T siendo los parámetros a estimar: θ = [a1 b1 ] T . En primer lugar, antes de utilizar los datos de la tabla para estimar los parámetros del modelo, debemos observar si hay alguna lectura incorrecta. En nuestro caso, tenemos como lectura incorrecta la correspondiente a t=8, substituiremos dicho valor por la interpolación: y(8)=(y(7)+y(9))/2 = 76.29 Como el retardo no es conocido, vamos a determinarlo en este caso de forma iterativa. Supongamos que nk = 1, se describe la matriz información como: - 5.6490 - 7.1777 - 4.0753 - 5.5251 - 4.4058 Φ (t ) = - 4.7808 - 3.6486 - 6.7789 - 5.1170 - 4.8928 69.8328 68.2208 73.1496 70.8190 73.7060 80.5851 76.7467 77.7857 76.290 74.7950 El vector Y queda definido como: Y=[68.2208 73.1496 70.8190 73.7060 80.5851 76.7467 77.7857 76.290 74.7950 70.6032] Se estima el valor de los parámetros como: â = -0.9461 y b̂ = 0.7715 Para validar el modelo se procede: ŷ (11)=0.9461 *y(10)+ 0.7715*u(10)= 70.6752 4 ŷ (12)= 0.9461 *y(11)+ 0.7715*u(11)= 76.6617 ŷ (13)= 0.9461 *y(12)+ 0.7715*u(12)= 75.7964 ŷ (14)= 0.9461 *y(13)+ 0.7715*u(13)= 75.9018 Calculamos el error: ε(11)= y(11)- ŷ (11) = 6.3852 ε(12)= 0.2213 ε(13)= 0.4344 ε(14)= 0.1225 La variación del residuo será de V (ε ) = 1 6. 3851 2 + 0. 2213 2 + 0. 4344 2 + 0. 1225 2 4 = 1.7908 Repetimos los cálculos por diferentes valores de nk , se obtiene la siguiente tabla. nk 1 2 3 4 5 a -0.9461 -0.9772 -1.0266 -0.8008 -1.0052 b 0.7715 0.3558 -0.4581 2.9916 -0.1551 V 1.7908 1.3991 1.6322 0.0118 1.9099 Se observa que el error mínimo se obtiene para nk =4. En el caso en que la estructura del modelo no sea cierta, el método de mínimos cuadrados converge a un valor de los parámetros que puede resultar un modelo inestable (caso nk = 3 y nk =5). Problema 3.5. Se ha simulado el sistema representado por la ecuación discreta (igual al problema 3.2): y (t ) − 1.5 * y( t − 1) + 0.7 * y( t − 2) = u (t − 1) + 0.5 * u( t − 2) + v(t ) Se desean observar como varían los criterios de identificación en función del orden o estructura del modelo propuesto. Comparar distintos métodos de estimación de parámetros: mínimos cuadrados, variable instrumento y método de predicción de error utilizando distintas estructuras para representar el sistema y calcular el valor de los criterios FPE y Akaike. Observar también la posición de los polos y ceros de cada estructura. Para ello se dispone de una señal test, utilizando una entrada binaria. Se realizan dos experimentos: c) v(t)=e(t); d) v(t)=e(t)-e(t-1)+0.2e(t-2); siendo e(t) un ruido blanco con una variancia de 1. Solución La simulación, el residuo, la ubicación de los polos y ceros y el valor de los dos criterios propuestos, resultado de aplicar los distintos métodos de estimación se visualizan al ejecutarse el programa de Matlab ‘probrema36a’. 5 Obsérvese que el valor de los criterios va disminuyendo a medida que se incrementa el orden del sistema, habiendo un cambio substancial cuando la estructura coincide con la estructura del sistema. A medida que se aumenta el orden, aparecen polos y ceros muy próximos (cancelables). Ello indica que para determinar la estructura del modelo se deben tener en cuenta varios factores y la solución no es trivial. Podéis observar los resultados en el caso en que el ruido sea colorado, caso b. Nota: falta poder realizar un problema en el campo frecuencial pero no dispongo de la toobox de Matlab de identificación frecuencial compatible con Matlab6.5. Espero poder aportaros un problema antes de finalizar el curso. Ejercicios y problemas propuestos E3.1- Probar cuales son los valores estimado de los parámetros del problema 3.2, cuando se utiliza como vector instrumento: z(t)=[u(t-3) u(t-4) u(t-1) u(t-2)]T y se aplica la ecuación 3.44. E3.2- Tomando como modelo simulado correspondiente al problema 3.2 caso a), evaluar como se comporta el método RLS por distintos factores de olvido. Por ejemplo entre 0.9 y 1. E3.3- El programa matlab propone en el caso de métodos recursivos distintos métodos: factor de olvido, filtro de Kalman, gradiente normalizado y gradiente no normalizado. Seriáis capaces de determinar cual es la diferencia entre dichos algoritmos?. Realizar para ello un: >type rarx y comparar los algoritmos propuestos. E3.4- Los métodos de estimación estudiados pueden también aplicarse al caso de sistemas multivariables. Se propone para ello el siguiente ejercicio: - Se han adquirido muestras de un sistema real con dos entradas (u1 y u2) y una salida, obteniéndose la matriz de datos dada en el fichero E34.mat. La estructura del sistema es de segundo orden con respecto a la variable u1 i de primer orden con respecto a la variable u2. Utilizando las distintas herramientas comentadas en el tema, determinar el modelo que mejor se ajuste a los datos reales. E3.5- Los datos del fichero E35.mat, se han obtenido tras excitar un sistema real, u entrada y y salida. Se desea determinar el mejor modelo para represente el comportamiento de este sistema. Para ello, utilizar los métodos no paramétricos para definir la estructura aproximada del modelo, y una vez definida, utilizando ya métodos paramétricos, determinar la mejor estructura para el sistema. E3.6- Resolver el mismo problema anterior pero utilizando como soporte la tool gráfica de identificación de sistemas ‘ident’. 6 TEMA 4 LOS MÉTODOS NEURONALES DE ESTIMACIÓN Y LAS REDES 4.1 El modelo: redes neuronales artificiales La teoría de modelado de sistemas dinámicos vista hasta el momento se ha centrado en técnicas lineales. Para ellas existen, como se ha visto, algoritmos y metodologías con un respaldo teórico suficientemente demostrado y aceptado. Este tema trata el modelado de sistemas dinámicos no lineales. Aquí ocurre todo lo contrario, existen muchos métodos y pocos de ellos tienen un respaldo matemático que justifique su uso indiscriminado. Sin embargo, existen pruebas e indicios que permiten suponer que ciertos tipos de modelos pueden ser adecuados para ciertos tipos de sistemas y otros servirán para sistemas diferentes. Las redes neuronales forman una familia grande de modelos de sistemas no lineales. Tienen un relativo respaldo formal y han resultado efectivas en numerosos casos prácticos. 4.1.1 Fundamentos de las redes neuronales Las redes neuronales artificiales (Artificial Neural Networks, ANN) son mecanismos de procesado de la información inspirados en las redes de neuronas biológicas. Su funcionamiento, explicado en numerosos textos (véase para una introducción [Fau-94] o [Hertz-91]), se basa en operaciones sencillas realizadas en paralelo por un gran número de células elementales, las neuronas. Una red neuronal es un sistema formado por elementos sencillos de cálculo, las neuronas, conectadas entre sí mediante pesos para formar una red más compleja. La función de esta red viene determinada por el patrón de conexión, que es su arquitectura, y por los valores de los pesos. Una neurona (también se las llama nodos o unidades) es un elemento de proceso, ver figura 4.1, que toma un número d de entradas, las multiplica por un peso cada una, las suma y el resultado de todo ello es el argumento de una función escalar que produce la salida correspondiente a esa neurona. Esta función se llama función de activación. ϕ1 w1 ϕ2 w2 .. . wd ϕd yi Figura 4.1: representación de una neurona Una neurona produce asociaciones, en general no lineales, de ℜd sobre ℜ. d yi = f i ( ∑ wi, j ϕ j ) (4.1) j =0 Las entradas a una neurona, Φ = {ϕ 0 , ϕ 1 , ... ϕ d }, pueden ser externas a la red o pueden corresponder a las salidas de otras neuronas. Una de ellas, ϕ 0 , suele estar fija al valor de 1, el bias. Los pesos, wi,j, son los parámetros calculados durante el proceso de aprendizaje y toman valores de la recta real. 1 1 binaria 0.5 lineal 0.5 0 0 -0.5 -0.5 -1 -1 -10 -5 0 5 10 15 20 1 -10 -5 0 5 10 15 20 1 sigmoidal 0.5 tan. hiper. 0.5 0 0 -0.5 -0.5 -1 -1 -10 -5 0 5 10 15 20 -10 -5 0 5 10 15 20 Figura 4.2: función de activacion binaria: f(x) = sgn(x), lineal: f(x) = x, sigmoidal: f(x) = (1 + e-x) -1 , y tangente hiperbólica: f(x) = (1 - e-x) ⋅ (1 + e-x) -1 La función de activación, f i, puede tener cualquier forma, sin embargo, es habitual utilizar funciones que permitan discriminar entre entradas mayores y menores que un valor dado. En los inicios se utilizaron funciones de activación binarias (discontinuas por tanto) pero pronto se adoptaron otras, como la tangente hiperbólica que además de ser discriminantes tienen otras propiedades deseables. La figura 4.2 presenta las cuatro funciones de activación más usuales. Las redes neuronales se caracterizan por dos aspectos: la forma en que las neuronas están conectadas entre sí y los algoritmos que se utilizan para calcular los pesos de la red. Estos dos temas se tratan a continuación. 4.1.2 Arquitecturas neuronales básicas Las neuronas pueden combinarse en una red de diferentes maneras, aunque generalmente se habla de distribución por capas. Una capa (layer en inglés) es un conjunto de neuronas semejantes (igual número y tipos de entradas, igual función de activación) que pueden ser tratadas como una entidad con sentido propio, pues tienen el mismo comportamiento y función computacional dentro de la red. Por ejemplo, hay redes neuronales, las redes de Hopfield, que constan de una sola capa en la que todas las neuronas están conectadas entre sí; existen otras redes que tienen una capa donde se produce una clasificación de las características de entrada y otra capa de competición por representar la clase ganadora, etc. Seguramente la forma más habitual de organizar las neuronas y capas en una red es la que se denomina perceptrón multicapa (MLP, MultiLayer Perceptron). En el MLP hay una capa de entrada, una capa de salida y cero o más capas intermedias, que generalmente se llaman capas ocultas, de forma que cada unidad de una capa recibe como entradas todas las salidas de las neuronas de la capa anterior, hasta llegar a las entradas externas. En la figura 4.3 se puede ver un ejemplo de un MLP. ϕ1 y1 ϕ2 Figura 4.3: un perceptrón multicapa con una capa oculta y dos entradas La expresión que permite calcular la salida de un perceptrón multicapa como el de la figura 4.3 sólo puede expresarse compactamente recurriendo a la notación matricial ( ( Y = F 2 W 2 F 1 W 1Φ )) (4.2) donde los superíndices están para indicar la capa que corresponde a cada símbolo, F es un vector de funciones de activación, W es una matriz de pesos y bias, y Φ es el vector de entradas externas. El funcionamiento de esta red neuronal es sencillo. Dado un patrón de entradas, Φ = {ϕ 0 , ϕ 1 , ... ϕ d }, se obtiene la salida correspondiente Y = {y1 , ..., ym } utilizando la expresión (4.2). El vector de parámetros, en este caso, ya ha sido fijado a un valor concreto que determina el comportamiento de la red. Cuando una red funciona de este modo se dice que está en fase de reconocimiento. El otro modo de funcionamiento es el que permite modificar el vector de parámetros, o lo que es lo mismo, el comportamiento de la red. Cuando una red neuronal se halla en este otro modo de funcionamiento se dice que está en fase de aprendizaje. La estructura de la figura 4.3 es de propagación hacia adelante (feedforward). Es decir, los cálculos se propagan desde las entradas hacia la salida. Sin embargo, también existen otros tipos de estructura en los que la propagación va además hacia atrás, o sea, propagando los cálculos también desde la salida hacia la entrada. A este tipo de redes se las denomina recursivas (recurrent, en inglés). En el contexto del modelado de sistemas dinámicos, de hecho, es bastante habitual encontrar este tipo de redes pues ellas mismas pueden representar un sistema dinámico sin otras manipulaciones numéricas. Por ejemplo, la red de la figura 4.4 corresponde a un sistema de primer orden de una entrada y una salida. Y (z) = y(k) 0.08 X ( z) z − 0 .9 0.9 x(k) 0.08 Figura 4.4: red neuronal recursiva que se comporta como un sistema de primer orden El funcionamiento de una red recursiva puede ser continuo o discreto en el tiempo, aunque es más habitual y sencillo el discreto. Para calcular la salida hay que tener en cuenta que cada conexión hacia atrás representa un retardo temporal de una muestra. De esta manera, la secuencia Φ(k) = {{0}, {0}, {0}, {1}, {1}, {1}, {1}} de entrada correspondería a una salida y1 = {0, 0, 0, 0, 0.08, 0.152, 0.2168}. Existe una serie de cuestiones importantes que deberían tenerse en cuenta antes de tratar el tema del aprendizaje en las redes neuronales, que son: • ¿Qué tipos de asociaciones se pueden realizar con una red neuronal? • ¿Cuántas capas debería tener una red y cuantas neuronas en cada capa? • ¿Qué funciones de activación son las más adecuadas para cada aplicación? La primera cuestión fue respondida en los años 90 por diversos investigadores de forma independiente. Los resultados a este respecto parten de los trabajos de Kolmogorov (publicados en 1957), de carácter general en la disciplina de Aproximación de Funciones. Recientemente han sido refinados por diversos autores (Hecht-Nielsen, Kurková, Hornik, Ito, Cybenko, etc.) y adaptados al campo de la aproximación de funciones basada en redes neuronales. El resultado general más interesante (formulado independientemente en [Cyb-89] y [Hor-89]) es que las redes neuronales de tres capas con funciones de activación sigmoidales en la capa oculta son aproximadores universales. Las neuronas de la capa de salida deben tener función de activación lineal. Lo que no se llegó a especificar es el número de neuronas que debe tener la capa oculta. Este tema se ha tratado en diversos trabajos llegando siempre a resultados poco concluyentes o demasiado difíciles de aplicar en la práctica. Con todo ello, la primera pregunta ha quedado resulta, la tercera también y la segunda no. Los resultados anteriores pueden dar a entender que no hay necesidad de utilizar más de una capa oculta y/o mezclar funciones de activación diferentes de las mencionadas. De hecho, esto no es del todo cierto porque puede suceder que la precisión o la facilidad de aprendizaje aumente utilizando arquitecturas más sofisticadas. En particular, cuando en la función que se desea aprender, la complejidad de la relación entre entradas y salidas es alta se puede mejorar la precisión en la aproximación con arquitecturas más complejas. Sin embargo, dado que la implementación, el aprendizaje y el análisis de la red resultante pueden complicarse es habitual utilizar sólo una capa oculta con neuronas sigmoidales o tangentes hiperbólicas. 4.1.3 Algoritmos de aprendizaje El aprendizaje es el proceso por el cual una red neuronal obtiene los parámetros que mejor realizan la asociación entre entradas y salidas deseada. Este es un proceso de estimación paramétrica convencional. Existen en la literatura de las ANN tres formas diferentes de entrenar redes neuronales: aprendizaje supervisado, aprendizaje por refuerzo y aprendizaje no supervisado. Cada una de ellas, por el orden que se mencionan, requiere más información del mundo exterior para poderse llevar a cabo. En el aprendizaje no supervisado no existe una respuesta prevista a cada entrada de la red, por ello tampoco existe información acerca del error que ésta comete. Los datos que se entregan a una red neuronal para que aprenda siempre llevan consigo información que puede ser utilizada por un algoritmo especialmente diseñado para ello. Por ejemplo, el aprendizaje no supervisado puede fácilmente encontrar las fronteras en conjuntos de datos nítidamente separados que han de ser clasificados. Para ello es necesario incluir en la red algoritmos adecuados de adaptación de los pesos, pues no existen pistas externas que la puedan guiar. De hecho, en este tipo de aprendizaje el algoritmo es el que determina el tipo de comportamiento de la red. En otros tipos de aprendizaje, la relación entre los datos de entrada y salida puede hacer que la red se comporte como un clasificador o como un aproximador de funciones, por poner dos posibilidades. El aprendizaje por refuerzo tiene sus raíces en las teoría conductista de aprendizaje. En él existe información acerca del error que se comete, pero es incompleta o imprecisa. Un ejemplo típico es el de aquellos algoritmos que aprenden sólo con la información del signo del error. El aprendizaje supervisado utiliza toda la información del error de que se pueda disponer. De alguna forma lo que se pretende es forzar una salida particular en la red como respuesta a una determinada entrada. El problema del aprendizaje supervisado parte de un conjunto que contiene pares de entradas y salidas deseadas. Este conjunto puede corresponder a una secuencia temporal de datos o a una función puramente estática que se desea aprender. Z N = {[ u (t ), y (t )] ; t = 1K N } El aprendizaje consiste en encontrar el conjunto de parámetros, θ, tal que la red neuronal produzca la asociación deseada para cada valor de entrada. Esto puede expresarse de diferentes maneras pero la más usual, por tener ciertas propiedades útiles, es mediante una medida cuadrática del error de aproximación V N (θ , Z ) = N 1 2N N ∑ ( y(t) − yˆ (t,θ )) t =1 2 = 1 2N N ∑ε 2 (t , θ ) (4.3) t =1 de manera que la finalidad del aprendizaje consiste en obtener un vector θ que minimice la expresión VN (θ, ZN ). Este problema ha sido tratado desde antes que aparecieran las redes neuronales por las comunidades estadística y matemática y ha sido caracterizado como un problema de optimización de mínimos cuadrados no lineal ordinario. Para él existen diversos algoritmos con sus ventajas e inconvenientes. Algunos de los algoritmos más conocidos son: el método de gradiente, el método de Newton, el método de Gauss-Newton, el método pseudo-Newton, el método de Levenberg-Marquardt, etc. Además, en general, estos algoritmos fueron concebidos para trabajar con todo el conjunto de datos de entrada-salida y en las ANN es más habitual trabajar de forma incremental (o también on-line). Por esta razón existen versiones recursivas en las que la red realiza un paso de aprendizaje con cada dato que se le presenta, en vez de esperar a tenerlos todos para hacerlo. Este tema, que como se ve es básicamente un problema de estimación paramétrica convencional, será poco considerado aquí, pues ya se trató en el tema 3. Utilizaremos los algoritmos de aprendizaje como una herramienta que nos permite determinar el conjunto óptimo (o más adecuado) de pesos de la red neuronal. No se hará especial hincapié en si tal o cual algoritmo permite un aprendizaje más rápido o no. Sin embargo, debe quedar claro que éste es un aspecto de gran interés y que las aplicaciones reales requieren una cierta preocupación por él. 4.2 El proceso de identificación Existen numerosos métodos de identificación pero, en general, todos siguen unas pautas comunes: preprocesado de los dados, selección del modelo, minimización del error de aproximación y validación del modelo. El proceso de identificación consta de los siguientes componentes: – Los datos: son pares de vectores de entrada y salida N Z = {[ y (t ), ϕ (t )] ; t = 1K N} donde y(t) corresponde a las salidas en el instante t, que se supone discreto, y ϕ(t) a las entradas o regresores del modelo. – El modelo: es una función que estima las salidas a partir de las entradas y de la información temporal que almacena, yˆ (t ) = gˆ N (t , ϕ (t )) . – Los parámetros: el modelo es una función descrita a partir de un número finito de parámetros, θ, de forma que una expresión más correcta del modelo es g (t , θ , ϕ (t )) . – La medida del error: el error, ε (t , θ ) = y (t ) − g (t , θ , ϕ (t )) , permite ponderar la bondad de un modelo y su medida se realiza a través de una norma, que suele ser la cuadrática: V N (θ ) = – 1 N N ∑ y (t ) − g (t , θ , ϕ ( t ) ⇒ VN (θ ) = t =1 1 N N ∑ ε (t ,θ ) 2 t =1 El algoritmo de minimización del error, que puede tomar formas muy diversas: directa, iterativa, heurística, analítica, estocástica, etc. En el caso de identificación de sistemas no lineales se suelen utilizar algoritmos iterativos o recursivos que, de forma genérica, se pueden expresar según θ ( t ) = θ (t − 1) + µ t Rt−1ψ (t )ε (t ) El escalar µt es el tamaño del paso, Rt-1 es una matriz definida positiva que permite modificar el criterio de búsqueda (cuando Rt = I se sigue el gradiente) y ψ(t) corresponde a la derivada de g respecto a los parámetros, θ. Las redes neuronales, a pesar de surgir a partir de motivaciones diferentes de las de la identificación de sistemas dinámicos, representan un conjunto de modelos que encaja adecuadamente en la metodología genérica descrita anteriormente. Son modelos paramétricos que, basándose en una medida del error y en un algoritmo para minimizarlo, aproximan una función no lineal con errores arbitrariamente pequeños. El hecho interesante es que las redes neuronales constituyen una estructura de modelado con ventajas sobre otras (como las expansiones de polinomios u otras estructuras no lineales tipo caja negra, por ejemplo). Las ventajas más obvias son que una misma estructura comprende diferentes modelos y que, computacionalmente, tienen un coste muy razonable. Pero tienen dos ventajas más, remarcadas en [Ljung-92], menos evidentes y quizás más atractivas. La gran mayoría de los sistemas que uno se encuentra en la práctica tienen un comportamiento asintótico constante. Este comportamiento se aproxima, en otros tipos de modelos (por ejemplo, las expansiones de polinomios), a fuerza de añadir parámetros que mantengan las salidas limitadas para entradas grandes. En las ANN esto se da de forma intrínseca, debido al comportamiento de las funciones sigmoidales, y así el número de parámetros es más reducido. La otra característica que les confiere un interés especial, sobre todo en problemas mal condicionados, es la redundancia paramétrica. De forma intuitiva, esto quiere decir que el número de parámetros eficientes de la red es mucho menor que el número real de parámetros. De esta manera, no es tan importante como en otros modelos pasar un exhaustivo proceso de validación para eliminar aquellos parámetros poco influyentes. Las redes neuronales, como estructura de modelos de sistemas dinámicos, tienen desventajas sobre otras estructuras. Las más evidentes son: se trata de modelos tipo caja negra, es decir, modelos que realizan la asociación de entradas y salidas correctamente pero no nos permiten saber cómo lo hacen ni porqué la realización es correcta; y no es posible incorporar información previa disponible del proceso a modelar, cosa que podría simplificar y mejorar el modelo. Realización de experimentos Selección de la estructura del modelo Estimación de los parámetros del modelo Validación del modelo Figura 4.5: diagrama del proceso de identificación Con todo ello, el proceso de modelado e identificación con ANN sigue los pasos clásicos, detallados en la figura 4.5, con algunos matices que se comentan seguidamente. En el paso correspondiente a la realización de experimentos y recolección de datos no se repetirá todo lo comentado en el tema 2, que resulta aquí de igual importancia. Sin embargo, cabe tener en cuenta que el conjunto de datos recogido ha de dividirse en tres subconjuntos: los datos de aprendizaje, los de reconocimiento y los de validación. Z N = {[ u (t ), y( t )] ; t = 1K N} = Z A ∪ Z R ∪ Z V Esta consideración, que no debería plantear mayores problemas, es importante pues la fase de aprendizaje se suele evaluar utilizando datos que no se han utilizado previamente, el conjunto de reconocimiento, y la fase de validación conviene hacerla también con datos ‘frescos’. El paso correspondiente a la selección de la estructura del modelo será tratado con detalle en el siguiente apartado. Tan solo se comentará aquí, para poder hacer un paralelismo entre lo visto anteriormente y el modelado con ANN que, si la función de activación de las neuronas es lineal, es perfectamente posible generar los modelos vistos en el tema 3. ... y(t - 1) y(t - 1) ... y(t - n) y(t) u(t - d) u(t - d - m) ... z-1 ε(t - 1) - ... u(t - d - m) y(t) u(t - d) ... y(t - n) z-1 ε(t - k) y(t) + ε(t) Figura 4.6: modelo ARX (izq.) y modelo ARMAX (der.), en su versión neuronal Por ejemplo, la figura 4.6 muestra dos redes neuronales de una sola neurona con función de activación lineal. La primera corresponde a un modelo ARX (AutoRegressive with eXogenous input) en la que el vector de regresores es ϕ ( t ) = [ y (t − 1) K y (t − n ), u( t − d ),K , u (t − d − m) ]T y el vector de parámetros es θ = [ −a1 ,K ,− an , b0 , K, bm ]T que son los pesos de la red; la segunda corresponde a un modelo ARMAX (AutoRegressive Moving Average with eXogenous input) en la que el vector de regresores es ϕ ( t ) = [ y (t − 1), K , y (t − n), u (t − d ), K , u( t − d − m), ε (t , θ ), K , ε (t − k , θ ) ]T y el vector de parámetros es θ = [ −a1 ,K ,− an , b0 , K , bm , c 0 , K, c k ]T . Si se quisiera generar el modelo neuronal correspondiente habría que seleccionar el orden de los polinomios A(q-1 ), B(q-1 ) y C(q-1 ) y realizar el aprendizaje de la ANN sobre los datos disponibles. Curiosamente, estos modelos sólo tienen una neurona, cosa que reafirma que el poder de las ANN está en los pesos, más que en las neuronas. La validación de los modelos neuronales no difiere de la vista en el tema 3. 4.3 Selección del modelo adecuado En esta sección se presentaran una serie de modelos como una extensión natural de los modelos lineales vistos en temas anteriores. Como se ha podido comprobar en la sección previa, los modelos lineales tienen una contrapartida neuronal muy obvia. Será de ella de donde aparecerá la extensión no lineal que se propone con las ANN. En busca de una familia de estructuras adecuada para la identificación de sistemas no lineales es bastante natural pensar en perceptrones multicapa con funciones de activación no lineal, dadas sus propiedades aproximadoras. Seleccionando de esta forma la familia de modelos, el problema de escoger el modelo adecuado se reduce a: – seleccionar el conjunto entradas de la red (los regresores del modelo) – seleccionar la estructura interna de la red La postura más habitual a la hora de escoger el conjunto de regresores es la de reutilizar los regresores de modelos lineales, que resulta en las siguientes ventajas: es una extensión natural de estructuras de modelos ya conocidas; la arquitectura interna de la red puede expandirse gradualmente si se requiere más flexibilidad para modelar relaciones más complejas; las decisiones que el usuario ha de tomar acerca de la estructura son razonablemente manejables; y, finalmente, resulta adecuado para el diseño de sistemas de control. De esta manera, el modelo lineal más general es y (t ) = G( q −1 )u (t ) + H (q −1 ) e(t ) (4.4) en el que G y H son funciones de transferencia en el operador q-1 , e(t) es una señal de ruido independiente de las entradas que puede caracterizarse mediante alguna función de densidad de probabilidad, e y(t) y u(t) son la entrada y salida del modelo, respectivamente. El objetivo de la identificación es obtener estimaciones adecuadas de las funciones de transferencia G y H. El criterio para decidir qué son y qué no son estimaciones adecuadas estará basado en la capacidad del modelo de producir predicciones a un paso con errores de varianza pequeña. Se puede verificar que, para el sistema lineal genérico de la ecuación (4.4), la predicción a un paso de menor varianza es yˆ (t | t − 1) = H −1 ( q −1 ) G( q −1 )u (t ) + (1 − H −1 ( q −1 )) y (t ) (4.5) que es otra manera de representar un modelo. A partir de ahora se denotará la predicción a un paso de la ecuación (4.5) mediante yˆ (t | θ ) , en la que se ha hecho explícita la dependencia del modelo del conjunto de parámetros y se ha eliminado, por cuestiones de conveniencia notacional, el condicionamiento a t – 1. Conviene fijarse que en el caso lineal yˆ (t | θ ) puede reescribirse de una forma más compacta yˆ (t | θ ) = ϕ T (t )θ (4.6) donde ϕ es el vector de regresores (entradas anteriores, salidas anteriores y/o otras señales derivadas de ellas) y θ es el vector de parámetros del modelo, que es lo mismo que los pesos de la red neuronal. Una condición importante para que los modelos generados sean adecuados es la condición de estabilidad del predictor, que se da cuando los parámetros, θ, son tales que: – H-1 (q-1 , θ) G (q-1 , θ) es asintóticamente estable – H-1 (q-1 , θ) es asintóticamente estable – G(0, θ) = 0, H(0, θ) = 1 La última de las condiciones asegura que las predicciones dependen sólo de entradas pasadas (G(0, θ) = 0) y medidas de la salida anteriores (H(0, θ) = 1). 4.3.1 Estructura NNFIR y NNARX El tipo de modelo más simple corresponde a seleccionar en la ecuación (4.4) G( q −1 ,θ ) = q − d B( q −1 ) y H ( q −1 , θ ) = 1 en cuyo caso el predictor viene dado por yˆ (t | θ ) = q − d B (q −1 )u (t ) ( ≡ ϕ T (t )θ ) en el que el vector de regresores es ϕ ( t ) = [u( t − d ),K , u (t − d − m) ] . T (4.7) Esto corresponde a un modelo FIR (Finite Impulse Response) en que, como se puede ver, la predicción sólo depende de las entradas en instantes de tiempo anteriores. La extensión no lineal de este modelo convierte la predicción en yˆ (t | θ ) = g (ϕ T (t ), θ ) dejando el vector de regresores igual que en la ecuación (4.7). Para una estructura de modelo ARX en la que la predicción se calcula mediante yˆ (t | θ ) = q − d B (q −1 )u (t ) + (1 − A(q −1 )) y (t ) ( ≡ ϕ T (t )θ ) y el vector de regresores incorpora ahora las salidas anteriores ϕ ( t ) = [u( t − 1), K, u (t − n ), u( t − d ), K , u (t − d − m) ] T La extensión no lineal de este modelo convierte la predicción en yˆ (t | θ ) = g (ϕ T (t ), θ ) , que es igual que para la familia NNFIR, y deja el vector de regresores también intacto. Figura 4.7: modelos NNFIR (izq.) y NNARX (der.) Los predictores para estas dos familias estructurales son siempre estables, igual que para el caso lineal, porque la relación entre los regresores y la salida del predictor es puramente algebraica. Esta observación resulta de particular importancia en el caso no lineal, pues aquí la estabilidad se convierte en un tema especialmente complicado de demostrar. Estas estructuras de modelos no lineales, en particular la estructura NNARX (ver figura 4.7), suele ser bastante adecuada cuando el sistema a modelar es determinista o el nivel de ruido es poco significativo. 4.3.2 Estructura NNARMAX Si en la ecuación (4.4) se selecciona −1 G( q , θ ) = q −d B (q −1 ) A( q −1 ) C( q −1 ) H (q , θ ) = A( q −1 ) −1 y el modelo resultante es el ARMAX, en cuyo caso el predictor viene dado por yˆ (t | θ ) = q −d B( q −1 ) A(q −1 ) u (t ) + 1 + y (t ) −1 C ( q −1 ) C (q ) ( ) ( ) = q − d B( q −1 )u (t ) + 1 + A( q −1 ) y (t ) + C (q −1 ) − 1 ε ( t ,θ ) ( ≡ ϕ T (t )θ ) y el vector de regresores es ϕ ( t ) = [ y( t −1), K, y (t − n ), u (t − d ), K, u (t − d − m ), ε (t ,θ ),K ,ε ( t − k ,θ ) ] . T (4.8) Debido a la presencia del polinomio C el predictor ahora tiene polos y puede ser inestable. Para evitarlo conviene comprobar que todos los polos están dentro del círculo unitario. El hecho de que haya polos está ligado a que los regresores dependen de los parámetros del modelo, cosa que hace que el problema de estimación paramétrica sea más complicado. Figura 4.8: modelo NNARXMAX Nuevamente, la extensión no lineal de este modelo convierte la predicción en yˆ (t | θ ) = g (ϕ T (t ), θ ) , dejando el vector de regresores como en la ecuación (4.8). La figura 4.8 muestra la red neuronal para la estructura NNARMAX y se puede ver que es igual a la de la figura 4.6 substituyendo la neurona lineal por un perceptrón multicapa con funciones de activación no lineales. Una red neuronal como la de la figura 4.8 es una red con conexiones hacia atrás, y por tanto recursiva. Al tratarse de un modelo no lineal estudiar su estabilidad puede ser complicado y por regla general no se hace. Lo más habitual es considerar su régimen de trabajo y estudiar la estabilidad de forma local en él. 4.3.3 Estructura NNOE Si en la ecuación (4.4) se selecciona G( q −1, θ ) = q − d B( q −1 ) F ( q −1 ) y H (q −1 ,θ ) = 1 el modelo resultante es el OE, en cuyo caso el predictor viene dado por yˆ (t | θ ) = q −d B( q −1 ) u (t ) = q − d B( q −1 )u (t ) + (1 − F ( q −1 )) yˆ (t | θ ) −1 F (q ) ( ≡ ϕ T (t )θ ) y el vector de regresores es ϕ ( t ) = [ yˆ (t − 1,θ ),K, yˆ (t − r ,θ ), u (t − d ),K , u( t − d − m )] . T (4.9) Figura 4.9: modelo NNOE Nuevamente, para que el predictor sea estable los polos de F tendrán que estar dentro del círculo unitario y todas las consideraciones apuntadas para la familia NNARMAX serán válidas aquí. La figura 4.9 muestra la red neuronal correspondiente a esta estructura. 4.3.4 Otras estructuras híbridas En la literatura de identificación con redes neuronales a menudo se proponen variaciones de las estructuras anteriores o mezclas de estructuras lineales y no lineales. Aquí se dan algunos ejemplos que pueden resultar útiles: – La estructura NNARX se puede separar en dos redes, una de las cuales es lineal y la otra no lineal (ver [Nar-92]): yˆ (t | θ ) = g y (ϕ y ( t ), θ y ) + g u (ϕ u (t ), θ u ) = g (ϕ y (t ), θ y ) + q −d B( q −1 )u (t ) = (1 − A( q −1 )) y (t ) + g (ϕu ( t ), θ u ) con los siguientes vectores de regresores ϕ y (t ) = [ y (t − 1), K, y (t − n )]T ϕ u (t ) = [u (t − d ),K, u (t − d − m) ]T – Otra modificación de la anterior estructura es interesante pues puede superar algunos problemas de estabilidad en modelos NNOE: yˆ (t | θ ) = (1 − A( q −1 )) yˆ (t | θ ) + g (ϕ u (t ),θ u ) – Con el mismo espíritu en mente el modelo NNARMAX queda yˆ (t | θ ) = g (ϕuy ( t ),θ uy ) + C ( q −1 )ε (t | θ ) y el vector de regresores ϕ uy (t ) = [ y (t − 1),K, y (t − n), u( t − d ),K, u (t − d − m) ] T – Existen otras estructuras que pueden ser interesantes descritas en [Nør-00]. 4.4 Algunas reglas de cajón y otras que no lo son tanto El proceso de modelado e identificación de un sistema dinámico es suficientemente amplio como para que se den diversos puntos en los que hay que tomar decisiones basadas en la experiencia propia o de otros. En este apartado se recogen algunos consejos útiles para facilitar la toma de estas decisiones. 4.4.1 Selección de la estructura del modelo La selección de la estructura del modelo es un problema en sí para el que no hay una regla que sea válida siempre. En general se suelen hacer pruebas con diferentes familias de modelos y el proceso de validación acaba por determinar la más adecuada. En el caso de las familias de modelos no lineales siempre es preferible empezar probando aquellas estructuras cuya predicción a un paso sea estable. 4.4.2 Selección de la arquitectura de la red neuronal Cuando la familia de modelos está más o menos clara hay que decidir el número de capas de la red y el número de neuronas en cada capa. Respecto a la primera cuestión existe un resultado en el campo de los perceptrones multicapa lineales que puede ser extrapolado, hasta cierto punto, a los perceptrones con función de activación no lineal. En él se dice que un perceptrón lineal puede separar datos en 2 conjuntos mediante un hiperplano si éstos son linealmente separables, es decir, que un perceptrón de una capa (una neurona, por lo tanto) realiza funciones lineales de las entradas. Cuando el perceptrón tiene una capa oculta el tipo de regiones de separación que genera son regiones convexas formadas por hiperplanos. Finalmente, si el perceptrón tiene dos o más capas ocultas las regiones de separación son arbitrarias, eso sí, formadas por hiperplanos. En la figura 4.10 aparece un ejemplo de cada uno de estos tipos de región en ℜ2 . Figura 4.10: separación mediante un plano (izq.), una región convexa (centro) y regiones arbitrarias (der.) En el caso de perceptrones con función de activación no lineal en la capa oculta y lineal en la capa de salida, se ha apuntado previamente que es posible aproximar cualquier función suave con un grado de precisión arbitrariamente pequeño. Para funciones no suaves, con discontinuidades o puntos no derivables, es necesario utilizar dos capas ocultas, pero es muy poco habitual ver aplicaciones con más de una capa oculta. La realidad es que entrenar una red neuronal con dos o más capas ocultas suele ser más complejo y conlleva mayor probabilidad de fallar el intento. El problema no está en que la asociación entradas-salidas no llegue a aprenderse, está en saber por qué no se ha aprendido. A veces puede tratarse de pocas neuronas en las capas ocultas, de pocas iteraciones de aprendizaje, seleccionados, etc. de parámetros del algoritmo de aprendizaje mal Por este motivo, si no está muy claro que el comportamiento a aprender requiere más de una capa oculta, se suelen utilizar redes con sólo una capa oculta. 4.4.3 Error de generalización: regularización overfitting, underfitting y Cuando se habló de algoritmos de aprendizaje se comentó que la medida para comprobar que la red neuronal ha aprendido correctamente es la ecuación (4.3). De hecho, una medida mejor que el error de predicción basado en los datos sería la esperanza estadística del error de predicción, respecto al vector de regresión, ϕ(t), y a la contribución del ruido, e(t). Esta cantidad recibe el nombre de error de generalización: [ 1 2 V (θ ) = E ( y (t ) − yˆ (t | θ ) ) 2 ] El error de generalización, que determina la capacidad que tienen las ANN de responder correctamente a entradas que no han sido utilizadas en el proceso de aprendizaje, no es calculable en la práctica, pero se puede comprobar que bajo ciertas condiciones VN(θ, ZN) tiende a V (θ ) si N tiende a infinito. En este caso, además, los parámetros tienden a su valor óptimo. Se suele estimar V (θ ) con entradas del conjunto ZR, mencionado anteriormente. Si VR(θ, ZR) está cercano a VA(θ, ZA) entonces es probable que el conjunto de parámetros esté cercano al óptimo y que el modelo sea razonablemente correcto. Sin entrar en más detalles, el error de generalización sufre un problema caracterizado como el dilema sesgo/varianza (bias/variance dilemma) que se traduce en que a menor número de parámetros peor es la estimación pero a mayor número de parámetros peor es la generalización. Es decir, con pocos parámetros la red neuronal no es capaz de captar la esencia de la relación entre entradas y salidas (situación que se suele designar por underfitting) y con muchos parámetros la red no sólo capta la relación entre entradas y salidas sino que también aprende el ruido (situación que recibe el nombre de overfitting). Una forma de tratar este problema consiste en reforzar el criterio VN con un término de regularización. El más usual y sencillo consiste en un término de decremento de los parámetros (weight decay) W N (θ , Z ) = N 1 N ( y( t) − yˆ (t,θ ) )2 + 1 θ T Dθ ∑ 2 N t=1 2N siendo D una matriz diagonal, que se suele seleccionar como D = αI, y α es el decremento de los parámetros. De esta manera el valor de α se convierte en el parámetro a sintonizar para conseguir minimizar el error de generalización. Esta sintonía suele llevarse a cabo mediante un proceso de prueba y error. Evidentemente, los algoritmos de aprendizaje han de tener en cuenta este término para poder utilizarlo correctamente, pero eso es bastante habitual en los algoritmos implementados en plataformas como Matlab. Cuando se tiene acceso a un conjunto de datos grande (ilimitado, si es posible) se suelen utilizar redes completamente conectadas entre capas. Esto simplifica bastante las cosas pues sólo deja una incógnita, que es el número de neuronas en la capa oculta. Aquí, lo más habitual es ir ampliando gradualmente la capa oculta y midiendo el error de generalización. Cuando se llega a un número de neuronas tal que, al añadir nuevas neuronas el incremento de generalización es poco significativo, entonces se acepta la ANN como válida. Cuando el conjunto de datos está limitado conviene seleccionar la arquitectura de la red inteligentemente para contener el menor número de pesos posible. Los intentos que se han llevado a cabo para automatizar esta parte han tenido poca repercusión, aunque no por ello tengan que ser necesariamente obviables. Los más populares son los algoritmos de aprendizaje con poda incorporada (pruning algorithms). La poda es la eliminación de pesos y neuronas que contribuyen poco a la correcta generalización del sistema. 4.4.4 Selección del lag space El lag space es el número de señales retardadas que se utilizan como regresores. Así como la selección de la arquitectura neuronal es importante pero no suele ser esencial, el lag space (también tap number o sencillamente número de retardos) puede tener efectos irremediables en aplicaciones de modelado y control. Cuando no se consideran suficientes retardos no es posible captar la dinámica del sistema a modelar y cuando se consideran demasiados aparecen factores comunes en la función de transferencia identificada (si se trata de un caso lineal). Los factores comunes corresponden a modos ocultos del sistema y pueden ser inocuos o causar problemas de diseño de controladores. Existe algún criterio para seleccionar el número de retardos de forma semi-automática (ver [Nør-00]) pero en general se suele hacer varias pruebas basadas en la intuición y en los resultados de algún experimento tipo escalón, que permiten tener una idea del orden del sistema. 4.5 Bibliografía [Cyb-89] Cybenko, G., “Approximation by superpositions of a sigmoidal function”, Math. Control, Sygnals and Systems, vol. 2, nº 4, 1989. [Fau-94] Fausett, L., Fundamentals of Neural Networks, Prentice Hall, 1994. [Hertz-91] Hertz, J., Krogh, A. and R.G. Palmer, Introduction to the Theory of Neural Computation, Addison-Wesley, 1991. [Hor-89] Hornik, K., Stinchcombe, M. and H. White, “Multilayer Feedforward Networks are Universal Aproximators”, Neural Networks, vol. 2, nº 5, 1989. [Ljung-92] Ljung, L. and J. Sjöberg, “A System Identification Perspective of Neural Netwoks”, IEEE Workshop on Neural Networks for Signal Processing, 1992. [Nar-92] Narendra, K.S. and K. Parthasarathy, “Identification and Control of Dynamical Systems Using Neural Networks”, IEEE Transactions on Neural Networks, vol. 1, nº 1, 1992. [Nør-00] M. Nørgárd, O. Ravn, N.K. Poulsen, L.K. Hansen. Neural Networks for Modelling and Control of Dynamic Systems. Springer-Verlag, 2000. [Sjö-95] Sjöberj, J., Zhang, Q., Ljung, L, Benveniste, A., Delyon, B., Glorennec, P., Hjalmarsson, H. and A. Juditsky, “Nonlinear Black-box Modelling in System Identification: a Unified Overview”, Automatica, vol 31, nº 12, 1995. TEMA 4 LOS MÉTODOS NEURONALES DE ESTIMACIÓN Y LAS REDES Ejercicios E4.1Para entender cómo se entrenan y utilizan las redes neuronales, vas a identificar un sistema lineal cuyos datos se han obtenido por simulación. Carga los datos del fichero datos.mat. En él encontrarás 4 variables, linu, liny, nlu y nly, con 1024 muestras cada una. Las dos primeras corresponden a las entradas y salidas de un sistema lineal SISO. Las restantes son las entradas y salidas de un sistema no lineal SISO. Divide los datos en dos conjuntos de igual tamaño e identifica un modelo OE con las técnicas clásicas. De esta manera podrás conocer los valores de nb, nf y nk. E4.2El primer ejercicio consiste en reproducir los resultados anteriores utilizando redes neuronales. Para ello conviene conocer las funciones nnoe, nnvalid y settrain . Describe la red resultante de la forma que creas más conveniente. E4.3Identifica los parámetros de una red neuronal que modele el comportamiento del sistema no lineal utilizando una estructura de identificación ARX con el comando nnarx. Si validas el modelo resultante con nnvalid parece que todo ha ido correctamente, pero si lo haces con nnsimul (que es equivalente a utilizar nnvalid(‘nnoe’,...) ) verás que los resultados son muy diferentes. ¿Por qué? Encuentra una nueva red neuronal cuya validación con OE sea aceptable. Para ello será conveniente que hagas diferentes identificaciones variando el parámetro de aprendizaje D, que es el término de regularización del algoritmo Levenberg-Marquardt.