Comprendre la transformée de Fourier

a marqué ce sujet comme résolu.

Salut !

Merci pour cet article :)

Deux commentaires :

  • Le début de l’intro essaie une analogie avec la machine à laver qui se veut accessible à tous, mais ce n’est pas évident à suivre. La notion de signal n’est par exemple pas définie (jusqu’au chapitre suivant). C’est peut-être une préférence personnelle, mais j’inverserais la logique. L’exemple qui suit est juste sur l’ordre, certainement pas sur le langage. "Une machine à laver est constituée de beaucoup de pièces, et c’est en les considérant individuellement qu’on peut trouver des problèmes, des optimisations, etc. Dans de très nombreuses sciences, le modèle décrivant les problèmes concrets fait appel à des signaux, parfois complexes, qui représente la variation d’une valeur dans le temps (typiquement l’amplitude d’une onde). Pour pouvoir comprendre ces signaux, il est utile de pouvoir les décomposer en un ensemble de fonctions élémentaires (des sinusoïdes). C’est ce que permet la transformée de Fourier."

  • Ca pourrait être utile d’avoir un exemple. J’ai trouvé l’article facile à lire, mais à la fin, je ne sais pas si on sait concrêtement à quoi ca sert. Je crois que la seule phrase sur ce sujet est "Lorsque l’on possède cette décomposition, on est capable de la modifier pour répondre à nos divers besoins. Les exemples classiques sont les filtres, la compression ou la modulation de signaux."

Salut, et merci pour l’article !

Je suis d’accord avec les commentaires de Rockaround. Un exemple (ou soyons fous, plusieurs) serait vraiment bienvenu. Notamment, tu parles de son "invention" par Fourier, ça pourrait être l’occasion de développer avec une petite équa diff.

Sinon, je crois que ce serait bien de mentionner la transformée inverse. Je trouve qu’elle donne une profondeur supplémentaire et permet de se rapprocher de l’algèbre linéaire.

+0 -0

Salut! Super sujet à traiter, et tu es sur un bon départ. Quelques remarques (pioche ce que tu veux!):

Aspect général

J’ai un peu du mal à voir quel cadrage tu veux donner, et quel objectif tu veux atteindre. Est-ce que l’objectif c’est de donner des points d’accroche pour que le lecteur creuse plus loin? Ou est-ce que tu veux faire un cours plus académique? Ou alors donner les intuitions pour comprendre "comment ça marche"? Je pense que la dernière option serait la plus adaptée pour ZesteDeSavoir, mais c’est personnel.

Je pense que le plan pourrait être un peu modifié. Par exemple (j’ai une vision un peu algébrique de la TF, et je suis physicien: ça risque de ressortir :p ):

  1. Une intro un peu générale, parler de signaux, dire qu’on veut les décomposer en morceaux simples qu’on peut comprendre. Une façon de le faire c’est de regarder à chaque instant à quoi ça ressemble. Mais par exemple pour un signal périodique ce n’est pas pratique! on voudrait une représentation qui soit plus simple. On pourrait aussi vouloir savoir à quel point un signal ressemble à un signal périodique. L’idée est d’introduire sans le dire la notion de décomposition sur une base. Tu peux avoir une base de diracs à tous les instants tt pour la représentation temporelle, une base discrète de sinus (les séries de Fourier, mais on ne peut pas tout représenter), ou une base continue d’exponentielles complexes

  2. Des exemples de représentations. Un exemple classique c’est de montrer la décomposition en séries de Fourier d’un signal périodique carré (je pense à quelque chose de très visuel, pas besoin de trop d’équations). Ensuite tu peux essayer de montrer comment si on ajoute plein de sinus correctement avec des fréquences continues on peut arriver à former par exemple une porte.

  3. Là on peu introduire la transformée de Fourier, même mettre une formule. On veut projeter sur les exponentielles complexes.

  4. On va avoir besoin d’exemples ici. C’est probablement le bon endroit pour dé-dramatiser sur les nombres complexes. Il faut montrer qu’en ajoutant correctement des nombres complexes on peut se débrouiller pour toujours avoir une fonction réelle. C’est aussi le bon endroit pour bien faire sentir qu’on peut inverser la transformée de Fourier (puisqu’on a fait comprendre qu’il ne s’agit que changer de représentation).

  5. Maintenant on va pouvoir parler de propriétés cool de la transformée de Fourier! Ça peut être le bon endroit pour parler de la convolution (voir mes remarques sur ce chapitre après).

  6. Je pense que parler de l’inégalité de Parseval et du principe d’incertitude est important, peut-être ici ou même avant la convolution.

  7. Tranformée de Fourier Discrète (et FFT)

  8. Une ouverture sur des choses qu’on peut faire avec la TF. En physique ça a un impact majeur en mécanique quantique et en optique. Tu peux parler de résolution d’équations différentielles, d’extentions de la TF (Laplace, ondelettes, l’idée c’est de trouver des représentations adéquates de nos signaux pour pouvoir les comprendres, les traiter) qui ont des grosses applications en traitement du signal pour les télécom, l’info etc.

    Dans le détail

    Introduction

    Intuitivement, la série de Fourier fournit la fréquence de réponse (frequency response) d’un signal qui se répète tandis que la transformée de Fourier celle de signaux qui ne se répètent pas. Cependant, toutes deux emploient un ensemble de sinusoïdes afin de reconstruire le signal. La différence réside principalement dans l’interférence (constructive ou destructive); plus les fréquences étudiées sont proches, plus les interférences destructives seront nombreuses et on pourra étudier un signal qui ne se répète pas; plus les fréquences sont éparses, plus le signal aura des chances de se répéter.

