Nivel 3 · Lección 7

La convolución: cada sonido deja su eco

La idea en una imagen

Siete palitos de entrada, en verde, que puedes subir y bajar arrastrándolos. Cada uno estampa una copia del sello, en naranja, tan grande como su altura y colocada en su sitio. Abajo, en tinta, la suma de todos los sellos: la salida.

Una señal digital es, como viste en la lección 2, una fila de palitos, uno por cada muestra y con la altura que tenga la señal en ese instante. Imagina que, al pasar por un sistema, cada palito deja de ser un palito y estampa una copia de una forma fija, el sello, del tamaño de su altura y puesta en su instante. Un palito grande estampa un sello grande, uno pequeño lo estampa pequeño y uno que apunta hacia abajo lo estampa dado la vuelta. Lo que sale es la suma de todos los sellos, que se pisan unos a otros, y esa suma es la convolución.

Arrastra los palitos de la entrada y mira cómo cambian sus sellos y la salida. Prueba con un solo palito: la salida es entonces el sello tal cual, y ahí está casi toda la idea, porque un sistema queda descrito del todo por el sello que deja un palito solo. Cambia después la forma del sello: una cola larga empasta lo que entra, una media móvil lo emborrona y un eco lo repite.

Paso a paso

Un sello por cada palito

Da una palmada en el salón y otra en el baño. La del salón se apaga enseguida y la del baño se queda sonando, como una cola que va muriendo, porque el sonido rebota en las paredes duras y llega a tus oídos una y otra vez, cada vez más flojo. Esa cola no depende de cómo des la palmada: es una característica de la sala. Un impulso es un sonido tan breve que casi no le da tiempo a tener forma, un palito solo, y el más corto del audio digital es una sola muestra; una palmada se le parece, un globo que revienta todavía más. Lo que la sala devuelve ante un impulso, su huella, es la respuesta al impulso, y es exactamente el sello de la imagen.

Que esa huella baste para saber qué hará la sala con cualquier sonido se debe a dos reglas. La primera es que, si das la palmada el doble de fuerte, la cola sale el doble de fuerte, y que si juntas dos sonidos, la sala responde a cada uno por su lado y suma las respuestas. La segunda es que, si das la palmada un segundo más tarde, sale la misma cola un segundo más tarde, porque la sala no cambia con el tiempo. Un sistema que cumple las dos es un sistema lineal e invariante, y lo son, al menos de forma aproximada, las salas, los filtros de la lección 6, las lentes y la media móvil. Con esas dos reglas, tu voz es una fila de palitos y la sala responde a cada palito con su sello.

Esta es la entrada: tres palitos verdes. Consigue la salida que dibuja la línea discontinua estampando un sello por cada palito en el carril de abajo.

Toca una de las columnas del carril: la altura de tu toque es el tamaño del sello, y por debajo del cero sale dado la vuelta. Toca un sello por su cabeza para quitarlo, o toca a otra altura para cambiarlo. Con el teclado, pulsa sobre el lienzo con el tabulador, elige columna con las flechas izquierda y derecha, cambia el tamaño con las de arriba y abajo (con Mayúsculas, a saltos) y quita el sello con Suprimir.

La huella de una sala

La respuesta al impulso de una sala se ve a simple vista: un golpe al principio, algunas reflexiones tempranas contra las paredes más cercanas y una cola que se apaga. Lo que distingue un salón de un baño o de una catedral es sobre todo cuánto tarda en apagarse. Esa cola es la reverberación, y se mide con el tiempo de reverberación, el T60: lo que tarda en bajar 60 dB, los decibelios de la lección 5, que es llegar a la millonésima parte de la potencia.

Para ponerle a tu voz la huella de una catedral hace falta su respuesta al impulso, y para tenerla hay que medirla. Los acústicos usan un golpe breve y fuerte, como una pistola de fogueo o un globo que revienta, o un barrido de tonos que sube por un altavoz y que luego se deshace con un cálculo; el barrido es lo más preciso y el golpe, lo más práctico. Tu palmada es la versión casera: imperfecta, pero suficiente para oír la idea. En los estudios, la reverberación por convolución llegó como aparato en 1999, con el Sony DRE-S777, que la revista Sound On Sound presentó como el primer reverberador comercial por convolución en tiempo real, y como programa en 2001, con Altiverb, según su propio fabricante.

Cuánto puede durar una cola lo dice el récord de Guinness: 75 segundos, medidos en 2012 en un tanque de petróleo abandonado en Inchindown, en Escocia, con una pistola de fogueo. Guinness lo llama «eco», pero es reverberación.

Escucha la misma palmada en tres salas misteriosas, A, B y C, y di en qué sala suena cada una. Arriba tienes la respuesta al impulso de cada sala.

Si no puedes oír los sonidos, fíjate solo en los dibujos: cada sonido es una palmada convolucionada con una de las tres respuestas.

El eco, el sello más sencillo

