Tuning
-
opt_rf_readout_phase
OptimiseRFReadoutPhaseDC This optimises the demodulation phase of
ReadoutRFelements relative to someDegreeOfFreedomor drivenParameterin the model. The phases are optimised by calculating the DC response of the readouts. ThisActionchanges the state of the model by varying the readout demodulation phases. If no arguments are given it will try to automatically optimise any lock element in the model that is using an RF readout with respect to the lock feedback parameter.- Syntax:
opt_rf_readout_phase(*args, d_dof=1e-10, name='optimise_demod_phases_dc')
- Required:
args: Pairs ofDegreeOfFreedomorParameterandReadoutRFelements, or pairs of their names. If none are provided OptimiseRFReadoutPhaseDC will automatically search forLockelements which haveReadoutRFerror signal and optimise them.- Optional:
d_dof: A small offset applied to the DOFs to compute the gradients of the error signals
-
sensing_matrix_dc
SensingMatrixDC Computes the sensing matrix elements for various degrees of freedom and readouts that should be present in the model. The solution object for this action then contains all the information on the sensing matrix. This can be plotted in polar coordinates, displayed in a table, or directly accessed.
The sensing gain is computed by calculating the gradient of each readout signal, which means it is a DC measurement. This will not include any suspension or radiation pressure effects. This action does not modify the states model.
- Syntax:
sensing_matrix_dc(dofs, readouts, d_dof=1e-09, name='sensing_matrix_dc')
- Required:
dofs: String names of degrees of freedomreadouts: String names of readouts- Optional:
d_dof: Small step used to compute derivative
-
set_lock_gains
SetLockGains An action that computes the optimal lock gains using the sensing matrix found with
SensingMatrixDC. This action computes the error signal gradient for each lock with respect to its drive and sets the gain as -gain_scale/sensing.- Syntax:
set_lock_gains( *locks, d_dof_gain=1e-10, gain_scale=1, name='set gains', optimize_phase=none, verbose=false )- Required:
name: Name of the action.verbose: If True this will print the name of the enabled locks and their gains.- Optional:
\*locks: A list of locks for which to set the gain. If none provided, all enabled locks in model are used. Disabled locks that are explicitly listed will have their gains set.d_dof_gain: Step size to use when calculating the gain for each error signal/DOF pair.gain_scale: Extra gain scaling factor applied to the gain calculation: -gain_scale/sensing In multiple lock models where the locks are cross coupled using a gain_scale < 1 can improve the stability of the locking algorithm to stop excessively large steps.optimize_phase: Deprecated feature: UseOptimiseRFReadoutPhaseDCinstead
- See Also:
-
get_error_signals
GetErrorSignals An action that quickly calculates the current error signals for all or a subset of locks in a model.
- Syntax:
get_error_signals(*locks, name='get error signals')
- Required:
name: Name of the action.- Optional:
\*locks: A list of lock names to compute the error signals for. If not provided, all locks in model are used.
-
pseudo_lock_cavity
PseudoLockCavity An action that locks a cavity defined by a Cavity element to a specific mode without using any radio-frequency sensing scheme. This will only work on simple cavities that are not coupled in any way. You can specify whether to try and lock to a particular HG mode with the mode=[n,m] keyword argument, or just pick the lowest loss mode, lowest_loss=True.
- Syntax:
pseudo_lock_cavity( cavity, mode=none, lowest_loss=false, feedback=none, name='pseudo_lock_cavity' )
- Required:
cavity: Cavity element describing some Fabry-Perot like optical cavity- Optional:
mode: HG mode to try and lock to, default is [0,0]lowest_loss: Select the eigenmode which has the lowest loss, most likely the fundamental mode of the cavity. Using lowest loss will override the mode selection.feedback: If None the required cavity tuning to lock to the calculated mode will be determined from the cavity objects source node element, and the relevant phi parameter will be used. Alternatively you can specify which tuning parameter is used instead. Which should be a phi of some mirror in the cavity or a DegreeOfFreedom which controls the cavity length.name: Name of the solution generated by this action