In [1]:
#Import sympy
from sympy import *
# Setup iPython for formatted output
%load_ext sympy.interactive.ipythonprinting
In theory the laser coherence will drop to zero when the extremes of the laser linewidth wavelengths are out of phase by $\pi$ radians. Due to the slight difference in wavelength between the high and low edges of the laser line width they will see a slightly different phase change as the light propagates. The location where the difference in the phase change at the high an low edges of the linewidth is $\pi$ radians is loosely called the coherence length. Typically one does not want the coherence dropping to zero in the application and the coherence length might be specified at a different reduction in coherence. For simplicity, the derivation below will be for the case where the coherence drops to zero.
Define symbols:
In [2]:
n, d, L, L1, L2, dL = symbols("n, d, lambda, lambda_1, lambda_2, Delta_lambda")
n is the index of refraction, d is the distance the light travels and $\lambda$ is the center wavelength of the laser. $\lambda_1$ and $\lambda_2$ are the upper and lower wavelength cutoffs for the laser linewidth, the extremes in wavelength. Finally, $\lambda_\delta$ is the difference in wavelength between the upper and lower cutoffs of the linewidth. The phase of the light at $\lambda_1$ and $\lambda_2$ after propagation are given by:
In [3]:
phi1 = 2*pi*n*d / L1
phi2 = 2*pi*n*d / L2
$\phi_1$ is the phase change for $\lambda_1$ and $\phi_2$ is the phase change for $\lambda_2$.
Setting the difference between the phase changes equal to $\pi$ and solving for d results in the coherence length.
In [4]:
cl = solve((phi2-phi1)-pi,d)
cl[0]
Out[4]:
Assuming that the linewidth is symmetrical one can substitute $\lambda^2$ for $\lambda_1 \lambda_2$. In addition, $\lambda_1-\lambda_2$ can be replaced by $\lambda_\delta$, where $\Delta_\lambda$ is the linewidth of the laser.
In [5]:
cl = cl[0].subs(L1*L2,L**2).subs(L1-L2,dL)
cl
Out[5]:
In [6]:
c, nu, dnu = symbols("c, nu, Delta_nu")
The governing relationship between wavelenght and frequency is:
$$\nu = \dfrac{c}{\lambda}$$Taking the derivative provides the following relationship:
In [7]:
deltaNu = diff(c/L,L)*dL
deltaNu
Out[7]:
Solveing for $\Delta_\lambda$ facilitates a simple substitution.
In [8]:
deltaLambda=solve(deltaNu-dnu,dL)
deltaLambda[0]
Out[8]:
Substituting for $\Delta_\lambda$ in the coherence length formula above casts the expression in terms of a linwidth defined in frequency space.
In [9]:
cl.subs(dL,deltaLambda[0])
Out[9]: