• No results found

Communication Studies (COMM)

In document Fall, 2014 (Page 135-139)

Uno de los momentos cr´ıticos de todo Regulador PID es aquel en el que hay que ajustar sus par ´ametros, la llamada sintonizaci ´on. En gran cantidad de ocasiones resulta una tarea ardua y complicada, con los costes que ello conlleva. Normalmente durante el per´ıodo de sintoniza- ci ´on, que se puede prolongar durante d´ıas o semanas, las condiciones del proceso se pueden ver perturbadas por las condiciones clim ´aticas, entre otros. Estos cambios se reflejan en el deterioro del comportamiento del lazo de control. Por ello, resulta razonable dotar al Regulador PID de alg ´un mecanismo que pueda reajustar sus par ´ametros durante su funcionamiento y sin interrumpirlo.

Adem ´as, se busca que este autoajuste se realice sin introducir ninguna se ˜nal en el sistema superpuesta a la de control, evitando as´ı perturbar el sistema, bas ´andose as´ı el autoajuste en el comportamiento del sistema en bucle cerrado. As´ı, en funci ´on de la se ˜nal de control y de la salida del sistema, se podr ´an estimar los pesos de una funci ´on de transferencia discreta, y con ello, recalcular los par ´ametros del regulador PID.

Este estimador estar ´a basado en el algoritmo de m´ınimos cuadrados en su variante re- cursiva, debido a que posee unas propiedades estad´ısticas muy ´utiles y suficiente simplicidad como para poder ser ejecutado de una manera extremadamente r ´apida como para identificar el sistema a la vez que se est ´a realizando su regulaci ´on.

3.4.1. Algoritmo de M´ınimos Cuadrados Recursivos (RLS)

Este algoritmo permite la identificaci ´on en tiempo real de modelos con la condici ´on de que los par ´ametros de los mismos sean lineales. Esto quiere decir que el algoritmo RLS puede aplicarse incluso a sistemas no-lineales siempre y cuando sus par ´ametros s´ı lo sean.

Se considera un sistema modelado mediante la siguiente funci ´on de transferencia:

G(z) = Y(z)

U(z) =

b1z−1+· · ·+bnz−n

1 +a1z−1+· · ·+anz−n

(3.4.1.1)

Que se puede trasladar a una ecuaci ´on en diferencias

y(k) +a1y(k−1) +· · ·+any(k−n) =b1u(k−1) +· · ·+bnu(k−n) (3.4.1.2)

Esta ecuaci ´on 3.4.1.2, despejando y(k), se define la variable de proceso estimada yˆ(k) como:

ˆ

y(k) =u(k) ˆw(k−1) (3.4.1.3)

Dondewˆ(k−1)es el vector que contiene los pesos de la funci ´on de transferencia discreta estimados en el instante anterior:

ˆ w(k−1) = h −a1 · · · −an b1 · · · bn iT (3.4.1.4)

Yu(k)es el llamado vector regresor, que contiene los valores de la se ˜nal de control (u) y la variable de proceso (y) de los instantes anteriores al actual:

u(k) =hy(k−1) · · · y(k−n) u(k−1) · · · u(k−n) i

(3.4.1.5)

Se define adem ´as el error de estimaci ´one(k)como la diferencia entre la variable de proceso

y(k)y la variable de proceso estimadayˆ(k), por lo tanto:

Por lo tanto se busca un valor dewˆ(k−1)tal que se consiga quee(k) = 0.

Si el proceso que se quiere identificar corresponde con un modelo como el de la ecuaci ´on

3.4.1.2 se podr´ıa determinar el valor del vector de par ´ametros a partir de2nobservaciones de la salida para una serie de entradas conocidas. Es decir, se formar´ıa un sistema de 2n

ecuaciones con el que se podr´ıa determinar el valor real dewˆ.

El m ´etodo de m´ınimos cuadrados recursivos parte de un conjunto de estimaci ´on basado enN pares(y(k), u(k))donde, por lo general N es mucho mayor que2npermitiendo ajustar la estimaci ´on a un modelo como el mostrado en la ecuaci ´on3.4.1.2. Este ajuste es imposible en la pr ´actica, por lo que no se conseguir ´a el objetivo de que e(k) = 0. Sin embargo, s´ı se puede conseguir encontrar un valor de wˆ(k−1) que consiga hacer e(k) m´ınimo mediante la minimizaci ´on de la suma de los cuadrados de los errores de predicci ´on del conjunto de estimaci ´on (esta suma de los cuadrados de los errores recibir ´a el nombre de´ındice de bondad de ajuste).

