Fast Fourier Transform précision, paramètres etc...

Postez ici vos questions, réponses, commentaires ou suggestions - Les sujets seront ultérieurement répartis dans les archives par les modérateurs

Modérateur : Groupe des modérateurs

Sireau Aurélien
Messages : 9
Enregistré le : 05 Juin 2006, 08:01

Fast Fourier Transform précision, paramètres etc...

Messagepar Sireau Aurélien » 30 Juil 2007, 15:55

Bonjour,

Je m'intéresse en ce moment à la FFT pour calculer des transformés de Fourier.
Cependant, je ne maitrise pas encore l'utilisation de cet algorithme.

Sur un exemple simple par exemple, je cherche à retrouver la fonction caractéristique de la loi normale (pour mu =0 et sigma = 1 celle-ci vaut d'ailleurs la densité de la loi normale multipliée par 2 PI) en calculant numériquement la quantité : E[exp(itX)] où X suit une loi normale (0,1).

Code : Tout sélectionner

N = 2^12
j = 0:(N-1)
du = 1
dx = 2*pi/(N*du)
l = 0:(N-1)

weight = rep(1,N)
weight[0] = 1/3
weight[j%%2==1] = 4/3
weight[j%%2==0] = 2/3

FC = exp(-1i*j*pi)*dnorm(du*j,0,1)*du*2*weight
C = Re(fft(FC,inverse=TRUE))
plot((l-N/2)*dx,C,type="l")
lines((l-N/2)*dx,dnorm((l-N/2)*dx)*sqrt(2*pi),col="red")


A noté que je n'utilise pas l'intégration par la méthode des rectangles mais j'utilise les poids de la formule de Simpson.

Le tracé de ces courbes (l'une calculée numériquement, l'autre théorique) montre que pour la valeur de du choisie, il y a un écart non négligeable...

Pouvez vous me dire si ma démarche est fausse et si je me suis trompé dans l'implémentation ?
Comment peut-on choisir au mieux le paramètre du pour mieux approcher la valeur théorique ?

Merci d'avance !!


Aurélien
Aurélien Sireau

Yann Maquignon
Messages : 4
Enregistré le : 11 Juin 2009, 14:43

Messagepar Yann Maquignon » 13 Juin 2009, 11:57

Salut Aurélien,

je me penche depuis peu sur les transformées de Fourier et j'essaie aussi de comprendre ce que R fait. Visiblement, tu en sais déjà un peu plus que moi et j'aurai voulu que tu m'expliques quelques petites choses. Dans FC, tu as mis les ordonnées de ta fonction, c'est ça ? Ensuite, tu as précisé Re pour ne prendre que la partie réelle? Moi si je crée un vecteur de valeurs et que je fais fft de ce vecteur, il me sort un vecteur d'imaginaires (0.9i par exemple). En fait j'essaie de récupérer les coefficients de Fourier mais je ne sais pas si R le fait ou s'il faut utiliser Matlab pour ça ?

Merci :wink:

Yann Maquignon
Messages : 4
Enregistré le : 11 Juin 2009, 14:43

Messagepar Yann Maquignon » 17 Juin 2009, 10:30

Bon bah c'est bon j'ai trouvé toutes les réponses à mes questions. Par contre, je comprend pas à quoi sert la fonction inverse dans fft ??

Yann Maquignon
Messages : 4
Enregistré le : 11 Juin 2009, 14:43

Messagepar Yann Maquignon » 19 Juin 2009, 09:17

C'était évident en fait. LOL

Serge Rapenne
Messages : 1426
Enregistré le : 20 Aoû 2007, 15:17
Contact :

Messagepar Serge Rapenne » 19 Juin 2009, 09:48



Retourner vers « Questions en cours »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 1 invité