8.17.3 Michelson with Schnupp modulation

Figure 75 (generated here) shows the demodulated photodiode signal of a Michelson interferometer with Schnupp modulation, as well as its differentiation, the latter being the optical gain of the system. Comparing this figure to Fig. 68, it can be seen that with Schnupp modulation, the optical gain at the dark fringe operating points is maximised and a suitable error signal for these points is obtained.

import finesse
from finesse.analysis.actions import Xaxis
import numpy as np
import matplotlib.pyplot as plt
finesse.init_plotting()

base = finesse.Model()
base.parse(
    """
    l l1                                # laser with P=1W at the default frequency
    s s1 l1.p1 eom1.p1 L=1              # space of 1m length
    mod eom1 f=10M midx=0.3             # phase modulation at 10 MHz
    s s2 eom1.p2 bs1.p1 L=1             # another space of 1m length

    bs bs1 R=0.5 T=0.5                  # 50:50 beam splitter
    s Ly bs1.p2 ETMy.p1 L=100           # north arm of 110m length
    m ETMy R=1 T=0 phi=0                # north end mirror, lossless
    s Lx bs1.p3 ETMx.p1 L=110           # east arm of 100m length
    m ETMx R=1 T=0 phi=-ETMy.phi        # east end mirror, lossless

    pd1 south bs1.p4.o f=10M phase=-115 # demodulated output signal
    """
)

out = base.run(Xaxis(base.ETMy.phi, 'lin', 0, 180, 100))
arm_length_difference = out.x1/180

fig, ax = plt.subplots(2, 1, sharex=True, gridspec_kw={'hspace':0})
ax[0].plot(arm_length_difference, out['south'], label='demodulated signal')
ax[0].set_ylabel(r'$P$ [W]')
ax[0].legend(loc='upper right')
ax[1].plot(arm_length_difference, np.gradient(out['south'], arm_length_difference),
           label='optical gain')
ax[1].set_ylabel(r'$\mathrm{d}P/\mathrm{d}(\delta L/\lambda)$ [W]')
ax[1].set_xlabel(r'arm length difference $\delta L/\lambda$')
ax[1].legend(loc='upper right')
plt.show()
../_images/6db564a375129d2694761ed125c0f68640bf61f005d2b8c4a3acbd1ed0b0a8ff.svg