Learning to Interfere in Non-Orthogonal Multiple-Access Joint Source-Channel Coding

IEEE Transactions on Wireless Communications · vol. 25 · 2026

Many devices send images to one receiver at the same time, over the same band. They share one encoder and one decoder, and the receiver still knows which image came from whom.

Try it: drag along the scale, or focus it and press the arrow keys.slide your finger along the scale.

Each tick is one of 64 users, all transmitting on one band at the same time. The receiver decodes any of them from the same received signal, with only 2.4% more parameters than a single-user model at ρ = 1/12.

Stop taking turns

The usual way to share a channel is to take turns. With time division (TDMA), each user gets its own time slot, so the signals never overlap. DeepJSCC (deep joint source-channel coding) is a neural network that maps an image directly to channel symbols. With two users, each one gets half of the channel.

Two transmitters each send a DeepJSCC-encoded image to one receiver, each in its own time slot.
Fig. 1DeepJSCC extended to two users with TDMA. Scroll sideways, or tap to open it full size.

DeepJSCC-PNOMA lets every user transmit at the same time over the whole band. Their signals add up in the air and interfere. Instead of avoiding this interference, the model learns to use it.

Abstract

We consider multiple transmitters aiming to communicate their source signals (e.g., images) over a multiple access channel (MAC). Conventional communication systems minimize interference by orthogonally allocating resources (time and/or bandwidth) among users, which limits their capacity. We introduce a machine learning (ML)-aided wireless image transmission method that merges compression and channel coding using a multi-view autoencoder, which allows the transmitters to use all the available channel resources simultaneously, resulting in a non-orthogonal multiple access (NOMA) scheme. The receiver must recover all the images from the received superposed signal, while also associating each image with its transmitter. Traditional ML models deal with individual samples, whereas our model allows signals from different users to interfere in order to leverage gains from NOMA under limited bandwidth and power constraints. We introduce a progressive fine-tuning algorithm that doubles the number of users at each iteration, maintaining initial performance with orthogonalized user-specific projections, which is then improved through fine-tuning steps. Remarkably, our method supports up to 64 users with potential for further scaling, with only a 2.4% increase in the number of trainable parameters compared to a single-user model, significantly enhancing recovered image quality and outperforming existing NOMA-based methods over a wide range of datasets, metrics, and channel conditions. Our approach paves the way for more efficient and robust multi-user communication systems, leveraging innovative ML components and strategies.

One encoder, one decoder, one projection per user

All users run the same encoder. Each user multiplies its encoded signal by its own projection matrix Pi before it transmits. The receiver gets the sum of all signals plus noise. For each user, it applies a matching projection P′i and runs the shared decoder. Thus it recovers every image and knows which user sent it.

The idea comes from code division (CDMA), where each user spreads its signal with its own code. Here the codes are not fixed chip sequences. They are learned together with the encoder and the decoder.

n users with a shared encoder, a user-specific projection and power normalization send over a wireless multiple access channel; the receiver applies per-user projections and a shared decoder.
Fig. 2The encoder and decoder are shared. Only the projections Pi and P′i belong to one user. Scroll sideways, or tap to open it full size.

Double the users, one stage at a time

Many users that interfere from the first step are hard to train. So training starts from a single-user model and doubles the number of users at each stage. Every user's projection splits into two orthogonal projections, made with a QR factorization. At the start of a stage the new users do not interfere, so the model performs as well as before. Fine-tuning then teaches it to use the interference.

Pick a training stage to see how many users share the band:

Users
64
Trainable parameters
22,673,299
Extra parameters vs. 1 user
+2.37%

Parameter counts at ρ = 1/12 from Table III of the paper. A separate encoder and decoder for each user would grow linearly instead: 16 users would need 354,416,944 parameters.

Four stages: train one user, then fine-tune 2, 4 and 8 users, each time generating orthogonal matrices K1 and K2 that split every projection in two.
Fig. 5Progressive fine-tuning. Each stage doubles the users and starts without interference. Scroll sideways, or tap to open it full size.

