Identificación de Sistemas No Lineales Juan Carlos Gómez Identificación de Sistemas Departamento de Electrónica, FCEIA Universidad Nacional de Rosario ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -1- Contenido 1. Introducción 2. Modelos No Lineales 3. Algunas Técnicas de Identificación de Modelos Hammerstein-Wiener ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -2- Introducción • La mayoría de los sistemas tienen un comportamiento no lineal, excepto en un determinado rango de operación donde pueden ser considerados lineales. • Modelos Lineales aproximan al sistema no lineal alrededor de un punto de operación. • La performance del modelo lineal (i.e., sus características predictivas) se ven deterioradas al variar el punto de operación del sistema no lineal. • Para describir globalmente el comportamiento del sistema se debe recurrir a Modelos No Lineales. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -3- • La gran variedad de modelos no lineales hace que no sea posible obtener métodos generales de identificación, sino sólo para determinadas clases de modelos no lineales. • Muchos sistemas no lineales pueden ser representados por la interconexión de sistemas lineales estacionarios y no linealidades estáticas. Estos modelos se denominan orientados a bloques (block-oriented nonlinear models). Las no linealidades estáticas aparecen por ejemplo debido a saturación de actuadores, sensores con características no lineales, etc. • De entre los modelos orientados a bloques, los que han sido más estudiados son los Modelos Hammerstein y los Modelos Wiener. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -4- Modelos No Lineales • Modelos Hammerstein u(t) • Modelo Wiener NL u(t) y(t) LTI LTI NL y(t) • Modelo Hammerstein-Wiener u(t) NL1 LTI NL2 y(t) • Modelos orientados a bloques: Incluyen los anteriores más otras posibles conexiones (serie, paralelo y en retroalimentación) de bloques LTI y no linealidades estáticas. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -5- • Modelo regresivo lineal, con regresor como función no lineal de los datos pasados ( ) ( ) ( ) yˆ (t ,θ ) = θ 1ϕ 1 u t , y t −1 + θ 2ϕ 2 u t , y t −1 + ! + θ d ϕ d u t , y t −1 = ϕ T (t )θ ϕi funciones no lineales arbitrarias de los datos pasados Problema Cómo elegir las funciones ϕ i Posibles soluciones ♦ Expansión tipo caja negra. Por ejemplo: ϕi (u t , y t −1 ) polinomios en las entradas y salidas pasadas. ♦ Uso de leyes fundamentales (física, química, etc.) para detectar las no linealidades en el sistema. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -6- • Modelos No Lineales en Espacio de Estados x(t + 1) = f (t , x(t ), u (t ), ω (t ),θ ) y (t ) = h(t , x(t ), u (t ),υ (t ),θ ) donde ω (t ),υ (t ) son perturbaciones (procesos aleatorios) θ vector de parámetros (desconocido) NB: El problema de hallar un predictor óptimo para este modelo no lineal estocástico es muy dificil (no existe solución finito dimensional). • Modelos No Lineales Tipo Caja Negra Predictores de la forma: ( yˆ (t | θ ) = g Z t −1 ,θ ) (1) ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -7- donde Z t −1 : datos pasados Z t = (y t , u t ) = ( y (1), u (1),!, y(t ), u (t )) Problema Cómo elegir g (•,•) Posibles Soluciones Uso de regresores !" con !" g (Z t −1 ,θ ) = g (ϕ (t ),θ ) ϕ (t ) = ϕ (Z t −1 ) vector de regresión Un modelo más general sería permitiendo que el regresor dependa del parámetro ϕ (t ,θ ) = ϕ (Z t −1 ,θ ) ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -8- !" Con este enfoque, el problema de elegir g (Z t −1,θ ) en (1) se descompone en dos problemas: 1. Cómo elegir el vector de regresión ϕ (t ) como función de los datos pasados. 2. Cómo elegir la función no lineal g (ϕ ,θ ) . Ejemplos de regresores Por analogía con los modelos lineales se pueden obtener modelos NARX, NARMAX, NOE, NFIR. Los más comunes son modelos NARX y NFIR, en los cuales el regresor depende sólo de valores medidos (no estimados). !" !" Ejemplos de funciones g (ϕ ,θ ) Típicamente se utiliza expansión en funciones base ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez -9- n g (ϕ ,θ ) = ∑ α k g k (ϕ ) k =1 θ = [α 1 ! α n ] T (2) vector de parámetros g k (•) : funciones bases Problema Clave Posibles Soluciones Series de Volterra Cómo elegir las funciones base !" k k k k donde ϕ = {ϕ1 ϕ 2 !ϕ d }, con 1 2 g k (ϕ ) = ϕ k d k1 + k 2 + ! k d = k ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 10 - !" Enfoques más modernos Tienen las siguientes características: #" Todas las g k están formadas a partir de una función base madre κ (x ) . #" Esta función κ (x ) es función de una variable escalar x . #" Típicamente las g k son versiones escaladas (dilatadas) y trasladadas de κ (x ) . Por ejemplo para d = 1 , se tendría g k (ϕ ) = g k (ϕ , β k , γ k ) = κ (β k (ϕ − γ k )) donde β k son los parámetros de escalado, y γ k son los parámetros de traslación. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 11 - Ejemplos de 'funciones base madre' $" Serie de Fourier (caso escalar) κ (x ) = cos(x ) $" Funciones seccionalmente constantes 1 si 0 ≤ x ≤ 1 κ (x ) = coc 0 con γ k = k∆ , β k = 1 ∆ , y α k = f (k∆ ). Esto da una aproximación seccionalmente constante de cualquier función en un intervalo ∆ . !" Clasificación de Funciones Base Bases Locales: las variaciones significativas de la función se dan en $" un entorno. Bases Globales: tienen una variación significativa en todo el eje real. $" ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 12 - !" Funciones Base Multivariables Producto Tensorial $" d ( ( g k (ϕ ) = g k (ϕ , β k , γ k ) = ∏ κ β kj ϕ j − γ kj j =1 )) Construcción radial $" Las funciones dependen sólo de la distancia de ϕ a un dado punto central (centro). ( g k (ϕ ) = g k (ϕ , β k , γ k ) = κ ϕ − γ k βk ) donde • β k denota una dada norma en el espacio de los regresores ϕ . Típicamente ϕ 2 βk = ϕ T β kϕ donde β k es una matriz de escalado definida positiva. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 13 - Construcción ridge $" Las funciones dependen sólo de la distancia de ϕ a un dado hiperplano ( g k (ϕ ) = g k (ϕ , β k , γ k ) = κ β k ϕ + γ k T ), ϕ ∈ ℜd La función es constante para todos los ϕ que pertenecen al hiperplano {ϕ ∈ ℜ ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez d T } : β k ϕ = const - 14 - Calidad de la aproximación El modelo usando expansión en funciones base resulta !" n g (ϕ ,θ ) = ∑ α k κ (β k (ϕ − γ k )) k =1 ♦ Surge el interrogante de cuán bien esta expansión puede representar a cualquier posible sistema real ' g 0 (ϕ ) '. La respuesta es que (excepto para polinomios) cualquier función madre κ (x ) permite aproximar cualquier razonable g 0 (ϕ ) arbitrariamente bien para un n suficientemente grande. ♦ Otro interrogante que surge es la eficiencia de la expansión, es decir cuán grande debe ser n para lograr un determinado grado de aproximación. No hay una respuesta general para esto. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 15 - Identificación de Modelos Hammerstein • Modelos Hammerstein Método no iterativo (Bai, 1998) !" υ u k B(q −1 ) A(q −1 ) N (• ) ( ( B (q = A(q yk = k B q −1 A q −1 −1 −1 yk ) c g (u ) + υ )∑ ) N(u ) + υ ) r i i k k i =1 k (1) k donde y k , u k y υ k son la salida, entrada y perturbación en el instante k , respectivamente, g i (•) son funciones no lineales usadas para describir la no linealidad estática N(•) , y ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 16 - ( ) B (q ) = b q A q −1 = 1 + a1 q −1 + ! + a n q − n −1 1 −1 + ! + bm q − m , −1 con q denotando el operador desplazamiento directo. Se asume que los órdenes n, m, s , y las funciones no lineales g i (•) , son conocidas, y que el objetivo es estimar los parámetros de la parte lineal: (a1 ! a n b1 ! bm ) , y de la parte no lineal: (c1 ! c r ) , a partir de datos de entrada-salida. i Una elección típica de las funciones g i (•) es g i (u k ) = u k , en cuyo caso, la parte no lineal queda representada por una expansión polinomial. La ecuación (1) puede escribirse n r m y k = −∑ a j y k − j + ∑ ∑ b j c i u i k − j + υ k j =1 i =1 j =1 (2) Definiendo los vectores ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 17 - θ = (a1 , !, an , b1c1 , !, bm c1 ,!, b1cr , !, bm cr ) φ k = (− y k −1 , ! ,− y k − n , u k −1 , ! , u k − m , T u 2 k −1 , ! , u 2 k − m , ! , u r k −1 , ! , u r k − m ) T la ecuación (2) puede escribirse T yk = φk θ + υ k (3) N Finalmente, considerando el conjunto de N datos {y k , u k }k =1 , la ecuación (3) puede escribirse T YN = Φ N θ + V N (4) donde Y N = ( y1 , ! , y N ) T Φ N = (φ1 , ! , φ N ) ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez , V N = (υ1 , ! , υ N ) , T - 18 - Luego, la estima de mínimos cuadrados θˆ , del vector de parámetros θ viene dada por ( T θˆ = Φ N Φ N ) −1 Φ N YN (5) , siempre que la inversa exista. Definiendo ahora los vectores a = (a1 , !, a n ) , b = (b1 , !, bm ) , c = (c1 , !, c r ) T T T y la matriz Θ bc b1 c1 b c = 2 1 " b c m 1 b1 c 2 b2 c 2 " bm c 2 ! b1 c r ! b2 c r = bc T # " , ! bm c r el vector de parámetros θ puede escribirse T θ = a T , vec(Θ bc ) ( ) T , ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 19 - donde vec(Θ bc ) es el vector columna obtenido apilando las columns de Θ bc . Estimas de los vectores a y vec(Θ bc ) pueden entonces obtenerse de la ∧ estima θˆ en (5). Denotemos â y vec(Θ bc ) a esas estimas. El problema es como computar estimas de los vectores b y c , a partir de ∧ vec(Θ bc ) . Es claro que las más cercanas, en el sentido de la norma-2, estimas b̂ y ĉ , son tales que minimizan la norma vec(bˆcˆ ) − vec(Θ T es decir ∧ bc ) (bˆ, cˆ) = argmin Θˆ b, c donde • F 2 ˆ = bˆcˆ T − Θ bc 2 bc − bc T 2 F, 2 F, es la norma de Frobenius. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 20 - La solución de este problema de minimización viene dada por la descomposición SVD de la matriz Θ̂ bc . El resultado está resumido en el siguiente Lema (Bai, 1998). m× r T Lema: Sea Θ̂ bc ∈ ℜ una matriz no nula, y sea Θ̂ bc = USV su descomposición SVD, donde U y V son matrices ortogonales cuyas columnas son los vectores singulares izquierdos y derechos respectivamente, U = (µ1 , µ 2 , ! , µ m ) , V = (ν 1 ,ν 2 , ! ,ν r ) , y donde S es una matriz diagonal con los valores singulares ( σ 1 ≥ σ 2 ≥ ! ≥ σ min (m , r ) ≥ 0 ) en la diagonal. Entonces ˆ − bc T min Θ bc b,c 2 F = min (m , r ) ∑ σi 2 i =2 (µ1 , σ 1ν 1 ) = argmin Θˆ bc − bc T b, c , 2 F . ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 21 - Prueba: Ver (Bai, 1998). ! El algoritmo de identificación no lineal puede resumirse: Paso 1. Computar la estima de mínimos cuadrados θˆ en (5). Una estima â del vector de parametros a viene dada por las primeras n componentes de θˆ , y una estima Θ̂ bc de la matriz Θ bc puede construirse a partir de las últimas m × r componentes de θˆ . Paso 2. Computar la SVD de Θ̂ bc como en el Lema, de donde estimas de los parametros b y c pueden calcularse como bˆ = µ 1 , y cˆ = σ 1ν 1 , respectivamente. ISIS -Identificación de Sistemas No Lineales - Juan Carlos Gómez - 22 -