The sar3d processor is rewritten as a checked port of Multi_antenna_3D_clean_v1.ipynb: NVRTC kernels, timing from the trace stamps, notebook parameter names and one cubic SAR_VOXEL_M. It adds front, side, top and 3D views, drops gpr_cpp and the parity tools, and the GUI speed now applies only while the socket speed is ignored.
197 lines
5.4 KiB
JSON
197 lines
5.4 KiB
JSON
{
|
|
"_comment": "Replay of the recorded VNA_AlGo tank005 dataset through the full pipeline (no hardware). The replay producer feeds the raw ring; pair it with NEUTRAL preprocess sets (calibration=1, reference=0) so the already-preprocessed recording passes through unchanged. Create them via GUI 'Create neutral sets' (name: neutral_replay) or python -m python_app.scripts.create_neutral_preprocess_sets --config <this file>.",
|
|
"radar": {
|
|
"model": "librevna_multi",
|
|
"serial": "206830985532",
|
|
"remote_host": "127.0.0.1",
|
|
"remote_port": 50209,
|
|
"driver_mode": "mock",
|
|
"mock_signal_hz": 5000000.0,
|
|
"visa_library": "",
|
|
"multi_device": {
|
|
"slave_serials": [
|
|
"206930965532",
|
|
"206930A15532"
|
|
],
|
|
"force_external_reference": true,
|
|
"recovery_attempts": 3,
|
|
"output_switch_positions": 1,
|
|
"input_switch_positions": 1,
|
|
"stimulus_switch_positions": 1
|
|
},
|
|
"replay": {
|
|
"dataset_dir": "/home/awe/Documents/VNA_AlGo/librevna_multi_2-6GHz_751pts_-3dBm_tank005/librevna_multi_2-6GHz_751pts_-3dBm_tank005/preprocessed",
|
|
"loop": true,
|
|
"rate_scale": 1.0
|
|
},
|
|
"sweep": {
|
|
"start_hz": 2000000000.0,
|
|
"stop_hz": 6000000000.0,
|
|
"if_bandwidth_hz": 50000.0,
|
|
"stimulus_power_dbm": -3.0,
|
|
"points": 751
|
|
}
|
|
},
|
|
"switches": {
|
|
"port1": {
|
|
"name": "port1",
|
|
"driver_mode": "mock",
|
|
"driver": "h7992",
|
|
"radar_port": 1,
|
|
"positions": 2,
|
|
"default_position": 0,
|
|
"gpio_chip": "/dev/gpiochip0",
|
|
"pin_a": 17,
|
|
"pin_b": 27,
|
|
"invert_logic": false
|
|
},
|
|
"port2": {
|
|
"name": "port2",
|
|
"driver_mode": "mock",
|
|
"driver": "h7992",
|
|
"radar_port": 2,
|
|
"positions": 4,
|
|
"default_position": 0,
|
|
"gpio_chip": "/dev/gpiochip0",
|
|
"pin_a": 22,
|
|
"pin_b": 23,
|
|
"invert_logic": false
|
|
}
|
|
},
|
|
"control_button": {
|
|
"enabled": false,
|
|
"gpio_chip": "/dev/gpiochip0",
|
|
"pin": -1,
|
|
"active_low": true,
|
|
"bias": "",
|
|
"debounce_ms": 50,
|
|
"action": "capture_tmp_reference"
|
|
},
|
|
"run": {
|
|
"settling_ms": 0,
|
|
"idle_sleep_ms": 2,
|
|
"continuous": true,
|
|
"processing_live_config_path": "python_app/runtime/processing_live.json",
|
|
"locator_server": {
|
|
"device_id": 3,
|
|
"protocol_version": 1,
|
|
"host": "0.0.0.0",
|
|
"port": 8888,
|
|
"max_payload_bytes": 65536,
|
|
"client_queue_size": 32,
|
|
"logger_name": "locator_runtime"
|
|
},
|
|
"combos": [
|
|
{ "input": 0, "output": 0 },
|
|
{ "input": 1, "output": 0 },
|
|
{ "input": 2, "output": 0 },
|
|
{ "input": 3, "output": 0 },
|
|
{ "input": 0, "output": 1 },
|
|
{ "input": 1, "output": 1 },
|
|
{ "input": 2, "output": 1 },
|
|
{ "input": 3, "output": 1 }
|
|
]
|
|
},
|
|
"preprocess": {
|
|
"s21": {
|
|
"calibration": {
|
|
"set_name": "neutral_replay",
|
|
"bundle_path": ""
|
|
},
|
|
"reference": {
|
|
"set_name": "neutral_replay",
|
|
"bundle_path": ""
|
|
}
|
|
},
|
|
"s11": {
|
|
"calibration": {
|
|
"open": { "set_name": "", "bundle_path": "" },
|
|
"short": { "set_name": "", "bundle_path": "" },
|
|
"load": { "set_name": "", "bundle_path": "" }
|
|
},
|
|
"reference": { "set_name": "", "bundle_path": "" }
|
|
},
|
|
"notch": {
|
|
"enabled": false,
|
|
"bands_hz": [],
|
|
"taper_width_hz": 40000000.0,
|
|
"taper_type": "cosine"
|
|
}
|
|
},
|
|
"gpr": {
|
|
"relative_permittivity": 1.0,
|
|
"tx_geometry": [
|
|
{ "output_pos": 0, "x_m": 0.785, "y_m": 0.0, "z_m": 0.0 },
|
|
{ "output_pos": 1, "x_m": -0.785, "y_m": 0.0, "z_m": 0.0 }
|
|
],
|
|
"rx_geometry": [
|
|
{ "input_pos": 0, "x_m": -0.42, "y_m": 0.0, "z_m": 0.0 },
|
|
{ "input_pos": 1, "x_m": 0.48, "y_m": 0.0, "z_m": 0.0 },
|
|
{ "input_pos": 2, "x_m": 0.18, "y_m": 0.0, "z_m": 0.0 },
|
|
{ "input_pos": 3, "x_m": -0.12, "y_m": 0.0, "z_m": 0.0 }
|
|
]
|
|
},
|
|
"rings": {
|
|
"raw": {
|
|
"name": "/radar_raw_simulator",
|
|
"capacity": 50,
|
|
"slot_size_bytes": 2097152
|
|
},
|
|
"raw_tap": {
|
|
"name": "/radar_raw_tap_simulator",
|
|
"capacity": 50,
|
|
"slot_size_bytes": 2097152
|
|
},
|
|
"preprocessed": {
|
|
"name": "/radar_preprocessed_simulator",
|
|
"capacity": 50,
|
|
"slot_size_bytes": 2097152
|
|
},
|
|
"preprocessed_tap": {
|
|
"name": "/radar_preprocessed_tap_simulator",
|
|
"capacity": 50,
|
|
"slot_size_bytes": 2097152
|
|
},
|
|
"results": {
|
|
"name": "/radar_results_simulator",
|
|
"capacity": 50,
|
|
"slot_size_bytes": 2097152
|
|
}
|
|
},
|
|
"gui": {
|
|
"version": 1,
|
|
"switches": {
|
|
"combo_mode": "text",
|
|
"combos_text": "0:0,1:0,2:0,3:0,0:1,1:1,2:1,3:1",
|
|
"single_input": "0",
|
|
"single_output": "0"
|
|
},
|
|
"processing": {
|
|
"selected_mode": "sar3d",
|
|
"sar3d": {
|
|
"input_positions": "0,1,2,3",
|
|
"output_positions": "0,1",
|
|
"min_depth_m": 3.2,
|
|
"max_depth_m": 10.0,
|
|
"start_freq_mhz": 2000.0,
|
|
"stop_freq_mhz": 6000.0,
|
|
"speed_m_s": 0.854,
|
|
"ignore_socket_speed_enabled": true,
|
|
"look_angle_deg": 6.0,
|
|
"frame_radius": 6,
|
|
"voxel_m": 0.02,
|
|
"bp_ground_depth_m": 1.25,
|
|
"comp_range_power": 0.3,
|
|
"use_compensation": true,
|
|
"normalize_each_frame": true
|
|
}
|
|
},
|
|
"preprocess_dialog": {
|
|
"set_name": "neutral_replay",
|
|
"radar_config_dir": "",
|
|
"use_all_radar_configs": false,
|
|
"median_sweep_count": 5
|
|
}
|
|
}
|
|
}
|