El sello más sencillo que se puede imaginar tiene solo dos palitos: uno en el instante cero, que es el sonido directo, y otro más flojo y más tarde, que es una copia. Eso es un eco de montaña: tu voz sale, y un rato después vuelve, más débil. Convolucionar con ese sello suma tu voz con una copia de ella misma, retrasada y más flojita. Una sala es lo mismo, pero con miles de palitos, uno por cada reflexión posible, y por eso un eco claro se oye como un eco y una sala con miles de ellos, como una cola continua.

La convolución no distingue quién es la voz y quién es la sala: da lo mismo meter la voz en el sello que meter el sello en la voz. Es lo que aprovechan algunos programas de reverberación, que admiten como «sala» cualquier sonido, por ejemplo un acorde de piano.

Esta sílaba ha pasado por un eco. Arrastra el palito naranja del eco hasta que tu salida tape a la discontinua: a la derecha, el eco llega más tarde, y arriba, suena más fuerte.

Arrastra la cabeza del palito naranja, o toca donde quieras ponerla. Con el teclado, pulsa sobre el lienzo con el tabulador, cambia el retraso con las flechas izquierda y derecha y la fuerza con las de arriba y abajo.

La media móvil, otra vez

En la lección 6 la media móvil era el filtro más sencillo de todos: sustituir cada dato por la media de los últimos N. Vista con sellos es un rectángulo: cada palito de la entrada estampa N palitos iguales, de altura 1/N, y la salida es la suma de todos ellos. Cuanto más largo es el sello, más muestras se promedian y más baja el ruido aleatorio, que lo hace con la raíz cuadrada de N. A cambio, un salto se emborrona: tarda en subir tantas muestras como mide el sello.

Hay un escalón enterrado en ruido. Alarga el sello rectangular hasta que el ruido baje a la tercera parte, sin que el escalón tarde más de 20 muestras en subir.

Arrastra el borde derecho del rectángulo naranja, o toca donde quieras ponerlo. Con el teclado, pulsa sobre el lienzo con el tabulador y usa las flechas izquierda y derecha.

Las fotos también tienen sello

En una foto desenfocada, cada punto de luz se ha convertido en un disco; si se movió la cámara, en una raya, y con la turbulencia del aire, en una mancha suave. Ese sello de luz se llama función de dispersión de punto, y la foto borrosa es la suma de los sellos de todos sus puntos, igual que la salida de una sala es la suma de las colas de todos los sonidos. La única diferencia es que el sello tiene dos dimensiones y los palitos son píxeles.

En 1990, el telescopio Hubble mandó fotos borrosas porque el borde de su espejo principal era 2 micras demasiado plano, según la ESA. Como se conocía el sello que dejaba cada estrella, los astrónomos intentaron despegarlo con cálculos, y a eso se le llama deconvolución: deshacer la convolución para recuperar la imagen original. Funcionó solo a medias, porque donde el sello borra algo esa información se ha perdido, y al intentar recuperarla el ruido se dispara. La solución definitiva llegó en diciembre de 1993, con unos espejos correctores instalados por astronautas.

Esta foto de una ciudad de noche ha salido borrosa y su sello es desconocido. Encuentra la forma y el tamaño del sello que da la foto borrosa de la derecha.

Sumar sellos es multiplicar espectros

Hay un puente entre esta lección y la anterior. Cuando el ecualizador multiplicaba el espectro por una curva, lo hacía en frecuencia, y cuando una sala suma sellos, lo hace en el tiempo, pero son la misma operación vista de dos maneras. El teorema de la convolución dice que convolucionar en el tiempo es multiplicar los espectros, de modo que la respuesta en frecuencia de un filtro es el espectro de su sello. Por eso una sala no puede crear notas: solo sube, baja y retrasa las que ya había. Si aparecen frecuencias nuevas, hay algo que no es lineal, como una saturación.

También explica por qué un eco es un filtro. Un sello de dos palitos suma la señal con una copia retrasada, y esa suma refuerza las frecuencias en las que la copia llega en fase con el original y apaga aquellas en las que llega a contrafase, lo que dibuja en frecuencias un peine. El puente tiene además un uso práctico: estampar sellos a mano es carísimo, porque con un sello de 2 s a 48.000 muestras por segundo cada muestra de salida pide 96.000 multiplicaciones, unos 4.600 millones por segundo y por canal. Por eso los programas de reverberación pasan a frecuencias con la FFT de la lección 5, multiplican y vuelven.

Tienes una nota de 2.000 Hz que quieres conservar y un pitido de 1.000 Hz que quieres apagar. Elige el retraso y la fuerza de un sello de dos palitos que apague del todo el pitido sin tocar la nota.

En tu voz

Qué grabar. Las palmadas de la grabación de referencia, el tramo 6: tres palmadas fuertes y secas en tu habitación y otras tres en el baño o en la escalera, con un par de segundos entre una y otra. Graba con el micrófono si tu navegador lo deja; si no, sube un audio grabado con el móvil o prueba con los ejemplos sintéticos.

Qué mirar. El laboratorio busca las palmadas y recorta, de la que elijas, su sello: desde un poco antes del golpe hasta que la cola se hunde en el ruido de fondo. Te enseña ese sello y cuánto tarda en apagarse, con una estimación del tiempo de reverberación, y convoluciona con él una frase sintética para que la oigas dentro de tu sala. Compara una palmada de la habitación con otra del baño: con paredes duras y alicatadas, la cola suele ser más larga y más densa. Ten en cuenta que la palmada tiene su propio color y que algunas aplicaciones del móvil recortan las colas, así que lo que sale no es exactamente lo que mediría un acústico.

