On considère deux sources ponctuelles quasi-monochromatiques S1 et S2, de fréquences a priori différentes. Les ondes issues de ces deux sources parviennent en un point M de l'espace avec un temps de propagation noté τ1 pour la première, τ2 pour la seconde. Ce retard peut venir d'une simple propagation dans un milieu homogène, on d'un dispositif optique plus complexe. Au point M, les fonctions d'onde s'ajoutent. La grandeur mesurable en ce point est l'intensité, égale à la moyenne temporelle du carré de la fonction d'onde.
L'onde provenant de la première source s'écrit au point M :
La fonction permet de modéliser le caractère quasi-monochromatique de l'onde. Il s'agit d'une phase constante par morceaux, qui change de valeur aléatoirement avec une période égale au temps de cohérence Δt. Cette fonction est une propriété de la source, indépendante du dispositif optique qui introduit le retard.
Lorsque seule cette onde est présente, l'intensité au point M est :
On définit de même l'onde au point M provenant de la seconde source :
La fonction d'onde résultante au point M est la somme :
L'intensité est la moyenne temporelle du carré de la fonction d'onde :
Le second terme est nul en raison de la très grande valeur de la fréquence f1+f2 par rapport à l'inverse du temps de réponse des capteurs. Le dernier terme est le terme d'interférence :
Soit θ un temps de l'ordre du temps de réponse du capteur (supérieur à une microseconde). Le terme d'interférence est proportionnel à la fonction suivante :
On dit qu'il y a interférence si γ12 est non nul.
Pour que le terme soit non nul, il faut que les deux fréquences soient égales. On introduit la différence des retards :
Un changement d'origine du temps permet d'écrire :
import numpy import numpy.random from matplotlib.pyplot import *
Pour le calcul numérique, on pose T=1. L'échelle de temps est donc la période d'oscillation de l'onde.
La fonction suivante génère les échantillons d'une fonction ψ, à raison d'un échantillon par période. n est le nombre de point total, p est le temps de cohérence :
def psi(n,p): x = (numpy.random.sample(n)-0.5)*2*numpy.pi y = numpy.repeat(x,p) return y
Voici deux séries d'échantillons indépendantes :
n=50000 # nombre de periodes p=30 # temps de coherence psi1 = psi(n,p) psi2 = psi(n,p) figure(figsize=(12,6)) plot(psi1,'b') plot(psi2,'r') ylabel('psi') xlabel('t') axis([0,3000,-numpy.pi,numpy.pi]) grid()figA.pdf
La fonction suivante calcule le terme d'interférence pour un retard donné :
def interference(tau,psi1,psi2): psi = numpy.roll(psi1,int(tau))-psi2 cos = numpy.cos(2*numpy.pi*tau+psi) return numpy.mean(cos)
Voici le tracé de γ12 en fonction de τ pour deux ondes incohérentes :
tau = numpy.linspace(0,20,300) N = tau.size I = numpy.zeros(N) for k in range(N): I[k] = interference(tau[k],psi1,psi2) figure() plot(tau,I) xlabel("tau") ylabel("Interference") axis([0,tau.max(),-1,1])figB.pdf
Voici le même tracé avec deux sources cohérentes :
for k in range(N): I[k] = interference(tau[k],psi1,psi1) figure() plot(tau,I) xlabel("tau") ylabel("Interference") axis([0,tau.max(),-1,1])figC.pdf
Le temps de cohérence est ici égal à 30. Le contraste des interférences est important si le retard est faible devant le temps de cohérence.