5 Convolución y sistemas LTI: la respuesta al impulso lo es todo
5.1 La idea, en una frase
Da una sola palmada en una catedral vacía y escucha lo que ocurre después: el chasquido seco se transforma en una nube de sonido que crece, se enreda y tarda segundos en apagarse. En esa cola que se desvanece está escrita, entera, la catedral —sus dimensiones, la piedra de sus muros, la madera de sus bancos, el aire que la llena. Has hecho una pregunta lo más breve posible —un único instante de energía— y el espacio te ha contestado con su autobiografía completa. Esa es una idea que roza lo milagroso: que un sistema físico pueda quedar descrito, sin omitir nada, por su reacción a un solo empujón infinitamente corto.
Formalicémoslo. Si golpeas una sala con un chasquido perfecto —un impulso \(\delta\)— y grabas lo que vuelve, obtienes su respuesta al impulso \(h(t)\): por definición, la salida del sistema cuando la entrada es \(\delta\). Lo asombroso, y esto merece detenerse, es que esa única grabación contiene toda la información del sistema. No una parte, no un resumen: todo. Con ella, la salida ante cualquier entrada \(x\) —una voz, una orquesta, un ruido que nunca hayas medido— es la convolución
\[ y[n] = \sum_{k} x[k]\, h[n-k] \;\equiv\; (x * h)[n]. \]
donde:
- \(y[n]\) — muestra \(n\) de la salida
- \(x[k]\) — muestra \(k\) de la entrada
- \(h[n-k]\) — respuesta al impulso desplazada \(n-k\) muestras
- \(n,\ k\) — índices de muestra (enteros)
- \((x * h)\) — convolución de \(x\) con \(h\)
Cada muestra de \(h\) pesa una copia retardada de la entrada: la salida es la superposición de esas copias. La convolución no es más que esa idea llevada al límite —descomponer la entrada en un tren de impulsos, hacer que cada uno dispare su propia copia de \(h\), y dejar que todo se sume.
¿Por qué funciona algo tan simple? Por dos supuestos que el mundo acústico cumple con notable fidelidad. Linealidad: al doble de entrada, el doble de salida, y la respuesta a una suma es la suma de las respuestas. E invarianza en el tiempo: el sistema se comporta igual hoy que dentro de un minuto. Un sistema que cumple ambos —lineal e invariante en el tiempo (LTI)— pierde todo derecho a sorprendernos: una vez conocida su respuesta a un impulso, su respuesta a cualquier cosa queda determinada. Una sala, un altavoz, un micrófono, un filtro analógico: todos quedan descritos por completo por su respuesta al impulso. Por eso, medir la respuesta al impulso de un sistema es el acto fundamental de la ingeniería de audio —la única pregunta que, bien hecha, lo revela todo.
Un sistema LTI no tiene “secretos”: su respuesta al impulso \(h(t)\) es su huella dactilar completa. La salida es siempre la entrada convolucionada con \(h(t)\), se escriba \(y = x * h\).
Escúchalo: unos golpes secos pasan por un sistema cuya respuesta al impulso ves abajo. Sube la mezcla para oír la sala y alarga el decaimiento para agrandarla:
El preset Ecos discretos hace evidente el mecanismo: cada reflexión de la respuesta al impulso genera una copia retardada y atenuada de la señal. Se ve mejor con un \(h[n]\) de pocos golpes: la salida es la entrada replicada una vez por cada tap de \(h\), y escalada por su altura.
Una sala real no es más que muchísimos de esos ecos fundidos en una cola suave — que es lo que oyes con Sala o Catedral. Esta técnica, la reverberación por convolución, es cómo los estudios capturan la acústica de un recinto real para aplicarla después a cualquier grabación [1], [2].
5.2 Un catálogo de respuestas al impulso
Como \(h(t)\) describe por completo al sistema, su forma se lee de un vistazo. Unos pocos \(h\) elementales cubren casi todo lo que aparece en audio:
| Respuesta al impulso \(h\) | Sistema | Qué hace |
|---|---|---|
| \(\delta(t)\) | paso directo (un cable) | \(y = x\), nada cambia |
| \(a\,\delta(t)\) | ganancia | escala el nivel |
| \(\delta(t-\Delta t)\) | retardo puro | copia retardada, fase lineal |
| \(\delta(t) + a\,\delta(t-\Delta t)\) | eco / dos llegadas | peine (cap. 3) |
| \(e^{-t/\tau}\) decreciente | reverberación / un polo | cola, teñido espectral |
| \(\operatorname{sinc}(2\pi f_c t)\) | pasa-bajos ideal | corta por encima de \(f_c\) |
Los dos últimos son la clave del capítulo: la forma temporal de \(h\) y el color espectral que produce son inseparables.
Un sistema es lineal si cumple superposición y homogeneidad, e invariante en el tiempo si retardar la entrada solo retarda la salida. Bajo esas dos hipótesis, cualquier entrada se descompone como una superposición ponderada de impulsos desplazados,
\[ x(t) = \int_{-\infty}^{\infty} x(\tau)\,\delta(t-\tau)\, d\tau , \]
donde:
- \(x(t)\) — señal de entrada continua
- \(t\) — tiempo [s]
- \(\tau\) — variable de integración (tiempo) [s]
- \(\delta(t-\tau)\) — impulso unitario (delta de Dirac) centrado en \(\tau\)
y, por linealidad e invarianza, la respuesta a cada \(\delta(t-\tau)\) es \(h(t-\tau)\). La salida es entonces la integral de convolución [3]:
\[ y(t) = \int_{-\infty}^{\infty} x(\tau)\, h(t-\tau)\, d\tau \;\equiv\; (x * h)(t). \]
donde:
- \(y(t)\) — señal de salida en el instante \(t\)
- \(x(\tau)\) — entrada en el instante \(\tau\)
- \(h(t-\tau)\) — respuesta al impulso desplazada un tiempo \(\tau\)
- \(\tau\) — variable de integración (tiempo) [s]
En tiempo discreto, la versión que ejecuta un procesador es la suma de convolución:
\[ y[n] = \sum_{k=-\infty}^{\infty} x[k]\, h[n-k]. \]
Cada muestra de \(h\) es el peso de una copia retardada de la entrada: exactamente los “ecos discretos” del widget.
Un sistema LTI es causal si \(h(t) = 0\) para \(t < 0\) (no responde antes del estímulo) y estable en sentido BIBO si su respuesta al impulso es absolutamente integrable,
\[ \int_{-\infty}^{\infty} |h(t)|\, dt < \infty . \]
La cola exponencial de una reverberación cumple ambas: es causal (empieza en el pre-delay) y su energía es finita.
5.3 Por qué la convolución y el espectro son la misma historia
Hay un puente profundo con el capítulo de Fourier: convolucionar en el tiempo es multiplicar en la frecuencia. Es el teorema de convolución,
\[ y = x * h \quad\Longleftrightarrow\quad Y(f) = X(f)\,H(f), \qquad H(f) = \mathcal{F}\{h(t)\}. \]
donde:
- \(Y(f)\) — espectro de la salida
- \(X(f)\) — espectro de la entrada
- \(H(f)\) — respuesta en frecuencia del sistema
- \(f\) — frecuencia [Hz]
- \(\mathcal{F}\{\cdot\}\) — transformada de Fourier
Filtrar (multiplicar el espectro por una curva \(H(f)\)) y convolucionar con una respuesta al impulso \(h(t)\) son, literalmente, la misma operación vista desde los dos dominios. Por eso \(h(t)\) y la respuesta en frecuencia \(H(f)\) del capítulo 2 son un par de Fourier: dos caras de un mismo sistema. Un eco (dos taps) produce un peine; un decaimiento exponencial, un pasa-bajos:
El diccionario entre los dos dominios es corto y vale la pena tenerlo a mano:
| Dominio del tiempo | Dominio de la frecuencia |
|---|---|
| convolución \(x * h\) | multiplicación \(X\,H\) |
| respuesta al impulso \(h(t)\) | respuesta en frecuencia \(H(f)\) |
| retardo \(h(t-\Delta t)\) | fase lineal \(e^{-j\omega\Delta t}\) (magnitud igual) |
| impulso \(\delta(t)\) | espectro plano (\(1\)) |
| \(h(t)\) real | simetría hermítica \(H(-f)=H^*(f)\) |
| \(h\) más largo en el tiempo | detalle más fino en frecuencia (\(\Delta t\,\Delta f \gtrsim \text{cte}\)) |
Aplicando la transformada de Fourier a la integral de convolución se obtiene el resultado central que une este capítulo con el anterior:
\[ y = x * h \quad\Longleftrightarrow\quad Y(f) = X(f)\,H(f). \]
Convolución en el tiempo ⇄ multiplicación en la frecuencia. De aquí sale todo:
- \(H(f) = \mathcal{F}\{h(t)\}\) es la respuesta en frecuencia del capítulo 2; \(h(t)\) y \(H(f)\) son un par de Fourier.
- Filtrar una señal es multiplicar su espectro por \(H(f)\) o, equivalentemente, convolucionarla con \(h(t)\).
- El comb filtering del capítulo de Suma es el caso \(h(t) = \delta(t) + \delta(t-\Delta t)\), cuya transformada es \(1 + e^{-j\omega\Delta t}\).
La convolución directa de una señal larga con una respuesta al impulso de \(M\) muestras cuesta \(\mathcal{O}(M)\) operaciones por muestra: prohibitivo para reverberaciones de segundos. Por el teorema de convolución, se calcula en el dominio de la frecuencia con la FFT (fast convolution por overlap-add/overlap-save), reduciendo el coste a \(\mathcal{O}(\log M)\) amortizado [3], [4]. Es lo que hace posible la reverberación por convolución en tiempo real.
5.4 Lecturas adicionales
5.5 Ejercicios
- En el widget, usa Ecos discretos y relaciónalo con \(h[n]\): escribe la respuesta al impulso como suma de deltas y predice cuántas copias de cada golpe oirás.
- Demuestra que la convolución es conmutativa (\(x*h = h*x\)) a partir de su definición integral con un cambio de variable.
- Una respuesta al impulso \(h(t) = \delta(t) + a\,\delta(t-\Delta t)\) con \(|a|<1\). Calcula \(H(f)\) y explica por qué produce el peine del capítulo de Suma.