fix method
This commit is contained in:
@ -110,10 +110,10 @@ def extract_sweep(packet):
|
||||
# ---------------------------------------------------------------------------
|
||||
# Signal processing
|
||||
# ---------------------------------------------------------------------------
|
||||
def process_reference(ref_ch1, ref_ch2, ref_phase_first, freqs_hz):
|
||||
"""Process reference channel: amplitude, phase with linear alignment.
|
||||
def process_reference(ref_ch1, ref_ch2, freqs_hz):
|
||||
"""Process reference channel: amplitude, phase aligned to first point.
|
||||
|
||||
Returns (amplitude, aligned_phase, ref_phase_first).
|
||||
Returns (amplitude, aligned_phase).
|
||||
"""
|
||||
ch1_v = ref_ch1 * TTY_SCALE
|
||||
ch2_v = ref_ch2 * TTY_SCALE
|
||||
@ -121,15 +121,11 @@ def process_reference(ref_ch1, ref_ch2, ref_phase_first, freqs_hz):
|
||||
amplitude = np.sqrt(ch1_v ** 2 + ch2_v ** 2)
|
||||
phase = np.unwrap(np.arctan2(ch2_v, ch1_v))
|
||||
|
||||
if ref_phase_first is None:
|
||||
return amplitude, phase, phase.copy()
|
||||
|
||||
# Linear correction: Δφ at first point, scaled by f/f₁
|
||||
delta_phi = phase[0] - ref_phase_first[0]
|
||||
correction = delta_phi * (freqs_hz / freqs_hz[0])
|
||||
# Align phase to first point of this sweep, scaled by frequency
|
||||
correction = phase[0] * (freqs_hz / freqs_hz[0])
|
||||
aligned = phase - correction
|
||||
|
||||
return amplitude, aligned, ref_phase_first
|
||||
return amplitude, aligned
|
||||
|
||||
|
||||
def process_main(main_ch1, main_ch2, ref_amplitude, ref_phase_aligned):
|
||||
@ -248,7 +244,7 @@ def build_gui():
|
||||
# ---------------------------------------------------------------------------
|
||||
def make_update(reader, parser, assembler, curves, plots):
|
||||
c_main_amp, c_ref_amp, c_norm_ch1, c_norm_ch2, c_norm_amp, c_ph, c_ph_line, c_ph_dev, c_fft = curves
|
||||
state = {"ref_phase_first": None, "axes_locked": False}
|
||||
state = {"axes_locked": False}
|
||||
queue = deque(maxlen=64)
|
||||
|
||||
def update():
|
||||
@ -277,8 +273,8 @@ def make_update(reader, parser, assembler, curves, plots):
|
||||
freqs_ghz = np.linspace(F_START_HZ / 1e9, F_STOP_HZ / 1e9, n)
|
||||
freqs_hz = freqs_ghz * 1e9
|
||||
|
||||
ref_amp, ref_phase, state["ref_phase_first"] = process_reference(
|
||||
sweep["ref_ch1"], sweep["ref_ch2"], state["ref_phase_first"], freqs_hz
|
||||
ref_amp, ref_phase = process_reference(
|
||||
sweep["ref_ch1"], sweep["ref_ch2"], freqs_hz
|
||||
)
|
||||
|
||||
main_amp, ref_amplitude, norm_ch1, norm_ch2, norm_amp, phase, fft_mag, fft_dist = process_main(
|
||||
|
||||
Reference in New Issue
Block a user