Convolución
[gL.edu] Este artículo recoge contribuciones de José Manuel Tacero Roncero, Javier Campos Andreu y J.M. Díaz-Nafría, elaboradas en el contexto de la Clarificación conceptual en "teoría de la señal y la comunicación", bajo la supervisión de J.M. Díaz-Nafría.
Definiciones
La operación de convolución representa matemáticamente uno de los procesos más elementales de las señales que atraviesan sistemas lineales, permitiéndonos determinar qué le ocurre a una señal cualquiera que atraviesa un sistema o medio caracterizado por su respuesta a un impulso de duración mínima (siempre y cuando para dichas señales el sistema exhiba, en efecto, un comportamiento lineal e invariante). En la medida que estos impulsos de duración mínima presentan un espectro homogéneo en frecuencia (que es infinito si se trata de señales continuas o finito si se trata de señales discretas), su conocimiento nos permite saber la respuesta general del sistema a cualquier señal, ya que en virtud del teorema de Fourier podemos considerar ésta como una combinación lineal de señales sinusoidales puras.
Por otra parte, como cualquier señal puede entenderse como una combinación lineal de impulsos mínimos situados a lo largo del tiempo en el que transcurre la señal, ver lo que le ocurre a cada uno de estos impulsos al atravesar el sistema y después reagruparlos nos permite predecir qué le va a ocurrir a dicha señal al atravesar el sistema. Esta reagrupación es la que llamamos integral de convolución para señales y sistemas continuos y suma de convolución para señales y sistemas discretos.
Integral de convolución
Para el caso de sistemas lineales e invariantes en el tiempo, la integral de convolución permite determinar la respuesta del sistema ante cualquier entrada, a partir del conocimiento de la respuesta del sistema ante una única entrada particular, el impulso. Siendo la respuesta del sistema ante un impulso h(t), la salida del sistema LTI excitado con una señal x(t) se obtiene mediante la expresión[1]:
Donde la operación anterior se puede desglosar en los siguientes pasos intermedios:
- Reflexión: Se refleja h(t) respecto del eje de ordenadas.
- Desplazamiento: Se desplaza h(-τ) en una cantidad t donde se desea evaluar la convolución.
- Multiplicación: Se multiplica la función desplazado h(t-τ) por x(τ).
- Integración: El área bajo el producto de h(t-τ) y x(τ) es el valor de la convolución en el tiempo t.
Entre sus propiedades fundamentales cabe destacarse: la conmutativa, la asociativa, la linealidad, el desplazamiento mediante un impulso en el punto de desplazamiento, y la equivalencia al producto en el dominio transformado:
Otra relación de particular importancia –a la que nos referiremos específicamente más abajo, al hablar de aplicaciones de la convolución– es la que liga la convolución con la correlación:
Suma de convolución
Como se señaló al principio, en el caso de sistemas discretos la respuesta de los sistemas se expresa en relación a un impulso de duración mínima de amplitud finita y la posición en la que se pueden desplazar éstos es también finita. Por tanto, la operación antes referida se convierte en una operación de suma:
Para la cual se verifican las mismas propiedades y relaciones referidas para la integral de convolución.
Otras aplicaciones de interés de la convolución
De la relación que liga la convolución con la correlación, a la que nos referimos antes, se puede colegir que la operación fundamental en la que descansa la recepción digital y que optimiza dicho proceso, consiste en hacer que el filtro de entrada del receptor óptimo tenga una respuesta proporcional a la imagen especular del pulso recibido. De esa manera la salida la podemos expresar en términos de la autocorrelación cuyo máximo es la energía de la señal que se producirá en el instante en el que debe realizarse la muestra en la que se basa la decisión del símbolo recibido con máxima verosimilitud. Se retrasará además el tiempo que sea necesario para garantizar la realizabilidad (que incluye al menos su causalidad).
Teniendo en cuenta ambos criterios y suponiendo pulsos de duración limitada T, la respuesta realizable del filtro adaptado del receptor óptimo tendrá la forma:
Siendo a su vez T el instante óptimo de muestreo en el que se basará la decisión, ya que la salida, proporcional a la autocorrelación del pulso básico, será máxima en ese momento. En la sección de código volvemos sobre este caso de aplicación, ofreciendo un código que lo ilustra, mientras que en el artículo receptor óptimo nos ocupamos de forma más exhaustiva de la recepción digital.
Código
La función de MATLAB conv()
permite realizar la operación de convolución discreta (es decir, la suma de convolución), siendo su sintaxis:
w = conv(u,v)
También existe una variante bidimensional conv2()
que puede usarse para convolucionar señales bidimensionales.
Los dos primeros argumentos se emplean para aportar las secuencias que se desean convolucionar, pero se puede emplear un argumento adicional para indicar el fragmento de la convolución que se desea calcular ('full' es el valor predeterminado, para la convolución completa; 'same' para el fragmento central del mismo tamaño que u; 'valid' para el fragmento que prescinde de los bordes con relleno de ceros). Veamos dos ejemplos de uso:
mixed_signal = conv(signal1, signal2, 'same');
new_image = conv2(image1, image2, 'full');
Los códigos siguientes permiten determinar la convolución unidimensional sin recurrir a la función conv(), operando 1º) sobre las secuencias a convolucionar o 2º) en el dominio transformado:
(1) Algoritmo de cálculo directo de la convolución de dos secuencias
my_length = length(x) + length(h) - 1;
result = zeros(my_length, 1 );
for i = 1:my_length
for j = 1:length(x)
if( (i-j+1) > 0 && (i-j+1) < length(h) )
result(i) = x(j) * h(i-j+1);
end
end
end
(2) Algoritmo de cálculo de la convolución operando en el dominio transformado
X = fft( x ); H = fft( h );
U = X .* H;
u = ifftshift( ifft( U ) );
Ejemplo de aplicación a la recepción digital óptima

