VibrationDetector

class lsst.ts.mtrotator.VibrationDetector(period: float, max_times: int, frequency_range: list[float], snr: float, threshold: float, dt: float = 0.05)

Bases: object

Vibration detector to monitor the low-frequency vibration.

Parameters:
periodfloat

Detection period of the low-frequency vibration in seconds. The data collected in this period will be used to do the fast Fourier transform (FFT).

max_timesint

If the times of low-frequency vibration exceed this value contiguously, it will be identified as a vibration event.

frequency_rangelist [float]

Frequency range [low, high] to detect in Hz.

snrfloat

Signal-to-noise ratio (SNR) of the low-frequency vibration (peak in the frequency diagram after FFT) to be identified as a vibration.

thresholdfloat

Threshold to decide the post-processing data of rotator’s position can be used to do FFT or not (in degrees).

dtfloat, optional

Delta time between the data points in seconds. (the default is 0.05)

Methods Summary

check_vibration_frequency()

Check the vibration frequency in the detection range.

put_data(data, reference)

Put the data to the queue.

Methods Documentation

check_vibration_frequency() set

Check the vibration frequency in the detection range.

Returns:
set

Frequencies of the detected vibration.

put_data(data: float, reference: float) bool

Put the data to the queue.

Parameters:
datafloat

Data.

referencefloat

Reference of the data.

Returns:
bool

If the queue is full, return True. Otherwise, return False.