Transformada rápida de Fourier (FFT)

Introducción a las transformadas rápidas de Fourier (FFT)

La transformada rápida de Fourier (FFT) es una implementación altamente optimizada de la transformada discreta de Fourier (DFT), que convierte señales discretas del dominio del tiempo al dominio de la frecuencia. Los cálculos de FFT proporcionan información sobre el contenido en frecuencia, la fase y otras propiedades de la señal.

Gráfico que muestra tiempo en segundos en el eje x y amplitud en el eje y, y gráfico que muestra frecuencia en el eje x y potencia en el eje y.

Señal de audio de una ballena azul descompuesta en sus componentes de frecuencia empleando FFT. (Ver código de MATLAB)

Entre los algoritmos de FFT populares se encuentran el algoritmo de Cooley-Tukey, el algoritmo de FFT de factores primos y el algoritmo de FFT de Rader. El algoritmo de FFT más utilizado es el algoritmo de Cooley-Tukey, que descompone una DFT grande en DFT más pequeñas para aumentar la velocidad de cálculo y reducir la complejidad. La FFT tiene aplicaciones en muchos campos.

Aplicaciones de la FFT

En procesamiento de señales, la FFT constituye la base del análisis en el dominio de la frecuencia (análisis del espectro) y se utiliza para filtrado de señales, estimación espectral y compresión de datos, entre otras aplicaciones. Variaciones de la FFT como la transformada de Fourier de tiempo corto también permiten realizar un análisis simultáneo en los dominios del tiempo y la frecuencia. Estas técnicas se pueden utilizar para diversas señales, como voz y audio, radar, comunicaciones y otras señales de datos de sensores. La FFT también se utiliza a veces como paso intermedio para técnicas de procesamiento de señales más complejas.

En procesamiento de imágenes, la FFT se utiliza para filtrado y compresión de imágenes. La FFT también se emplea en física y matemáticas para resolver ecuaciones diferenciales parciales (EDP).

Gráfico de espectro de persistencia con frecuencia en kHz en el eje x y espectro de potencia en dB en el eje y. Una barra lateral muestra un porcentaje de densidad de colores.

Espectro de persistencia, un tipo de vista de tiempo-frecuencia, que se puede utilizar para realizar análisis del espectro de señales. (Ver funciones de tiempo-frecuencia de MATLAB)

FFT en MATLAB

MATLAB® ofrece muchas funciones, como fft, ifft y fft2, para implementar la FFT directamente. En MATLAB, la implementación de la FFT está optimizada para seleccionar entre diversos algoritmos de FFT en función del tamaño de los datos y el cálculo. Asimismo, Simulink® ofrece bloques para la FFT que se pueden emplear en diseño basado en modelos y simulación. MATLAB y Simulink también permiten implementar la FFT en hardware específico como FPGA, procesadores como ARM y GPU NVIDIA, mediante generación automática de código.

Explore las funciones y ejemplos a continuación para obtener más información sobre las transformadas de Fourier, y las aplicaciones e implementaciones de la FFT con MATLAB.

Ejemplos de la FFT en MATLAB Online

Eliminación de ruido de señales con la FFT

Introducción a la FFT y el análisis en el dominio de la frecuencia

Estimaciones de densidad espectral de potencia con la FFT

Implementación en hardware de la FFT

Implementar la FFT en dispositivos lógicos programables no es tan sencillo como hacerlo en software. Tomar decisiones incorrectas sobre tradeoffs de ingeniería como velocidad y precisión, o utilizar código ineficiente, puede afectar a la calidad y rendimiento de una aplicación. Las herramientas de generación de código de MATLAB y Simulink facilitan la implementación de la FFT en diversos dispositivos de hardware, desde procesadores de uso general, como ARM, hasta dispositivos más especializados, como FPGA.


También puede consultar estos temas: MATLAB y Simulink para procesamiento de señales, MATLAB para procesamiento de imágenes y visión artificial, MATLAB y Simulink para sistemas de radar, Signal Processing Toolbox, Audio Toolbox, Radar Toolbox, Eliminación de ruido, Convolución, Procesamiento digital de señales, Teorema de Nyquist