Entradas

Entendiendo conceptos básicos de los analizadores FFT

Hoy en día los analizadores FFT son una herramienta muy habitual en cualquier sonorización en directo. Es muy frecuente utilizar Smaart, SATLive o programas similares para realizar funciones de transferencia, análisis RTA, mediciones de SPL…

Sin embargo, no siempre se tienen muy claros los ajustes de los parámetros que nos dan todos estos programas basados en FFT. Así que en este artículo vamos a tratar de profundizar en los parámetros que afectan a la FFT o transformada rápida de FFT.

Introducción a la FFT

El origen de la FFT es la transformada discreta de Fourier (DTF), que es una transformada matemática que nos permite convertir señales del dominio de la frecuencia al dominio del tiempo, y viceversa.

Los programas de análisis de audio como Smaart o SATLive utilizan una versión de la DTF llamada FFT (Fast Fourier Transform). El algoritmo de la FFT fue desarrollado por los matemáticos estadounidenses J.W.Cooley y J.W.Tukey en 1965 y podríamos decir que es una versión de la DTF optimizada para facilitar el cálculo computacional.

FFT es el algoritmo matemático que permite a un analizador transformar una señal de audio y mostrarnos su contenido frecuencial.


Tamaño de FFT

Ok, ya sabemos qué es la FFT. Y uno de los aspectos fundamentales a la hora de trabajar con ella en analizadores es el tamaño de la misma.

Podríamos definir de manera simple el tamaño de la FFT como el número de datos que el analizador toma en cada medición.

El tamaño de la FFT, junto con la frecuencia de muestreo que utilice el analizador, nos va a dar dos datos fundamentales para entender la información que nos va a mostrar el software de medición: La constante de tiempo y la frecuencia de resolución.


Constante de tiempo (TC)

La constante de tiempo es simplemente el tiempo que se tarda en registrar muestras suficientes para una FFT de un tamaño concreto, a una velocidad de muestreo concreta.

Las constantes de tiempo más grandes nos proporcionan una resolución en frecuencia más detallada (normalmente demasiado detallada en alta frecuencia), pero a cambio de una resolución temporal menos detallada.

En cierta forma actúa de forma similar al obturador de una cámara fotográfica: Sólo vamos a poder capturar o analizar las frecuencias que hayan dado un ciclo completo dentro de la constante de tiempo. 

Veamos un ejemplo concreto: Tenemos un analizador con un tamaño de FFT de 128 samples, y una frecuencia de muestreo de 48.000Hz. Su constante de tiempo la obtendremos al dividir la FFT entre la frecuencia de muestreo (TC=FFT/FM; TC=128/48000=2,67 milisegundos). Por tanto, en analizador nos muestra información, en este caso, cada 2,67 milisegundos (muy rápido).

Si tuviésemos una FFT de 32k con una frecuencia de muestreo de 48.000Hz, la constante de tiempo sería de 682 milisegundos (lenta).


Frecuencia de resolución

La frecuencia de resolución nos indica a partir de qué frecuencia el analizador nos va a mostrar datos, y también cada cuanto va a tomar muestras.

Pongamos un ejemplo: La frecuencia de resolución se puede calcular dividiendo la frecuencia de muestreo entre el tamaño de la FFT (FR=FM/FTT).

Si tenemos una FFT de 128, la frecuencia de resolución será 375Hz (48000/128). Por tanto, el analizador no mostrará nada por debajo de 375Hz.

Y si calculamos el periodo de 375Hz (T=1/f) volvemos al dato de la constante de tiempo que habíamos obtenido anteriormente (2,67mseg).

Por tanto, todo coincide: Un analizador con un tamaño de FFT de 128 no va a darnos información por debajo de 375Hz (no hay información en baja frecuencia) y va a tener una respuesta temporal de 2,67mseg (rápida).


¿Qué sucede si ampliamos el tamaño de la FFT?

Podríamos pensar que si queremos tener una mejor frecuencia de resolución, será tan sencillo como ampliar el tamaño de la FFT.

Pero claro, una cuestión fundamental cuando trabajamos con analizadores FFT es la relación inversa entre la resolución temporal y la frecuencia de resolución: Cuanto mejor es una de las dos variables, peor es la otra.

Veamos qué sucede si utilizamos una FFT de 32k (32768 samples) con una frecuencia de muestreo de 48.000

Frecuencia de resolución=48000/32768=1,46Hz

