Simulation code and data for the TMC submission

This commit is contained in:
2026-07-27 13:44:54 +09:00
commit 0229c026dc
27 changed files with 3530 additions and 0 deletions
+61
View File
@@ -0,0 +1,61 @@
# Structured SharedPrivate Embedding Multiplexing
Simulation code and data for the manuscript
> K.-H. Lee, H.-H. Choi, and J.-R. Lee, "Structured SharedPrivate
> Embedding Multiplexing for Semantic Multiple Access in Dynamic Mobile
> Networks," submitted to *IEEE Transactions on Mobile Computing*, 2026.
Builds on the published shared-embedding multiple-access framework
(Lee, Choi, Lee, *IEEE JSAC*, vol. 44, 2026, doi 10.1109/JSAC.2025.3643816).
## Layout
- `code/semantic_mac.py` — core library (content model, matched-filter
front end, SR/SC/LMMSE/DR receivers, spectral structure recovery,
mobility model, affinity tracker)
- `code/exp1_theory.py` — E1: receiver theory validation (affinity and
SNR sweeps, closed-form overlays) → `data/e1_*.csv`
- `code/exp2_structure.py` — E2: embedding-structure optimization on
real BERT embeddings (spectral recovery, learned adapter, held-out
evaluation ladder) → `data/e2_*.csv`, `data/e2_exponents.txt`
- `code/exp3_mobility.py` — E3: time-varying affinity tracking under
mobility (scene traversal and speed sweep) → `data/e3_*.csv`
- `code/exp4_mismatch.py` — E4: robustness to affinity estimation
error → `data/e4_mismatch.csv`
- `code/exp5_learned.py` — E5: comparison with a trained user-wise
attention receiver → `data/e5_learned.csv`, `data/e5_train_log.csv`
- `code/check_mask_realization.py` — realized Haar-mask front end vs
the expected cross-Gram model → `data/e_mask_check.csv`
- `code/replot_all.py` — the single canonical figure generator; reads
only `data/*.csv` and writes every paper figure with a uniform
canvas geometry
- `code/lmmse_verify.py` — early derivation-check prototype for the
affinity-aware LMMSE proposition (predecessor of E1)
- `data/bert_agnews_8000.pt` — frozen `bert-base-uncased` mean-pooled
embeddings of 8,000 AG News sentences (768-dim), the real-content
pool used by E2
## Reproduction
Requirements: Python 3.10+, `numpy`, `torch` (CPU is sufficient),
`matplotlib`.
```bash
cd code
python exp1_theory.py # E1 (minutes)
python exp2_structure.py # E2 (about an hour on CPU)
python exp3_mobility.py # E3 (about an hour on CPU)
python exp4_mismatch.py # E4 (minutes)
python exp5_learned.py # E5 (minutes)
python replot_all.py # regenerate every figure from data/*.csv
```
Every experiment fixes its random seeds, experiment scripts write CSVs
only, and `replot_all.py` is the only script that produces figures, so
each figure in the paper is regenerable from the shipped CSVs without
rerunning the experiments.
## License
MIT — see `LICENSE`.