Pour le coup je ne suis pas d’accord avec la première phrase: tu peux totalement calculer la transformée de Fourier de signaux périodiques. La différence entre les deux est dans la famille des fonctions représentables: avec les séries tu es limités aux signaux périodiques. Si tu pars sur l’approche "intuition" que je donnais au début, c’est un point que tu peux illustrer pour arriver au principe d’incertitude: si tu peux représenter la TF sur un espace petit (cas extrême, un dirac pour le sinus), alors le signal lui même doit être éparpillé partout (cas extrême du sinus). À l’inverse tu peux prendre des gaussiennes, qui représentent une forme de compromis entre l’éparpillement temporel et en fréquence. Mais peut-être que l’introduction n’est pas le bon endroit pour en parler.

Définitions

Je pense que sur la définition du signal, tu peux être plus schématique: pour les besoins du tutoriel, on peut simplement s’imaginer que quelqu’un trace la valeur lue sur un instrument au cours du temps, genre un sismographe ou un oscilloscope. Tu peux faire une partie à la fin pour illustrer d’autres types de signaux, par exemple en optique une lentille fait en pratique la transformée de Fourier, et tu peux l’utiliser pour designer des système optiques ou faire de l’holographie (j’ai quelques images d’un setup optique qui dessine un sapin de Noël de cette manière si tu veux).

La définition du sinus est bien, je pense que tu peux t’aider et aller un chouille plus loin pour donner la formule d’Euler. Tu peux aussi renvoyer vers ce tutoriel d'@Aabu.

Convolution

Là ça arrive un peu sec! Peut-être que ça devrait arriver plus tard. Je peux me tromper, mais je pense que la formule n’aide pas des masses à comprendre. Peut-être que ça vaut le coup d’illustrer avec quelques exemples de signaux simples (l’animation que tu donnes est jolie, mais trop compliquée à mon sens): des diracs, des portes, etc. L’idée c’est de donner une vraie intuition géométrique de la convolution. Si tu as introduit la TF avant, tu peux aussi faire le lien ici produit de convolution des signaux <-> produit des TF et vice versa. Pour illustrer la convolution ça fait un moment que je voudrais écrire un truc sur la détection synchrone: je pense qu’on peut faire comprendre l’intégralité de cette technique sans aucun calcul pour peux qu’on arrive à donner l’intuition géométrique de la convolution.

Transformée de Fourier discrète (et FFT)

Si tu as introduit la convolution comme il faut avant, tu peux encore donner une bonne intuition de la TFD avec des illustrations géométriques. J’avais essayé de le faire dans mon tuto sur la FFT, peut-être que tu peux reprendre/t’inspirer des figures en développant un peu.

