compensated_link.py
964 Bytes
from sympy import *
from sympy.simplify.fu import *
init_printing()
#constants
E0, w_laser, W_aom, t = symbols('E0, omega_laser, Omega_aom, t', real=True, imaginary=False)
dphi, dW = symbols('Delta_phi, Delta_Omega', real=True, imaginary=False)
c, dx = symbols('c, Delta_x', real=True, imaginary=False)
phi_u = dW*t + dphi
phi = W_aom*t + phi_u
#laser
E_laser = E0*exp(I*(w_laser*t))
#reflected wave and dephased by doppler and noise and double shifted
E_aom_ref = E0*exp(I*( w_laser*t + 2*dx*(w_laser+phi.diff(t))/c + 2*phi ))
#reflected wave on the reference arm of michelson
E_ref = E_laser
#optical mixer
E_mix = sqrt(2)/2*E_ref + sqrt(2)/2*E_aom_ref
#intensity of mixed waves
I_mix = abs(E_mix)**2
I_mix = expand(TR8(expand(expand_complex(I_mix))))
#Q demodulation
kphi = symbols('k_phi', real=True, imaginary=False)
#eps = 2 * kphi * I_mix * cos(2*phi.diff(t)*t-pi/2)
eps = 2 * kphi * I_mix * cos(2*W_aom*t-pi/2)
eps = expand(TR8(TR7(expand(eps))))