Ahora el analizador nos muestra información a partir de 1,46Hz y tomará muestras cada 1,46Hz. Genial. Tendremos información a, por ejemplo, 80Hz, 81,46Hz, 82,92Hz, 84,38Hz… esta resolución, a baja frecuencia, desde luego que es interesante.

¿Y qué pasa en alta frecuencia? Pues que por ejemplo tendremos información a 10.000Hz, 10.001,46Hz, 10.002,92Hz, 10.004,38Hz… una resolución excesiva en alta frecuencia.

Tamaños de FFT en analizadores FFT

Aquí vemos mediciones de espectro en Smaart 8 con diferentes tamaños de FFT. A mayor FFT, más frecuencia de resolución. La medición la hice con ruido rosa aleatorio.

¿Y qué sucede con la constante de tiempo?

TC=32768/480000=682mseg

Ha empeorado notablemente la constante de tiempo. Si antes era de 2,67mseg (rápida), ahora es de 682mseg. ¿Y qué implica esto? Si la señal es constante, como por ejemplo puede ser el ruido rosa, no hay problema. Pero si la señal es fluctuante, el resultado cambia.

Imagina una batería acústica tocando un ritmo de bombo y caja muy rápido. Con una constante de tiempo rápida, veremos en el analizador claramente el golpe de bombo y el golpe de caja. Pero si la constante es lenta, veremos reflejado en el analizador el golpe de bombo y caja juntos, de tal manera que no podremos diferenciarlos entre ellos.

Vamos a verlo más claro con este video que he preparado:

O también podemos entenderlo viendo estas imágenes de Fedele de Marco hechas con el espectógrafo de Smaart:

En la imagen anterior vemos claramente que con FFT pequeñas no tenemos resolución en la parte baja del espectro, y tenemos una constante de tiempo rápida. Y lo contrario con FFT grandes, junto a la gran resolución en alta frecuencia.


¿Qué tamaño de FFT es correcto para hacer mediciones de análisis de espectro?

Bueno, pues como hemos depende de lo que queramos ver (resolución vs. rapidez). Pero en general, 16k me parece un tamaño de FFT válido para muchas situaciones. Eso sí, siempre que apliquemos un «banding» de 1/24 o 1/48 de octava, que además de permitirnos relacionar mejor lo que escuchamos con lo que vemos en el analizador, también elimina el problema el exceso de resolución en alta frecuencia.


Multi-Time Window (MTW) en Smaart

Ahora que ya conocemos cómo funciona la FFT, podemos aprovechar para explicar la función Multi-Time Window (MTW) en la función de transferencia de Smaart.

Las funciones de transferencia exigen por lo general una potencia de cálculo importante, por lo que la gente de Rational Acoustics decidió buscar una solución para sus analizadores FFT que permitiese un mejor rendimiento en las funciones de transferencia y eliminase el problema del exceso de resolución en alta frecuencia.

Básicamente, el MTW consiste en utilizar de forma simultánea diferentes tamaños de FFT para distintas partes del espectro a analizar.

En baja frecuencia queremos tener una buena resolución, por lo que el tamaño de la FFT será más o menos grande. Pero en alta frecuencia, podemos trabajar con tamaños de FFT mucho menores, y además mejoramos la velocidad de respuesta y el exceso de resolución.

En la siguiente gráfica podemos ver las diferencias entre una respuesta basada en MTW y la misma con una FFT de 16k:

Multi-Time Window vs. FFT 16k

MTW presenta buena resolución en baja frecuencia y elimina el exceso de resolución en alta frecuencia. Fuente: rationalacoustics.com

En la gráfica verde, con MTW vemos como tenemos una buena resolución tanto en baja frecuencia como en alta.

En la gráfica rosa, con una FFT de 16k, tenemos una resolución menor en baja frecuencia y una resolución excesiva en alta frecuencia.

Por tanto, la solución es muy buena, así que normalmente deberíamos tener seleccionado siempre en la opción FFT de la función de transferencia el modo Multi-Time Window (MTW).

Y hasta aquí por hoy, espero que esto os haya servido para entender mejor estos conceptos básicos de los analizadores FFT. Si queréis seguir profundizando en los analizadores FFT, os recomiendo la guía de Smaart v8, ya que contiene mucha información para entender muchos más aspectos de estos analizadores (eso sí, está en inglés).

Agradezco, como siempre, los comentarios si este artículo os ha sido útil 🙂