Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Practica 3
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
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
Ee(k) = 0 (2)
2
1. Introduccion
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)
3
2. Desarrollo
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:
e( ) = (t ) v 2 ( ) (16)
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.
4
2. Desarrollo
Vo (s) 1x1010
= 3 (20)
Vi (s) s + 10s + 2x109 s + 1x1010
2
5
3. Resultados
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
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
>> Fz=c2d(F,0.01,zoh)
Fz =
>> 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