Bit error rate (BER) simulation of SCMA scheme (based on presentation from 1st 5G Algorithm Innovation Competition) in Matlab/Octave.
To provide implementations of SCMA encoding/decoding algorithms for use in the researches of new schemes for 5G telecommunication standard.
This project demonstrates BER simulation of SCMA scheme.
The main features of project:
-
codebooks are from presentation
-
Log-MPA algorithm is used (for improve of performance Max-Log-MPA (branch
max_log_mpa
, but needs additional testing) is required, where calculation of exp and dynamic range correction at high SNR and/or number of iterations are not required) -
current version is only demonstration and works with the next SCMA codebooks parameters: M = 4, d_f = 3 and the number of non-zero elements in codewords is equal 2 (notes from paper M. Taherzadeh, H. Nikopour, A. Bayesteh and Hadi Baligh. SCMA Codebook Design).
-
outer
parfor
loop for SCMA signals -
MEX implemantation of the algorithm (C source)
The code is written in Matlab, but fully compatible with Octave (parfor
loop in Octave needs endparfor
instead of end
; for Octave 4.2.2 I have no parallel work, parallel execution package
may be helpful).
Unfortunately, the program executions very slow in Octave.
The mex function generation in Matlab increases the speed of execution approximately in 15 times (for single thread case).
-
AWGN channel:
h = ones(K, V, N)
-
Uplink, Rayleigh channel without diversity:
h = 1/sqrt(2)*(repmat(randn(1, V, N), K, 1)+1j*repmat(randn(1, V, N), K, 1))
-
Rayleigh channel with diversity:
h = 1/sqrt(2)*(randn(K, V, N)+1j*randn(K, V, N))
-
Downlink, Rayleigh channel without diversity:
h = 1/sqrt(2)*(repmat(repmat(randn(1, 1, N),K, 1), 1, V)+1j*(repmat(repmat(randn(1, 1, N), K, 1), 1, V)))
-
Downlink, Rayleigh channel with diversity:
h = 1/sqrt(2)*(repmat(randn(K, 1, N), 1, V)+1j*repmat(randn(K, 1, N), 1, V))
Run script simulation.m
.
Implementation of decoder for arbitrary SCMA codebooks parameters.
Vyacheslav P. Klimentyev, vklimentyev@gmail.com
Thanks to Alexander B. Sergienko, PhD, Saint Petersburg Electrotechnical University "LETI", Saint Petersburg, Russia.