Tecnología

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

Escrito por chris daniels | Traducido por eduardo moguel
La convolución de dos señales de tiempo en MATLAB

MATLAB ofrece funciones de dominio de tiempo o de frecuencia.

Hemera Technologies/AbleStock.com/Getty Images

MATLAB es un programa usado para la simulación de operaciones de ingeniería, procesamiento de señales y matemáticas y el análisis de datos., La convolución es una operación matemática que mezcla dos funciones. MATLAB provee métodos para realizar esta operación con dos señales temporales en el dominio de frecuencia o de tiempo. Puedes usar las funciones integradas para convolucionar señales de tiempo en MATLAB o escribir tu propio código que te ayude a entender la operación de convolución.

Otras personas están leyendo

Convolución

La operación de convolución se define como la integral o suma en casos discretos, sobre un rango de funciones f(T) * g(t-T) con respecto a T. Mientras se mueve el rango de una función f, cada punto es multiplicado por una segunda función en g. En el dominio del tiempo, la convolución es una operación de computación intensiva, sin embargo, después de transformarlo en el dominio de la frecuencia mediante la transformación de Fourier, la convolución se simplifica a multiplicaciones.

Función integrada

Las funciones "conv(), o su variante bidimensional "conv2()", puede usarse con facilidad y eficiencia para convolucionar señales en MATLAB. Normalmente se asume que las señales están en el dominio temporal o espacial, de forma opuesta al dominio de la frecuencia. Los dos primeros argumentos son las dos señales a convolucionar, o una señal y un filtro. El tercer argumento es un argumento de forma que define el tamaño de la salida. Las opciones válidas son "full", "same" o "valid" ("lleno", "igual" o "válido"). mixed_signal = conv(signal1, signal2, 'same'); new_image = conv2(image1, image2, 'full');

Dominio del tiempo

Realizar la convolución en el dominio del tiempo puede ser útil para entender como funciona esta operación: %por dos señales 1-D, f y g my_length = length(f) + length(g) - 1; result = zeros(my_length, 1 ); for i = 1:my_length for j = 1:length(f) if( (i-j+1) > 0 && (i-j+1) < length(g) ) result(i) = f(j) * g(i-j+1); end end end

Dominio de la frecuencia

Las señales en el dominio de tiempo pueden transformarse al dominio de la frecuencia usando la transformación de Fourier. MATLAB implementa un transformación de Fourier rápida usando la función "ffft()". En el dominio de la frecuencia, dos señales pueden mezclarse usando una multiplicación por puntos mediante el operador ".*". %por dos señanles, f y g F = fft( f ); G = fft( g ); U = F .* G; u = ifftshift( ifft( U ) );

Más galerías de fotos

comentarios

Filtrar por:
  • Mostrar todos
  • Artículos
  • Galerías de fotos
  • Videos
Ordenar:
  • Más relevante
  • Más popular
  • Más reciente

No se encuentran artículos disponibles

No se encuentran slideshows disponibles

No se encuentran videos disponibles

Copyright © 1999-2014 Demand Media, Inc. Acerca de

El uso de este sitio constituye la aceptación de los términos y política de privacidad de eHow. Ad Choices es-US

Demand Media