Lo pregunté en Mathematics Stack Exchange, pero dado que este tipo de mentiras se encuentra en el límite de las preguntas que normalmente se hacen allí y las preguntas que ves aquí, también las haré aquí. (A partir de ahora, no ha habido actividad en mi pregunta allí).
En el análisis bidimensional de señales discretas (específicamente el procesamiento de imágenes), una definición que encontré para la correlación cruzada normalizada entre dos imágenes, ambas de tamaño y es:
Supuestamente, esto se realiza mediante la función normxcorr2
en la Caja de herramientas de procesamiento de señales en MATLAB, aunque utiliza el algoritmo de correlación cruzada normalizada rápida de JP Lewis. En comparación con el método de correlación de fase (con espectro de potencia cruzada normalizado) sugerido por Kuglin y Hines:
Sin la normalización por elementos antes de la transformada inversa de Fourier, es lo mismo que la correlación cruzada no normalizada, con la excepción de que la transformada de Fourier supone que la señal se repite en el dominio espacial. Está claro que mirando las "imágenes" de correlación resultantes en MATLAB, que esperaba, pero casi parece discontinuo de las imágenes en las que estoy probando el método, mientras que siempre resulta mucho más suave (el resultado las imágenes son siempre "irregulares", no son). ¿Por qué es esto? Supongo que tiene algo que ver con la normalización por elementos en el dominio de Fourier, lo que supongo que es básicamente como recortar la señal de alguna manera, pero no sé cómo concluir esto a partir de las propiedades conocidas de la (inversa) Transformada de Fourier, si esto es incluso una suposición correcta.
Aquí hay ejemplos de las diferencias (ha sido amplificado para mostrar más claramente la diferencia en las características de las imágenes). Se realizan en las mismas 2 imágenes.
- : Correlación cruzada normalizada
- : Correlación de fase
Resumiendo mi pregunta: ¿Por qué es tan "irregular", mientras ¿no es?
r2
, intente degradarg1
yg2
luego aplique elfft
.r1
yr2
debería ser lo mismo. uno para el dominio espacial y el otro para el dominio de frecuencia, pero equivalente, excepto una normalización por las normas.Respuestas:
Encontré este enigma en un caso unidimensional, que es cómo lo presentaré. Considere dos señales que desea correlacionar. La señal 1 (figura a) es una onda sinusoidal amortiguada y la señal 2 (figura b) es dos instancias de la señal 1 pero con amplitudes ligeramente diferentes.
Ahora considere usar una correlación cruzada normalizada como la definió en su pregunta (figura c). El resultado es una función suavemente oscilante que tiene una amplitud de pico cuando el pico de la señal 1 y el pico de la señal 2 están alineados. Por el contrario, la función de correlación cruzada normalizada tiene canales cuando el pico de la señal 1 se alinea con los canales de la señal 2 .
Luego considere usar una correlación de fase como la definió en su pregunta (figura d). Una correlación de fase implica una división del valor absoluto (o amplitud) de las dos señales. En un caso 1D que es un vector y en un caso 2d, como su pregunta es, eso es una matriz. En cualquier caso, los valores en ese divisor pueden estar muy cerca de cero y cuando divide por algo cerca de cero, obtiene picos o discontinuidades .
Existen varias estrategias en torno a esto e incluyen el filtrado de paso bajo de las señales de entrada o la función de correlación de fase. Esta página sobre desbordamiento de pila podría ser útil: /programming/30630632/performing-a-phase-correlation-with-fft-in-r
fuente