Ejemplo respuesta impulsional


Dado el siguiente sistema crea un fichero m que realice:
a) Representa la respuesta impulsional del sistema.
b) En otro gráfico representa la respuesta impulsional hasta t=12 s.
c) Realiza una comparación entre la respuesta encontrada con el comando impulse, y la respuesta antitransformando Y(s).

(a) Primero introducimos en un fichero m, la función de transferencia del sistema. Ya que con MATLAB no podemos trabajar simbólicamente, daremos valores a las constantes a y b. Luego crearemos un modelo ZPK ya que es el que mejor define la función de transferencia de nuestro sistema.
Una vez ya hemos definido el sistema podemos realizar un análisis impulsional mediante el comando impulse.   
Si ejecutamos el código hasta ahora obtendremos la siguiente gráfica:
Esta gráfica muestra la respuesta impulsional del sistema hasta los primeros 6 segundos. Supongamos que nosotros queremos ver la respuesta hasta los 12 segundos.(b) 
Para ello crearemos un vector t donde el primer elemento es 0, el último 12 y los elementos entre ellos estarán a intervalos de 0.1
Creamos otro gráfico con figure y aplicamos el vector t para obtener la respuesta hasta t=12 s.



(c) Ahora vamos a grabar la salida en un vector, el cual representaremos más tarde. Para hacer esto asignamos el valor de la respuesta impulsional a la variable y, y representamos la respuesta en otro gráfico con el comando plot. Pondremos la gráfica en verde y puntos para poder comparar.
Ahora sabiendo que: representaremos y(t) en la misma gráfica obteniendo:


Código fuente en matlab completo




%En este ejemplo veremos el uso del comando impulse
%-----------------------------------------------------------------------------
% Primero definimos el sistema
clf %Borrado de posibles gráficos
a=1;
b=2;
s=zpk('s');
sys=1/((s+a)*(s+b));
figure(1)
impulse(sys) %Sintaxis basica para respuesta impulsional
% Ahora variaremos el tiempo hasta 12 seg.
t=0:0.1:12;
figure(2) % lo representamos en otro grafico
impulse(sys,t) %Sintaxis de la funcion impulso definiendo el tiempo
% Ahora realizaremos una comparacion entre la funcion impulse
% y la respuesta temporal
y=impulse(sys,t);%Guardamos la salida en el vector y
figure(3)
plot(t,y,'g:')%Representamos la respuesta con el comando plot
f=(exp(-a*t)-exp(-b*t))/(b-a);%Respuesta temporal 
hold on
plot(t,f,'r-.')
xlabel('Tiempo en segundos');
ylabel('Respuesta impulsional');
title('Respuesta impulsional y funcion temporal');

No response to “Ejemplo respuesta impulsional”