pyrpl.software_modules.lockbox.models package

Submodules

pyrpl.software_modules.lockbox.models.custom_lockbox_example module

class pyrpl.software_modules.lockbox.models.custom_lockbox_example.CustomInputClass(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.input.InputSignal

A custom input signal for our customized lockbox. Please refer to the documentation on the default API of InputSignals

calibrate()[source]

This is a simplified calibration method. InputSignal.calibrate works better than this in most cases.

custom_gain_attribute

custom factor for each input signal

expected_signal(variable)[source]
expected_slope(variable)[source]
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

custom_gain_attribute

custom factor for each input signal

calibration_data
class pyrpl.software_modules.lockbox.models.custom_lockbox_example.CustomLockbox(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.lockbox.Lockbox

A custom lockbox class that can be used to implement customized feedback controllers

custom_attribute
custom_function()[source]
inputs
outputs
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘V’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. custom_attribute: sequence: _auto_lock_loop: _lockstatus_loop: inputs: outputs:
variable = 'displacement'
class pyrpl.software_modules.lockbox.models.custom_lockbox_example.ExampleLoop(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.LockboxPlotLoop

loop()[source]
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
class pyrpl.software_modules.lockbox.models.custom_lockbox_example.ExampleLoopLockbox(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.lockbox.Lockbox

interval
loop = None
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘V’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. sequence: inputs: _auto_lock_loop: outputs: _lockstatus_loop:
start()[source]
stop()[source]
class pyrpl.software_modules.lockbox.models.custom_lockbox_example.GalvanicIsolationLoopLockbox(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.lockbox.Lockbox

an example for a loop fully described in the lockbox class definition

galvanic_isolation_loop_function()[source]

the loop function to be executed

gi_interval

Minimum interval at which the loop updates the second redpitaya output

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘V’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. sequence: inputs: _auto_lock_loop: outputs: _lockstatus_loop:
start_gi()[source]
stop_gi()[source]
class pyrpl.software_modules.lockbox.models.custom_lockbox_example.ShortLoopLockbox(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.lockbox.Lockbox

an example for very short loop description

loop
plot_sin_and_in1(lockbox_self, loop_self)[source]

if you pass an instance_method of the lockbox, it should take two arguments: the instance of the lockbox (self) and the instance of the loop

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘V’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. sequence: inputs: _auto_lock_loop: outputs: _lockstatus_loop: loop:

pyrpl.software_modules.lockbox.models.fabryperot module

class pyrpl.software_modules.lockbox.models.fabryperot.FPAnalogPdh(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.input.InputSignal, pyrpl.software_modules.lockbox.models.fabryperot.Lorentz

expected_signal(setpoint)[source]
is_locked(loglevel=20)[source]
mod_freq
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

mod_freq
calibration_data
class pyrpl.software_modules.lockbox.models.fabryperot.FPPdh(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.input.InputIq, pyrpl.software_modules.lockbox.models.fabryperot.FPAnalogPdh

Same as analog pdh signal, but generated from IQ module

setup(**kwds)
setup a PDH error signal using the attribute values
input_signal

the dsp module or lockbox signal used as input signal

mod_freq
mod_amp
mod_phase
mod_output

Options: [‘out1’, ‘out2’]

bandwidth: quadrature_factor: calibration_data:
class pyrpl.software_modules.lockbox.models.fabryperot.FPReflection(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.input.InputSignal, pyrpl.software_modules.lockbox.models.fabryperot.Lorentz

expected_signal(setpoint)[source]
relative_mean

returns the ratio between the measured mean value and the expected one.

relative_rms

returns the ratio between the measured rms value and the expected mean.

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
class pyrpl.software_modules.lockbox.models.fabryperot.FPTilt(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.input.InputSignal, pyrpl.software_modules.lockbox.models.fabryperot.Lorentz

Error signal for tilt-locking schemes, e.g. https://arxiv.org/pdf/1410.8773.pdf

expected_signal(setpoint)[source]

expected error signal is centered around zero on purpose

is_locked(loglevel=20)[source]
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
class pyrpl.software_modules.lockbox.models.fabryperot.FPTransmission(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.fabryperot.FPReflection

expected_signal(setpoint)[source]
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
class pyrpl.software_modules.lockbox.models.fabryperot.FabryPerot(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.interferometer.Interferometer

eta
finesse
free_spectral_range

returns the cavity free spectral range in Hz

inputs
round_trip_length
setpoint_unit

Options – [‘bandwidth’, ‘linewidth’]

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘bandwidth’, ‘linewidth’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. wavelength: finesse: round_trip_length: eta: sequence: _auto_lock_loop: _lockstatus_loop: outputs: inputs:
class pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseAnalogPdh(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseInput, pyrpl.software_modules.lockbox.models.fabryperot.FPAnalogPdh

calibrate(trigger_signal='reflection', autosave=False)[source]
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
mod_freq
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
class pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseFabryPerot(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.fabryperot.FabryPerot

inputs
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘bandwidth’, ‘linewidth’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. wavelength: finesse: round_trip_length: eta: sequence: _auto_lock_loop: _lockstatus_loop: outputs: inputs:
class pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseInput(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.input.InputSignal

Since the number of points in the scope is too small for high finesse cavities, the acquisition is performed in 2 steps:

  1. Full scan with the actuator, full scope duration, trigged on asg
  2. Full scan with the actuator, smaller scope duration, trigged on input (level defined by previous scan).

Scope states corresponding to 1 and 2 are “sweep” and “sweep_zoom”

calibrate(autosave=False)[source]
get_threshold(curve)

returns a reasonable scope threshold for the interesting part of this curve

get_threshold_empirical(curve)[source]

returns a reasonable scope threshold for the interesting part of this curve

get_threshold_theoretical(curve)[source]

returns a reasonable scope threshold for the interesting part of this curve

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
sweep_acquire_zoom(threshold, input2=None)[source]
class pyrpl.software_modules.lockbox.models.fabryperot.HighFinessePdh(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseAnalogPdh, pyrpl.software_modules.lockbox.models.fabryperot.FPPdh

setup(**kwds)
setup a PDH error signal using the attribute values
mod_amp
mod_phase
mod_output

Options: [‘out1’, ‘out2’]

bandwidth: quadrature_factor: mod_freq: input_signal: the dsp module or lockbox signal used as input signal calibration_data:
class pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseReflection(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseInput, pyrpl.software_modules.lockbox.models.fabryperot.FPReflection

Reflection for a FabryPerot. The only difference with FPReflection is that acquire will be done in 2 steps (coarse, then fine)

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
class pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseTransmission(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.fabryperot.HighFinesseInput, pyrpl.software_modules.lockbox.models.fabryperot.FPTransmission

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
class pyrpl.software_modules.lockbox.models.fabryperot.Lorentz[source]

Bases: object

base class for Lorentzian-like signals

pyrpl.software_modules.lockbox.models.interferometer module

class pyrpl.software_modules.lockbox.models.interferometer.Interferometer(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.lockbox.Lockbox

inputs
outputs
setpoint_unit

Options – [‘deg’, ‘rad’]

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘deg’, ‘rad’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. wavelength: sequence: _auto_lock_loop: _lockstatus_loop: inputs: outputs:
wavelength
class pyrpl.software_modules.lockbox.models.interferometer.InterferometerPort1(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.input.InputDirect

expected_setpoint(transmission)[source]
expected_signal(phase)[source]
plot_range
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
class pyrpl.software_modules.lockbox.models.interferometer.InterferometerPort2(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.interferometer.InterferometerPort1

expected_signal(phase)[source]
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
class pyrpl.software_modules.lockbox.models.interferometer.PdhInterferometer(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.interferometer.Interferometer

inputs
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘deg’, ‘rad’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. wavelength: sequence: _auto_lock_loop: _lockstatus_loop: outputs: inputs:
class pyrpl.software_modules.lockbox.models.interferometer.PdhInterferometerPort1(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.interferometer.InterferometerPort1, pyrpl.software_modules.lockbox.input.InputIq

expected_signal(phase)[source]
setup(**kwds)
setup a PDH error signal using the attribute values
mod_freq
mod_amp
mod_phase
mod_output

Options: [‘out1’, ‘out2’]

bandwidth: quadrature_factor: input_signal: the dsp module or lockbox signal used as input signal calibration_data:
class pyrpl.software_modules.lockbox.models.interferometer.PdhInterferometerPort2(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.models.interferometer.InterferometerPort2, pyrpl.software_modules.lockbox.input.InputIq

expected_signal(phase)[source]
setup(**kwds)
setup a PDH error signal using the attribute values
mod_freq
mod_amp
mod_phase
mod_output

Options: [‘out1’, ‘out2’]

bandwidth: quadrature_factor: input_signal: the dsp module or lockbox signal used as input signal calibration_data:

pyrpl.software_modules.lockbox.models.linear module

class pyrpl.software_modules.lockbox.models.linear.Linear(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.lockbox.Lockbox

A simple linear dependance of variable vs input

setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
classname
default_sweep_output

Options: [None]

auto_lock: Turns on the autolock of the module. is_locked_threshold: Setpoint interval size to consider system in locked state setpoint_unit:

Options: [‘V’]

auto_lock_interval: lockstatus_interval: _auto_lock_timeout: maximum time that a locking stage is allowed to take before a lock is considered as stalled. sequence: inputs: _auto_lock_loop: outputs: _lockstatus_loop:
variable = 'x'
class pyrpl.software_modules.lockbox.models.linear.LinearInputDirect(parent, name=None)[source]

Bases: pyrpl.software_modules.lockbox.input.InputDirect

expected_signal(variable)[source]
setup(**kwds)
Sets the module up for acquisition with the current setup attribute values.
input_signal

the dsp module or lockbox signal used as input signal

calibration_data
signal_at_0
slope

Module contents