Better images for everyone on the band

Every method gets the same power and the same bandwidth per user, written as the bandwidth ratio ρ. Image quality is measured in PSNR (peak signal-to-noise ratio, higher is better) at each channel SNR.

DeepJSCC-PNOMA beats DeepJSCC with time division and the digital schemes that pair an image codec with an LDPC channel code. This holds on CIFAR-10 and TinyImageNet, over AWGN and Rayleigh fading channels.

PSNR versus test SNR on CIFAR-10 and TinyImageNet over AWGN and Rayleigh channels; DeepJSCC-PNOMA is the highest curve.
Fig. 6Against TDMA and separation-based methods. Solid lines: ρ = 1/6. Dashed lines: ρ = 1/12. Scroll sideways, or tap to open it full size.

With 16 users, it comes close to Perfect SIC, an ideal receiver that removes all interference.

PSNR versus SNR on CIFAR-10 comparing DeepJSCC-PNOMA with DeepJSCC-NOMA, DeepJSCC-NOMA-CL, TDMA and Perfect SIC.
Fig. 7Against NOMA methods on CIFAR-10. Scroll sideways, or tap to open it full size.

It also wins when the users see correlated scenes, such as the two cameras of a stereo pair.

PSNR versus SNR on Cityscapes stereo pairs for AWGN and Rayleigh channels.
Fig. 8Cityscapes stereo pairs. Scroll sideways, or tap to open it full size.

More users on the band means better images for each of them, at the same per-user power and bandwidth.

PSNR versus SNR for 1, 2, 4, 8 and 16 users in four settings; more users give higher PSNR.
Fig. 9From n = 1 to 16 users. Scroll sideways, or tap to open it full size.

Up to 64 users

PSNR in dB on CIFAR-10 over an AWGN channel. Quality holds from 16 to 64 users.

ρUsers0 dB3 dB7 dB10 dB
1/61625.9628.3731.2833.27
3226.0328.4231.3333.32
6426.0528.4631.3433.29
1/121623.0425.0727.4929.03
3223.1825.1827.5729.08
6423.2025.1927.5328.98

Table IVScalability on CIFAR-10, AWGN channel. Bold: best value in each bandwidth group.

What the images look like

Crops from two Kodak images (512×768). The number is the PSNR of the full image.

Original
BPG + LDPC
Cheng + LDPC
DeepJSCC-TDMA
DeepJSCC-PNOMA
Original crop of the first image
BPG plus LDPC, 25.23 dB
25.23 dB
Cheng plus LDPC, 25.37 dB
25.37 dB
DeepJSCC-TDMA, 25.90 dB
25.90 dB
DeepJSCC-PNOMA, 26.59 dB
26.59 dB
Original crop of the second image
BPG plus LDPC, 27.68 dB
27.68 dB
Cheng plus LDPC, 27.78 dB
27.78 dB
DeepJSCC-TDMA, 28.38 dB
28.38 dB
DeepJSCC-PNOMA, 29.74 dB
29.74 dB
Fig. 12Qualitative comparison of reconstructed images.

Train it yourself

The repository has the training and evaluation code, the configurations, the commands we used for the experiments in the paper, and the notebooks for the figures.

git clone https://github.com/ipc-lab/deepjscc-pnoma.git
cd deepjscc-pnoma
pip install -r requirements.txt
cd src
python train.py data.name=CIFAR10 model=deepjscc_q2 model.bw_factor=6 \
  model.csi.min=0 model.csi.max=20 model.snr=undefined

Cite this paper

@article{yilmaz2026learning,
  title   = {Learning to Interfere in Non-Orthogonal Multiple-Access Joint Source-Channel Coding},
  author  = {Yilmaz, Selim F. and Karamanl{\i}, Can and G{\"u}nd{\"u}z, Deniz},
  journal = {IEEE Transactions on Wireless Communications},
  volume  = {25},
  pages   = {16859--16873},
  year    = {2026},
  doi     = {10.1109/TWC.2026.3688951}
}