Skip to content

Doppler Range Map TUI & WebGPU #1

Open
x46085 wants to merge 28 commits intomainfrom
feat/doppler-radar-tui
Open

Doppler Range Map TUI & WebGPU #1
x46085 wants to merge 28 commits intomainfrom
feat/doppler-radar-tui

Conversation

@x46085
Copy link
Contributor

@x46085 x46085 commented Feb 8, 2026

This was a rather large amount of work in the service of "how fast and compelling of a visual demo can we get with the Aleph's GPU", and a lot of code which resulted in a rather simple answer:

  • visually, the demo can be pretty cool, with a high performance TUI and WebGPU stream demo.

  • architecturally, we are blocked by only having USB 2.0 access to the PlutoSDR. We need to be able to leverage the Aleph's USB3.0 Super Speed or PCIe lanes in order to transfer the data off the PlutoSDR fast enough to make the GPU actually blow minds.

  • timing study:
    Timed pipeline (all times from steady-state measurements):

1. GPIO burst trigger                    ~13 ms
2. sdr.rx() -- blocking IIO read        ~1330 ms  (93% of total)
3. Channel sum (chan1 + chan2)            ~23 ms
4. Reshape into chirps (vectorized)      ~9.5 ms
5. DC suppression (if enabled)           ~2 ms
6. MTI filter (if enabled)               ~8 ms
7. GPU processing (FFT2 + post)          ~58 ms
   - to_gpu (cp.asarray)                   2.5 ms
   - fft2 + fftshift + abs (async)         1.3 ms
   - log10 + clip (async)                  0.4 ms
   - GPU sync                              52 ms
   - to_cpu                                1.5 ms
   - float32 cast                          0.9 ms
8. Total                                 ~1435 ms (~0.7 FPS at 512 chirps)

So as you can see above, the RX/TX from the PlutoSDR takes 93% of the roundtrip time, leaving the GPU largely unbothered and idle waiting for work to do.

Regardless, results from this PR:

Original Phaser Lab Demo of a Doppler Range Map:

mac-range-doppler.mov

Rust TUI Doppler Range Map:

TUI-trimmed.mov

WebGPU Doppler Range Map:

web-trim.mov

@x46085 x46085 requested a review from jonkraft February 8, 2026 10:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant