Académique Documents
Professionnel Documents
Culture Documents
cd ~/Escritorio/SysII/Pra_2_3/ALL0005/
ch1= importdata('ch1.csv');
ch2= importdata('ch2.csv');
tiempo= importdata('tiempo.csv');
cd ~/Escritorio/SysII/Pra_2_3/
plot(tiempo,ch1,'r')
hold on
plot(tiempo,ch2,'b')
title('señal de entrada vs señal de salida')
xlabel('tiempo (s)')
ylabel('voltaje (mv)')
grid('minor')
Ts=tiempo(2);
%%como podemos ver lo que nos importa está apartir del tiempo 2.5 en
%%adelante
idx=find(tiempo>(0.25-Ts));%%para comenzar apartir del tiempo 2.5 segundos
%%nos quedamos con lo que más nos importa de la señal
ch1=ch1(idx);
ch2=ch2(idx);
tiempo=tiempo(idx);
%%Mostrando la parte que nos interesa
clf
plot(tiempo,ch1,'r')
hold on
plot(tiempo,ch2,'b')
title('señal de entrada')
%%midiendo sacamos los cruces en cero para la respuesta transitoria, tenemos los
%%siguientes cruces, midiendo en el intervalo donde es visible la respuesta
%%transitoria
a=0.2996;%%Medimos manualmente estos cruces pues hay ruido y hacerlo con
b=0.316;%%algun algoritmo nos lo dificultaría
c=0.3324;
d=0.3504;
e=0.3672;
%%y calculamos 3 periodos de la forma
T1=c-a;
T2=d-b;
T3=e-c;
T=(T1+T2+T3)/3;
%%Ahora sacamos los valores de las crestas, crestas negativas probamos sacando el absoluto de la
respuesta
%%transitoria
y=abs(y);
%%Para encontrar el momento en el que comienza el escalon
u_t=[find(ch1 > 0.9)];
To=tiempo(u_t(2));%%Tiempo en el que comienza el escalón
clear u_t; %%Ya no necesitaremos más esta señal
idx=find(tiempo>(To-Ts) & tiempo<0.3808);%%tiempo>(To-Ts) implica que analizaremos apartir de
To
time=tiempo(idx);%%solo nos quedamos en el tiempo apartir del tiempo en el que comenzó el escalón
y1=y(idx);%%solo nos quedamos con la respuesta al escalon
clf
plot(time,y1)
cd ~/Escritorio/SysII/Pra_2_3/
[c,v]=localiza_minmax(y1);%%Buscamos las crestas
crestas=y1(c);
mu=time(c);
puntos=y1(c);
hold on
stem(time(c),y1(c),'ro') %%Graficamos las crestas dadas por la funcion localiza_minmax
pause
%%seleccionamos varios puntos para utilizarlos de crestas, armando a X,SY
%%de forma manual, donde X es el tiempo y SY los valores que estos tienen
X=[0.2892 0.3076 0.324 0.3408];
SY=[0.3474 0.22746 0.12966 0.068745];
hold on
plot(X,SY,'ko','linewidth',3)
%%Los puntos en negro son los que seleccionamos como las crestas de la señal
recta=polyfit(X,log(SY),1);%%calculamos la sigma (inversa de la Tao) con el metodo de minimos
cuadrados a una recta
%%dicha recta tiene la forma ln(A)+sigma*(t-To)
yi=polyval(recta,X); %%obtenemos los valores de la recta para poder visualizarla
clf
plot(X,yi) %%Grafica la recta, ya que ployval te regresa los vaores en cada tiempo
grid('minor')
pause
%%%de la recta tenemos que el valor de yi(1)=(0.2892,-0.9869) tenemos que la cresta uno
%%la cual se da en el tiempo 0.2892 y tiene un valor -0.9869 en y con la ecuación de la
%%recta y=mx + b; buscamos el valor de y en el tiempo To (cuando comenzó el escalón)
lnA=recta(1)*(To-0.2892) + (-0.9869);%%y(t2)=sigma*(t2-t1) + y(t1)
A=exp(lnA);
sigma=recta(1);
%%recostruimos a y como la respuesta transitoria del sistema
y=ch2-prom;
y=y(idx);
%%utilizando las crestas antes calculadas podemos obtener varias fases
idx2=[find(time>0.2891 & time<0.2893), find(time>0.3075 & time<0.3077), find(time>0.3239 &
time<0.3241), find(time>0.3407 & time<0.3409)];
SY=y(idx2);
time2=time(idx2);
hold on
plot(time2,SY,'ro','linewidth',3)