Está en la página 1de 5

UNIVESIDAD POLITÉCNICA SALESIANA

CARRERA DE INGENIERÍA ELECTRÓNICA


PRACTICA: CONVOLUCIÓN
ESTUDIANTE: ANDRÉS LÓPEZ ANDRADE

Definiciones
La convolución se define como:

𝑦 𝑑𝜏

Tanto la señal x(t) como h(t) deben ser absolutamente integrables.

La convolución relaciona la entra y la salida de un sistema LTI por medio de su


respuesta al impulso h(t).
La convolución de una señal en tiempo discreto se define como:

Matlab posee una función construida llamada “conv” que computa la convolución
entre dos señales de duración finita.
Propiedades La convolución cumple las propiedades conmutativa,
asociativa y distributiva.

La longitud de la convolución es igual la suma de la longitud de x con la longitud de h


y restado 1 (Ly=Lx+Lh-1).
La convolución de señales simétricas es también simétrica.

Ejercicio
Se quiere graficar la respuesta de w de la convolución de dos señales u y v que son un
pulso rectangular y un pulso triangular respectivamente.

Se proporciona el siguiente código


L = 151; % La longitud de una secuencia u n = -(L-1)/2:(L-
1)/2; % datos del eje x para la señal u figure(1);
u = ??? %función de pulso rectangular de n y
ancho 80 subplot(3,1,1); stem(n,u,"r."); %grafica
title('señal rectangular'); subplot(3,1,2);
v = ??? %función pulso triangular de n y ancho
90 stem(n,v,"b."); %grafica title('señal triangular');

subplot(3,1,3)
; w = conv(u,
v);
disp("Output length = " + length(w))
nOut = -(L-1):(L-1);
stem(nOut,w,"g.");
title('señal convolución w=u*v');

Complete las funciones u y v del código.

u = rectpuls(n,80); %función de pulso rectangular de n y ancho


80 v = tripuls(n,90); %función pulso triangular de n y ancho 90

Ejecute y analice el código anterior.


¿Cómo se relaciona la longitud de la salida de convolución con la longitud L de las
dos señales de entrada?

L= 150 (Entrada en ambas señales)


L=300

¿Qué crees que pasará si las secuencias de entrada tienen diferentes longitudes?
digamos, M y N, en lugar de L.

Sumamos las 2 longitudes de las señales iniciales.


M=150
N=200
L salida=349.

La operación de Matlab “ifft(fft(u) .* fft(v))” se conoce como convolución circular. Bajo


ciertas condiciones, la convolución circular es equivalente a la convolución lineal.
Copie, ejecute y analice el resultado del siguiente código.
figure(2); subplot(3,1,1); wDFT = ifft(fft(u) .*
fft(v));%convolución circular stem(n,wDFT,"r.");
title('señal wDFT convolución circular');
disp("Output length wDFT = " + length(wDFT));
subplot(3,1,2);
wsDFT=ifftshift(wDFT);%reordenamiento de la transformada
inversa stem(n,wsDFT,'b.'); title('señal wsDFT');
disp("Output length wsDFT = " + length(wsDFT));
subplot(3,1,3);
K = length(u) + length(v) - 1; upad = [u zeros(1,K -
length(u))]; vpad = [v zeros(1,K - length(v))]; wCirc =
ifft(fft(upad) .* fft(vpad)); stem(nOut,wCirc,"g.");
title('salida de convolución lineal a través de
convolución circular');
disp("Output length wCirc = " + length(wCirc));

Compare la longitud de wDFT con la longitud de w. ¿Por qué son diferentes?

Porque son diferentes debido a que al realizar la multiplicación no hemos rellenado


los espacios con zeros.

¿Qué diferencia encuentra entre wDFT y wsDFT?

La escala está desplazada hacia la izquierda.

¿Cuáles son las condiciones bajo las cuales los resultados de la convolución circular y
lineal son equivalentes?

Se resta el 1 para lograr que ambas longitudes (k) sean iguales a la suma de la longitud
de U y V para guardar en el vector u y v una multiplicación de u zeros, con k menos
de la longitud de U.

K = length(u) + length(v) - 1;
upad = [u zeros(1,K - length(u))];
vpad = [v zeros(1,K - length(v))];
wCirc = ifft(fft(upad) .*
fft(vpad));
Resultados en Matlab

También podría gustarte