94 lines
4.4 KiB
Markdown
94 lines
4.4 KiB
Markdown
# EDMA — Affinity-Aware Embedding Division Multiple Access
|
||
|
||
Reproducibility package for
|
||
|
||
> K.-H. Lee, H.-H. Choi, and J.-R. Lee, "Affinity-Aware Embedding
|
||
> Division Multiple Access for Multi-User Semantic Communications,"
|
||
> submitted to *IEEE Transactions on Vehicular Technology*, 2026.
|
||
|
||
This repository contains the simulation code, the raw result data, and
|
||
the figure files behind every numerical claim in the paper. It is
|
||
private during peer review and will be made public upon publication.
|
||
|
||
The design under test: each user applies an independent Haar
|
||
orthogonal mask, and the receiver runs a matched filter followed by
|
||
the closed-form affinity-aware Wiener demultiplexer, which harvests
|
||
the coherent interference component that the measured pairwise
|
||
affinity `beta` predicts. The affinity-blind reference sets `beta = 0`
|
||
in the same filter.
|
||
|
||
## Layout
|
||
|
||
| Folder | Contents |
|
||
|---|---|
|
||
| `code/` | Simulation and plotting scripts (Python) |
|
||
| `data/` | Raw results written by the scripts, one CSV per experiment |
|
||
| `fig/` | Figure PDFs included in the manuscript (`block_diagram_src.tex` is the TikZ source of Fig. 1) |
|
||
|
||
## Requirements
|
||
|
||
Python 3.10 or later with `numpy` and `matplotlib`. The Monte Carlo
|
||
experiments in `revision_sims_gpu.py`, `fig_real_merged.py`, and
|
||
`refine_matched.py` use `torch` (CUDA when available; the scripts fall
|
||
back to CPU). All random draws come from the numpy generator with the
|
||
fixed seed 2026 — torch only accelerates QR, matrix products, and
|
||
linear solves — and every script writes its raw output to `data/`, so
|
||
plotting is fully decoupled from simulation.
|
||
|
||
## Reproducing the figures
|
||
|
||
Run the scripts from inside `code/`. All plots are rendered from
|
||
`data/` only, by `replot_all.py` (Figs. 2, 3, 5, 6, 7) and
|
||
`replot_merged.py` (Fig. 4).
|
||
|
||
| Figure | Content | Simulation | Data |
|
||
|---|---|---|---|
|
||
| Fig. 1 | System diagram | `latexmk -pdf fig/block_diagram_src.tex` | — |
|
||
| Fig. 2 | Per-user MSE, aware vs blind floor | `revision_sims.py E1` | `floor_validation.csv` |
|
||
| Fig. 3 | Effective sum rate at the CLIP affinity | `revision_sims.py E7a` | `rate_corrected.csv` |
|
||
| Fig. 4 | Cosine recovery on real BERT+ViT pairs | `fig_real_merged.py`, then `refine_matched.py` | `bertvit_merged.csv` |
|
||
| Fig. 5 | Receiver comparison under Rayleigh fading | `revision_sims_gpu.py E2` | `sic_comparison.csv` |
|
||
| Fig. 6 | Value of the measured affinity | `revision_sims.py E7a` | `beta_sweep_corrected.csv` |
|
||
| Fig. 7 | Multi-user scaling (joint Wiener) | `revision_sims_gpu.py E7c` | `multiuser_corrected.csv` |
|
||
|
||
Quantities quoted in the text but not plotted come from the same
|
||
drivers: `revision_sims.py E0` writes `theorem_check.csv` (Theorem 1
|
||
validation across affinities and channel phases),
|
||
`revision_sims_gpu.py E3` writes `rayleigh_mse.csv` (unconditional
|
||
Rayleigh MSE), `E4` writes `csi_error.csv` (imperfect-CSI
|
||
robustness), `E5` writes `mask_family_rev.csv` (Walsh–Hadamard versus
|
||
Haar), `E8` writes `mismatch.csv` (affinity mismatch and
|
||
quantization), and `E9` writes `cosine_ceiling.csv` (cosine-ceiling
|
||
corollary check). The empirical affinity statistics quoted in the
|
||
manuscript are recomputable from `clip_realdata_beta.csv` and
|
||
`bert_vit_beta.csv` (32 paired and 32 unpaired samples per encoder
|
||
family), and the trained refinement gates behind the capacity-check
|
||
claim are stored in `refine_gates.npz`.
|
||
|
||
## Verifying the analysis
|
||
|
||
`verify_math.py` re-derives every closed-form claim numerically and
|
||
prints one PASS/FAIL line per item: Theorem 1 at the equal-gain point
|
||
and under random channel phases for both users, the aware and blind
|
||
error floors and the value-of-affinity ratio, the cosine-ceiling
|
||
corollary, the blind-receiver/matched-filter cosine equivalence, the
|
||
monotonicity proposition, the full-cooperation bound with its
|
||
equality case at `beta = 1`, the finite-SNR MAC-condition boundary,
|
||
the exact Walsh–Hadamard closed form, the quadratic mismatch
|
||
stationarity, and the dominated floor of the correlated-mask
|
||
alternative from the Appendix. It depends only on `numpy`.
|
||
|
||
## Conventions
|
||
|
||
The scripts follow the manuscript exactly: unit per-block transmit
|
||
energy `E_b = 1` per user, `rho = E_b / sigma_n^2` as the per-block
|
||
SNR with per-symbol SNR `rho/d`, complex block-Rayleigh gains unless
|
||
the evaluation point `h_u = 1` is stated, real unit-norm embeddings
|
||
with the orientation `<e1, e2> = +beta`, and independent Haar masks
|
||
drawn fresh on every realization.
|
||
|
||
## Citation and license
|
||
|
||
Citation details and a license will be added when the paper is
|
||
published.
|