This repository contains the program code for the paper "Neural Network-Based Successive Interference Cancellation for Non-Linear Bandlimited Channels", which was accepted to the IEEE Transactions on Communications on 11 August, 2024. A preprint of the accepted journal version is available. A shorter conference version is also available.
The code computes achievable information rates under successive interference cancellation (SIC). At each SIC stage a recurrent NN estimates (conditional) a-posteriori probabilities.
We provide three example applications.
Tip
The NN parameters have been chosen to work over a wide range of SNRs. Fine-tuning the parameters based on model memory, constellation size or SNR can lead to better performance and faster training.
The software is provided under the open-source MIT license. If you use the software in your academic work, please cite the accompanying document as follows:
D. Plabst, T. Prinz, F. Diedolo, T. Wiegart, G. Böcherer, N. Hanik and G. Kramer, "Neural Network-Based Successive Interference Cancellation for Non-Linear Bandlimited Channels," IEEE Trans. Commun., to appear. Available: https://arxiv.org/abs/2401.09217
The corresponding BibTeX entry is: nnmi/cite.bib.
Consider short-range optical communication with a square-law detector (SLD) at the receiver, i.e., a single photodiode performs the optical-to-electrical conversion12. The standard single-mode fiber (SSMF) between transmitter and receiver causes chromatic dispersion, leading to intersymbol interference (ISI). We consider thermal noise from photodetection. The model is
with the
- baseband signal
$X(t) = \sum_\kappa X_\kappa g(t-\kappa T)$ and symbol period$T$ - u.i.i.d. discrete channel inputs
$X_\kappa$ from the constellation$\mathcal{A}$ - filter
$g(t)$ that combines transmit pulseshaping (DAC) and linear fiber effects - filter
$h(t)$ that models linear effects at the receiver - real white Gaussian noise
$N(t)$ .
The SLD doubles the signal bandwidth. We use a low-pass filter
We compare two setups.
- ex1a_nnmi.py computes information rates for back-to-back configuration (without fiber).
- ex1b_nnmi.py computes information rates for 30 km of SSMF.
The fiber is operated at the C band carrier 1550 nm; see [Tab. II]. The DAC is operated at a symbol rate of 35 GBd and performs sinc pulseshaping. We use 4-ASK modulation with constellation
Consider linear baseband communication with AWGN. The model is
with the
- baseband signal
$X(t) = \sum_\kappa X_\kappa g(t-\kappa T)$ and symbol period$T$ - u.i.i.d. discrete channel inputs
$X_\kappa$ from the constellation$\mathcal{A}$ - RRC filter
$g(t)$ with roll-off factor$\alpha$ as the DAC response - frequency-selective channel
$h_\text{ch}(t)$ - RRC receive matched-filter
$h(t)$ - circularly-symmetric (c.s.) complex white Gaussian noise
$N(t)$ .
Consider a flat channel
Separate detection and decoding (SDD)
Running ex2a_nnmi.py uses NN-SIC to compute achievable information rates. The plotted rates are the same as the single-letter mutual information in Fig. 13. We also plot the capacity of the memoryless AWGN channel, achieved by Gaussian signalling. For real modulation, the SNR definition takes only the real component of the noise into account.
Consider the model4:
with the
- discrete channel
$(h_\kappa)_{\kappa=-3}^{3} = (0.19, 0.35, 0.46, 0.5, 0.46, 0.35, 0.19)$ - u.i.i.d. discrete channel inputs
$X_\kappa$ from the BPSK constellation$\mathcal{A} = \lbrace\pm 1\rbrace$ - real AWGN
$N_\kappa$ .
This model often describes magnetic recording channels. The program ex2b_nnmi.py uses NN-SIC to calculate the achievable rates. We compare the results with the exact information rates calculated with the forward-backward algorithm (FBA)4. The NN-SDD rates are within 0.1 dB of the FBA reference and NN-SIC with
Consider baseband communication with AWGN
where the real baseband signal
with peak output power
- baseband signal
$X(t) = \sum_\kappa X_\kappa g(t-\kappa T)$ and symbol period$T$ - u.i.i.d. discrete channel inputs
$X_\kappa$ from the constellation$\mathcal{A}$ - RRC filter
$g(t)$ with roll-off factor$\alpha$ that models the DAC - receive filter
$h(t)$ - real-valued white Gaussian noise
$N(t)$ .
We compare two setups.
- ex3a_nnmi.py performs receiver matched-filtering, symbol-rate sampling and SDD.
-
ex3b_nnmi.py uses a brickwall receive filter
$h(t)$ with cutoff frequency$2/T$ and performs 4-fold oversampling with SIC.
We consider 4-ASK modulation, set the noise variance
One may execute the examples providing command line parameters:
python exN_nnmi.py -m 4-ASK -S 4
where one must replace N
by [1a,1b,2a,3a,3b]
to choose the example of interest. The prompt example computes achievable information rates for 4-ASK modulation and
Further options can be found by executing:
python exN_nnmi.py --help
which outputs:
usage: exN_nnmi.py [-h] [--stages STAGES] [--mod_format MOD_FORMAT] [--indiv_stage INDIV_STAGE] [--device {cpu,cuda:0,cuda:1}]
NN-MI: Neural Network Achievable Information Rate Computation for Channels with Memory
options:
-h, --help show this help message and exit
--stages STAGES, -S STAGES number of successive interference cancellation stages
--mod_format MOD_FORMAT, -m MOD_FORMAT M-ASK, M-PAM, M-SQAM (star-QAM), M-QAM (square) modulation with order M
--indiv_stage INDIV_STAGE, -s INDIV_STAGE simulation of a single individual stage
--device {cpu,cuda:0,cuda:1}, -d {cpu,cuda:0,cuda:1} run code on cpu, cuda:0 or cuda:1
The code runs under Python >= 3.9.6 and dependencies nnmi/requirements.txt:
asciichartpy==1.5.25
matplotlib==3.7.2
numpy==1.25.2
scikit_commpy==0.8.0
scipy==1.11.4
tabulate==0.9.0
torch==2.0.1
Footnotes
-
D. Plabst, Tobias Prinz, Thomas Wiegart, Talha Rahman, Nebojša Stojanović, Stefano Calabrò, Norbert Hanik and Gerhard Kramer, "Achievable Rates for Short-Reach Fiber-Optic Channels With Direct Detection," in J. Lightw. Technol., vol. 40, no. 12, pp. 3602-3613, 15 June15, 2022, doi: 10.1109/JLT.2022.3149574. [Xplore] ↩
-
T. Prinz, D. Plabst, T. Wiegart, S. Calabrò, N. Hanik and G. Kramer, "Successive Interference Cancellation for Bandlimited Channels with Direct Detection," in IEEE Trans. Commun., vol. 72, no. 3, pp. 1330-1340, March 2024, doi: 10.1109/TCOMM.2023.3337254. [Xplore] ↩
-
G. D. Forney and G. Ungerboeck, "Modulation and coding for linear Gaussian channels," in IEEE Trans. Inf. Theory, vol. 44, no. 6, pp. 2384-2415, Oct. 1998, doi: 10.1109/18.720542. [Xplore] ↩
-
D. M. Arnold, H.-A. Loeliger, P. O. Vontobel, A. Kavcic and W. Zeng, "Simulation-Based Computation of Information Rates for Channels With Memory," in IEEE Trans. Inf. Theory, vol. 52, no. 8, pp. 3498-3508, Aug. 2006, doi: 10.1109/TIT.2006.878110. [Xplore] ↩ ↩2