2009-08-06 16 views
5

Szybciej jako problem może lepiej wybrać inny język, ale jaka jest twoja biblioteka/moduł/implementacja z wyboru do szybkiego przekształcenia Fouriera (FFT) w Pythonie?Jaki jest zalecany moduł Pythona do szybkich transformacji Fouriera (FFT)?

+2

Pakiety w języku Python, które wykonują FFT, zazwyczaj nie będą je implementować w czystym języku Python, ale w ukrytym języku kompilowanym, więc prędkość Pythona nie zostanie odzwierciedlona w szybkości transformacji. Oznacza to, że będą one tak szybkie, jak wszystko inne. – tom10

Odpowiedz

3

Zalecam korzystanie z biblioteki FFTW ("najszybsza transformacja Fouriera na Zachodzie"). FFTW download page stwierdza, że ​​wrappery Pythona istnieją, ale link jest zepsuty. Wyszukiwarka Google pojawiła się Python FFTW, która zapewnia powiązania Python z FFTW3.

8

Polecam numpy biblioteki, nie jestem pewien, czy jest to najszybsza implementacja, ale istnieje na pewno jeden z najlepszych modułów naukowych na "rynku".

5

FFTW byłaby prawdopodobnie najszybszą implementacją, jeśli można znaleźć powiązanie z pythonem, które faktycznie działa.

Najprościej jest jednak użyć na pewno scipy.fft. Dodatkowo, masz całą moc numpy/scipy, aby się z tym pogodzić.

Użyłem go tylko do projektu zabawkowego (podstawowa wizualizacja muzyki), ale był wystarczająco szybki, aby przetworzyć standardowy dźwięk bogactwa przy częstotliwości 44 kHz przy 60 klatkach na sekundę, o ile pamiętam.

Powiązane problemy