Professional Documents
Culture Documents
Ingeniera Informtica
5. Utiliza las funciones que dispone Matlab para generar una seal cuadrada unitaria con una frecuencia de 1Hz, la misma seal cuadrada pero ahora con una amplitud de 5 unidades y una seal en diente de sierra con una frecuencia de 2Hz.
[1]
Consideremos un circuito RC . Este circuito se puede ver como un sistema en tiempo continuo cuya entrada x(t) es la tensin elctrica que aplicamos al circuito mediante una fuente de alimentacin, y la salida y(t) es la tensin elctrica medida en los bornes del condensador. Aplicando la ley de Kirchhoff a la tensin en el condensador, obtenemos la ecuacin diferencial [2] que es la ecuacin de entrada/salida que describe el comportamiento del sistema.
i (t ) =
x(t ) y (t ) R
y (t ) =
Q i (t )dt d = i (t ) = C y (t ) C C dt
RC
d y (t ) + y (t ) = x(t ) dt
[2]
6. Calcula analticamente h(t) para el sistema lineal que conforma el circuito RC. 7. Representa grficamente la funcin h(t) y x(t), siendo x(t) una entrada en escaln u(t) como la que has utilizado en los ejercicios anteriores. 8. Calcula la salida del sistema ante una entrada en escaln u(t) usando la integral de convolucin. Usa la funcin conv que posee Matlab, y representa el resultado grficamente. 9. Calcula la salida del sistema ante una entrada senoidal y diente de sierra. 10. Realiza tu propia funcin de convolucin miconv. Para ello utiliza la ecuacin [1]. Tener en cuenta que h(t-) es una versin invertida y desplazada de h(t).
pract_1ab (04-05)
14/10/2004
Ingeniera Informtica
PRCTICA 1: Anlisis en el dominio del tiempo de sistemas continuos simples Material complementario a la Prctica 1.
IV.- Sistemas lineales e invariantes con el tiempo (LTI) Resolver la ecuacin diferencial
RC
d y (t ) + y (t ) = x(t ) dt
RC
y ( h ) (t ) = c1e
x(t ) = cos(0t ) RC
RCc20 + c1 = 1 1 c1 = 2 1 + (RC0 )
Solucin particular
c2 =
RC0 2 1 + (RC0 )
y ( p ) (t ) =
pract_1ab (04-05)
14/10/2004
0 = 1
y (t ) =
Suponemos que :
y(0-)=2
R=10K
y ( n ) (t ) = 2e t
x(t ) = cos( 0 t )u (t ) y(0-)=2 R=10K C=100 F y
t 0
0 = 1
1 1 y (t ) = ce t + cos t + sen t , t > 0 2 2 + y (0 ) = y (0 ) = 0 1 1 y (0) = c + = 0 c= 2 2 1 1 1 y ( f ) (t ) = e t + cos t + sen t , t > 0 Respuesta forzada 2 2 2 Respuesta total
y (t ) = y ( n ) (t ) + y ( f ) (t ) = y ( f ) (t ) =
1 3 t 1 e + cos t + sen t 2 2 2
,t > 0
pract_1ab (04-05)
14/10/2004
1 t RC
u (t )
u (t ) + c1e
1 t RC
u (t ) = (t )
1 1 1 t t c1 RC t RC RC RC e u (t ) + c1e (t ) + c1e u (t ) = (t ) RC
RCc1e (t ) = (t ) t = 0 RCc1 = 1 1 c1 = RC
1 t RC
Respuesta al impulso
1 RC t h(t ) = e u (t ) RC
H ( j ) = h( )e j d
1 ( j + 1 ) RC
La respuesta en frecuencia
H ( j ) =
1 RC 1 ( j + ) 1 1 j e u ( )e d = RC e RC d = RC j + 1 RC
e RC
Respuesta en frecuencia
H ( j ) =
1 RC = jRC + 1 j + 1 RC
1 RC t e u (t ) RC
t 1 1 1 RC e u ( )d = 1 e RC u (t ) RC t
Respuesta al escaln
s (t ) = h( )d =
pract_1ab (04-05)
14/10/2004
Suponemos que :
R=10K
C=100 F
RC=1
h(t ) = e t u (t )
Convolucin
Recuerde que la sumatoria de convolucin expresa la salida de un sistema en tiempo discreto en trminos de la entrada y la respuesta al impulso del sistema. MATLAB tiene una funcin llamada conv que evala la convolucin de seales en tiempo discreto de duracin finita. Si x y h son vectores que representan seales, entonces el comando MATLAB y=conv(x,h) genera un vector y que representa la convolucin de la seal representada por x y h. El nmero de elementos en y est dado por la suma del nmero de elementos en x y h menos uno. Advierta que debemos conocer el origen del tiempo de seales representadas por x y h para determinar el origen del tiempo de su convolucin. En general, supongamos que el primer y el ltimo elemento de x corresponde a los tiempos n=kx y n=lx, respectivamente, mientras que el primero y el ltimo elemento de h corresponde a los tiempos n=kh y n=lh. Entonces el primer y ltimo elemento de y corresponde a los tiempos n=ky=kx+kh y n=ly=lx+lh. Observe que la longitud de x[n] y h[n] son Lx=lx-kx+1 y Lh=lhkh+1. As, la longitud de y[n] es Ly=ly-ky+1=Lx+Lh-1. pract_1ab (04-05) 6 14/10/2004
y[n] = Ante una entrada x[n] = u[n] u[n 10] x[n] = L ,0,1,1,1,1,1,1,1,1,1,1,0, L { 0
k h = 0, l h = 3, k x = 0, l x = 9, k y = 0, l y = 12, L y = 13 Las seales h y x de definiran en MATLAB con los siguientes comandos : >>h=0.25*ones(1,4); >>x=ones(1,10); La salida se obtendra y se dibujara usando los comandos : >>n=0:12; >>y=conv(x,h); >>stem(n,y); xlabel(n); ylabel(y[n])
pract_1ab (04-05)
14/10/2004
x[n] h[n] n n 1 4 0 2 3 0 3 2 0
6 1
7 1
8 1
9 1
10 1
1 0
2 0
3 0
4 0
xe[n] hi[n]
0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 0,25 y[k] 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,25 0,25 0,25 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0,25 0,50 0,75 1 1 1 1 1 1 1 0,75 0,50 0,25 0
xe[n]*hi[n]
pract_1ab (04-05)
14/10/2004
y[n] = L, 0, 0.25, 0.5, 0,75,1,1,1,1,1,1,1, 0.75, 0.5, 0.25, 0, L { 0 Representacin en MATLAB x(n)=[1,1,1,1,1,1,1,1,1,1], (n=1,..,10) h(n)=[0.25,0.25,0.25,0.25], (n=1,..,4) n = 1,..,13
y ( n) = x ( k ) h( n + 1 k )
k =1
y(n)=[0.25,0.5,0.75,1,1,1,1,1,1,1,0.75,0.5,0.25] Las operaciones a realizar seran : 1) Invertir h[n], obteniendo hi[n] hi=invertir(h);
2) Extender x[n], obteniendo xe[n] xe=[zeros(1,length(h)-1) x zeros(1,length(h))]; 3) Ir desplazando hi[n] y multiplicando por xe[n] for k=1:length(x)+length(h), y(k)=sum(hi.*xe(k:k+length(h)-1)); end
pract_1ab (04-05)
14/10/2004