Blame view
PDH/PDH.py
2.4 KB
2ae5099ce first commit |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 |
#!/usr/bin/python # -*- coding: utf-8 -*- '''Pound-Drever-Hall setup ----- --- ------------|EOM|------|/|-----( ) w_laser ----- --- cavity ^ | | U | | | v |------->(X) π/2 (w_pdh) | ----- |LPF| ----- | v eps_pdh ''' from time import time tic = time() from sympy import * from sympy.simplify.fu import * init_printing() #constants E0, J0, J1, w_laser, w_pdh, t, c = symbols('E0, J0, J1, omega_laser, Omega_pdh, t, c', imaginary=False, real=True) '''laser and phase-mod laser E_laser = E0*exp(I*(w_laser*t)) E_inc = \ E0*( \ J0*exp(I*((w_laser )*t)) \ + J1*exp(I*((w_laser+w_pdh)*t)) \ - J1*exp(I*((w_laser-w_pdh)*t)) \ )''' #reflection near resonance dnu, w_cav = symbols('delta_nu, omega_cav', imaginary=False, real=True) def F(phi): dw = phi.diff(t) - w_cav return -(I/pi)*(dw/dnu) #reflected phase-mod laser v_x, d_x = symbols('v_x, delta_x', imaginary=False, real=True) dx = v_x*t + d_x E_ref = \ E0*( \ F( (w_laser )*t - w_laser*dx/c ) \ *J0*exp(I*( (w_laser )*t - 2*w_laser*dx/c ) ) \ + -1*J1*exp(I*( (w_laser+w_pdh)*t - 2*w_laser*dx/c ) ) \ - -1*J1*exp(I*( (w_laser-w_pdh)*t - 2*w_laser*dx/c ) ) \ ) #intensity of reflected phase-mod laser I_pdh = abs(E_ref)**2 I_pdh = expand(TR8(expand(expand_complex(I_pdh)))) #demodulation of I_pdh at Omega_pdh kphipdh = symbols('k_phi_pdh', imaginary=False, real=True) eps_pdh = 2 * kphipdh * I_pdh * cos(w_pdh*t-pi/2) eps_pdh = expand(TR8(TR7(expand(eps_pdh)))) toc = time() print('Elapsed time : %fs'%(toc-tic)) '''low-passed demodulated I_pdh signal eps_pdh = 2 ⎛ ω_laser ⎞ 4⋅E₀ ⋅J₀⋅J₁⋅k_φ_pdh⋅⎜ω_laser - ω_cav - ───────⋅vₓ⎟ ⎝ c ⎠ + ────────────────────────────────────────────────── π⋅δ_ν ''' |