3.8.2 Mirror modulation

Finesse offers two different types of modulators: the modulator component shown in the example above, and the fsig command, which can be used to apply a signal modulation to existing optical components. The main difference is that fsig is meant to be used for transfer function computations. Consequently Finesse discards all nonlinear terms, which means that the sideband amplitude is proportional to the signal amplitude and harmonics are not created (Fig. 23, generated here).

Note

In Finesse 2, the amplitude of a signal on a mechanical z node of a mirror or beamsplitter was scaled from meters to radians. The conversion factor is the reference wavenumber, which is equal to \(k_0 = 5.91 \times 10^6 \mathrm{m}^{-1}\) for a reference wavelength \(\lambda_0 = 1064\mathrm{nm}\).

Furthermore, the amplitude detector at a frequency offset of \(f=80 \mathrm{kHz}\) is removed as amplitude detectors in Finesse 3 raise an exception when set to a frequency which is not present in the signal.

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 default frequency
    s s1 l1.p1 bs1.p1 L=1   # space of 1m length
    bs bs1                  # beam splitter as 'turning mirror', normal incidence

    fsig(40k)               # set signal frequency to 40kHz
    sgen sig1 bs1.mech.z    # signal modulation applied to beam splitter

    # Amplitude detectors looking at lower and upper sidebands, and upper first harmonic
    ad upper bs1.p2.o f=40k
    ad lower bs1.p2.o f=-40k
    """
)

out = base.run(Xaxis(base.sig1.amplitude, 'lin', 1, 10, 100))

plt.figure(figsize=(8, 4))
plt.plot(out.x1, np.abs(out['upper']), label='upper')
plt.plot(out.x1, np.abs(out['lower']), ls='--', label='lower')
plt.xlabel('signal amplitude (bs1.mech.z)')
plt.ylabel(r'amplitude [$\sqrt{\mathrm{W}}$]')
plt.show()
../_images/de388e1b4cc45e027d40c2ff65a493c5740a528a0d6ebcaac9f9e99c0825c1cd.svg