MathQuest

Transformée de Fourier

⏱ ~12 min·+30 XP
💡

Pourquoi apprendre ça ?

La transformée de Fourier étend la décomposition en séries de Fourier aux fonctions non périodiques. Elle transforme un signal du domaine temporel vers le domaine fréquentiel : quelle fréquence est présente et avec quelle intensité. Ses propriétés — linéarité, décalage, dualité, convolution — sont les outils quotidiens du traitement du signal. La TFD et la FFT en sont les versions numériques, au cœur de tout système de traitement digital moderne.

🎯

Analogie

Un spectromètre analyse la lumière d'une étoile et révèle les éléments chimiques présents via leurs raies spectrales. La transformée de Fourier est le spectromètre du traitement du signal : elle révèle quelles fréquences composent un signal, même non répétitif. La FFT est la version rapide de cet instrument — comme passer d'un analyseur manuel à un analyseur en temps réel.

Définition et transformées usuelles

📐

Théorie

La transformée de Fourier d'une fonction f:RCf : \mathbb{R} \to \mathbb{C} est : f^(ξ)=F{f}(ξ)=+f(t)e2πiξtdt\hat{f}(\xi) = \mathcal{F}\{f\}(\xi) = \int_{-\infty}^{+\infty} f(t)\,e^{-2\pi i \xi t}\,dt

Transformée inverse : f(t)=+f^(ξ)e2πiξtdξf(t) = \int_{-\infty}^{+\infty} \hat{f}(\xi)\,e^{2\pi i \xi t}\,d\xi

Paires de transformées usuelles :

| f(t)f(t) | f^(ξ)\hat{f}(\xi) | |---|---| | rect(t/2a)\mathrm{rect}(t/2a) | 2asinc(2ξa)2a\,\mathrm{sinc}(2\xi a) | | eate^{-a|t|} (a>0a>0) | 2aa2+4π2ξ2\dfrac{2a}{a^2 + 4\pi^2\xi^2} | | eπt2e^{-\pi t^2} (gaussienne) | eπξ2e^{-\pi\xi^2} | | δ(t)\delta(t) (Dirac) | 11 (spectre plat) | | 11 | δ(ξ)\delta(\xi) | | e2πif0te^{2\pi i f_0 t} | δ(ξf0)\delta(\xi - f_0) |

📝

Transformée de Fourier d'un signal porte

