Physique-chimie · Terminale · Enseignement de spécialité · Fiche n°10

Deux ondes se croisent,
l'une peut effacer l'autre.

Additionne deux signaux sinusoïdaux parfaitement identiques, juste décalés dans le temps, et observe leur somme. Selon ce décalage, l'onde résultante peut être deux fois plus forte, deux fois plus faible, ou même totalement nulle — deux signaux non nuls qui s'annulent l'un l'autre. C'est le phénomène d'interférences, que tu vas visualiser point par point.

interferences.py — aperçuφ = 0.00 rad
S1 S2 S1+S2

Objectif de la fiche : représenter, à l'aide d'un langage de programmation, la somme de deux signaux sinusoïdaux périodiques synchrones en faisant varier la phase à l'origine de l'un des deux, pour visualiser le phénomène d'interférences en un point donné.

Cette fiche est autonome : tu n'as besoin d'aucun autre document. Chaque étape contient un script incomplet à compléter, puis à copier-coller dans Thonny (ou dans la console Basthon tout en bas de la page si tu n'as pas Thonny sous la main).

+

Contexte : superposer deux ondes

À savoir
  • Quand deux signaux sinusoïdaux de même fréquence (on dit synchrones) se superposent en un point donné, le signal résultant dépend fortement de leur déphasage — le décalage entre l'un et l'autre.
  • Cette fiche simule deux signaux de même amplitude et de même période, et observe leur somme pour différentes valeurs de ce déphasage : c'est exactement le phénomène à l'œuvre dans les interférences, qu'elles soient lumineuses, sonores, ou mécaniques.
00

Construire une sinusoïde

Consigne
  • Choisis une pulsation w = 10, et une base de temps lt avec np.linspace(0, 2, 1000) (1000 instants entre 0 et 2 secondes).
  • Définis une fonction s1(t) qui renvoie np.sin(w*t) — le premier signal sinusoïdal.
  • Trace s1(lt) en fonction de lt, en bleu ('b-'), avec la légende 'S1', les étiquettes "temps" / "signal" et le titre "sinusoïde seule".
etape0_sinusoide.py
import numpy as np
import matplotlib.pyplot as plt

w = __
lt = np.linspace(_, _, ____)

# TODO : premier signal sinusoïdal
def s1(t) :
    return np.sin(_*t)

# TODO : trace s1 en fonction du temps
plt.plot(__, s1(__), '__', label='__')
plt.xlabel("_____")
plt.ylabel("______")
plt.title("______________")
plt.legend()
plt.show()
Résultat attendu

Une sinusoïde bleue classique, oscillant entre -1 et 1, qui effectue un peu plus de 3 périodes complètes sur les 2 secondes affichées.

01

Ajouter un second signal déphasé

Consigne
  • Choisis un déphasage phi = 2 (en radians), puis définis s2(t), qui renvoie np.sin(w*t + phi) — le même signal que s1, mais décalé.
  • Trace s1 et s2 sur le même graphe : s1 en bleu avec la légende 'S1', s2 en vert ('g-') avec la légende 'S2'.
etape1_dephasage.py
phi = _

# TODO : second signal, identique à s1 mais déphasé de phi
def s2(t) :
    return np.sin(w*t + ___)

plt.plot(lt, s1(lt), '__', label='__')
plt.plot(__, s2(__), '__', label='__')
plt.xlabel("temps")
plt.ylabel("signal")
plt.title("sinusoïdes déphasées")
plt.legend()
plt.show()
Résultat attendu

Deux sinusoïdes de même forme, mais visiblement décalées l'une par rapport à l'autre : là où S1 atteint son maximum, S2 ne l'a pas encore atteint (ou l'a déjà dépassé, selon le signe de phi).

02

Calculer et tracer la somme

Consigne
  • Définis une fonction somme(t), qui renvoie s1(t) + s2(t).
  • Trace les trois courbes ensemble : S1 en bleu, S2 en vert, et S1+S2 en rouge ('r-').
etape2_somme.py
phi = 2

# TODO : fonction somme des deux signaux
def somme(t) :
    return _____ + _____

