Effet Doppler


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. Soit θs l'angle entre SO et Vs et θo l'angle entre OS et Vo. Pour des vitesses non relativistes , la fréquence perçue f ' est donnée en fonction de la fréquence f émise par la relation :

doppler

Dans cette relation, c est la vitesse de l'onde dans le milieu.

La source (point rouge) se déplace avec une vitesse constante modifiable avec le curseur.
A des intervalles de temps égaux, cette source émet une onde sphérique qui se propage avec la vitesse c = 340 m/s. (Les cercles d'onde en rouge ont été émis lorsque la source occupait une position représentée en rouge).
Quand la source se rapproche de l'observateur (point vert), les fronts d'onde sont plus resserrés que si la source était immobile : la longueur d'onde diminue, la fréquence augmente et l'observateur perçoit un son plus aigu. C'est le contraire qui se produit quand la source s'éloigne.
Quand la vitesse du mobile atteint celle de l'onde, il y a une concentration de l'énergie vibratoire sur le mobile qui provoque des phénomènes non linéaires complexes. (mur du son).

Utilisation : 
Un curseur permet de régler la vitesse de l'animation.
Cliquer sur un bouton de la souris pour geler l'animation, relâcher le bouton pour continuer.


Dans le second programme, on considère 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.
Initialement, il perçoit 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 est généré par calcul, codé et conservé dans un tableau utilisé par une classe de la machine virtuelle Java pour être exécuté. Cette classe (non documentée par Sun) met un certain délai pour cesser l'utilisation d'un tableau et commencer l'exécution d'un nouveau. Ceci explique l'aspect peu satisfaisant du programme (arrêt lors du changement de fréquence)..