Partage
  • Partager sur Facebook
  • Partager sur Twitter

transformé de fourier rapide

    15 novembre 2019 à 13:16:08

    Bonjour à tous, je suis en deuxième année de licence d'informatique et ai récemment programmé la transformé de fourier rapide dans les deux sens. Ma question est la suivante, pourquoi lors de la transformé de fourier inverse ils faut diviser tous les pixels de la matrice par la taille de cette dernière ?

    je vous remercie.

    • Partager sur Facebook
    • Partager sur Twitter
      20 novembre 2019 à 9:55:12

      Cela dépend de la convention de la transformée de Fourier que tu as considéré. On trouve parfois un facteur \(\frac{1}{\sqrt{N}}\) devant la transformée et la transformée inverse, et parfois un facteur \(\frac{1}{N}\) devant la transformée inverse mais pas la transformée.
      • Partager sur Facebook
      • Partager sur Twitter
        20 novembre 2019 à 10:39:11

        Merci de ta réponse @BunshinKage. Dans les algorithmes que j'ai programmé, c'est bien dans la transformée de fourier inverse que j'utilise le facteur 1/N. J'ai fait pas mal de recherche et j'ai vu que c'est pour normalisée le résultat, mais sans vraiment bien comprendre. Aurai tu des Sites internet à m'indiquer ? ou peut-être connaitrais tu plus d'infos sur ce sujet. 

        je te remercie.

        • Partager sur Facebook
        • Partager sur Twitter
          20 novembre 2019 à 13:44:01

          On veut que la transformée de Fourier inverse \(\mathcal{F}^{-1}\) vérifie \(\mathcal{F}^{-1}\circ\mathcal{F}=\mathrm{id}\), c'est-à-dire qu'en appliquant la transformée inverse à la transformée d'une suite, on obtient la suite de départ. Le problème en prenant la convention de ne pas mettre de constante devant la transformée de Fourier, c'est qu'en appliquant ce qu'on pourrait penser être la transformée inverse, on ne retrouve pas exactement la suite de base. Cette constante de normalisation fondamentalement, elle sert juste à assurer qu'en appliquant d'abord la transformée puis la transformée inverse, ou la transformée inverse puis ta transformée, tu retombes toujours sur ta suite de départ (et non pas sur \(N\) que multiplie ta suite de départ). Si tu veux voir d'où vient cette constante, tu peux poser les calculs. Ils ne sont pas très compliqués, mais il faut être à l'aise avec les calculs de sommes indexées et avec la notion de racine \(n\)-ième de l'unité.

          Si jamais tu veux faire les calculs, après les avoir posés, je tombe sur cette expression :

          \[\overline{\mathcal{F}}(\mathcal{F}(u))_k=\sum_{j=0}^{N-1}u_j\,\sum_{n=0}^{N-1}\mathrm{e}^{\frac{2\,\mathrm{i}\,\pi\,n\,(k-j)}{N}}\]

          Viennent alors deux cas :

          • Si \(k=j\), alors l'argument de l'exponentielle est nul, elle vaut donc \(1\) et on se retrouve avec \(N\,u_j\) puisqu'on somme l'exponentielle \(N\) fois
          • Dans les autres cas, on somme toutes les racines \(n\)-ièmes de l'unité (ou plutôt toutes les puissances d'une racine \(n\)-ième de l'unité, ce qui revient à la même chose), ce qui fait \(0\).

          Ainsi, seul le terme d'indice \(j=k\) est non-nul et on arrive à :

          \[\overline{\mathcal{F}}(\mathcal{F}(u))_k=N\,u_k\]

          Afin de retomber sur la suite de départ, on voit que l'on doit poser \(\mathcal{F}^{-1}=\frac1N\,\overline{\mathcal{F}}\). J'ai ici noté \(\overline{\mathcal{F}}\) comme étant le conjugué de la transformée de Fourier. En posant les calculs de cette façon d'ailleurs, tu peux facilement voir qu'en mettant un facteur \(\frac{1}{\sqrt{N}}\) devant la définition de la transformée de Fourier, alors il suffit de mettre ce même facteur devant le conjugué de la transformée pour obtenir la transformation inverse.

          -
          Edité par BunshinKage 20 novembre 2019 à 13:56:31

          • Partager sur Facebook
          • Partager sur Twitter

          transformé de fourier rapide

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown