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