Commit Graph
43 Commits
Author SHA1 Message Date
Ayzen 8f097dfa2e Refactor radar system 2026-10-05 16:46:28 +03:00
Ayzen d283ecfdf1 keep sweeps in acquisition order through history replays
The processor appended sweeps the GUI fed back to its own history, so its next replay
published them twice and out of order, and the B-scan came out with rotated columns.
Fed-back sweeps now stay out of that history, results are kept in timestamp order,
picking the displayed combo only redraws and only new sweeps are recorded to disk.
2026-10-02 16:05:32 +03:00
Ayzen 45861f4047 sar3d: GPU port of the notebook with four views
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.
2026-10-02 16:05:22 +03:00
aweandClaude Fable 5 7329750c0c sar3d: fixed default scene window X [-2,2], Y [-0.5,2], Z [0,8] m
The grid bounds are now explicit config (sar3d_x/y/z_min/max_m) instead of
being derived from the antenna span and the depth gate. The depth mask
still zeroes voxels outside [min_depth, max_depth], so the wider Z window
just shows the masked wedge. The bound fields are double: the parity tool
recomputes the notebook-derived bounds (notebook_grid_bounds) and passes
them through the live config, and a float roundtrip shifted the axes by
~1e-7 m, flipping depth-mask knife-edge voxels against the reference npz.
Parity on frames 0034-0036 unchanged (1.3e-6, axes bit-match).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-25 17:12:18 +03:00
aweandClaude Fable 5 60f6c9e567 sar3d: chunk the aperture kernel over voxels to survive low free VRAM
Full-volume acc/cnt device buffers (~115 MB for the 9.6M-voxel grid) plus
the CUDA context did not fit next to a desktop session that had taken the
T600's 4 GB down to ~190 MB free, so every frame died with cuMemAlloc OOM
and the GUI showed no sar3d picture. The kernel now processes
[gid_begin, gid_end) ranges and the host launches it in 2M-voxel chunks
reusing one ~24 MB buffer pair. Parity vs the reference volumes is
unchanged (max diff 1.3e-6).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-25 17:01:22 +03:00
aweandClaude Fable 5 b8cb572bc4 sar3d: port the Multi_antenna_3D_clean_v1 notebook algorithm
The old sar3d core was a port of the superseded Horns_3D notebook and
produced wrong volumes. The compute core now follows the reference
notebook exactly:

- segmented_interleaved frame timing rebuilt from per-trace capture
  stamps (uniform tx_per_segment split as the no-stamps fallback), with
  the coarse inter-segment dtau and the intra-sweep dtau applied as one
  phase ramp before the IFFT;
- ground scene coordinates with the ground_depth_m lift (scene Y=0 is
  the ground), full-region grid instead of a window around a center
  depth, geo_ref compensation anchored on the ground plane, power 0.3;
- notebook finalization in C++: |acc/cnt|, depth mask, normalization
  without the Y-edge planes, separable Gaussian over (Z, X), level;
- CUDA kernel computes geometry in double: float32 loses ~3e-4 of an
  A-scan sample in tau and drifts ~1e-4 from the float64 reference.

Live-config keys follow: the center_depth/half_width/grid_n window knobs
are replaced by ground/voxel/y-range/margin/sigma/power/tx_per_segment.

Parity against the notebook npz exports (frames 0034-0036 of the
20260922_mine_fast_true dataset): max|diff| <= 1.6e-6 off the depth-mask
knife edge, identical argmax, level rel diff <= 7e-7. Verified via
make sar3d_parity --dump-dir + scripts/sar3d_volume_compare.py; the
executable spec lives in scripts/sar3d_reference_check.py (bit-tight
against the npz, including the animation shifted-grid arithmetic).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-09-25 16:42:01 +03:00
awe ebf0462d85 Revert "move to new version"
This reverts commit e202f57ef8.
2026-09-25 14:51:04 +03:00
awe 243963063c make gpr update 2026-09-21 13:39:04 +03:00
awe e202f57ef8 move to new version 2026-09-17 17:58:36 +03:00
awe 16ccafff69 test new version 2026-09-16 13:22:21 +03:00
awe b3339d101c projector version 2026-09-15 19:06:05 +03:00
Ayzen 62c0266a6b per-point switching: hardware bring-up, profiles, protocol doc
Verified on the bench that the modified master bitstream excites in every stage
and the RF switch routes: 16 traces per sweep, 62 dB between the two switch
positions of one master port, 9.9k measurements/s. Adds the built master image,
two run profiles, a verification script and librevna_protocol.md, and drops the
stale prototype driver copy that the firmware tree still carried.
2026-09-15 14:41:54 +03:00
Ayzen 7997abe2d9 added capture time for every sweep 2026-09-03 17:30:19 +03:00
Ayzen 3efe968dd1 some kamil_adc fixes 2026-07-02 17:44:24 +03:00
Ayzen 42532c9868 added new filtration and fixed processing parameters 2026-06-23 21:55:40 +03:00
Ayzen e7f2d25585 new gpr 2026-06-13 12:07:23 +03:00
Ayzen f0d095de80 new GPR 2026-06-11 19:51:30 +03:00
Ayzen 9661504e51 new kamil adc 2026-06-11 13:02:02 +03:00
Ayzen b3a8cd834f some fixes 2026-06-06 01:42:18 +03:00
Ayzen af6005d68f web UI added and refactoring done 2026-06-06 00:06:30 +03:00
Ayzen 3c30a12d4a some fixes again 2026-06-05 17:50:59 +03:00
Ayzen bbea744459 some fixes 2026-06-05 14:40:10 +03:00
Ayzen 22942d9dc9 some fixes 2026-06-04 18:33:38 +03:00
Ayzen eacea436a4 some fixes and improvements 2026-05-28 14:33:12 +03:00
Ayzen 83a934f251 added timing 2026-05-26 15:08:56 +03:00
AYZEN 5b480f1b55 sn9000 support 2026-05-20 16:20:34 +03:00
Ayzen 0da8b1283c working version 2026-05-18 17:27:00 +03:00
Ayzen 907dbf29ce kamil_adc support added 2026-05-08 21:23:52 +03:00
Ayzen cf3f3cbd67 fixed UI 2026-05-06 16:08:24 +03:00
Ayzen 1b7d9e417d added legacy gpr 2026-05-06 11:54:59 +03:00
Ayzen e86f30023e new gpr 2026-05-05 15:45:52 +03:00
Ayzen 5a70235ef3 added remote k209 setup 2026-04-29 16:32:39 +03:00
Ayzen e05c06bcbe added k209 driver 2026-04-29 15:20:56 +03:00
Ayzen 5d2f95f959 added white theme, some features to processing and saving 2026-04-13 10:44:01 +03:00
Ayzen 202993325d new GPR parameters and some UI fixes 2026-04-07 12:55:26 +03:00
Ayzen 4b78c2808d added gpr speed tracking 2026-04-01 22:05:04 +03:00
Ayzen 669205d8f8 UI updates 2026-04-01 20:21:16 +03:00
Ayzen 077542cbd0 added s11! 2026-03-26 18:29:42 +03:00
Ayzen 9ddbde22bd added pass through s11 2026-03-26 17:21:25 +03:00
Ayzen 24f7ebb2fb added s11 collections 2026-03-26 15:48:16 +03:00
Ayzen 9581730e41 added GPR 2026-03-19 19:29:08 +03:00
Ayzen 9c745f304e added json save button and remove history button. Added logging to save process 2026-03-05 15:53:56 +03:00
Ayzen fd4618b20d init commit 2026-03-05 14:42:33 +03:00