Lo que tienes que recordar

  1. Cada muestra de la entrada estampa una copia del sello, escalada a su altura y colocada en su instante, y la salida es la suma de todos los sellos: eso es la convolución.
  2. La respuesta al impulso es la huella completa de un sistema lineal e invariante, como una sala, un filtro o una lente: lo que devuelve ante un impulso sirve para predecir lo que hará con cualquier señal.
  3. Sumar sellos en el tiempo es multiplicar espectros en frecuencia, y por eso el sello visto en frecuencias es la curva de un ecualizador: un sistema así sube, baja y retrasa notas, pero no las crea.

Errores típicos

Abrir

Rincón matemático

Las fórmulas, para quien las quiera. Cada una va después de su lectura en palabras.

Lineal e invariante

Un sistema es lineal si la respuesta a una mezcla es la mezcla de las respuestas, e invariante si retrasar la entrada solo retrasa la salida:

\mathcal{S}\{a\,x_1 + b\,x_2\} = a\,\mathcal{S}\{x_1\} + b\,\mathcal{S}\{x_2\}, \qquad \mathcal{S}\{x[n - n_0]\} = y[n - n_0]

La señal, como una fila de palitos

Toda señal es la suma de impulsos desplazados, cada uno con la altura de su muestra, donde \delta[n] es el impulso, un palito de altura 1 en el instante cero:

x[n] = \sum_{k} x[k]\, \delta[n - k]

La suma de sellos

La salida es la suma de sellos: cada muestra x[k] estampa la respuesta al impulso h, escalada por su altura y desplazada a k. Esa suma se escribe con un asterisco:

y[n] = (x * h)[n] = \sum_{k} x[k]\, h[n - k]

Longitud y orden

Si la entrada tiene L muestras y el sello M, el resultado tiene L + M - 1, porque el último palito estampa un sello que sobresale M - 1 muestras. Y da igual quién es la señal y quién el sello:

\text{longitud}(x * h) = L + M - 1, \qquad x * h = h * x

El puente con la frecuencia

Convolucionar en el tiempo es multiplicar en frecuencia:

Y(f) = X(f)\, H(f)

El eco, un sello de dos palitos

Un eco es un sello de dos palitos, el directo y una copia de fuerza g retrasada D muestras. En frecuencia es un peine que refuerza y apaga frecuencias alternas:

h[n] = \delta[n] + g\,\delta[n - D], \qquad H(f) = 1 + g\, e^{-i 2\pi f D / f_s}

Su tamaño es el siguiente, y con g = 1 se anula del todo en las frecuencias en las que el retraso es media vuelta, una vuelta y media, y así sucesivamente:

|H(f)| = \sqrt{1 + g^2 + 2g\,\cos\!\left(2\pi f D / f_s\right)}, \qquad f = \frac{f_s}{D}\left(m + \tfrac{1}{2}\right),\; m = 0, 1, 2, \dots

La media móvil

La media móvil es un sello rectangular de N muestras, todas de altura 1/N, que se estudió en la lección 6:

h[n] = \frac{1}{N} \quad (0 \le n \le N-1), \qquad h[n] = 0 \ \text{en otro caso}

Una foto borrosa

Una foto borrosa es la foto nítida f convolucionada en dos dimensiones con el sello de luz p, la función de dispersión de punto:

g[m, n] = \sum_{k}\sum_{l} f[k, l]\; p[m - k,\, n - l]

Convolucionar con la FFT

Con la FFT se rellena con ceros hasta al menos L + M - 1, se multiplican los espectros y se vuelve. Sin el relleno, los sellos que sobresalen darían la vuelta y se pisarían:

x * h = \mathrm{IFFT}\big(\mathrm{FFT}(x_{\text{relleno}}) \cdot \mathrm{FFT}(h_{\text{relleno}})\big), \qquad N_{\text{FFT}} \ge L + M - 1

Deshacer un sello

Deshacer un sello es dividir espectros, y donde H es casi cero el ruido se dispara, y por eso se añade un freno K:

\hat{X}(f) = \frac{Y(f)}{H(f)} \quad\longrightarrow\quad \hat{X}(f) = \frac{H^{*}(f)\, Y(f)}{|H(f)|^{2} + K}

Y para quitar un eco basta con restar a la grabación una copia retrasada de lo ya limpiado, un filtro que usa su propia salida y que se estudia en la lección 8:

\hat{x}[n] = y[n] - g\, \hat{x}[n - D]

El tiempo de reverberación

El tiempo de reverberación es lo que tarda la energía de la cola en caer 60 dB. Se estima con la energía que queda desde cada instante hasta el final:

E(t) = \int_t^{\infty} h^2(\tau)\, d\tau, \qquad T_{60} = \text{tiempo en que } 10\log_{10}\frac{E(t)}{E(0)} \text{ baja } 60\ \text{dB}

Para saber más

Términos nuevos

Examen