Funciones > Vector y matriz > Otras funciones de array > Correlación cruzada y convolución
  
Correlación cruzada y convolución
convolve(S, K, [BC], [OV]): realiza la convolución entre 2 vectores (1D) o 2 matrices (2D) con una fase arbitraria.
La convolución en el tiempo se corresponde con la multiplicación en la frecuencia, y a la inversa, y resulta útil para el filtrado digital.
crosscorr(S, K, [BC], [OV]): realiza una correlación cruzada entre 2 vectores (correlación 1D) o 2 matrices (correlación 2D) con una fase arbitraria.
La correlación es equivalente a la convolución; cada vez se invierte una secuencia, y a menudo se utiliza para buscar la respuesta de impulso de un sistema.
La función crosscorr se puede utilizar para correlacionar imágenes.
La función crosscorr combina la funcionalidad de las funciones depreciadas correl y correl2d.
Argumentos
S es un vector o una matriz que representa la señal de entrada. Los elementos de la matriz pueden tener valores reales o complejos.
K es un vector o una matriz que representa el kernel. Los elementos de la matriz pueden tener valores reales o complejos.
BC (opcional) es un número entero de argumento que dicta el tipo de convolución que se debe realizar especificando cómo se controlan los contornos de matriz durante la correlación. BC se puede definir en 0 (por defecto), 1, 2 o 3; donde:
0: Lineal (o ceros de relleno): los píxeles más allá del contorno de matriz se tratan como ceros.
1: Circular (o envolvente periódico): los píxeles más allá del contorno de matriz se tratan como una continuación periódica de la matriz.
2: Reflexión: los píxeles más allá del contorno de matriz se tratan como si se reflejaran en espejos a lo largo de los bordes de la matriz.
3: Continuación: los píxeles más allá del contorno de matriz se interpretan como el último valor dentro de la matriz.
OV (opcional) es un valor entero o un vector de dos valores enteros que dicta si se aplica un cambio de la segunda señal. Se utiliza para especificar el solapamiento inicial de fila y columna (correlación de fase) de la matriz de kernel K con la matriz de señal de entrada S. El primer elemento del vector especifica el solapamiento de fila, y el segundo especifica el solapamiento de columna.
El solapamiento mínimo no puede ser menor que 1 y el solapamiento máximo no puede ser mayor que el tamaño de kernel.
En el caso de una correlación de fase cero, el solapamiento se debe definir de modo que el origen del kernel esté en el centro del kernel, suponiendo que el kernel sea una matriz de tamaño impar. En este caso, los dos parámetros solapados se deben definir con el número de filas y columnas del kernel menos sus mitades, respectivamente.
En el caso de la correlación cruzada unidimensional, el solapamiento de fila se ha definido en 1.
En el caso de la correlación cruzada bidimensional, el solapamiento por defecto se define del modo siguiente:
Row_overlap = K_rows − K_rows/2
Column_overlap = K_columns − K_columns/2