La diferencia entre convolución y correlación cruzada desde el punto de vista del análisis de señales
On febrero 12, 2021 by adminEstoy tratando de entender la diferencia entre convolución y correlación cruzada. He leído una esta respuesta entendida. También entiendo la imagen de abajo.
Pero, en términos de procesamiento de señales (un campo del que sé poco …), dadas dos señales (¿o tal vez una señal y un filtro?), ¿cuándo usaremos la convolución y cuándo prefiero usar la correlación cruzada, quiero decir, cuando en el análisis de la vida real preferiremos la convolución y cuando, la correlación cruzada.
Parece que estos dos términos tienen mucho uso, entonces, ¿qué es eso? utilizar?
* La correlación cruzada aquí debería leer g*f
en lugar de f*g
Respuesta
En el procesamiento de señales, dos problemas son comunes:
-
¿Cuál es la salida de este filtro cuando su entrada es $ x (t) $? La respuesta está dada por $ x (t) \ ast h (t) $, donde $ h (t) $ es una señal llamada «respuesta de impulso» del filtro, y $ \ ast $ es la operación de convolución.
-
Dada una señal ruidosa $ y (t) $, ¿la señal $ x (t) $ está presente de alguna manera en $ y (t) $? En otras palabras, ¿$ y (t) $ es de la forma $ x (t) + n (t) $, donde $ n (t) $ es ruido? La respuesta se puede encontrar mediante la correlación de $ y (t) $ y $ x (t) $. Si la correlación es grande para un retraso de tiempo dado $ \ tau $, entonces podemos estar seguros de decir que la respuesta es sí.
Tenga en cuenta que cuando las señales involucradas son simétrico, convolución y correlación cruzada se convierten en la misma operación; este caso también es muy común en algunas áreas de DSP.
Comentarios
- Entendido. ¡Muchas gracias por su respuesta clara y brillante!
- Lo que me gusta de la explicación de la respuesta al impulso es que realmente intuye por qué la convolución está » invertida «. En términos discretos, la salida de corriente es la entrada de corriente x respuesta de impulso en el tiempo 0 + salida residual de las respuestas de impulso de entradas anteriores (entrada a n-1 * impulso 1 + entrada n-2 * impulso 2 y así sucesivamente).
- @ Jean-FredericPLANTE sí, esa ‘ es una buena manera de explicarlo.
- Esta respuesta con el comentario de @ Jean-FredericPLANTE lo hace más sensato.
Respuesta
Los dos términos convolución y correlación cruzada se implementan de una manera muy similar en DSP.
El que use depende de la aplicación.
Si está realizando una operación de filtrado lineal, invariante en el tiempo, convoluciona la señal con el impulso del sistema respuesta.
Si está «midiendo la similitud» entre dos señales, entonces las correlaciona de forma cruzada .
Los dos términos se unen cuando intenta para producir un filtro coincidente .
Aquí, está tratando de decidir si una señal dada, $ s [n] $ contiene un «pulso» conocido (señal), $ p [n] $. Una forma de hacerlo es convolucionar la señal dada, $ s $ con la inversión de tiempo del pulso conocido, $ p $: ahora está usando la convolución para realizar la correlación cruzada de la señal dada con el pulso conocido.
Una nota al margen
El término «correlación cruzada» es (para algunos) mal utilizado en el campo de DSP.
Para los estadísticos, una correlación es un valor que mide qué tan cerca están dos variables y debe estar entre $ -1 $ y $ + 1 $.
Como puede ver en la entrada de Wikipedia sobre correlación cruzada , se usa la versión DSP y dicen:
La correlación cruzada es una medida de similitud de dos series en función del retraso de una con respecto a la otra.
El problema con la definición de DSP: $$ \ sum _ {\ forall m} x [n] y [n + m] $$ es que esta medida de «similitud» depende de la energía en cada señal.
Comentarios
- Esto es extremadamente útil para mí. ¡Gracias!
Respuesta
@MathBgu He leído todas las respuestas anteriores, todas son muy informativas, una cosa Quiero agregar para su mejor comprensión, considerando la fórmula de convolución de la siguiente manera
$$ f (x) * g (x) = \ int \ limits_ {- \ infty} ^ {\ infty} f (\ tau) g (x- \ tau) \, d \ tau $$
y para la correlación cruzada
$$ (f \ star g) (t) \ stackrel {\ text {def}} {=} \ int \ limits _ {- \ infty} ^ {\ infty} f ^ * (\ tau) g (t + \ tau) \, d \ tau, $$
llegamos a saber que, en términos de ecuaciones, la única diferencia es que, en convolución, antes de hacer producto escalar deslizante volteamos la señal a través del eje y i.e cambiamos $ (t) $ a $ (- t) $ , mientras que la correlación cruzada es solo el producto escalar deslizante de dos señales.
Utilizamos la convolución para obtener la salida / resultado de un sistema que tiene dos bloques / señales y están directamente uno al lado del otro (en serie) en el dominio del tiempo.
Comentarios
- ¡Gracias por mencionar estas adicionesl punto de aclaración!
- ¿El * en f * implica conjugado complejo? En lugar de » en el eje y «, considere » invertir el eje del tiempo «, porque al voltear se siente como si algo vertical estuviera sucediendo, esp. al mencionar el eje y.
Respuesta
En el procesamiento de señales, la convolución se realiza para obtener la salida de un sistema LTI. La correlación (correlación automática o cruzada) generalmente se calcula para usarse más tarde para hacer otros cálculos.
Debe tener cuidado de no confundir correlación, covarianza y coeficiente de correlación. La correlación no tiene que estar necesariamente entre -1 y 1. El coeficiente de correlación ( https://en.wikipedia.org/wiki/Pearson_product-moment_correlation_coefficient ) se encuentra entre – 1 y 1 porque está escalado por las dos varianzas de variables aleatorias. Lo que tenemos que recordar es que la operación real a realizar en el procesamiento estadístico de señales para analizar qué tan relacionadas están dos variables aleatorias es la «Covarianza», no la correlación. Pero para la mayoría de las aplicaciones donde una señal es capturada por un sensor y transformada en voltaje y digitalizada con un ADC, puede asumir que la señal es de media cero, por lo tanto, la correlación es igual a la covarianza.
Comentarios
- Voy a echar un vistazo en ese enlace. ¡Gracias!
Respuesta
Hay mucha sutileza entre los significados de convolución y correlación. Ambos pertenecen a la idea más amplia de productos internos y proyecciones en álgebra lineal, es decir, proyectar un vector sobre otro para determinar qué tan «fuerte» es en la dirección de este último.
Esta idea se extiende al campo de las redes neuronales, donde proyectamos una muestra de datos en cada fila de una matriz, para determinar qué tan bien «encaja» en esa fila. Cada fila representa una determinada clase de objetos. Por ejemplo, cada fila podría clasificar una letra del alfabeto para el reconocimiento de escritura a mano. Es común referirse a cada fila como una neurona, pero también podría llamarse filtro coincidente.
En esencia, estamos midiendo qué tan similares son dos cosas o tratando de encontrar una característica específica en algo, por ejemplo una señal o imagen. Por ejemplo, cuando convoluciona una señal con un filtro de paso de banda, está tratando de averiguar qué contenido tiene en esa banda. Cuando correlaciona una señal con una sinusoide, por ejemplo, la DFT, está buscando la fuerza de la la frecuencia de la sinusoide en la señal. Tenga en cuenta que en el último caso, la correlación no se desliza, pero todavía está «correlacionando» dos cosas. Está utilizando un producto interno para proyectar la señal sobre la sinusoide.
Entonces, ¿cuál es la diferencia? Bueno, considere que con la convolución la señal está al revés con respecto al filtro. Con una señal variable en el tiempo, esto tiene el efecto de que los datos están correlacionados en el para que ingrese al filtro. Por un momento, definamos la correlación simplemente como un producto escalar, es decir, proyectar una cosa sobre otra. Entonces, al principio, «volvemos a correlacionar la primera parte de la señal con la primera parte del filtro. A medida que la señal continúa a través del filtro, la correlación se vuelve más completa. Tenga en cuenta que cada elemento de la señal solo se multiplica por el elemento del filtro que «está» tocando «en ese momento.
Entonces, con la convolución, estamos correlacionando en cierto sentido, pero también estamos tratando de preservar el orden en el tiempo en que ocurren los cambios cuando la señal interactúa con el sistema. Sin embargo, si el filtro es simétrico, como suele serlo, en realidad no importa. La convolución y la correlación producirán los mismos resultados.
Con la correlación, solo estamos comparando dos señales, y no intentando para preservar un orden de eventos. Para compararlos, queremos que estén orientados en la misma dirección, es decir, alineados. Deslizamos una señal sobre la otra para poder probar su similitud en cada ventana de tiempo, en caso de que «estén desfasadas entre sí o busquemos una señal más pequeña en una más grande».
En el procesamiento de imágenes, las cosas son un poco diferentes. No nos importa el tiempo. Sin embargo, la convolución todavía tiene algunas propiedades matemáticas útiles . Sin embargo, si estás tratando de hacer coincidir partes de una imagen más grande con una uno más pequeño (es decir, filtrado coincidente), no querrá cambiarlo porque entonces las funciones no se alinearán. A menos que, por supuesto, el filtro sea simétrico.En el procesamiento de imágenes, la correlación y la convolución a veces se usan de manera intercambiable, particularmente con redes neuronales . Obviamente, el tiempo sigue siendo relevante si la imagen es una representación abstracta de datos bidimensionales, donde una dimensión es el tiempo, p. Ej. espectrograma.
En resumen, tanto la correlación como la convolución son productos internos deslizantes, que se utilizan para proyectar una cosa sobre otra a medida que varían en el espacio o el tiempo. La convolución se utiliza cuando el orden es importante y normalmente se utiliza para transformar los datos. La correlación se usa generalmente para encontrar una cosa más pequeña dentro de una cosa más grande, es decir, para hacer coincidir. Si al menos una de las dos «cosas» es simétrica, entonces no importa cuál use.
Respuesta
Deje a un lado el procesamiento de señales, si solo trata de entender lo que está sucediendo en convolución y correlación, ambas son operaciones muy similares, la única diferencia está en la convolución, una de las variables se invierte (voltea) antes de realizar la acumulación del producto. Asegúrate de que no estoy usando la palabra signal en ninguna parte anterior. Solo hablo en términos de las operaciones realizadas.
Ahora, vayamos al procesamiento de señales.
La operación de convolución se usa para calcular la salida de un sistema invariante de tiempo lineal (sistema LTI) dada una entrada única ( x ) y la respuesta al impulso del sistema ( h ). Para comprender por qué solo se usa la operación de convolución para obtener la salida de un sistema LTI , hay una gran derivación. Encuentre la derivación aquí.
http://www.rctn.org/bruno/npb163/lti-conv/lti-convolution.html
La operación de correlación se usa para encontrar la similitud entre las dos señales xey. Más el valor de la correlación, más la similitud entre las dos señales.
Comprenda la diferencia aquí,
-
Convolución -> entre la señal y un sistema (filtro)
-
Correlación -> entre dos señales
Entonces, desde el punto de vista del análisis de señales, la operación de convolución no se usa . Solo se utiliza la correlación desde el punto de vista del análisis de señales. Mientras que la convolución se utiliza desde el punto de vista del análisis del sistema.
La mejor manera de comprender las operaciones de convolución y correlación es comprender qué sucede cuando se realizan dos convolución y correlación entre dos variables continuas, como se muestra en los diagramas de la pregunta.
Deja una respuesta