One-shot learned channel simulation
Condition-Wise Sinkhorn Drifting
A channel surrogate that preserves the transmitted symbol and transports only the conditional output law p(y | x), avoiding iterative diffusion sampling at inference.
One generator evaluation per channel sample after training.
AWGN, Rayleigh fading, SSPA/Rapp nonlinearity, and compact TDL.
Generator metrics are checked against downstream communication performance.
Method
Condition-wise transport over output fibers
In learned channel simulation, the input symbol x is side information. The relevant object is the conditional law p(y | x). The method estimates Sinkhorn barycentric velocities from repeated channel outputs at fixed inputs and trains a direct-output generator by detached target regression.
The same one-shot generator architecture is used for direct drifting, joint Sinkhorn drifting, and condition-wise Sinkhorn drifting. The difference is the drift field used during training.
Interactive demo
Condition-wise drift preserves the input label
Generated samples start near swapped output clouds. Joint transport follows nearby global outputs. Condition-wise transport keeps each particle tied to its transmitted symbol.
Results
Generator metrics and downstream communication performance can diverge
Benchmark details
Timing and model size
Timings follow the journal protocol: PyTorch float32 execution on an NVIDIA RTX 5060 Ti GPU, without CUDA graph capture, torch.compile, or mixed precision. Training time is extrapolated from a measured 2% run that includes channel sampling, optimizer updates, and Sinkhorn computations. Inference uses two warmup repeats and seven CUDA-synchronized timed repeats.
Projected Training and Inference Timing
Training hours are extrapolated from a 2% timing run. Inference reports mean time per generated channel sample.
| Method | AWGN | Rayleigh | SSPA | TDL | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Train h | Inf. | Total h | Train h | Inf. | Total h | Train h | Inf. | Total h | Train h | Inf. | Total h | |
| One-shot generators | ||||||||||||
| Drifting direct | 1.299 | 0.114 µs | 1.300 | 1.299 | 0.117 µs | 1.300 | 5.656 | 0.118 µs | 5.656 | 0.007 | 0.116 µs | 0.007 |
| Joint Sinkhorn | 0.917 | 0.116 µs | 0.918 | 0.919 | 0.115 µs | 0.920 | 3.956 | 0.117 µs | 3.956 | 0.010 | 0.116 µs | 0.010 |
| Condition-wise Sinkhorn | 0.048 | 0.115 µs | 0.048 | 0.048 | 0.115 µs | 0.049 | 0.296 | 0.117 µs | 0.297 | 0.009 | 0.115 µs | 0.009 |
| WGAN | 0.064 | 0.108 µs | 0.064 | 0.085 | 0.108 µs | 0.086 | 0.478 | 0.107 µs | 0.478 | 0.022 | 0.108 µs | 0.022 |
| Diffusion samplers | ||||||||||||
| DDPM | 0.020 | 0.046 ms | 0.147 | 0.020 | 0.045 ms | 0.145 | 0.124 | 0.047 ms | 0.253 | 0.005 | 0.045 ms | 0.007 |
| DDIM-100 | 0.020 | 0.039 ms | 0.128 | 0.020 | 0.039 ms | 0.128 | 0.124 | 0.039 ms | 0.231 | 0.005 | 0.039 ms | 0.006 |
| DDIM-50 | 0.020 | 0.019 ms | 0.073 | 0.020 | 0.019 ms | 0.073 | 0.124 | 0.019 ms | 0.177 | 0.005 | 0.019 ms | 0.006 |
| DDIM-20 | 0.020 | 0.008 ms | 0.042 | 0.020 | 0.008 ms | 0.042 | 0.124 | 0.008 ms | 0.145 | 0.005 | 0.008 ms | 0.006 |
| DDIM-10 | 0.020 | 0.004 ms | 0.031 | 0.020 | 0.004 ms | 0.031 | 0.124 | 0.004 ms | 0.135 | 0.005 | 0.004 ms | 0.005 |
Inference-Network Parameter Counts
Sinkhorn drifting variants use the same one-shot generator as direct drifting. Sinkhorn couplings are training-time computations and add no inference-time parameters.
| Model | AWGN | Rayleigh | SSPA | TDL |
|---|---|---|---|---|
| Direct drifting | 20,487 | 20,487 | 20,744 | 20,744 |
| Sinkhorn drifting variants | 20,487 | 20,487 | 20,744 | 20,744 |
| Diffusion denoiser | 59,847 | 74,247 | 60,178 | 74,632 |
| WGAN generator | 19,335 | 71,431 | 72,200 | 72,200 |
Code
Run a channel surrogate
The repository contains the drifting generators, channel models, metrics, and copyable experiment commands.
python scripts/run_drifting_benchmark.py \
--channel Rayleigh \
--variant conditionwise_sinkhorn \
--device cuda \
--seed 7 \
--epochs 30 \
--dataset-size 1000000 \
--eval-size 200000 \
--batch-size 5000 \
--out results/rayleigh_conditionwise_seed7.json
Citation
Paper
@article{fritschek2026conditionwise,
title = {Condition-Wise Sinkhorn Drifting for One-Shot Learned Channel Simulation},
author = {Fritschek, Rick and Schaefer, Rafael F.},
journal = {arXiv preprint arXiv:2606.17893},
year = {2026},
doi = {10.48550/arXiv.2606.17893}
}