0% encontró este documento útil (0 votos)
40 vistas4 páginas

Convolución de señales en MATLAB

El documento presenta un código en MATLAB para calcular la convolución de cualquier señal. El código toma las señales de entrada x e h, las extiende con ceros para igualar sus longitudes, y calcula la convolución usando una suma para cada punto de la señal de salida Y. El código se prueba usando funciones seno y coseno y se compara con los resultados del comando conv de MATLAB, mostrando un acuerdo entre los métodos.

Cargado por

Felipe Aranguren
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
40 vistas4 páginas

Convolución de señales en MATLAB

El documento presenta un código en MATLAB para calcular la convolución de cualquier señal. El código toma las señales de entrada x e h, las extiende con ceros para igualar sus longitudes, y calcula la convolución usando una suma para cada punto de la señal de salida Y. El código se prueba usando funciones seno y coseno y se compara con los resultados del comando conv de MATLAB, mostrando un acuerdo entre los métodos.

Cargado por

Felipe Aranguren
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

PUNTO ADICIONAL 1 PARCIAL DE SEÑALES Y SISTEMAS.

Gabriel Felipe Aranguren Díaz – 201610055

1. Desarrollar un código en MATLAB que haga la convolución de cualquier señal.

Solución:

% Codigo que calcula la convolucion de 2 funciones.


% Gabriel Felipe Aranguren Díaz 20161005055
x=input('Ingrese la primera función: ')
h=input('Ingrese la segunda función: ')
a=length(x);
b=length(h);
X=[x,zeros(1,b)];
H=[h,zeros(1,a)];
for i=1:b+a-1
Y(i)=0;
for j=1:a
if(i-j+1>0)
Y(i)=Y(i)+X(j)*H(i-j+1);
else
end
end
end
Y
plot(Y)

 x=input('Ingrese la primera función: ')


h=input('Ingrese la segunda función: ')

Primero generamos las entradas para que la persona pueda digitar las señales.

 a=length(x);
 b=length(h);

Hacemos unos vectores de igual tamaño en los que la función está definida.

 X=[x,zeros(1,b)];
 H=[h,zeros(1,a)];

Los llenamos de ceros para que puedan ser llenados por los valores de la función.
 Y(i)=0;
 for j=1:a
 if(i-j+1>0)
 Y(i)=Y(i)+X(j)*H(i-j+1);

En esta parte del código, debido a que todas las señales de entrada son discretas,
(aunque sean continuas, hay que ponerles limites en los que están definidas y
aumentos la estamos discretizando); podemos usar la sumatoria de convolución
para señales discretas.

Donde j es nuestra variable de sumatoria, el if nos suma i + j donde este definida la


función y en Y(i) hacemos la parte interna de la convolución.

Resultados en MATLAB:

Usando:
 x=cos(0:0.1:1)
 y=sin(0:0.1:1)

Obtenemos:
Y por grafica de la convolución obtenemos:
Cuando usamos las mismas entradas con en comando conv obtenemos:

Y por grafica de la convolución obtenemos:

Conclusiones:

 Podemos afirmar que el código es fiable y se ajusta totalmente con los resultados usando
el comando de MATLAB para generar las convoluciones.

También podría gustarte