plt.plot(lt, s1(lt), 'b-', label='S1')
plt.plot(lt, s2(lt), 'g-', label='S2')
plt.plot(__, somme(__), '__', label='____')
plt.xlabel("temps")
plt.ylabel("signal")
plt.title("sinusoïdes déphasées")
plt.legend()
plt.show()
Résultat attendu

La courbe rouge S1+S2 est elle-même une sinusoïde (une propriété remarquable : la somme de deux sinusoïdes synchrones est toujours une sinusoïde de même fréquence), mais avec une amplitude et une phase différentes de celles de S1 et S2 pris séparément.

03

Explorer différentes valeurs de phi

Consigne
  • Modifie « à la main » la valeur de phi tout en haut du script (par exemple 0.5, puis 4, puis 3.14), et relance l'affichage à chaque fois pour observer l'effet sur la courbe S1+S2.

Ce que tu devrais observer

valeur de phi0,543,14 (≈ π)
amplitude de S1+S2proche de 2 (presque en phase)intermédiairequasiment nulle

Pour phi ≈ π, les deux signaux sont en opposition de phase : quand l'un est à son maximum, l'autre est à son minimum. Leur somme s'annule alors presque complètement — deux signaux non nuls qui s'effacent mutuellement. C'est le phénomène d'interférences destructives.

04

Automatiser l'exploration avec une boucle for

Consigne
  • Plutôt que de changer phi à la main, crée une liste de valeurs à explorer avec lphi = np.linspace(0, np.pi, 7) (7 valeurs régulièrement réparties entre 0 et π).
  • Dans une boucle for phi in lphi :, trace somme(lt) en fonction de lt, avec une légende dynamique qui indique la valeur de phi utilisée : label = 'phi=' + str(round(phi, 1)) convertit le nombre en texte pour pouvoir l'assembler avec le reste de la légende.
  • N'oublie pas que somme utilise la variable phi définie à l'extérieur de la fonction s2 : c'est parce que phi change à chaque tour de boucle que chaque courbe tracée sera différente.
etape4_boucle_for.py
# TODO : 7 valeurs de déphasage entre 0 et π
lphi = np.linspace(_, np.pi, _)
for phi in ____ :
    plt.plot(lt, somme(lt), label='____' + str(round(___, 1)))
plt.xlabel("temps")
plt.ylabel("signal")
plt.title("sinusoïdes déphasées")
plt.legend()
plt.show()
Indice

str(round(phi, 1)) convertit un nombre en texte, arrondi à 1 décimale : c'est nécessaire car l'opérateur + entre une chaîne de caractères ('phi=') et un nombre provoquerait une erreur si le nombre n'était pas d'abord converti en texte.

Résultat attendu

Sept courbes superposées, d'amplitude décroissante à mesure que phi se rapproche de π : la dernière courbe (phi ≈ 3,1) est presque plate, collée à zéro — la signature visuelle des interférences destructives.

+

Conclusion

À retenir
  • Le déphasage entre deux sinusoïdes synchrones a un impact direct et visible sur la valeur de leur somme, aussi bien sur son amplitude que sur sa phase.
  • Deux sinusoïdes non nulles peuvent avoir une somme nulle lorsqu'elles sont en opposition de phase : c'est le phénomène d'interférences destructives, une conséquence directe et purement mathématique du principe de superposition, applicable à toute onde synchrone (lumineuse, sonore, mécanique...).

Pense-bête — superposer des signaux

np.sin(w*t + phi)sinusoïde de pulsation w, déphasée de phi
np.linspace(0,np.pi,n)n valeurs régulières entre 0 et π
str(round(x,1))convertit un nombre en texte pour une légende
phi ≈ 0interférences constructives (somme maximale)
phi ≈ πinterférences destructives (somme quasi nulle)
somme de sinusoïdes synchronestoujours une sinusoïde de même fréquence

Pas de Thonny sous la main ? Utilise Basthon

Ouvrir dans un nouvel onglet ↗
Basthon est une console Python qui tourne directement dans le navigateur, sans rien installer. Colle ici (avec Ctrl+V ou Cmd+V) le code copié avec les boutons « Copier le code » ci-dessus, puis appuie sur Entrée pour l'exécuter.