Si on considère une source sonore mobile S se déplaçant à la vitesse uniforme Vs émettant un son de fréquence f et un observateur O se déplaçant à la vitesse uniforme Vo, si θs est l'angle entre SO et Vs et θo l'angle entre OS et Vo, on montre que la fréquence perçue f ' est donnée en fonction de la fréquence f émise par la relation générale suivante dans laquelle c désigne la vitesse de l'onde dans le milieu.:
Dans le cas général, la fréquence du son perçu varie de manière continue avec le temps ce qui en rend impossible en pratique la synthèse du son en temps réel.
Dans le programme, on utilise un mobile se déplaçant avec une vitesse
V constante, émettant à intervalle de temps régulier Δt un bip sonore. Un observateur immobile enregistre les sons perçus.
Quand la source se rapproche de l'observateur (point bleu), les fronts d'onde (en rouge) sont plus resserrés que si la source était immobile :
La durée entre deux bips est inférieure à Δt.
Avec un mobile émettant une onde continue, ceci correspond à une diminution de la longueur d'onde, une augmentation de la fréquence (l'observateur perçoit un son plus aigu que celui qui est émis).
C'est le contraire qui se produit quand la source s'éloigne.
Utilisation
Presser le bouton [Initialiser] pour modifier la position du mobile (glisser le point bleu verticalement avec la souris) et sa vitesse (glisser le point rouge avec la souris). Presser le bouton [Départ] pour lancer l'animation.
A l'émission de chaque bip, le programme affiche une barre rouge sur l'échelle de temps de la fenêtre du haut.
Le pas utilisé pas les calculs est de 15 ms et un bip est émit tous les 20 pas (Δt = 0,3 s).
A la réception d'un bip par l'observateur, le programme affiche une barre bleue et détermine l'écart Δt' qui sépare la réception de ce bip du bip précédent. La précision sur cet écart est de l'ordre 5 ms.
Établir la formule qui donne Δt' en fonction de Δt.
Expérimenter avec une vitesse horizontale puis avec une vitesse orientée de façon quelconque.
Pour geler l'animation faire un clic droit avec la souris. Relâcher le bouton pour continuer.
Dans ce programme, on considère cette fois un observateur immobile sur le bord d'une route qui écoute l'avertisseur sonore d'un véhicule qui s'approche puis s'éloigne de lui avec une vitesse V.
Dans ce cas particulier en négligeant les variations de fréquences au voisinage immédiat de l'observateur, on peut considérer qu'il perçoit initialement un son de fréquence f ' = f.c / (c - V) donc plus aigu que f.
Quand le véhicule est à son niveau, il entend un son de fréquence f (pas d'effet transversal) et enfin un son dont la fréquence tend vers f '' = f.c / (c + V) (plus grave) quand la source s'éloigne.
Le son émis étant généré par calcul, ce programme consomme beaucoup de mémoire et utilise fortement le processeur.