Sie sind auf Seite 1von 9

UNIVERSIDAD NACIONAL DE INGENIERA

FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica Gua de laboratorio No.: Asignatura: 2 Sistemas y Seales

1. Tema Convolucin 2. Medios a utilizar Computadora Simulador MATLAB

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

h[n] es la respuesta al impulso del sistema


h[n]=u[n]-u[n-10] 1 0.8 0.6 0.4 0.2 0 -15 -10 -5 0 tiempo n 5 10 15

Ahora dibujamos x[k] y h[n-k] respectivamente 1

UNIVERSIDAD NACIONAL DE INGENIERA


FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica
x[k] 1 0.8 0.6 0.4 0.2 0 -15

-10

-5

0 tiempo k

10

15

h[n-k] 1 0.8 0.6 0.4 0.2 0 -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

UNIVERSIDAD NACIONAL DE INGENIERA


FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica

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

UNIVERSIDAD NACIONAL DE INGENIERA


FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica

UNIVERSIDAD NACIONAL DE INGENIERA


FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica 2) Parte B: Convolucin en el tiempo continuo En el laboratorio 1 vimos como construir una seal en tiempo continuo en Matlab con los siguientes comandos:
Fs=1000; %Frecuencia de muestreo Fs t=-1:1/Fs:5; %Rango de tiempo donde se va a graficar la seal t1=-1:1/Fs:0-1/Fs; %Primer rango de tiempo t2=0:1/Fs:1-1/Fs; %Segundo rango de tiempo t3=1:1/Fs:2-1/Fs; %. t4=2:1/Fs:3-1/Fs; %. t5=3:1/Fs:5; %. x1=0*ones(1,length(t1)); %Primera seal vlida para el primer rango de tiempo x2=ones(1,length(t2)); %Segunda seal vlida para el primer rango de tiempo x3=0*ones(1,length(t3)); %. x4=ones(1,length(t4)); %. x5=0*ones(1,length(t5)); %. y=[x1 x2 x3 x4 x5]; %Suma de las 5 seales plot(t,y) %Grafica de la suma de las 5 seales

1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 -1

Modificando el codigo anterior podemos lograr las siguientes graficas () = 2 ()- 2( 3)


Fs=1000; t=-2:1/Fs:5; t1=-2:1/Fs:1-1/Fs; t2=1:1/Fs:3-1/Fs; t3=3:1/Fs:5; x1=0*ones(1,length(t1)); x2=1*ones(1,length(t2)); x3=0*ones(1,length(t3)); x=[x1 x2 x3]; plot(t,x)
2 1.5

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

UNIVERSIDAD NACIONAL DE INGENIERA


FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica
h=[x1 x2 x3 x4]; plot(t,h)

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

Fs=1000; t=1:1/Fs:3; x=2*ones(1,length(t)); plot(t,x)

2.5 2 1.5 1

1.5

2.5

Fs=1000; t=-1:1/Fs:3; t1=-1:1/Fs:1-1/Fs; t2=1:1/Fs:3; x1=1*ones(1,length(t1)); x2=-1*ones(1,length(t2)); h=[x1 x2]; plot(t,h)

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

UNIVERSIDAD NACIONAL DE INGENIERA


FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica Como observa escogimos la escala de tiempo desde 0 hasta 6 debido a que en 0 es la primera vez que se encuentran estas seales x(t) y h(t) en particular, de modo que en otros ejercicios usted debera definir donde empezara su grafica basandose en este mismo hecho. A continuacion considere las siguientes seales en tiempo continuo y evalue las convoluciones indicadas en la tabla
x(t) 1 0.5 0 -0.5 -1 -1

y(t) 1

0.5

-0.5

-1 -2

-1

z(t) 1 0.8 0.6 0.4 0.2 0 -4 -3 -2 -1 0 1 2

Comandos para () = () ()

Grafica de () = () ()

Comandos para () = () ()

Graficas de () = () ()

Comandos para () = () ()

Graficas de () = () ()

UNIVERSIDAD NACIONAL DE INGENIERA


FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica 3) Parte C: Convolucin de una seal de audio (voz) con un filtro RC Se le proporcionar un archivo de audio: anita.wav. La frecuencia de corte del filtro es Fc = 15 Khz, es decir RC = 0.06 millisegundos. Se les recomienda, determinar primero la respuesta al impulso del circuito. Luego codificar dicha respuesta en matlab y convolucionar la respuesta al impulso con el archivo de audio. Comandos en matlab utiles: conv, wavread, sound y soundsc. Para convolucionar una seal de voz con un filtro RC primero debemos obtener la respuesta al impulso del circuito. Entonces:

Grafica de la convolucin

Observacin

Cambiemos la frecuencia de corte a Fc=10KHZ : Grafica de Convolucin

Observacin

UNIVERSIDAD NACIONAL DE INGENIERA


FACULTAD DE ELECTROTECNIA Y COMPUTACION Ingeniera Electrnica

Cambiemos la frecuencia de corte a Fc=5KHZ : Grafica de Convolucin

Observacin

Das könnte Ihnen auch gefallen