mirror of
https://github.com/vale981/fibre_walk_project_code
synced 2025-03-05 09:51:39 -05:00
29 lines
912 B
Python
29 lines
912 B
Python
import sys
|
||
|
||
from ringfit import data
|
||
import matplotlib.pyplot as plt
|
||
from ringfit.data import *
|
||
from ringfit.plotting import *
|
||
from ringfit.fit import *
|
||
|
||
path = (
|
||
"/home/hiro/Documents/org/roam/code/fitting_ringdown/data/08_05_24/nice_transient_2"
|
||
)
|
||
scan = ScanData.from_dir(path, truncation=[0, 50])
|
||
|
||
STEPS = [2, 3, 5]
|
||
fig, ax = plot_scan(scan, smoothe_output=500, normalize=True, laser=True, steps=True)
|
||
|
||
for STEP in STEPS:
|
||
time, output, _ = scan.for_step(step=STEP)
|
||
t, o, params, cov, scaled = fit_transient(time, output, window_size=100)
|
||
|
||
plt.figure()
|
||
plt.plot(t, o)
|
||
plt.plot(t, transient_model(t, *params))
|
||
plt.title(
|
||
f"Transient 2, γ={scaled[1] / 10**3:.2f}kHz ({cov[1] / 10**3:.2f}kHz)\n ω/2π={scaled[0] / (2*np.pi * 10**3):.5f}kHz\n step={STEP}"
|
||
)
|
||
|
||
freq_unit = params[1] / scaled[1]
|
||
plt.plot(t, np.sin(2 * np.pi * 4 * 10**4 * t * freq_unit), alpha=0.1)
|