miércoles, 22 de agosto de 2012

Convolución

Convolución es el operador matemático que convierte dos funciones f y g en una tercera función que representa la magnitud en la que se superponen f y una versión trasladada e invertida de g.

Es decir convolución nos da la magnitud del recorrido que hace una funcion f desplazandose en otra funcion g.

Exactamente como la siguiente imagen:


Se representa f(t)*g(t) y la definimos como la integral del producto de ambas funciones después de desplazar alguna de ellas una distancia n.



Una vez entendida esta definición ahora si estoy lista para comenzar a hacer un ejemplo, que yo misma inventé.
Necesitamos recordar una fórmula básica de integración:


Para escribir las ecuaciones utilicé la herramienta en línea de LATEX.

Así comenzamos definiendo f(t) y g(t):


Ahora sustituimos:



Ahora elevamos al cuadrado y multiplicamos :



Separamos para integrar:



Y ahora saco las constantes:



Integramos:



Y el resultado:



Entonces la convolución es la magnitud de el recorrido que hace una función cuando se desplaza sobre la otra, para tener una idea más clara les dejo dos gráficas de las funciones:

La función f(t) = t

La función f(t) = t ** 2


Les dejo un vídeo que me ayudo a entender la definición de la convolución:




Uso de la convolución
  • En estadística, como un promedio móvil ponderado.
  • En teoría de la probabilidad, la distribución de probabilidad de la suma de variables aleatorias independientes, es la convolución de sus distribuciones de probabilidad.
  • Muchas manchas se describen con convoluciones, en óptica.
  • En acústica, un eco es la convolución del sonido original con una función que represente los objetos variados que lo reflejan.
Tipos de convolución

Convolución discreta

Se trata de hacer un procesamiento digital de señal, ya que no tiene mucho sentido hablar de convoluciones aplicando estrictamente la definición ya que solo contamos con valores en instantes discretos de tiempo. Entonces es necesario, la aproximación numérica.
En convolución discreta usamos la siguiente fórmula:


Hay en numpy una función que nos permite obtener la convolución discreta, numpy.convolve(a, v, mode='full'), en donde "a" y "v" son listas que contienen los valores de "y", es decir en vez de tener dos funciones tenemos dos arreglos con los puntos en y. Y nos regresa el arreglo con la convolución discreta de las dos secuencias que pusimos de entradas.

Aquí dos pequeños ejemplos:




Gráfica de la primer lista de los argmentos:


Gráfica de la segunda lista:

Referencias:




1 comentario: