Você está na página 1de 10

Ingeniera de control automatico

Practica 3

Metodo de Mnimos Cuadrados


Recursivo
Uriel Juarez Alvarez
Noviembre 10, 2017

Resumen
Para la presente practica se pretende hacer uso del Metodo de Mnimos
Cuadrados Recursivo (MMCR),este metodo es una version mejorada de
(MMCC), que al aplicarlo a una funcion transferencia teorica e ir variando
su entrada aleatoriamente, este algoritmo se ajusta de manera online
para hacer el error cero. Al decir que trabaja de manera online nos
referimos a que puede funcionar con sistemas donde su entrada puede ir
cambiando con respecto al tiempo. Para esto, nuestro caso de estudio sera
un circuito RLC de tercer orden que tendra una entrada de tipo escalon
(variante) y sera muestreado a una tasa de 0,01 segundos. Por lo que,
antes que nada, se obtendra su funcion de transferencia y su equivalente
discreto considerando un retenedor de orden cero en su forma completa.
Para despues pasarlo a una ecuacion diferencias y poder simularlo. Por
ultimo se hara una comparacion de la salida real con la salida teorica y
tambien se graficara el error.

Indice
1. Introduccion 2

2. Desarrollo 4

3. Resultados 6

4. Conclusiones 8

5. Anexos 8

1
INDICE DE FIGURAS

Indice de figuras
1. Estructura de control. . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Circuito RLC de tercer orden. . . . . . . . . . . . . . . . . . . . . 5
3. RLC de tercer orden. . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Grafica con factor de olvido igual a 0.9988. . . . . . . . . . . . . 7
5. Grafica con factor de olvido igual a 0.99. . . . . . . . . . . . . . . 7

1. Introduccion
El MMC es uno de los metodos de los enfoques basicos y mas utilizados
en la teora y la practica reciente de la identificacion de procesos. Este meto-
do permite ajustar los cambios que sufren los sistemas por agentes externos y
evitar problemas de control. Bastantes autores, tales como Eykhoff(1974), Pe-
terka(1975) y muchos otros han dedicado un esfuerzo considerable al estudio
de este metodo y sus diversas extensiones y modificaciones. En la Figura 1 se

Figura 1: Estructura de control.

muestra la estructura de control donde se considera una entrada u(t) una senal
de ruido blanco v(t) y la salida y(t) que puede ser medible con un periodo de
muestreo. La planta P independientemente que sea continuo o dinamico, puede
ser tomada en base a un cierto numero de muestras en intervalos de T, y se
puede describir en la siguiente ecuacion diferencias:
n
X n
X
y(k) = aj y(k j) + bj u(k j) + e(k) (1)
j=1 j=0

Donde k = 1, 2, 3...t aj , bj R. El modelo consta de dos partes: una auto-


regresion de los valores anteriores de la salida hasta y(k n), as como una suma
de valores previos de la entrada hasta u(k n). Para esta practica se adoptara
el modelo ARX (auto-regressive and exogenous variable).
El termino e(k), que en lo sucesivo es denominado como ruido blanco se le atri-
buyen generalmente las siguientes propiedades estadisticas, para k = 1, 2, 3, ...

Ee(k) = 0 (2)

2
1. Introduccion

e(k) se considera un proceso de ruido blanco, con media cero y varianza 2 .


Ee2 (k) = 2 (3)
El modelo (1) tambien puede escribirse de la siguiente manera:
y(k) = y(k) + e(k) (4)
y donde:
n
X n
X
y(k) = aj y(k j) + bj u(k j) + e(k) (5)
j=1 j=0

El termino y(k) puede interpretarse entonces como la prediccion de la salida en


el tiempo k, a partir de las mediciones anteriores y(k 1),y(k 2),...,y(k n),
u(k), u(k 1),...., u(k n) y los parametros del modelo.

Se puede notar de las ecuaciones (4) y (5) que en cuanto la prediccion se vaya
aproximando a cero, podemos tener lo siguiente:
y(k) = e(k) (6)
Resumiendo el metodo se puede afirmar lo siguiente:
y(k) = P T z(k) + e(k) (7)
P puede ser calculada de la siguiente manera:
P = (Z Z T )1 Z T Y (8)
Donde P T y z(k) son respectivamente los vectores de los parametros y de las
mediciones, se pueden definir de distintas maneras pero lo dejaremos de la si-
guiente manera:
P T = [b0 a1 b1 , ...., an bn ] (9)

