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:
Returns:

Indices where PSD exceeds beta separation line

Return type:

tuple

u_shaped_lib.beta_sep.beta_sep_line(freqs, ps, cutoff)[source]

Calculate effective linewidth using beta separation method.

Parameters:
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:

tuple

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.

Parameters:

directory (str) – Path to the directory containing measurement files

Returns:

List of paths to CSH measurement files

Return type:

list

u_shaped_lib.CSH.load_csh_data(path)[source]

Load CSH measurement data from a file.

Parameters:

path (str) – Path to the measurement file

Returns:

Three values containing: - freqs : array of frequencies - ps : array of power values

Return type:

tuple

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:
Returns:

Mean power value in the specified range

Return type:

float

u_shaped_lib.CSH.get_data(directory, floor_range=[9e5, 1e6])[source]

Load and process all CSH measurements in a directory.

Parameters:
  • directory (str) – Path to the directory containing measurement files

  • 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:

tuple

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.

Parameters:

directory (str) – Path to the directory containing measurement files

Returns:

List of paths to CSH measurement files

Return type:

list

u_shaped_lib.CSH_unmodified.load_csh_data(path, center, delay, rbw)[source]

Load and process raw CSH measurement data.

Parameters:
  • path (str) – Path to the measurement file

  • center (float) – Center frequency for data processing

  • delay (float) – Time delay value

  • rbw (float) – Resolution bandwidth

Returns:

Two numpy arrays containing: - freqs : array of frequencies - ps : array of power values divided by propagation factor

Return type:

tuple

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:

float

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:

tuple

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.

Parameters:

directory (str) – Path to the directory containing measurement files

Returns:

List of paths to PSD measurement files

Return type:

list

u_shaped_lib.HighFinesse_FN.load_hf_data(path)[source]

Load frequency noise data from a High Finesse measurement file.

Parameters:

path (str) – Path to the measurement file

Returns:

Two numpy arrays containing: - freqs : array of frequencies - ps : array of power values

Return type:

tuple

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:

float

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:
  • directory (str) – Path to the directory containing measurement files

  • floor_range (list, optional) – Range for noise floor calculation [lower_freq, upper_freq], by default [5e6,6e6]

Returns:

Three lists containing: - lw_all : list of calculated linewidths - freqs_all : list of frequency arrays - ps_all : list of power arrays

Return type:

tuple