Las medidas obtenidas desdek=nhastak=N se agrupan en vectores de manera que se obtiene:

E(N) =Y(N)−U(N) ˆw

Donde los vectoresY(N),U(N)yE(N)se definen como:

E(N) = h e(n)· · ·e(N) iT Y(N) = h y(n)· · ·y(N) iT U(N) =hu(n)· · ·u(N) iT

Se define el ´ındice de bondad de ajuste como:

J( ˆw) =||E(N)||2=

N X

k=n e2(k)

Que se puede reescribir como:

J( ˆw) = (Y(n)−U(N) ˆw)T(Y(N)−U(N) ˆw)

El m´ınimo valor del ´ındice de bondad de ajuste se dar ´a en el valor del vector de pesos que cumpla que:

dJ( ˆw)

d( ˆw) = 0⇒2(U(N) ˆw−Y(N))

De donde se obtiene que el valor del vector de pesos que hace m´ınimo el ´ındice de bondead de ajuste es:

w∗= [UT(N)U(N)]−1UT(N)Y(N) (3.4.1.7)

La ecuaci ´on3.4.1.7implica el c ´alculo de la inversa de una matriz de(N ×N) elementos, siendoN un n ´umero muy grande, por lo que el c ´alculo de esa inversa consuir ´a muchos recur- sos computacionales y ser ´a, por lo tanto, muy lento. Esto provocar´ıa que el algoritmo no se pudiera ejecutar en tiempo real. Sin embargo, se puede calcular el vector de pesos definiendo la matriz inversa[UT(k)U(k)]−1como:

[UT(k)U(k)]−1 =P(k) = " k X i=n uT(i)u(i) #−1 (3.4.1.8)

DondeP(k)es la matriz de covarianzas. Se verifica que:

P−1(k−1) =P−1(k)−uT(k)u(k)

Tambi ´en se puede deducir la expresi ´on:

UT(k−1)Y(k−1) =P−1(k−1) ˆw(k−1) =

=P−1(k) ˆw(k−1)−uT(k)u(k) ˆw(k−1)

Y sustituyendo y combinando en las ecuaciones3.4.1.8y3.4.1.7se obtiene:

ˆ w(k) = ˆw(k−1)−P(k)uT(k) ˆw(k−1) +P(k)uT(k)y(k) = = ˆw(k−1)−P(k)uT(k)(y(k)−u(k) ˆw(k−1)) = = ˆw(k−1) +K(k)(y(k)−u(k) ˆw(k−1)) = = ˆw(k−1) +K(k)e(k) (3.4.1.9)

ConK(k) = P(k)uT(k). As´ı, en la ecuaci ´on 3.4.1.9se expresa el valor del vector de pe- sos estimadoswˆ(k)de forma recursiva, es decir, en funci ´on del valor del vector en el instante anterior m ´as un t ´ermino corrector que consiste en el error de predicci ´on en el instante ac- tual multiplicado por una ganancia de adaptaci ´on K(k). Esta f ´ormula da lugar al algoritmo de m´ınimos cuadrados recursivos.

3.4.2. Flujo de ejecuci ´on del algoritmo RLS

Si se est ´a identificando un proceso cuya din ´amica var´ıa en el tiempo, es conveniente dar m ´as peso a las medidas m ´as recientes porque son las que reflejan la din ´amica m ´as actual del sistema, para ello se a ˜nadir ´a al algoritmo el factor de olvido exponencialλ. Habitualmente

λ∈[0,98,1). As´ı, tras cada iteraci ´on del algoritmo, el peso dado a cada medida disminuye ex- ponencialmente de modo que las medidas m ´as lejanas apenas contribuyen en las operaciones matem ´aticas. Con esta modificaci ´on, los pasos a seguir para ejecutar el algoritmo RLS son:

Dar un valor inicial aP(0) >> I (dondeI es la matriz identidad) y al vector de pesoswˆ (que toma un valor arbitrario).

En cada iteraci ´onk >0: 1. CalcularK(k)como:

K(k) = λ

−1u(k)P(k1)

1 +λ−1u(k)P(k1)uT(k)

2. Calcular el error de estimaci ´one(k)como:

e(k) =y(k)−u(k) ˆw(k−1) 3. Actualizar el vectorwˆ de pesos:

ˆ

w(k) = ˆw(k−1) +e(k)KT(k) 4. Actualizar la matrizP de covarianzas:

P(k) =λ−1P(k−1)−λ−1KT(k)u(k)P(k−1)

In document Fall, 2014 (Page 135-139)