Transformée de Fourier discrète, intégration

Bonjour, j'aimerais calculer numériquement des intégrales du type
$$ c_{k}(f):=\int_{0}^{1}f(x)\exp(-2ik \pi x)dx $$ ( pas forcément des coefficients de Fourier ).
J'utilise ainsi la Transformée de Fourier discrète "FFT", puisque définie pour un vecteur $X$ de taille $N$ :
$$ FFT(X)[k]=\sum_{j=1}^{N}X(j)\exp(-2ik\pi (j-1)/N)$$ où $0 \leq k \leq N-1,$
et la formule des rectangles à gauche me donne l'estimation d'erreur
$$ \left| \int_{0}^{1} f(x)\exp(-2ik \pi x)dx - \frac{1}{N}FFT(X)[k] \right|=\mathcal{O}\left(\frac{1}{N}\right), $$

où $X=[f(0),f(1/N),f(2/N),...,f(N-1/N)].$

J'ai essayé avec $f=\sin $ mais j'ai l'impression que la fonction FFT ne calcule pas l'intégrale que je souhaite. On a pour formule explicite $$c_{k}(\sin)=\frac{ \exp(-2i\pi k)(-\exp(2i\pi k)+2i\pi k \sin(1)+\cos(1))}{4\pi^2 k^2-1}$$ et je l'ai comparé à la FFT du vecteur $[\sin(0),...,\sin(0.99)]$ pour $k=0$ à $k=100$ ( voir la figure ).
Que fait la FFT pour $k>50$ (alors que l'approximation est bonne pour $0 \leq k \leq 50$ ? On devrait avoir une erreur de $\mathcal{O}(10^-2)$ partout par la formule des rectangles.
D'autre part, on dirait qu'il y a une symétrie pour les coefficients calculés par la FFT: Pourquoi?

Merci de votre aide66922

Réponses

  • Il faut se méfier des $\mathcal O$.

    Si $g:[0;1]\to\R$ est dérivable, alors
    $$\left|\int_0^1 g -\frac1N \sum_{k=1}^{N}g(\frac1k)\right| \le \dfrac{\sup_{[0;1]}(|g'|)}{2N}$$

    Je n'ai pas fait le calcul précis mais lorsque ton $k$ est proche de $N$, $g(x) = f(x)\exp(-2ik\pi x)$ a une dérivée de la magnitude de $k$... Tu as donc une erreur en $\mathcal O(1)$.... Ce qui ne veut donc rien dire !
  • En gros, ton erreur a été de prendre la relation :
    $$\left| \int_{0}^{1} f(x)\exp(-2ik \pi x)dx - \frac{1}{N}FFT(X)[k] \right|=\mathcal{O}\left(\frac{1}{N}\right),$$
    valable pour tout $k\in\{0,...,N\}$ alors qu'elle n'est vraie que lorsque "$k$ est fixé et $N\to +\infty$".
  • D'accord, je vois l'idée, merci!
    Par contre, pourquoi il y a un procédé de symétrisation que produit la FFT? Je suis totalement d'accord pour l'erreur mais pour $k>50$, on pourrait avoir n'importe quoi pour $|FFT(X)[k]|$. Pourquoi a-t-on quelque chose du genre $|FFT(X)[k]|=|FFT(X)[N-k]|$ ?
  • Je viens de regarder les valeurs de $FFT(X)$ en valeur absolue, en effet, il y a bien "symétrie des valeurs",
    si je note $Y=|FFT(X)|$, alors on a:
    $Y(2)=Y(100)=13.8$, $Y(3)=Y(99)=6.8$ ect.. Une explication ?
  • Exact, les quantités sont conjugées l'une de l'autre et dc $FFT(X)[k]=\overline{FFT(X)[N-k]}$ comme le vecteur $X$ est réel.
    - Je suppose donc qu'il n'y a pas un équivalent continu de cette relation sachant que le phénomène de symétrie ne se produit pas lors du tracé des $c_k(f)$..?
    - Dois-je en conclure que la FFT n'est pas adaptée pour calculer ce type d'intégrales oscillantes?
Connectez-vous ou Inscrivez-vous pour répondre.