Outils pour utilisateurs

Outils du site


nsi:tds:maths:fft

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
nsi:tds:maths:fft [2022/04/03 15:19] – ↷ Page déplacée de nsi:tds:fft à nsi:tds:maths:fft goupillwikinsi:tds:maths:fft [2022/04/03 15:23] (Version actuelle) goupillwiki
Ligne 1: Ligne 1:
 ====== Algorithme FFT - Fast Fourier Transform ====== ====== Algorithme FFT - Fast Fourier Transform ======
  
-{{ :nsi:tds:fourier.jpg?nolink&200|}}+{{ .:fourier.jpg?nolink&200|}}
  
 Au début du XIXe siècle, dans ses travaux sur la chaleur, Joseph Fourier propose une méthode pour transformer une fonction périodique en une somme de fonctions trigonométriques. Ce principe sera ensuite abondamment développé et se révélera d'une importance capitale en particulier en physique et en [[https://fr.wikipedia.org/wiki/Traitement_du_signal|traitement du signal]]. Au début du XIXe siècle, dans ses travaux sur la chaleur, Joseph Fourier propose une méthode pour transformer une fonction périodique en une somme de fonctions trigonométriques. Ce principe sera ensuite abondamment développé et se révélera d'une importance capitale en particulier en physique et en [[https://fr.wikipedia.org/wiki/Traitement_du_signal|traitement du signal]].
Ligne 13: Ligne 13:
 Prenons la corde d'un instrument : violon, guitare... La corde est bloquée de deux côtés et on la fait vibrer. La corde a plusieurs façons possibles de vibrer. On parle de modes de vibrations. Prenons la corde d'un instrument : violon, guitare... La corde est bloquée de deux côtés et on la fait vibrer. La corde a plusieurs façons possibles de vibrer. On parle de modes de vibrations.
  
-{{ :nsi:tds:cordes_fourier.jpg?direct&400 |}}+{{ .:cordes_fourier.jpg?direct&400 |}}
  
 Vous voyez que certains modes ont plus d'ondulations. Une onde plus courte correspond à une fréquence plus élevée. Donc on peut dire que la corde peut onduler selon plusieurs fréquences. Vous voyez que certains modes ont plus d'ondulations. Une onde plus courte correspond à une fréquence plus élevée. Donc on peut dire que la corde peut onduler selon plusieurs fréquences.
Ligne 35: Ligne 35:
 {{ youtube>bopZQdsJb_E }} {{ youtube>bopZQdsJb_E }}
  
-{{ :nsi:tds:sin440.png?direct&400 |}}+{{ .:sin440.png?direct&400 |}}
  
 ==== Superposition ==== ==== Superposition ====
Ligne 41: Ligne 41:
 Mais la corde mélange tous les modes possibles et la vibrations est la somme de plusieurs modes, plus ou moins forts. Par exemple le mode F aura une amplitude de 1, 2F une amplitude de 0.3, 3F un amplitude de 0.5 et 4F une amplitude de 0.2. Voici le signal résultant de la somme de ces 3 composantes : Mais la corde mélange tous les modes possibles et la vibrations est la somme de plusieurs modes, plus ou moins forts. Par exemple le mode F aura une amplitude de 1, 2F une amplitude de 0.3, 3F un amplitude de 0.5 et 4F une amplitude de 0.2. Voici le signal résultant de la somme de ces 3 composantes :
  
-{{ :nsi:tds:son_composite.png?direct&400 |}}+{{ .:son_composite.png?direct&400 |}}
  
 ==== Percevoir les composantes ==== ==== Percevoir les composantes ====
Ligne 59: Ligne 59:
 $$F = 440\,Hz\quad F\to 1 \quad 2F\to 0,3 \quad 3F \to 0,5 \quad 4F \to 0,2$$  $$F = 440\,Hz\quad F\to 1 \quad 2F\to 0,3 \quad 3F \to 0,5 \quad 4F \to 0,2$$ 
  
-{{ :nsi:tds:spectre.svg |}}+{{ .:spectre.svg |}}
  
 Ce signal est plus compliqué qu'un simple sinus. On peut appeler //fondamental// le mode de la première fréquence et //harmoniques// les autres. En musique, le fondamental a une importance particulière. Ce signal est plus compliqué qu'un simple sinus. On peut appeler //fondamental// le mode de la première fréquence et //harmoniques// les autres. En musique, le fondamental a une importance particulière.
Ligne 70: Ligne 70:
 Dans le cadre d'un fichier numérique, une complication s'ajoute. Les signaux sont **échantillonnés**. C'est à dire que l'on ne travaille pas sur un signal continu comme sur les courbes précédentes. On ne dispose que de points prélevés à intervalle fixe. Dans le cadre d'un fichier numérique, une complication s'ajoute. Les signaux sont **échantillonnés**. C'est à dire que l'on ne travaille pas sur un signal continu comme sur les courbes précédentes. On ne dispose que de points prélevés à intervalle fixe.
  
-{{ :nsi:tds:dotted_graphe.png?direct&400 |}}+{{ .:dotted_graphe.png?direct&400 |}}
  
 Sur le graphique ci-dessus, on a relevé les points de la courbe à intervalle $T_e$, //e pour échantillonnage//. On utilise aussi souvent la fréquence d'échantillonnage $F_e = \frac{1}{T_e}$ qui s'exprime en Hz. Sur le graphique ci-dessus, on a relevé les points de la courbe à intervalle $T_e$, //e pour échantillonnage//. On utilise aussi souvent la fréquence d'échantillonnage $F_e = \frac{1}{T_e}$ qui s'exprime en Hz.
Ligne 158: Ligne 158:
 Le calcul ci-dessus peut-être décrit par cette figure. Le calcul ci-dessus peut-être décrit par cette figure.
  
-{{ :nsi:tds:fft_cell.png?direct&400 |}}+{{ .:fft_cell.png?direct&400 |}}
  
 La liste des $x_k$ permet de calculer la liste des $X_k$, en tenant compte du facteur $w(n)$. La liste des $x_k$ permet de calculer la liste des $X_k$, en tenant compte du facteur $w(n)$.
Ligne 166: Ligne 166:
 Cela suppose que $n$ est pair. Et pour itérer le principe, on demandera même que $n$ soit une puissance de 2. Cela suppose que $n$ est pair. Et pour itérer le principe, on demandera même que $n$ soit une puissance de 2.
  
-{{ :nsi:tds:fft_2cells.png?direct&400 |}}+{{ .:fft_2cells.png?direct&400 |}}
  
 Ce que signifie ce schéma : Ce que signifie ce schéma :
Ligne 177: Ligne 177:
 Bien sûr, $FFT\left(\frac{n}{2}\right)$ sera obtenu récursivement en découpant en 2 blocs $FFT\left(\frac{n}{4}\right)$... et on poursuit jusqu'à avoir des cellules avec un seul item en entrée. Bien sûr, $FFT\left(\frac{n}{2}\right)$ sera obtenu récursivement en découpant en 2 blocs $FFT\left(\frac{n}{4}\right)$... et on poursuit jusqu'à avoir des cellules avec un seul item en entrée.
  
-{{ :nsi:tds:fft_cell_0.png?direct&400 |}}+{{ .:fft_cell_0.png?direct&400 |}}
  
 Pour finir, quand on a tous les $X_k$, on peut calculer les éléments du spectre par $\left|\frac{X_k}{n}\right|. Pour finir, quand on a tous les $X_k$, on peut calculer les éléments du spectre par $\left|\frac{X_k}{n}\right|.
Ligne 187: Ligne 187:
 Vous pouvez poursuivre par quelques expériences sur les signaux suivants -- //clic-droit dessus et enregistrer pour télécharger.// Vous pouvez poursuivre par quelques expériences sur les signaux suivants -- //clic-droit dessus et enregistrer pour télécharger.//
  
-{{ :nsi:tds:a.wav |a}}+{{ .:a.wav |a}}
  
-{{ :nsi:tds:e.wav |e}}+{{ .:e.wav |e}}
  
-{{ :nsi:tds:i.wav |i}}+{{ .:i.wav |i}}
  
-{{ :nsi:tds:o.wav |o}}+{{ .:o.wav |o}}
  
-{{ :nsi:tds:u.wav |u}}+{{ .:u.wav |u}}
  
-{{ :nsi:tds:aeiaeo.wav |aeiaeo}}+{{ .:aeiaeo.wav |aeiaeo}}
  
 Pour charger le signal, je vous donne le script Python : Pour charger le signal, je vous donne le script Python :
nsi/tds/maths/fft.1648991977.txt.gz · Dernière modification : de goupillwiki