http://nbviewer.jupyter.org/gist/leftaroundabout/83df89a7d3bdc24373ea470fb50be629
DFT, talla 16
FFT, talla 16
La diferencia en complejidad es bastante evidente a partir de eso, ¿no?
Así es como entiendo FFT.
En primer lugar, siempre pensaría en las transformaciones de Fourier principalmente como transformaciones de funciones continuas , es decir, un mapeo biyectivo . A la luz de esto, está claro que no puede ser realmente necesario ir al "nivel más profundo" y recorrer los elementos individuales , porque los "elementos individuales" son puntos únicos en la línea real, de los cuales hay infinitamente infinitos .FT : L2( R ) → L2( R )
Entonces, ¿cómo es que esta transformación todavía está bien definida? Bueno, es crucial que no funcione en el espacio de funciones generales sino solo en el espacio de funciones integrables (Lebesgue-, square-) . Ahora, esta integrabilidad no es una propiedad muy fuerte (mucho más débil que la diferenciabilidad, etc.), pero sí exige que la función se convierta en "localmente identificable con información contable". Tal descripción está dada por los coeficientes de una Transformada de Fourier de corto tiempo . †R → CEl caso más simple es que su función es continua y la divide en regiones tan pequeñas que es básicamente constante en cada una de ellas. Entonces cada uno de los STFT tiene más fuertemente un término cero. Si ignora los otros coeficientes (de todos modos en descomposición), cada dominio es solo un punto de datos. De todos estos coeficientes de límite de LF a corto plazo, podría tomar una transformada de Fourier discreta. De hecho, ¡eso es exactamente lo que haces al realizar cualquier FT en datos medidos del mundo real!
Sin embargo, los datos medidos no necesariamente corresponden a una cantidad física fundamental. Por ejemplo, cuando mides algo de intensidad de luz , en realidad solo estás midiendo la amplitud de una onda electromagnética cuya frecuencia es demasiado alta para ser muestreada con un ADC. Pero claramente también puede calcular el DFT de una señal de intensidad de luz muestreada, y de manera económica, a pesar de la frecuencia loca de la onda de luz.
Esto podría entenderse como la razón más importante por la que FFT es barata:
No se moleste en tratar de ver los ciclos de oscilación individuales desde el nivel más alto. En cambio, transforme solo información de alto nivel que ya haya sido preprocesada localmente.
Sin embargo, eso no es todo. Lo mejor de FFT es que aún le brinda toda la información que le daría un DFT completo . Es decir, toda la información que también obtendría al muestrear la onda electromagnética exacta de un haz de luz. ¿Se puede lograr esto transformando una señal de fotodiodo? - ¿Puedes medir la frecuencia de luz exacta a partir de eso?
Bueno, la respuesta es no, no puedes. Es decir, a menos que apliques trucos adicionales.
En primer lugar, debe medir al menos aproximadamente la frecuencia en los bloques de tiempo cortos. Bueno, eso es posible con un espectrógrafo. Pero solo es posible hasta una precisión de , una relación de incertidumbre típica ‡ .Δ ν= 1 / Δ t
Al tener un período de tiempo más largo en general, también deberíamos poder reducir la incertidumbre de frecuencia. Y esto es realmente posible si se mide localmente no solo la frecuencia aproximada sino también la fase de la onda. Sabes que una señal de 1000 Hz tendrá exactamente la misma fase si la miras un segundo después. Mientras que una señal de 1000.5 Hz, aunque no se puede distinguir en la escala corta, habrá invertido la fase un segundo después.
Afortunadamente, esa información de fase se puede almacenar muy bien en un único número complejo. ¡Y así es como funciona FFT! Comienza con muchas pequeñas transformaciones locales. Estos son baratos, por un lado, obviamente, porque solo usan una pequeña cantidad de datos, pero en segundo lugar porque saben que, debido al corto lapso de tiempo, de todos modos no pueden resolver la frecuencia con mucha precisión, por lo que aún es asequible a pesar de que usted hacer muchas de esas transformaciones.
Sin embargo, estos también registran la fase y, a partir de eso, puede hacer que la resolución de frecuencia sea más exacta en el nivel superior. La transformación requerida es nuevamente barata, porque no se molesta con las oscilaciones de alta frecuencia sino solo con los datos de baja frecuencia preprocesados.
† Sí, mi argumentación es un poco circular en este punto. Vamos a llamarlo recursivo y estamos bien ...
‡ Esta relación no es mecánica cuántica, pero la incertidumbre de Heisenberg tiene en realidad la misma razón fundamental.