¿Cómo puede la FFT analizar una onda en la que los componentes están cambiando?

Según lo que he leído sobre las transformadas de Fourier, parece que están diseñadas para funcionar en ondas cuyos componentes son constantes. Por ejemplo, una onda cuadrada simple es

pecado ( θ ) + 1 / 3 s i norte ( 3 θ ) + 1 / 5 s i norte ( 5 θ ) + 1 / 7 s i norte ( 7 θ )

Sin embargo, hay ocasiones en las que se usa una transformada de Fourier para calcular un espectrograma para un archivo como una canción en la que las frecuencias que tocan los instrumentos a menudo cambian o desaparecen por completo. ¿Cómo sabe una transformada de Fourier que una frecuencia dada no existe durante un cierto período de tiempo? ¿Tiene que dividir el archivo en componentes y analizar cada uno de ellos? La presencia de tiempo, frecuencia y amplitud en un espectrograma sugiere que funciona, pero no entiendo completamente cómo. Gracias de antemano por tu ayuda.

Siempre hay una compensación entre la cantidad de tiempo y la resolución de frecuencia, que está determinada principalmente por la cantidad de muestras en cada bloque de su FFT. Cuantas más muestras hay en cada bloque, más resolución de frecuencia tiene (su FFT resultante tiene más contenedores), pero la compensación es una mayor mancha de tiempo, ya que el bloque representa una longitud de señal más larga a la frecuencia de muestreo. Si piensa en un espectrograma como una imagen en la que X es el tiempo y Y es la frecuencia, siempre hay una compensación entre cuántos "píxeles" X tiene y cuántos "píxeles" Y tiene para una determinada longitud de señal. .

Respuestas (3)

Para crear un espectrograma, una señal (por ejemplo, audio) se divide en segmentos y luego se calcula la FFT de cada uno de esos segmentos y luego los espectros de amplitud individuales de esos segmentos se ponen uno al lado del otro. Es por eso que con un espectrograma tienes ambos componentes de tiempo y frecuencia. Es posible que desee ver el diagrama en ESTA publicación para que pueda visualizar cómo se produce un espectrograma.

Eso fue realmente útil, ¡gracias! Eso también hace que el concepto de funciones de ventana tenga más sentido.

Debido a que la FFT ocurre a una frecuencia de muestreo (en kHz) / 2 (llamada frecuencia de Nyquist), para una representación precisa de la señal. No es una cosa de una sola vez. Está muestreando la señal continuamente, rastreando los cambios de un punto a otro.

Consulte Wikipedia: Muestreo para obtener más información.

Es posible que desee considerar algo como el análisis Wavelet. Esencialmente, realiza un análisis de Fourier "local" para los casos en los que, en ciertos puntos en el tiempo de una traza, los componentes de frecuencia pueden cambiar.

Eso suena interesante, lo investigaré. En un comentario anterior, alguien mencionó que la FFT tiene una compensación entre la resolución de tiempo y frecuencia. ¿Sabe si existe una compensación similar con el análisis de Wavelet o si hay una ventaja de FFT sobre Wavelet? ¡Gracias por tu ayuda!
Sí, esa compensación todavía existe. Entonces, cuando tiene una señal que no es estacionaria (es posible que no sepa cuándo o dónde ocurre el cambio en la señal, algunos transitorios abruptos o tendencias) es el momento en que preferiría una transformada de wavelet sobre una transformada de Fourier (donde las frecuencias son constantes e inmutable en el tiempo).