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

Convolución de Señales Discretas en Python

Este documento describe cómo calcular la convolución de dos señales discretas X e Y definidas entre 0 y 3. Se define la función de convolución, la cual realiza el proceso de folding en X, agrega ceros a Y para alinearlas, y calcula la convolución mediante ciclos anidados. Finalmente, grafica el resultado de la convolución de X e Y en un rango de -3 a 3.

Cargado por

andreina
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
9 vistas4 páginas

Convolución de Señales Discretas en Python

Este documento describe cómo calcular la convolución de dos señales discretas X e Y definidas entre 0 y 3. Se define la función de convolución, la cual realiza el proceso de folding en X, agrega ceros a Y para alinearlas, y calcula la convolución mediante ciclos anidados. Finalmente, grafica el resultado de la convolución de X e Y en un rango de -3 a 3.

Cargado por

andreina
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 PDF, TXT o lee en línea desde Scribd

10/7/22, 15:23 conv - Jupyter Notebook

In [1]: '''
CONVOLUCION DE DOS SEÑALES DISCRETAS O ARREGLOS
Convolución de X(n)=[-7,-5,3,1] con Y(m)=[5,2,1,-2] , definidas en n=(0,3) y m=(0,3)
'''

#librerias con las que vamos a trabajar

import numpy as np
import [Link] as plt
%matplotlib inline


#definimos X como respuesta a nuestra señal de entrada, Y señal de entrada

X = [Link]([-7,-5,3,1])
Y = [Link]([5,2,1,-2])

#longitud de los arreglos o señales
print([Link], [Link])

(4,) (4,)

localhost:8888/notebooks/Downloads/[Link] 1/4
10/7/22, 15:23 conv - Jupyter Notebook

In [2]: # definimos la funcion convolucion



def convolution(X, Y):

'''recordemos, efecto de convolucion sobre señal de salida en un FOLDING'''

#aplicando folding a X
fX= [Link](X)
print(fX)

''' se crea arreglo de respuesta que va a almacenar las opciones que se realicen con las señales'''
#arreglo de respuesta a la convolucion...arreglo de ceros con el tamaño de la convolucion
rc= [Link]([Link] + [Link] -1)

#copia de a señal de entrada, se agragn ceros a las izquierda y derecha de la señal de entrada para poder co
cY= [Link](Y, 0, [Link]([Link]-1)) ##ceros del inicio
cY= [Link](cY, [Link], [Link]([Link]-1)) ##ceros del final
print(cY)

'''Creamos ciclos for para variables de sucesion de las señales'''


#ciclos de las variables de sucesion k, n
for k in [Link](0, [Link]):
for n in [Link](0, [Link]):

#control de posicion de la cadena


idcY= k + n
rc[k]= rc[k] + fX[n] * cY[idcY]

return rc

print(convolution(X, Y))
print([Link](X, Y)) #comprobar resultado

[ 1 3 -5 -7]

[ 0 0 0 5 2 1 -2 0 0 0]

[-35. -39. -2. 20. 15. -5. -2.]

[-35 -39 -2 20 15 -5 -2]

localhost:8888/notebooks/Downloads/[Link] 2/4
10/7/22, 15:23 conv - Jupyter Notebook

In [11]: #GRAFICAR CONVOLUCION



'''ya que las señales X y Y inicializan el 0 entonces, la convolucion esta centrado en 0, y tomando en cuenta q
Podemos definir el rango de la convolucion {-3,3}
'''
#definimos rango
r= [Link](-3, 4)
print([Link])


[Link](r, convolution(X,Y))

(7,)

[ 1 3 -5 -7]

[ 0 0 0 5 2 1 -2 0 0 0]

Out[11]: <StemContainer object of 3 artists>

In [ ]: ​

localhost:8888/notebooks/Downloads/[Link] 3/4
10/7/22, 15:23 conv - Jupyter Notebook

localhost:8888/notebooks/Downloads/[Link] 4/4

También podría gustarte