Nom

fftw — transformée de Fourier rapide qui utilise la librairie FFTW

Séquence d'appel

[y]=fftw(x)
[y]=fftw(x,sign)
[y]=fftw(x,sign,dim,incr)
[y]=fftw(x,sign,[dim1 dim2 ...dimN],[incr1 incr2 ...incrN])

Paramètres

y,x

matrice/vecteur de donnée réelle ou complexe. Données d'entrée/sortie.

sign

entier. 1 ou -1. Choix du type de transformée (inverse ou directe).

dim

entier. Donne la dimension (la longueur) de la transformée.

incr

entier. Donne l'entrelacement (l'écart entre les données consécutives) de la transformée.

Description

Cette fonction réalise une Transformée de Fourier Discrete (TFD) inverse ou directe au moyen de la libraire FFTW.

Elle permet le calcul de transformée vectorielle, 2D et M-D.

Pour plus de détails concernant la syntaxe de l'appel à fftw, consultez la fonction fft de scilab.

Pour plus de détails concernant la libraire FFW, consultez le site web http://www.fftw.org.

Rmq : La fonction ffw enregistre automatiquement les dernières paramètres utilisés lors d'un appel pour les ré-utiliser une seconde fois.

Cela permet une amélioration significative du temps de calcul lorsque la fonction fftw est appelée consécutivement avec les mêmes paramètres.

Exemples

 
//transformée 1D
a = rand(50,1)+%i*rand(50,1);
y = fftw(a);
y = fftw(a,-1);
//transformée inverse
b = fftw(y,1);

//transformée 2D
a = rand(512,512)+%i*rand(512,512);
y = fftw(a);

//transformée M-D -ancienne séquence d'appel-
a = rand(120,1);
y = a;
dim=[5 6 4];incr=[1 5 30];
for i=1:3
  y = fftw(y,-1,dim(i),incr(i));
end

//transformée M-D transform -nouvelle séquence d'appel-
//plus performante que l'ancienne
y = fftw(a,-1,[5 6 4],[1 5 30]);
b = fftw(y,1,[5 6 4],[1 5 30]);
 

Voir Aussi

fftw_flags, get_fftw_wisdom, set_fftw_wisdom, fftw_forget_wisdom

Bibliographie

Matteo Frigo and Steven G. Johnson, "FFTW Manual fo version 3.1.2" June 2006. Available : http://www.fftw.org