Core Analysis Modules
Module for beta separation method in laser linewidth analysis.
This module implements the beta separation method to estimate effective laser linewidth by analyzing frequency noise power spectral density (PSD) data. It uses a heaviside-like function to identify regions where the PSD exceeds the beta separation line.
- u_shaped_lib.beta_sep.beta_sep_condition(freqs, ps)[source]
Find indices where PSD exceeds beta separation line.
- Parameters:
freqs (numpy.ndarray) – Array of frequencies
ps (numpy.ndarray) – Array of power spectral density values
- Returns:
Indices where PSD exceeds beta separation line
- Return type:
- u_shaped_lib.beta_sep.beta_sep_line(freqs, ps, cutoff)[source]
Calculate effective linewidth using beta separation method.
- Parameters:
freqs (numpy.ndarray) – Array of frequencies
ps (numpy.ndarray) – Array of power spectral density values
cutoff (float) – Frequency cutoff value
- Returns:
Four values containing: - new_freqs : filtered frequency array - new_ps : filtered PSD array - integral : cumulative integral of PSD - eff_lw : effective linewidth estimate
- Return type:
Module for analyzing Coherent Self-Heterodyne (CSH) measurements.
This module provides functionality to load and process CSH measurement data, including noise floor analysis and linewidth calculations for modified data that has been divided by the propagation factor.
- u_shaped_lib.CSH.get_csh_paths(directory)[source]
Get paths to all CSH measurement files in a directory.
- u_shaped_lib.CSH.get_noise_floor_csh(freqs, ps, floor_range)[source]
Calculate the noise floor from CSH data in a specified range.
- Parameters:
freqs (numpy.ndarray) – Array of frequencies
ps (numpy.ndarray) – Array of power values
- Returns:
Mean power value in the specified range
- Return type:
- u_shaped_lib.CSH.get_data(directory, floor_range=[9e5, 1e6])[source]
Load and process all CSH measurements in a directory.
- Parameters:
- Returns:
Three lists containing: - lw_all : list of calculated linewidths - freqs_all : list of frequency arrays - ps_all : list of power arrays
- Return type:
Module for analyzing unmodified Coherent Self-Heterodyne (CSH) measurements.
This module provides functionality to load and process raw CSH measurement data, including noise floor analysis and linewidth calculations. The data needs to be divided by the propagation factor for proper analysis.
- u_shaped_lib.CSH_unmodified.get_csh_paths(directory)[source]
Get paths to all CSH measurement files in a directory.
- u_shaped_lib.CSH_unmodified.load_csh_data(path, center, delay, rbw)[source]
Load and process raw CSH measurement data.
- Parameters:
- Returns:
Two numpy arrays containing: - freqs : array of frequencies - ps : array of power values divided by propagation factor
- Return type:
- u_shaped_lib.CSH_unmodified.get_noise_floor_csh(freqs, ps, floor_range)[source]
Calculate the noise floor from CSH data in a specified range.
- Parameters:
freqs (numpy.ndarray) – Array of frequencies
ps (numpy.ndarray) – Array of power values
floor_range (tuple) – Tuple of (lower_freq, upper_freq) defining the range for noise floor calculation
- Returns:
Mean power value in the specified range
- Return type:
- u_shaped_lib.CSH_unmodified.get_data(directory, center, delay, rbw, floor_range=[9e5, 1e6])[source]
Load and process all unmodified CSH measurements in a directory.
- Parameters:
directory (str) – Path to the directory containing measurement files
center (float) – Center frequency for data processing
delay (float) – Time delay value
rbw (float) – Resolution bandwidth
floor_range (list, optional) – Range for noise floor calculation [lower_freq, upper_freq], by default [9e5,1e6]
- Returns:
Three lists containing: - lw_all : list of calculated linewidths - freqs_all : list of frequency arrays - ps_all : list of power arrays
- Return type:
Module for analyzing frequency noise measurements from High Finesse equipment.
This module provides functionality to load and process frequency noise (FN) data from High Finesse measurement equipment, including noise floor analysis and linewidth calculations.
- u_shaped_lib.HighFinesse_FN.get_hf_paths(directory)[source]
Get paths to all High Finesse PSD measurement files in a directory.
- u_shaped_lib.HighFinesse_FN.load_hf_data(path)[source]
Load frequency noise data from a High Finesse measurement file.
- u_shaped_lib.HighFinesse_FN.get_noise_floor_hf(freqs, ps, floor_range)[source]
Calculate the noise floor from frequency noise data in a specified range.
- Parameters:
freqs (numpy.ndarray) – Array of frequencies
ps (numpy.ndarray) – Array of power values
floor_range (tuple) – Tuple of (lower_freq, upper_freq) defining the range for noise floor calculation
- Returns:
Mean power value in the specified range
- Return type:
- u_shaped_lib.HighFinesse_FN.get_data(directory, floor_range=[5e6, 6e6])[source]
Load and process all High Finesse frequency noise measurements in a directory.
- Parameters:
- Returns:
Three lists containing: - lw_all : list of calculated linewidths - freqs_all : list of frequency arrays - ps_all : list of power arrays
- Return type: