Tecnología

Inicio

La convolución de dos señales horarias en MATLAB

La convolución de dos señales horarias en MATLAB


MATLAB es un software utilizado para la simulación de ingeniería, procesamiento de señales, operaciones matemáticas y análisis de datos. Convolución es una operación matemática que combina dos funciones juntas. MATLAB proporciona métodos para la convolución de dos señales de tiempo en el tiempo o de dominio de la frecuencia. Puede utilizar las funciones incorporadas de convolución de señales horarias en Maßstab, o escribir su propio código para ayudarle a entender la operación de convolución.

Circunvolución

La operación de convolución se define como la integral, o la suma en los casos discretos, por encima del rango de la función de f (T) * g (tT) con respecto a T. Mientras se mueve en el rango de una función f, se multiplica cada punto por una segunda función g. En el dominio del tiempo, de convolución es una operación intensiva de cálculo; sin embargo, después de la transformación en el dominio de la frecuencia usando una transformada de Fourier, de convolución se simplifica a multiplicaciones.

Función incorporada

El "conv ()", o la variante de dos dimensiones "CONV2 ()", las funciones se pueden utilizar para convolucionar fácil y eficiente a las señales en MATLAB. Normalmente se asume que las señales están en el tiempo o espacio-dominio, en oposición al dominio de frecuencia. Los primeros dos argumentos son las dos señales que se convolucionada, o una señal y un filtro. El tercer argumento es un argumento de la forma que define el tamaño de la salida. Las opciones válidas son "completo", "igual" o "válida".

= conv (mixed_signal SEÑAL 1, SEÑAL 2, "mismo");
new_image = CONV2 (imagen1, imagen2, "total");

Dominio del tiempo

Aunque funciona convolución en el dominio del tiempo, puede ser útil para entender cómo funciona la operación de convolución.

% Para dos señales 1-D, F y G
my_length = longitud (f) + longitud (g) - 1;
Resultado = ceros (my_length, 1);

para i = 1: my_length
para j = 1: Longitud (f)

if( (i-j+1) > 0 && (i-j+1) < length(g) )
result(i) = f(j) * g(i-j+1);
end

fin
fin

Dominio de la frecuencia

señales de dominio de tiempo pueden ser transformadas en el dominio de la frecuencia utilizando la transformada de Fourier. MATLAB implementa una transformada rápida de Fourier de la función ") (fft". En el dominio de la frecuencia, dos señales se pueden mezclar usando la multiplicación punto a gota con el operador ". *".

% Para dos señales, F y G
F = fft (f);
G = fft (g);
T = F * G.;
u = ifftshift (IFFT (U));