added s11!

This commit is contained in:
Ayzen
2026-03-26 18:29:42 +03:00
parent 9ddbde22bd
commit 077542cbd0
43 changed files with 713 additions and 347 deletions
+5 -4
View File
@@ -54,12 +54,13 @@ def capture_calibration_set(
if config.runtime.settling_ms > 0:
time.sleep(config.runtime.settling_ms / 1000.0)
frequency_hz, s21 = radar.acquire_s21()
sweep = radar.acquire()
traces.append(
TraceData(
combo=ComboKey(input_pos=combo.input, output_pos=combo.output),
frequency_hz=frequency_hz,
s21=s21,
frequency_hz=sweep.x,
s11=sweep.trace("s11"),
s21=sweep.trace("s21"),
)
)
finally:
@@ -77,5 +78,5 @@ def capture_calibration_set(
ifbw_hz=config.radar.sweep.if_bandwidth_hz,
power_dbm=config.radar.sweep.power_dbm,
)
store.save_set("calibration", radar_key, set_name, collection)
store.save_set("s21_calibration", radar_key, set_name, collection)
return radar_key, collection
+5 -4
View File
@@ -54,12 +54,13 @@ def capture_reference_set(
if config.runtime.settling_ms > 0:
time.sleep(config.runtime.settling_ms / 1000.0)
frequency_hz, s21 = radar.acquire_s21()
sweep = radar.acquire()
traces.append(
TraceData(
combo=ComboKey(input_pos=combo.input, output_pos=combo.output),
frequency_hz=frequency_hz,
s21=s21,
frequency_hz=sweep.x,
s11=sweep.trace("s11"),
s21=sweep.trace("s21"),
)
)
finally:
@@ -77,5 +78,5 @@ def capture_reference_set(
ifbw_hz=config.radar.sweep.if_bandwidth_hz,
power_dbm=config.radar.sweep.power_dbm,
)
store.save_set("reference", radar_key, set_name, collection)
store.save_set("s21_reference", radar_key, set_name, collection)
return radar_key, collection
@@ -1,4 +1,4 @@
"""Sequential capture workflow for calibration/reference dataset creation."""
"""Sequential capture workflow for preprocess asset dataset creation."""
from __future__ import annotations
@@ -6,6 +6,8 @@ from contextlib import suppress
from dataclasses import dataclass
import time
import numpy as np
from python_app.hardware_full.librevna_service import LibreVnaService
from python_app.hardware_full.switch_service import SwitchService
from python_app.models.dataset_model import ComboKey, SweepCollection, TraceData
@@ -28,8 +30,8 @@ class SequentialCaptureSession:
"""Manage hardware and switch stepping for full combo capture sequence."""
def __init__(self, config: RunConfigModel, kind: str, set_name: str) -> None:
"""Create capture session for a calibration or reference set."""
if kind not in {"calibration", "reference"}:
"""Create capture session for one preprocess asset set."""
if kind not in {"s21_calibration", "s21_reference", "s11_open", "s11_short", "s11_load", "s11_reference"}:
raise RuntimeError(f"Unsupported capture kind: {kind}")
if not set_name:
raise RuntimeError("Set name is required")
@@ -69,7 +71,7 @@ class SequentialCaptureSession:
@property
def kind(self) -> str:
"""Return capture kind (`calibration` or `reference`)."""
"""Return canonical preprocess asset key for this capture session."""
return self._kind
@property
@@ -125,11 +127,12 @@ class SequentialCaptureSession:
if self._config.runtime.settling_ms > 0:
time.sleep(self._config.runtime.settling_ms / 1000.0)
frequency_hz, s21 = self._radar.acquire_s21()
sweep = self._radar.acquire()
trace = TraceData(
combo=ComboKey(input_pos=combo.input, output_pos=combo.output),
frequency_hz=frequency_hz,
s21=s21,
frequency_hz=np.asarray(sweep.x, dtype=np.float32),
s11=np.asarray(sweep.trace("s11"), dtype=np.complex64),
s21=np.asarray(sweep.trace("s21"), dtype=np.complex64),
)
self._traces.append(trace)
self._next_index += 1