Beruflich Dokumente
Kultur Dokumente
FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica Gua de laboratorio No.: Asignatura: 2 Sistemas y Seales
1) Parte A: Convolucin en el tiempo discreto Dadas las siguientes seales, usaremos el comando conv de matlab para convolucionar estas seales. [] = [ 2] [ 7] [] = [] - [ 10] Este proceso se desarrolla de la siguiente manera: Las dos seales a convolucionar se grafican a continuacion x[n] es la seal de entrada
x[n]=u[n-2]-u[n-7] 1 0.8 0.6 0.4 0.2 0 -15 -10 -5 0 tiempo n 5 10 15
-10
-5
0 tiempo k
10
15
-10
-5
0 tiempo k
10
15
Y procedemos a desplazar h[n-k] sobre x[k] lo que nos produce: [1] = 0 y[2]=1 1 = 1 [3]=1 1 + 1 1 = 2 [4]=1 1 + 1 1 + 1 1 = 3 [5]=1 1 + 1 1 + 1 1 + 1 1 =4 [6]=1 1 + 1 1 + 1 1 + 1 1 + 1 1 =5 [7]=1 1 + 1 1 + 1 1 + 1 1 + 1 1 =5 [8]=1 1 + 1 1 + 1 1 + 1 1 + 1 1 =5 [9]=1 1 + 1 1 + 1 1 + 1 1 + 1 1 =5 [10]=1 1 + 1 1 + 1 1 + 1 1 + 1 1 =5 [11]=1 1 + 1 1 + 1 1 + 1 1 + 1 1 =5 [12]=1 1 + 1 1 + 1 1 + 1 1 =4 [13]=1 1 + 1 1 + 1 1 =3 [14]=1 1 + 1 1 =2 [15]=1 1 = 1 [16]=0
h[n-k] 5 4 3 2 1 0 -15
-10
-5
0 5 tiempo k
10
15
20
Entendiendo el proceso que se llevara a cabo al ejecutar el comando conv de matlab procedemos a usarlo. Los siguiente comandos convolucionan la seal de entrada x[n] con la respuesta al impulso y[n] h[n]
x=[1 1 1 1 1]; h=[1 1 1 1 1 1 1 1 1 1]; y=conv(x,h); n=2:length(y)+2-1; stem(n,y,'.') title('h[n]=u[n]-u[n-10]') xlabel('tiempo n')
5 4 3 2 1 0
2
2 4 6 8 10 tiempo n 12 14 16
Se debe de tener mucho cuidado al graficar a y [n] con respecto a n, ya que el comando conv no dice donde debemos de empezar a graficar a y [n]. Para el ejemplo anterior, como la seal x[n] existe despues de n=2 y al invertir a h[n] por h[n-k] ventajosamente el primer pulso aparece en n=0, de modo que x[n] y h[n-k] se encuentran cuando n=2. A continuacion considere las siguientes seales en tiempo discreto y evalue las sumatorias de convolucion indicadas en la tabla
x[n] 1 0.8 0.6
0 1 y[n]
0.5
0.4 0.2 0 -6
-0.5
-4
-2
0 tiempo n z[n]
-1 -6
-4
-2
0 tiempo n
1.5
0.5
0 -6
-4
-2
0 tiempo n
Comandos para [] = [] []
Grafica de [] = [] []
Comandos para [] = [] []
Graficas de [] = [] []
Comandos para [] = [] []
Graficas de [] = [] [] 3
0.5
0 -2
-1
() = ()- 2( 1) + ( 3)
Fs=1000; t=-2:1/Fs:4; t1=-2:1/Fs:-1-1/Fs; t2=-1:1/Fs:1-1/Fs; t3=1:1/Fs:3-1/Fs; t4=3:1/Fs:4; x1=0*ones(1,length(t1)); x2=1*ones(1,length(t2)); x3=-1*ones(1,length(t3)); x4=0*ones(1,length(t4));
0.5
-0.5
-1 -2
-1
Ahora podemos convolucionar estas 2 seales y ver el resultado con los siguientes comandos:
2000
y=conv(x,h); plot(y)
1000
-1000
-2000
2000
4000
6000
8000
10000
12000
14000
Como observamos, la salida es la correcta pero las escalas no son adecuadas. Para graficar adecuadamente este resultado tenemos que seguir los siguientes pasos: Se deben graficar ambas seales () = 2 ()- 2( 3) y () = ()- 2( 1) + ( 3) nicamente en sus valores diferentes de cero:
3
2.5 2 1.5 1
1.5
2.5
0.5
-0.5
-1 -1
-0.5
0.5
1.5
2.5
Ahora podremos utilizar los siguiente comandos para convolucionar ambas seales:
y=conv(x,h)/Fs; %Division entre Fs para normalizar el eje y ty=0:1/Fs:6; %Escala de tiempo que empieza donde ambas seales se encuentran plot(ty,y) %por primera vez
4 2 0 -2 -4 -6
y(t) 1
0.5
-0.5
-1 -2
-1
Comandos para () = () ()
Grafica de () = () ()
Comandos para () = () ()
Graficas de () = () ()
Comandos para () = () ()
Graficas de () = () ()
Grafica de la convolucin
Observacin
Observacin
Observacin