PHS3000 Rubidium hyperfine spectroscopy¶
This documents the monashspa.PHS3000.rubidium_spectroscopy
library that you will import into code used in the PHS3000 unit when performing experiment 1.6 Rubidium hyperfine spectroscopy.
-
monashspa.PHS3000.rubidium_spectroscopy.
extract_frequency
(michelson_data, MHz_per_fringe, num_dc_terms_to_remove=1)[source]¶ Returns a frequency calibration determined from Michelson interferometer data
Performs a Hilbert transform (minus the DC term) on the Michelson interferometer data and scales the resultant frequency array by the distance (in MHz) between constructive interference fringes.
Parameters: - michelson_data – A 1D numpy array containing the oscilloscope data from the michelson interferometer
- MHz_per_fringe – The distance (in MHz) between constructive interference
fringes in the
michelson_data
calculated from the path length difference of the Michelson interferometer arms.
Keyword Arguments: num_dc_terms_to_remove – The number of low frequency components to remove after performing the Fourier transform. The default is 1 (remove the DC term only). Higher integers remove low order frequency components
Returns: A 1D numpy array (with the same length as
michelson_data
) containing a frequency calibration (in MHz) for the saturated absorption spectra. Use this array as the x-axis for plotting and fitting.
-
monashspa.PHS3000.rubidium_spectroscopy.
read_rigol_csv
(filepath)[source]¶ Reads the csv file saved from the Rigol digital storage oscilloscope.
Parameters: filepath – A string containing the path to the csv file Returns: A tuple (X, time, CH1, CH2)
where each element is a 1D numpy array containing an array of incrementing integers, an array of time points (x-axis of the oscilloscope), and the y-values for channels 1 and 2 respectively.