Professional Documents
Culture Documents
CALLAO
FACULTAD DE INGENIERA ELCTRICA Y
ELECTRNICA
SECCIN POSGRADO
Implementacin de GADALINE-Algoritmo II
A continuacin, se transcribe el algoritmo LSM-SW que se busca implementar:
wp=wt_1;
for j=1:ne
usventana=us(k+1:k+1+ventana);
ysventana=ys(k+1:k+1+ventana);
for i=1:ventana
ussj=[usventana(i) -ysventana(i)];
e=ysventana(i)-ussj*wp';
dw=alpha*e*ussj;
wp=wp+dw;
end
end
w=wp;
u_1=us(k);
y_1=ys(k);
end
% Respuesta del sistema con los parmetros W estimados
T=0.04;
tk=0:T:t(end);
u=ones(size(tk));
Gze=tf(w(1),[1 w(2)],T);
Gm=d2c(Gze);
Gm=zpk(Gm);
ye=lsim(Gze,u,tk);
plot(tk,ye,'-.k');
legend('Real','Estimado','Location', 'northeast');
plot(t,us,'b');
xlabel('\bf t(seg)');
ylabel('\bf y(t)');
title('Sistema Real y Estimado');
Se debe hacer notar que los archivos de pruebas proporcionados para validar el
algoritmo constan de cuatro columnas y no de dos como en el ejemplo proporcionado
como referencia.
La estructura de los archivos de prueba es:
tiempo1 seal de entrada -tiempo2 respuesta del sistema
Por lo tanto, en el script en la parte inicial, se extrae la columna de tiempo
(tiempo1=tiempo2) y la de respuesta del sistema. Posteriormente se procede a
analizar solo la parte de inters (en el instante donde se encuentra el escaln) para
simplificar su anlisis.
El resto del cdigo implementa el algoritmo, donde se utilizan pocas, definidas por el
usuario para ajustar el valor de los parmetros w, la cantidad de veces de dicho
parmetro, proceso que se realiza dentro de la ventana de muestra. Esto se va a ir
repitiendo a su vez, conforme se vaya deslizando o aplicando un corrimiento de la
informacin de muestra.
La implementacin mostrada toma en consideracin que los datos proporcionados del
sistema (archivo datap1.lvm), en principio, corresponden a un sistema de primer orden
por lo cual en el script se asume dicho modelo:
1 1 Ecuacin (1)
() =
1 + 2 1
1 1 + 2 2 Ecuacin (1)
() = 1 2
1 + 3 + 4
Igualmente deben modificarse dw para que sea tambin de dimensin 1x4.
El script con el nuevo cdigo se observa a continuacin:
clear all; close all; clc
%-------------------------------------------------------------------------
% Algoritmo LMS-SW
% Elaborado por: Jos Luis Muoz Meza
% Nota: Se ha implementado el Algoritmo II (LMS-SW) del paper
% El Algoritmo I (GADALINE) ya fue desarrollado por el Prof. Rodriguez
%-------------------------------------------------------------------------
% Observaciones
% Los datos de pruebas alcanzados para validar el trabajo constan de
% cuatro columnas, donde la columna 1 y 3 son tiempos, en tanto que las
% columnas 2 y 4 corresponden a la entrada y salida del sistema
datos=load('datap2.lvm');
pure=datos(:,2)<0.5;
t=datos(:,1);t=t(sum(pure)+1:end)-t(sum(pure));
us=ones(1,length(t));
%ys=datos(:,4); ys=ys(sum(pure)+1:end);
ys=datos(:,4); ys=ys(sum(pure)+1:end);
figure
plot(t,ys,'r')
hold
u_1=0; y_1=0; % C.I cero
w1=0.01*randn; % pesos iniciales pequeos
w2=0.01*randn;
w3=0.01*randn;
w4=0.01*randn;
wt_1=[w1 w2 w3 w4];
alpha=0.04; % factor de aprendizaje
% m=0.01; en LMS-SW no se aplica momentun
dw_1=[0 0 0 0];
% E=0.00001; Tampoco se establece un epsiln o lmite de
% parada del momentum
us=[0 us];
ys=[0 ys'];
for k=2:length(us)-ventana
usventana=us(k-1:k+ventana-1);
ysventana=ys(k-1:k+ventana-1);
wp=wt_1;
for j=1:ne
for i=1:ventana
wt_1=wp;
ussj=[usventana(i+1) usventana(i) -ysventana(i+1) -
ysventana(i)];
e=ysventana(i+1)-ussj*wp';
dw=alpha*e*ussj;
wp=wp+dw;
end
end
w=wp;
u_1=us(k);
y_1=ys(k);
end
% Respuesta del sistema con los parmetros W estimados
T=0.004;
tk=0:T:t(end);
u=ones(size(tk));
Gze=tf([w(1) w(2)],[1 w(3) w(4)],T);
Gm=d2c(Gze);
Gm=zpk(Gm);
ye=lsim(Gze,u,tk);
plot(tk,ye,'-.k');
legend('Real','Estimado','Location', 'northeast');
plot(t,us(2:end),'b');
xlabel('\bf t(seg)');
ylabel('\bf y(t)');
title('Sistema Real y Estimado');
Figura Nro. 2: Respuesta del sistema correspondiente al segundo dataset de prueba
Evaluacin de Resultados
Para el primer dato de prueba, se obtienen los resultados mostrados en la siguiente
figura:
Como se puede apreciar, los resultados son bastante satisfactorios, con un seguimiento
muy cercano al sistema bajo evaluacin.
Para el segundo conjunto de datos, se obtiene lo siguiente:
Figura Nro. 4: Resultados obtenidos con el algoritmo Gadaline II (LSM-SW) para el
segundo conjunto de datos (sistema de segundo orden)
Bibliografa