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.

Layout

Folder Contents
code/ Simulation and plotting scripts (Python, CPU only)
data/ Raw results written by the scripts, one CSV per experiment
fig/ Figure PDFs included in the manuscript

Requirements

Python 3.10 or later with numpy and matplotlib. The Fig. 4 experiment additionally uses torch (CPU build is sufficient). No GPU is required. Every script fixes the seed 2026 and writes its raw output to data/, so plotting is decoupled from simulation.

Reproducing the figures

Run the scripts from inside code/.

Figure Content Script Data
Fig. 2 Per-user MSE and self-interference 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; replot with replot_merged.py bertvit_merged.csv
Fig. 5 Realizable versus genie-aided SIC revision_sims.py E2; replot with replot_sic.py sic_comparison.csv
Fig. 6 Affinity sweep and crossover revision_sims.py E7a beta_sweep_corrected.csv
Fig. 7 Multi-user scaling revision_sims.py E7c multiuser_corrected.csv

Fig. 1 is a system diagram and has no simulation behind it.

Quantities quoted in the text but not plotted come from the same driver: revision_sims.py E0 writes theorem_check.csv (Theorem 1 constants), E4 writes csi_error.csv (imperfect-CSI robustness), and E5 writes mask_family_rev.csv (WalshHadamard versus Haar masks). revision_sims.py with no argument runs every experiment.

Verifying the analysis

verify_math.py re-derives every closed-form expression in the paper numerically and prints one PASS/FAIL line per item, covering the per-realization Gram identity, Theorem 1 and its self-interference constants, the effective-SINR corollary, the MAC-consistency proposition, the wideband limit, both crossover conditions, the affinity-mismatch bound, the CSI-invariance identity, the multi-user inverse formula, and the WalshHadamard construction. 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, and masks drawn fresh from the Haar mixture on every realization.

fig_real_merged.py also produces columns for a retrained attention-based receiver. Those columns are kept in bertvit_merged.csv for completeness but are not used by any figure in the paper. revision_sims.py E6 covers a high-affinity combining mode that is outside the scope of this paper.

Citation and license

Citation details and a license will be added when the paper is published.

S
Description
Synced with github.com/KiHoLee/edma-semantic-mac
Readme
11 MiB
Languages
Python 96.6%
TeX 3.4%