Beamraise is a research codebase for joint beam/ID recommendation in a dual-transmitter mmWave scenario. It uses geometry- and environment-aware features to predict per-link beam IDs, then evaluates performance using communication-relevant SNR regret metrics, with a focus on joint success across both links.
- A deep-learning baseline notebook that engineers physical features, trains two MLP classifiers (one per transmitter), and evaluates joint performance.
- Confidence-interval reporting, selective prediction analysis, location-shift generalization (GroupKFold), and failure diagnostics.
- Reproducible figures for papers and slides.
We care about communication quality rather than exact ID classification. For each sample, we compute per-link regret
regret_k = SNR_k_best − SNR_k_pred
and report joint success rates
P(both links within 1 dB) and P(both links within 3 dB).
- deep.ipynb: end-to-end deep baseline with feature engineering, training, evaluation, and figure generation.
All inputs are stored under DATA:
- data.csv: sample-level geometry, labels, and best SNRs
- id1_all.csv, SNR1_all.csv, id2_all.csv, SNR2_all.csv: ranked candidate tables per sample
- scatterers_static.csv: static scatterer coordinates
- blockages.csv: blockage rectangle geometry and orientation
Running the notebook top to bottom produces:
- Printed metrics (Hit@K, regret statistics, joint success rates)
- PNG figures saved in the working directory (see FIGURES section in the notebook)
- Joint success within 1 dB: 0.8525 (random split)
- Joint success within 3 dB: 0.9395 (random split)
- Location-shift (GroupKFold, BIN_SIZE=7.5): 0.5721 ± 0.1407 (within 1 dB)