Signal porte de largeur 2a2a centré en 0 : f(t)={1ta0sinonf(t) = \begin{cases} 1 & |t| \le a \\ 0 & \text{sinon} \end{cases}

f^(ξ)=aae2πiξtdt=sin(2πξa)πξ=2asinc(2ξa)\hat{f}(\xi) = \int_{-a}^{a} e^{-2\pi i\xi t}\,dt = \frac{\sin(2\pi\xi a)}{\pi\xi} = 2a\,\mathrm{sinc}(2\xi a)

Un rectangle large en temps donne un sinc étroit en fréquence, et réciproquement — c'est la dualité temps-fréquence.

Propriétés fondamentales

📐

Théorie

Tableau des propriétés de la TF :

| Propriété | Domaine temporel | Domaine fréquentiel | |---|---|---| | Linéarité | αf+βg\alpha f + \beta g | αf^+βg^\alpha\hat{f} + \beta\hat{g} | | Décalage temporel | f(tt0)f(t - t_0) | e2πiξt0f^(ξ)e^{-2\pi i\xi t_0}\hat{f}(\xi) | | Décalage fréquentiel | e2πiξ0tf(t)e^{2\pi i\xi_0 t}f(t) | f^(ξξ0)\hat{f}(\xi - \xi_0) | | Changement d'échelle | f(at)f(at) | 1af^(ξ/a)\frac{1}{|a|}\hat{f}(\xi/a) | | Dualité | f^(t)\hat{f}(t) | f(ξ)f(-\xi) | | Dérivation | f(t)f'(t) | 2πiξf^(ξ)2\pi i\xi\,\hat{f}(\xi) | | Convolution | (fg)(t)(f * g)(t) | f^(ξ)g^(ξ)\hat{f}(\xi)\cdot\hat{g}(\xi) | | Multiplication | f(t)g(t)f(t)\cdot g(t) | (f^g^)(ξ)(\hat{f} * \hat{g})(\xi) |

La propriété de convolution est centrale : la convolution dans le temps est une multiplication en fréquence, et réciproquement.

📝

Propriétés de décalage et de dérivation

Décalage temporel : si f(t)=eπt2f(t) = e^{-\pi t^2} (gaussienne), alors f^(ξ)=eπξ2\hat{f}(\xi) = e^{-\pi\xi^2}.

Pour g(t)=f(t2)g(t) = f(t-2) : g^(ξ)=e4πiξeπξ2\hat{g}(\xi) = e^{-4\pi i\xi}\cdot e^{-\pi\xi^2}.

Le module g^(ξ)=eπξ2|\hat{g}(\xi)| = e^{-\pi\xi^2} est identique — seule la phase change. Décaler en temps ne modifie pas le spectre d'amplitude.

Dérivation : pour résoudre l'EDO y+y=fy' + y = f par TF : (2πiξ+1)y^(ξ)=f^(ξ)y^(ξ)=f^(ξ)1+2πiξ(2\pi i\xi + 1)\hat{y}(\xi) = \hat{f}(\xi) \Rightarrow \hat{y}(\xi) = \frac{\hat{f}(\xi)}{1 + 2\pi i\xi}

La TF transforme une EDO en une simple équation algébrique.

🧩

Checkpoint

Quel est l'effet d'un décalage temporel sur la transformée de Fourier ?

Convolution et filtrage linéaire

📐

Théorie

La convolution de deux signaux est : (fg)(t)=+f(τ)g(tτ)dτ(f * g)(t) = \int_{-\infty}^{+\infty} f(\tau)\,g(t-\tau)\,d\tau

Théorème de convolution : F{fg}=f^g^\mathcal{F}\{f * g\} = \hat{f}\cdot\hat{g} et F{fg}=f^g^\mathcal{F}\{f\cdot g\} = \hat{f} * \hat{g}

Un filtre LTI (linéaire invariant dans le temps) de réponse impulsionnelle h(t)h(t) donne en sortie : y(t)=(fh)(t)Fy^(ξ)=f^(ξ)h^(ξ)y(t) = (f * h)(t) \xrightarrow{\mathcal{F}} \hat{y}(\xi) = \hat{f}(\xi)\cdot\hat{h}(\xi)

Le filtrage, opération complexe en temps, devient une simple multiplication en fréquence.

Filtre passe-bas idéal : h^(ξ)=rect(ξ/2ξc)\hat{h}(\xi) = \mathrm{rect}(\xi/2\xi_c) coupe toutes les fréquences >ξc> \xi_c. Sa réponse impulsionnelle h(t)=2ξcsinc(2ξct)h(t) = 2\xi_c\,\mathrm{sinc}(2\xi_c t) est non causale — donc non réalisable physiquement tel quel.

📝

Filtrage passe-bas et convolution

Signal f(t)=cos(2π10t)+0,3cos(2π200t)f(t) = \cos(2\pi\cdot 10\,t) + 0{,}3\cos(2\pi\cdot 200\,t) filtré par un passe-bas de fréquence de coupure ξc=50\xi_c = 50 Hz.

Spectre d'entrée : deux raies à 10 Hz et 200 Hz.

Après multiplication par h^(ξ)=rect(ξ/100)\hat{h}(\xi) = \mathrm{rect}(\xi/100) :

  • Raie à 10 Hz (<50< 50 Hz) : conservée
  • Raie à 200 Hz (>50> 50 Hz) : supprimée

Sortie : y(t)=cos(2π10t)y(t) = \cos(2\pi\cdot 10\,t) — le bruit haute fréquence est éliminé.

TFD et FFT — aperçu

📐

Théorie

En pratique, les signaux sont discrets (échantillonnés). La Transformée de Fourier Discrète (TFD) d'une séquence {x0,,xN1}\{x_0, \ldots, x_{N-1}\} est : Xk=n=0N1xne2πikn/Nk=0,,N1X_k = \sum_{n=0}^{N-1} x_n\,e^{-2\pi i kn/N} \quad k = 0, \ldots, N-1

XkX_k est l'amplitude à la fréquence kfe/Nk\cdot f_e/N (résolution fréquentielle Δf=fe/N\Delta f = f_e/N).

FFT (Fast Fourier Transform) : algorithme de calcul de la TFD en O(NlogN)O(N\log N) au lieu de O(N2)O(N^2). Pour N=1024N = 1024 : gain d'un facteur 100\approx 100.

Théorème de Shannon-Nyquist : pour éviter l'aliasing, la fréquence d'échantillonnage doit vérifier fe>2fmaxf_e > 2f_{\max}.

La TFD suppose le signal périodique de période NN — des artefacts apparaissent aux bords si ce n'est pas le cas (fenêtrage nécessaire).

⚠️

Piège : TF, séries de Fourier et TFD sont trois outils distincts

  • Séries de Fourier : signaux périodiques → coefficients discrets cnc_n
  • TF : signaux non périodiques d'énergie finie → spectre continu f^(ξ)\hat{f}(\xi)
  • TFD/FFT : signaux numériques échantillonnés → spectre discret XkX_k

Ne pas confondre ces trois outils. La TFD suppose implicitement la périodicité du signal sur la fenêtre d'analyse.

🧩

Checkpoint

La propriété signifie que :

🧩

Checkpoint

La FFT calcule la TFD de points. Le gain en nombre d'opérations par rapport à la TFD naïve () est d'un facteur :

🧩

Checkpoint

Selon le théorème de Shannon-Nyquist, pour échantillonner correctement un signal audio dont la fréquence maximale est 20 kHz, la fréquence d'échantillonnage minimale est :

Signaux courants et dualité temps-fréquence

📐

Théorie

Paires de transformées de Fourier importantes :

| Signal f(t)f(t) | Transformée f^(ξ)\hat{f}(\xi) | Interprétation | |---|---|---| | rect(t/2a)\mathrm{rect}(t/2a) (porte de largeur 2a2a) | 2asinc(2aξ)2a\,\mathrm{sinc}(2a\xi) | Porte large → sinc étroit | | δ(t)\delta(t) (Dirac) | 11 | Spectre plat — toutes les fréquences | | 11 (constante) | δ(ξ)\delta(\xi) | Énergie concentrée à ξ=0\xi = 0 | | eπt2e^{-\pi t^2} (gaussienne) | eπξ2e^{-\pi\xi^2} | La gaussienne est sa propre TF | | e2πif0te^{2\pi i f_0 t} | δ(ξf0)\delta(\xi - f_0) | Raie spectrale à f0f_0 |

Dualité temps-fréquence : si F{f}=f^\mathcal{F}\{f\} = \hat{f}, alors F{f^(t)}(ξ)=f(ξ)\mathcal{F}\{\hat{f}(t)\}(\xi) = f(-\xi).

Principe d'incertitude de Heisenberg : un signal ne peut pas être simultanément très localisé en temps ET en fréquence : σtσξ14π\sigma_t \cdot \sigma_\xi \geq \frac{1}{4\pi} La gaussienne atteint l'égalité — elle est le signal optimal au sens de la concentration temps-fréquence.

📝

Dualité porte–sinc et Dirac comme limite

Porte étroite → spectre large : signal porte de largeur 2a=0.12a = 0.1 s → premier zéro du sinc à ξ=1/(2a)=10\xi = 1/(2a) = 10 Hz — spectre étalé.

Porte large → spectre étroit : largeur 2a=102a = 10 s → premier zéro à ξ=0.1\xi = 0.1 Hz — spectre concentré.

Dirac comme limite : δ(t)=lima012arect(t/2a)\delta(t) = \lim_{a \to 0} \dfrac{1}{2a}\mathrm{rect}(t/2a). Quand la porte devient infiniment étroite et haute, son spectre tend vers 11 — le Dirac contient toutes les fréquences avec la même amplitude.

C'est la dualité exacte de F{1}=δ(ξ)\mathcal{F}\{1\} = \delta(\xi) : un signal constant dans le temps n'a qu'une seule fréquence (nulle).

FFT et filtrage numérique

📐

Théorie

Algorithme FFT (Cooley-Tukey) : la TFD naïve coûte O(N2)O(N^2) opérations. La FFT exploite la symétrie des racines de l'unité ωN=e2πi/N\omega_N = e^{-2\pi i/N} pour décomposer récursivement :

Xk=n=0N/21x2nωN/2nkEk (indices pairs)+ωNkn=0N/21x2n+1ωN/2nkOk (indices impairs)X_k = \underbrace{\sum_{n=0}^{N/2-1} x_{2n}\,\omega_{N/2}^{nk}}_{E_k\text{ (indices pairs)}} + \omega_N^k \underbrace{\sum_{n=0}^{N/2-1} x_{2n+1}\,\omega_{N/2}^{nk}}_{O_k\text{ (indices impairs)}}

Cette décomposition "papillon" divise le problème en deux sous-TFD de taille N/2N/2, donnant la récurrence T(N)=2T(N/2)+O(N)T(N) = 2T(N/2) + O(N) dont la solution est O(Nlog2N)O(N\log_2 N).

Pipeline de filtrage numérique par FFT :

  1. X=FFT(x)X = \mathrm{FFT}(x) — passer dans le domaine fréquentiel
  2. Yk=XkHkY_k = X_k \cdot H_k — multiplication terme à terme par la réponse fréquentielle du filtre
  3. y=IFFT(Y)y = \mathrm{IFFT}(Y) — revenir au domaine temporel

Fenêtrage : la TFD suppose le signal périodique sur la fenêtre. Des discontinuités aux bords créent des fuites spectrales. Multiplier par une fenêtre (Hann, Hamming, Blackman) avant la FFT atténue ces artefacts.

📝

Filtrage numérique passe-bas par FFT

Signal : x[n]=cos(2π10n/fe)+cos(2π300n/fe)x[n] = \cos(2\pi \cdot 10 \cdot n/f_e) + \cos(2\pi \cdot 300 \cdot n/f_e), fe=1000f_e = 1000 Hz, N=1024N = 1024 points.

Filtre passe-bas, coupure à 50 Hz : Hk={1si kfe/N50 Hz0sinonH_k = \begin{cases} 1 & \text{si } |k \cdot f_e/N| \leq 50 \text{ Hz} \\ 0 & \text{sinon} \end{cases}

Après FFT → multiplication → IFFT : la composante à 300 Hz est supprimée, seul cos(2π10n/fe)\cos(2\pi \cdot 10 \cdot n/f_e) subsiste.

Coût FFT : Nlog2N=1024×1010000N\log_2 N = 1024 \times 10 \approx 10\,000 opérations vs N2106N^2 \approx 10^6 pour la convolution directe — gain d'un facteur 100\approx 100.

🧩

Checkpoint

Quelle est la transformée de Fourier de (distribution de Dirac) ?

🧩

Checkpoint

Dans le filtrage numérique par FFT, pourquoi applique-t-on une fenêtre (Hann, Hamming) avant la FFT ?

À retenir

  • La TF transforme du domaine temporel vers le fréquentiel : f^(ξ)=f(t)e2πiξtdt\hat{f}(\xi) = \int f(t)e^{-2\pi i\xi t}\,dt
  • Paires clés : δ(t)1\delta(t) \leftrightarrow 1, gaussienne \leftrightarrow gaussienne, porte \leftrightarrow sinc, 1δ(ξ)1 \leftrightarrow \delta(\xi)
  • Propriétés : linéarité, décalage temporel → déphasage e2πiξt0e^{-2\pi i\xi t_0}, convolution temporelle \leftrightarrow multiplication fréquentielle
  • Dualité : signal concentré en temps ↔ spectre étalé en fréquence (principe d'incertitude σtσξ1/4π\sigma_t \cdot \sigma_\xi \geq 1/4\pi)
  • TFD/FFT : Xk=n=0N1xne2πikn/NX_k = \sum_{n=0}^{N-1} x_n e^{-2\pi ikn/N} — FFT réduit O(N2)O(N^2) à O(Nlog2N)O(N\log_2 N) via décomposition papillon
  • Filtrage numérique : FFT → multiplication par HkH_k → IFFT — bien plus rapide que la convolution directe
  • Fenêtrage (Hann, Hamming) : atténue les fuites spectrales avant la FFT
Passer aux exercices →