El siguiente código simula la operación de convolución que se realiza en el filtro adaptado, h(t), de un receptor digital óptimo, cuya estructura genérica se representa en la figura 1. La figura 2 recoge los resultados de representación obtenidos en el código siguiente, donde se muestra el pulso básico, la respuesta del filtro adaptado, h(t) y su salida cuando a la entrada se encuentra el pulso básico. Obsérvese que cambiando la definición del pulso básico, sb
, se podría obtener el filtrado óptimo para cualquier otra forma de pulso básico. Como puede observarse, el instante de muestreo óptimo para realizar la decisión se encuentra en T. Cabe destacar, que para su simulación la operación que en efecto se realiza no es una integral de convolución, sino una suma de convolución aunque no encontraríamos diferencias apreciables en los resultados representados.

t = 0:Res:1-Res; % Base de tiempos para el pulso básico
sb = (t<0.5)-((t>=0.5)); % Ejemplo de pulso básico
h = fliplr(sb); % Respuesta del fitro adaptado
y = conv(sb,h)*Res*2; % Salida del filtro adaptado
t_c = -0.2:Res:2-Res; % Base de tiempos ampliada
z_pre = length(t_c)-length(y); % Ceros a añadir antes
y_c = [zeros(1,z_pre),y]; % Respuesta ampliada con ceros previos
z_pos = length(y)-length(t) % Ceros a añadir después de sb(t) y h(t)
sb_c = [zeros(1,z_pre),sb,zeros(1,z_pos)];
h_c = [zeros(1,z_pre),h,zeros(1,z_pos)];
% Representación de sb(t), h(t) e y(t)
plot(t_c,[sb_c',h_c',y_c']); xlim([-0.2,2]);
legend('s_b(t)', 'h(t)', 's_b(t)*h(t)'); grid on;
xlabel('t'); ylabel('s_b(t), h(t), y(t)');
Referencias
- Daniels, C. Apps y Software. Convolución de dos señales de tiempo en Matlab. Disponible en: https://techlandia.com/convolucion-senales-matlab-info_192491/
- Escobar, R. (2016). Dunas de Cydonia. Convolución de dos señales en Matlab. Disponible en: http://stg-pepper.blogspot.com/2016/06/convolucion-de-dos-senales-en-matlab.html
- MathWorks. Soporte. Documentación. Convolución y multiplicación polinómica. Disponible en: https://es.mathworks.com/help/matlab/ref/conv.html
Citas en texto
- ↑ Oppenheim, A.; Willsky, A.; Nawab, S. (1997). Señales Y Sistemas. 2nd ed. México: Prentice Hall, p.94.