Ici il faut bien faire attention à ne pas confondre TFD et FFT! la FFT est simplement un algorithme qui permet de calculer la TFD. Dans la section sur la FFT tu parles de fenêtrage etc., je ne crois pas que ce soit la bonne place: ça irait plutôt avec la TFD en expliquant toujours via des convolution et des intuitions géométriques. Je pense que je limiterait autant que possible la discussion autour de la FFT: ce n’est pas l’objet du tutoriel, il suffit de savoir que ça existe.

Quelques inspirations/références que tu as probablement déjà

Voilààà, désolé du pavé: c’est un sujet que je trouve passionnant et que je traite au quotidien. :)

Salut,

C’est pas forcément facile de développer une intuition de la transformée de Fourier. Je reste globalement au niveau de "boîte magique qui décompose en fréquence". Et ce, alors même que j’ai eu des cours de traitement du signal qui couvrent tout ce qu’il y a dans cette bêta. J’ai réfléchi un peu, parce que je trouve que c’est un sujet intéressant à amener moins mécaniquement.

Dans ma tête, définir le produit de convolution et ses étapes de calcul ne fait rien de spécial. On peut produire des images de comment ça marche, et ça aide un peu à comprendre la mécanique du calcul, mais ça ne développe pas vraiment d’intuition de pourquoi on utilise cette opération en premier lieu plutôt qu’une corrélation pour voir quelles oscillations collent ou pas.

J’ai rafraîchit ma mémoire sur le web et le lien le plus intéressant semble être avec le filtrage : le produit de convolution permet de calculer la sortie d’un filtre LTI à partir d’une entrée et de sa réponse impulsionnelle (donc une description temporelle du filtre). La raison pour laquelle ça marche est un sujet d’explication à part entière.

La transformée de Fourier peut alors être vue comme un filtrage par une famille de filtres dont la réponse impulsionnelle est sinusoïdale (les oscillateurs harmoniques, donc ?). Ces filtres répondent beaucoup pour leur fréquence de résonance et moins pour le reste, donc on décompose ainsi le signal.

Il y a peut-être une analogie à faire avec l’analyse des filtres. Quand on étudie un filtre, on fait varier la fréquence de l’entrée et on regarde la sortie pour connaître le filtre. Quand on étudie un signal, on peut le donner à des filtres et regarder la sortie pour connaître le signal.

Bref, je sais pas à quel point cette idée tiens mathématiquement la route, mais voilà. :D

Tu peux écrire la transformée de Fourier de ff comme l’évaluation du produit de convolution fgf*g en τ=0\tau=0:

TF{f(t)}(ω)=[+dtf(t)gω(τt)](τ=0)TF\{f(t)\}(\omega) = \left[\int_{-\infty}^{+\infty} \text{d}tf(t)g_\omega(\tau-t)\right](\tau=0)

avec gω(u)=eiωug_\omega(u)=e^{i\omega u}. Mais du coup ça revient essentiellement à regarder le produit scalaire de f(t)f(t) et g(t)g(-t), donc plutôt que d’être la réponse par un filtre (qui serait une fonction du temps), ça veut plutôt dire que l’on regarde à quel point ff ressemble à une fonction de type eiωte^{-i\omega t} en y attribuant un nombre.

Effectivement, c’est plus simple comme ça. Ça veut aussi dire que dans la bêta, le paragraphe sur la convolution n’a quasiment aucun intérêt. On peut juste dire que la transformation est une mesure de similarité avec une harmonique pour une fréquence donnée. Donner l’intuition de pourquoi c’est une mesure de similarité, c’est encore autre chose.

Hello,

Merci beaucoup pour vos différents retours, c’était vraiment pertinent.

Voici la nouvelle version; -> Comprendre la transformée de Fourier <-

@rockaround

  1. C’est vrai que la formulation que tu proposes fait plus de sens. J’ai repris quelque chose dans l’idée
  2. L’utilité, ça a toujours été quelque chose de difficile pour moi. D’autant qu’on présente généralement la transformée de Fourier et puis l’utilité, ça vient avec les problèmes qu’on essaye de résoudre, mais bien plus tard =) Je pense qu’il serait plus pertinent de faire un billet avec un cas d’usage que de vouloir faire un pet foireux, ici.

