added s11!
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user