z T (k) = [u(k)y(k 1)u(k 1), ..., y(k n)u(k n)] (10)


P T y z T son vectores de dimension 2n+1. Ya de forma generalizada para t
observaciones del par entrada-salida (u, y) como sigue:

Y T (t) = P T Z T (t) + E T (t) (11)


con
Y T (t) = [y(1)y(2)...y(t)] (12)
T
Z (t) es la matriz de mediciones de dimension (2n + 1) x t

u(1) u(2) u(t)
y(0)
y(1) y(t 1)

T
Z (t) =
.
.. .
.. .. ..
(13)
. .

y(1 n) y(2 n) y(t n)
u(1 n) u(2 n) u(t n)

3
2. Desarrollo

Resulta conveniente en este punto de la exposicion, introducir la tecnica del


olvido exponencial, de manera que los algoritmos de identificacion en lnea que
seran derivados posteriormente sean mas flexibles y generales. Si t el tiempo
actual mientras denota el instante pasado en el tiempo en que los datos y() y
z() fueron obtenidos. El estimador de los parametros delo modelo en el tiempot
se calcula a partir de un conjunto de ecuaciones del tipo:

y( ) = P T z( ) + e( ) (14)

para =1,2,...,t. Si los parametros han variado en el tiempo, resulta evidente que
las ecuaciones mas viejas.este conjunto resultan menos confiables que las mas
recientes. Es posible tener este hecho en cuenta considerando que la varianza
del termino estocastico e( ) no es constante, sino que vara de forma tal que a
las ecuaciones mas viejas del tipo (14) corresponde una varianza mayor que a
las ecuaciones ultimas, es decir para proximo a t. Notese que la consideracion
de una varianza mayor del ruido e( ) se interpreta como equivalente a que los
parametros del modelo sean menos exactos. Para modelar la varianza como una
funcion del tiempo, resulta adecuado utilizar la expresion:

Ee2 ( ) = 2(t ) 2 (15)

donde 2 es un factor positivo, menor o igual a 1. La condicion impuesta me-


diante (15) resulta equivalente a la siguiente:

e( ) = (t ) v 2 ( ) (16)

donde v( ) es un proceso aleatorio con propiedades de ruido blanco y varianza


constante:

Ev 2 ( ) = 2 (17)

2. Desarrollo
Para el circuito RLC de la Figura 2 se pretende obtener una salida estimada
utilizando la tecnica del olvido exponencial y tambien un vector de estimacion
P T el cual contiene parametros de la funcion de transferencia. Para solucionar
este problema se haran los siguientes pasos:
1. Calcular funcion de transferencia.

2. Obtener equivalente discreto.


3. Aplicar MMCR en funcion de transferencia teorica.
4. Comparar resultados con modelo original.
Para resolver la primer parte tenemos que sacar la funcion de transferencia
del circuito RCL, la cual se obtiene usando una aproximacion de impedancia

4
2. Desarrollo

Figura 2: Circuito RLC de tercer orden.

compleja para despues usar un divisor de corriente de manera que obtendremos


la siguiente expresion:
1 1
Vo (s) C1 s C2 s
= (18)
Vi (s) 1 1 1 1
R1 ( +L+ )+ (L + )
C1 s C2 s C1 s C2 s
Simplificando quedara de la siguiente manera:
Vo (s) 1
= 2 2
(19)
Vi (s) LC1 R1 C2 s + LC2 s + (R1 C2 + R1 C1 )s + 1
Ahora sustituyendo los valores de resistencias y capacitores, tendramos nuestra
funcion de esta forma:

Vo (s) 1x1010
= 3 (20)
Vi (s) s + 10s + 2x109 s + 1x1010
2

Para discretizar haremos uso de matlab para obtener la funcion discreta


tomando en cuenta el retenedor de orden zero y una tasa de muestreo de 10ms,
que quedaria de la siguiente manera:

Vo (z) 0,0463z 3 0,04233z 2 + 0,04867z 1


= (21)
Vi (z) 0,904z 3 + 1,781z 2 1,823z 1 + 1
Si la graficamos con la entrada escalon quedaria de la siguiente manera:
Y la ecuacion diferencias quedaria de la siguiente forma:

Vo (k) = 1,823Vo (k1)+0,04867Vi (k1)1,781Vo (k2)0,04233Vi (k2)+0,9048Vo (k3)+0,0463Vi (k3)


(22)

5
3. Resultados

Figura 3: RLC de tercer orden.

Ya que se tiene la ecuacion diferencias podemos formar nuestro vecotr P quedaria


