FFTW - Google

FFTW

Z Wikipedii

Skocz do: nawigacji, szukaj

FFTW (Fastest Fourier Transform in the West) to bardzo szybka biblioteka transformat Fouriera.

FFTW jest rzeczywiście najszybszą niezależną od sprzętu biblioteką tego typu. Inne biblioteki o porównywalnych osiągnięciach składają się z ręcznie optymalizowanego kodu asemblerowego. Z FFTW jest inaczej - większość kodu FFTW jest generowana z zapisu w języku Ocaml, ponadto FFTW w czasie rzeczywistym dostosowuje się do właściwości danej maszyny - nie tylko procesora ale również wykorzystuje cechy pamięci cache.

FFTW jest biblioteką języka C, ale można jej używać także z Fortrana i C++.

Istnieją wersje FFTW dla SMP, a nawet dla obliczeń rozproszonych.

FFTW od wersji 1.3 jest dostępna na licencji GPL (wcześniej była darmowa dla użytku niekomercyjnego); autorzy umożliwiają również uzyskania FFTW na innej, nie-wolnej licencji.

Programy używające FFTW to między innymi GNU Octave i Matlab.

Informacje techniczne:

  • najnowsza wersja to 3.2 alpha3 (dodana 13 listopada 2007)
  • pakiety Debiana:
    • Wersja normalna - fftw2 i fftw-dev
    • Wersja o pojedynczej precyzji - sfftw i sfftw-dev
    • Wersja zoptymalizowana dla AMD K6-2 - k6fftwgel i k6fftwgel-dev
    • Wersja zoptymalizowana dla AMD K7 - k7fftwgel i k7fftwgel-dev
    • Wersja zoptymalizowana dla Pentium 4 - p4fftwgel i p4fftwgel-dev

[edytuj] Przykład użycia

Przykładowy kod (dla wersji 2 FFTW):

#include <fftw.h>
#include <math.h>

int main()
{
        fftw_plan pl1,pl2;
        fftw_complex in[128], mid[128], out[128];
        int i;

        for (i=0; i<128; i++)
        {
                in[i].re = sin (M_PI*i/16);
                in[i].im = sin (M_PI*i/24);
        }

        pl1 = fftw_create_plan (128, FFTW_FORWARD, FFTW_ESTIMATE);
        pl2 = fftw_create_plan (128, FFTW_BACKWARD, FFTW_ESTIMATE);

        fftw_one (pl1, in, mid);
        fftw_one (pl2, mid, out);
        for (i=0; i<128; i++)
        {
                out[i].re /= 128;
                out[i].im /= 128;
        }

        fftw_destroy_plan (pl2);
        fftw_destroy_plan (pl1);

        for (i=0; i<128; i++)
                printf ("%d: in=(%f,%f), out=(%f,%f), d=(%f,%f)\n", i, in[i].re, in[i].im,
                        out[i].re, out[i].im, out[i].re - in[i].re, out[i].im - in[i].im);

        return 0;
}

[edytuj] Linki zewnętrzne


Saakaszwili: Rosjanie kpią sobie ze świata
Rosjanie faktycznie opuszczają niektóre gruzińskie miasta - przyznaje prezydent Gruzji Micheil Saakaszwili - ale dodaje, że jednocześnie rosyjskie wojska nasilają działania w innych regionach jego kraju. - Rosjanie kpią sobie ze świata - mówi Saakaszwili. Z kolei Waszyngton ujawnia, że ostrzegał Tbilisi przed konfliktem z Rosją.
Początek ewakuacji na dużą skalę?
Na niecałe 24 godziny przez zakończeniem zapowiedzianej przez Moskwę ewakuacji, rosyjskie czołgi opuszczają gruzińskie Gori - donosiła rosyjska agencja Interfax, by po kilkudziesięciu minutach zmienić zdanie - Rosjanie się wycofują, ale nie z Gori. Korespondenci agencji Reuters donoszą z kolei o Rosjanach cofających się ku granicy przez południowoosetyjskie Cchinwali.
Atak na tureckich policjantów
Ośmiu tureckich policjantów i trzech żołnierzy zostało rannych w eksplozji przydrożnej bomby w Izmirze na zachodzie Turcji. Nikt na razie nie przyznał się do zamachu.
Papież pojedzie do Chin?
W stosunkach zależnego od komunistycznych władz chińskiego kościoła z Watykanem widać "stałą poprawę", mówi jeden z prorządowych chińskich biskupów z tzw. Kościoła Patriotycznego i wyraża nadzieję, że Benedykt XVI niedługo odwiedzi Pekin.
USA dadzÄ… nam rabat na patrioty?
Jest szansa na 10-proc. rabat przy zakupie rakiet typu Patriot - informuje "Rzeczpospolita". Dotychczas USA oferowały je nam za miliard dolarów, teraz cena może być znacznie niższa.
Linki: Strona g³ówna