2009-08-06 14 views
5

Tomando la velocidad como un problema, puede ser mejor elegir otro idioma, pero ¿cuál es su biblioteca/módulo/implementación de elección para hacer una transformada rápida de Fourier 1D (FFT) en Python?¿Cuál es el módulo de Python recomendado para las transformadas rápidas de Fourier (FFT)?

+2

Los paquetes de Python que realizan FFT generalmente no los implementarán en Python puro, sino en un lenguaje compilado subyacente, por lo que la velocidad de Python no se reflejará en la velocidad de la transformación. Es decir, serán tan rápidos como cualquier otra cosa. – tom10

Respuesta

3

Recomendaría usar la biblioteca FFTW ("la transformada de Fourier más rápida en Occidente"). El FFTW download page indica que existen envolturas de Python, pero el enlace está roto. Apareció una búsqueda en Google Python FFTW, que proporciona enlaces de Python a FFTW3.

8

Recomendaría la biblioteca numpy, no estoy seguro de si es la implementación más rápida que existe pero, sin duda, es uno de los mejores módulos científicos en el "mercado".

5

FFTW probablemente sea la implementación más rápida, si puede encontrar un enlace de pitón que realmente funcione.

Lo más fácil de usar es, sin duda, scipy.fft. Además, obtienes todo el poder de numpy/scipy para acompañarlo.

Solo lo he usado para un proyecto de juguete (una visualización de música básica) pero fue lo suficientemente rápido como para procesar audio estándar de pantano a 44khz a 60fps, por lo que puedo recordar.

Cuestiones relacionadas