de la siguiente manera:

P T = 0 1,823 0,04867 1,781 0,04233 0,9048 0,0463



(23)

Ya que se definio el vector P, se puede graficar la respuesta en base a la funcion


de transferencia teorca, tomando en cuenta un u(k) = random utilizando la
funcion de matlab. Para este metodo se utiliza un factor de olvido = 0,9988 y
= 0,99 para experimentacion, como se explico este parametro es para retener
los datos y por lo comun es muy cercano a la unidad.
Aplicando este metodo nos arroja nuestro vector P estmido, que fue el si-
guiente:

P eT = 4,7484x1011

1,822 0,0487 1,7795 0,0423 0,9041
0,0463
(24)
Se puede observar que el vector esta muy aproximado nuestro vector P orginal.

3. Resultados
Se hicieron dos pruebas modificando el factor de olvido, se puede observar en
la Figura 4 que el error tiene pequenos impulsos al momento de que la entrada
sufre un cambio.

6
3. Resultados

Figura 4: Grafica con factor de olvido igual a 0.9988.

Esto se debe a que el factor de olvido sigue estando un poco alejado a la


unidad. Despues se probo con un factor de olvido igual a 0.99. En la Figura 5

Figura 5: Grafica con factor de olvido igual a 0.99.

se puede observar que el error tuvo un sobreimpulso al inicio, despues para los
siguientes cambios de entrada se estabilizo bastante rapido sin mostrar ningun
sobreimpulso.

7
4. Conclusiones

4. Conclusiones
Este metodo es mucho mas robusto que el metodo de minimos cuadrados
convencional. En las muestras realizadas se puede observar que este metodo
busca hacer el error a cero para poder encontrar la salida estimada ye . Citando
la ecuacion (4) al hacer multiples iteraciones, la salida original y(k) tiende hacer
igual a ye (k) estimada, por eso es que este metodo busca hacer el error cero. Y
esto se puede comprobar al comparar P T (real) con P eT donde se observa que
practicamente son iguales las funciones de transferencia.

P T = 0

1,823 0,04867 1,781 0,04233 0,9048 0,0463 (25)

P eT = 4,7484x1011

1,822 0,0487 1,7795 0,0423 0,9041
0,0463
(26)
Cabe mencionar algoritmo es de bastante ayuda para identificar sistemas en los
cuales tenemos cambios de entrada bruscos.

5. Anexos
Codigo implementado para obtener la funcion de transferencia discreta.
>> F=tf(1e10,[1 10 2e9 1e10])

F =

1e10
----------------------------
s^3 + 10 s^2 + 2e09 s + 1e10

Continuous-time transfer function.

>> Fz=c2d(F,0.01,zoh)

Fz =

0.04867 z^2 - 0.04233 z + 0.0463


----------------------------------
z^3 - 1.823 z^2 + 1.781 z - 0.9048

Sample time: 0.01 seconds


Discrete-time transfer function.

>> step(F,Fz)

8
5. Anexos

Algoritmo recursivo.
%Metodo de minimos cuadrados recursivo
clc
clear all

t=1600;
Ts=0.01;
n=3;
m = 2*n+1;

C=1*eye(m+1);
fhi=0.99888; %Factor de olvido

Pe=[0.1;0.1;0.1;0.1;0.1;0.1;0.1];
P=[0;1.823;0.04867;-1.781;-0.04233;0.9048;0.0463];

r=rand(1);
c=0;
for k=1:t
% if k==t/2
% P=[0;1.823;0.04867;0;0];
% end
kTs(k)=k*Ts;
if c==180
r=rand(1);
c=0;
else
c=c+1;
end
u(k)=r;
e(k) = 0.005*(rand(1)-0.5);
if k==1
z=[u(k);0;0;0;0;0;0];
elseif k==2
z=[u(k);y(k-1);u(k-1);0;0;0;0];
elseif k==3
z=[u(k);y(k-1);u(k-1);y(k-2);u(k-2);0;0];
else
z=[u(k);y(k-1);u(k-1);y(k-2);u(k-2);y(k-3);u(k-3)];
end
y(k)=P*z;

C = fhi * C;
C(m+1,:) = [z,y(k)];
C= ARenglon(C,m);

9
5. Anexos

Pe=STriang(C,m);
ye(k)=Pe*z;
e(k)=y(k)-ye(k);
end
Pe
plot(kTs,e,g,kTs,y,r,kTs,u,k,kTs,ye,b)
grid on

10