pyepr.resonator_profile_analysis.ResonatorProfileAnalysis

class pyepr.resonator_profile_analysis.ResonatorProfileAnalysis(dataset, f_lims=(32, 36))

Analysis and calculation of resonator profiles.

Parameters:
datasetxr.xarray

The dataset containing the nutations. It must have both a ‘LO’ axis and a ‘pulse0_tp’ axis.

f_limstuple, optional

The frequency limits of the resonator profile, by default (33,35)

dataset
n_files
t
f_lims
process_nutations(noisedensity=None, threshold=2, nfft=1000)

Uses a power series to extract the resonator profile.

Parameters:
noisedensitytuple, optional

If not given the first trace is assumed to be so far off resonance that it is just noise.

nfft: int, optional

The length of the fft to be used, zero padded if requred, default is 1000.

threshold: int, optional

The multiples above the noise a single must be to not be excluded, default is 2.

Returns:
prof_data: np.ndarray

The resonator profile, give in nutation frequency (GHz)

prof_frqs: np.ndarray

The frequency axis in GHz

Parameters:
  • noisedensity (float)

  • threshold (int)

  • nfft (int)

_process_fit(R_limit=0.5)
fit(f_diff_threshold=2, cores=1, multi_mode=False, fc_guess=None)

Fit the resonator profile with a sum of lorentzians.

Parameters:
f_diff_thresholdfloat, optional

The difference between two peaks at which they will be merged into one, by default 0.03

plot(fieldsweep=None, axs=None, fig=None)

plot.

Parameters:
fieldsweepFieldSweepAnalysis, optional

Overlays the FieldSweep if provided, by default None

axsmatplotlib.Axes, optional

Axes to plot on, by default None

figmatplotlib.Figure, optional

Figure to plot on, by default None

Returns:
Matplotlib.Figure

matplotlib figure object