@luxera

Ma réponse sera assez commune avec celle de @klafyvel

@klafyvel

Tout d’abord, un tout grand merci pour ta réponse. C’est toujours un plaisir de lire quelqu’un de passionné par son sujet, c’est très qualitatif.

Tu poses la question dès le départ: "quel cadrage donné". C’est vraiment difficile pour un tel sujet vu que c’est un domaine d’étude entier. J’ai eu davantage en tête ce que j’avais ressenti au moment où j’avais étudié ces notions. Je caricature un peu (mais c’est pas totalement faux), en 6h de cours, on voit, les séries de Fourier, la convolution, la transformée de Fourier, les théorèmes de Parseval et Plancherel, les notions de carrés intégrables et les normes Lp. Tout ça saupoudré d’une terminologie à la fois propre au domaine d’application (et donc qui change d’un bouquin à l’autre) et complètement nouvelle parce qu’elle décrit des tous nouveaux concepts.

J’ai donc voulu éviter de rentrer dans certaines beautés (l’algèbre ou les fonctions cassées - ex: Dirac; et ça me fruste d’éviter certains sujets) et rester assez haut niveau que pour comprendre le raisonnement qui avait poussé à ce que les choses suivent cet ordre-là. Essayer de faire comprendre comment ces briques s’agencent que pour arriver à une solution.

J’espère que l’ajout du nouveau paragraphe éclaircit quelque peu cette transition plus que abrupte vers le produit de convolution.

Je serai le premier à te lire si tu termines ton article @klafyvel ☺

@aabu

C’était un élément qui me perturbait. Sur la notion de convolution qui tombe ex-nihilo. J’ai rajouté un paragraphe sur la vraisemblance pour que l’idée émerge plus naturellement.

Je dois encore laissé maturer dans ma tête.

+1 -0

Salut,

Quelque chose me chiffonne sur la manière dont tu présente/utilise la convolution, j’ai mis du temps à mettre le doigt dessus.

La convolution n’est pas une mesure de similarité, contrairement (par exemple) au produit scalaire hermitien sur L2L^2 qu’ont pourrait définir comme :

<f,g>L2=Rf(t)gˉ(t)dt<f,g>_{L^2} = \int_\mathbb{R} f(t) \bar{g} (t) dt

En général, c’est clairement différent de la convolution, définie par

(fg)(x)=Rf(x+t)g(t)dt(f*g) (x) = \int_\mathbb{R} f(x+t) g(-t) dt

Par contre, coup de bol (ou pas, puisque ça prête à confusion) lorsqu’on prend g(t)=eiωtg(t) = e^{i\omega t} on retrouve bien

<f,g>L2=(fg)(0)=Rf(t)eiωtdt<f,g>_{L^2} = (f*g)(0) = \int_\mathbb{R} f(t) e^{-i\omega t} dt

ce qui est la raison, j’imagine, pour laquelle tu en parles.

Je voudrais aussi noter qu’il y a des interactions intéressantes entre la convolution et la transformée de Fourier, puisqu’on a

F(fg;ω)=F(f;ω)F(g;ω)\mathcal{F} (f*g; \omega) = \mathcal{F} (f; \omega) \mathcal{F} (g; \omega)

ce qui a un tas d’implications en traitement du signal et en automatique (cf fonctions de transfert ou fonctions de Green).

Pour finir, je vais insister sur la transformée de Fourier inverse, mais à mon sens elle est très importante puisqu’elle montre que le passage du domaine temporel/spatial au domaine fréquentiel conserve parfaitement l’information. Ça ouvre d’ailleurs la porte à 1 ou 2 exemples (j’ai en tête une animation où un signal carré est reconstruit harmonique par harmonique). Je ne sais pas s’il faut aller plus loin (si on attaque en parlant de base duale ça risque d’être moins accessible) mais je crois que pour l’instant l’inverse manque.

+1 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte