FFTW

FFTW – Wikipedia, wolna encyklopedia

FFTW

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacji, szukaj

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

FFTW jest 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, natomiast większość kodu FFTW jest generowana z zapisu w języku Ocaml. Ponadto FFTW w czasie wykonania w fazie zwanej "planowaniem" dostosowuje się do właściwości danej maszyny - nie tylko procesora, ale również wykorzystuje cechy pamięci cache. Wykorzystuje do tego optymalizator który stara się zdekomponować problem na prostsze podproblemy. FFTW wykorzystuje poza standardowymi wariantami algorytmu FFT Cooley-Tukey'a (dobry dla potęg 2), również algorytmy przydatne dla potęg dużych liczb pierwszych (takie jak algorytm FFT Rader'a oraz algorytm FFT Bluestein'a).

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

Istnieją wersje FFTW dla SMP, a także 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, niewolnej licencji.

Programy używające FFTW to m.in. GNU Octave i Matlab.

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 in128, mid128, out128;
	int i;
 
	for (i=0; i<128; i++)
	{
		ini.re = sin (M_PI*i/16);
		ini.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++)
	{
		outi.re /= 128;
		outi.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, ini.re, ini.im,
			outi.re, outi.im, outi.re - ini.re, outi.im - ini.im);
 
	return 0;
}

Linki zewnętrzne

Orkisz
Orkisz
www.sklepdietetyczn…
Profesjonalny hosting
Profesjonalny hosting
www.lh.pl
last minute
wakacje, samolot
oskar.com.pl
Skuteczne pozycjonowanie
Arteria - Twój klucz do sukcesu
www.e-arteria.pl
pozycjonowanie stron w google
Pozycjonowanie
www.allcreative.com…