3.2.6. Modem parameters¶
AFF3CT comes with a set of predefined modems. A modem transforms a sequence of bits into a suitable form for the transmission on a physical medium. In the AFF3CT “philosophy”, the modem is a module containing three tasks: modulate, filter and demodulate (read the Philosophy section for more information about modules and tasks).
3.2.6.1. --mdm-type
¶
Type: text Allowed values: BPSK
CPM
OOK
PAM
PSK
QAM
SCMA
USER
Default: BPSK
Examples: --mdm-type SCMA
Select the modulation type.
Description of the allowed values:
Value | Description |
---|---|
BPSK |
Select a BPSK modulation. |
CPM |
Select a Continuous Phase Modulation (CPM) [AS81][ARS81]. |
OOK |
Select an On-Off Keying (OOK) modulation. |
PAM |
Select a Pulse-Amplitude Modulation (PAM). |
PSK |
Select a Phase-Shift Keying (PSK) modulation. |
QAM |
Select a rectangular Quadrature-Amplitude Modulation (QAM). |
SCMA |
Select a Sparse Code Multiple Access (SCMA) modulation [NB13]. |
USER |
Select a user defined constellation (to use with the --mdm-const-path parameter). |
3.2.6.2. --mdm-implem
¶
Type: text Allowed values: FAST
STD
Default: STD
Examples: --mdm-implem FAST
Select the modem implementation.
Description of the allowed values:
Value | Description |
---|---|
STD |
Select a standard implementation working for any modem. |
FAST |
Select a fast implementation, only available for the BPSK modem at this time. |
3.2.6.3. --mdm-bps
¶
Type: integer Default: 1 Examples: --mdm-bps 1
Set the number of bits used to generate a symbol (BPS).
This parameter has no effect on the BPSK and OOK modems where the BPS is forced to 1. This is the same for the SCMA modem where the BPS is forced to 3.
Note
For the QAM modem, only even BPS values are supported.
3.2.6.4. --mdm-const-path
¶
Type: file Rights: read/write Examples: --mdm-const-path conf/mod/16QAM_ANTI_GRAY.mod
Give the path to the ordered modulation symbols (constellation), to use with
the USER
modem.
An ASCII file is expected, for instance here is the definition of a 16-QAM
with an anti-Gray mapping (the lines starting with a #
are ignored):
# 0000
3 3
# 0001
-3 -3
# 0010
-1 3
# 0011
1 -3
# 0100
-3 1
# 0101
3 -1
# 0110
1 1
# 0111
-1 -1
# 1000
1 -1
# 1001
-1 1
# 1010
-3 -1
# 1011
3 1
# 1100
-1 -3
# 1101
1 3
# 1110
3 -3
# 1111
-3 3
Note
The number of bits per symbol is automatically computed from the number of given symbols. The latter has to be a power of 2.
3.2.6.5. --mdm-max
¶
Type: text Allowed values: MAXS
MAXSS
MAXL
MAX
Examples: --mdm-max MAX
Select the approximation of the \(\max^*\) operator used in the PAM, QAM, PSK, CPM and user demodulators.
Description of the allowed values:
Value | Description |
---|---|
MAXS |
\(\max^*(a,b) = \max(a,b) + \log(1 + \exp(-|a - b|))\). |
MAXSS |
\(\max^*(a,b) \approx \max(a,b) + d\) with \(d = \begin{cases} 0 & \text{if } d >= 37\\ \exp(-|a - b|) & \text{if } 9 <= d < 37 \\ \log(1 + \exp(-|a - b|)) & \text{else} \end{cases}\). |
MAXL |
\(\max^*(a,b) \approx \max(a,b) + \max(0, 0.301 - (0.5 |a - b|))\). |
MAX |
\(\max^*(a,b) \approx \max(a,b)\). |
MAXS
for Max Star is the exact \(\max^*\) operator. MAXSS
for
Max Star Safe allows to avoid numeric instabilities due the exponential
operation and the limited precision of the floating-point representation.
MAXL
for Max Linear is a linear approximation of the \(\max^*\)
function. MAX
for Max is the simplest \(\max^*\) approximation with
only a \(\max\) function.
3.2.6.6. --mdm-no-sig2
¶
Turn off the division by \(\sigma^2\) in the demodulator where \(\sigma\) is the Gaussian noise variance.
3.2.6.9. --mdm-cpm-L
¶
Type: integer Default: 2 Examples: --mdm-cpm-L 1
Set the CPM pulse width (also called memory depth).
3.2.6.10. --mdm-cpm-upf
¶
Type: integer Default: 1 Examples: --mdm-cpm-upf 1
Select the symbol upsampling factor in the CPM.
3.2.6.11. --mdm-cpm-map
¶
Type: text Allowed values: GRAY
NATURAL
Default: NATURAL
Examples: --mdm-cpm-map GRAY
Select the CPM symbols mapping layout.
Description of the allowed values:
Value | Description |
---|---|
GRAY |
Gray code switching only one bit at a time from a symbol to the following. |
NATURAL |
The natural binary code incrementing the value from a symbol to the next one. |
3.2.6.12. --mdm-cpm-ws
¶
Type: text Allowed values: GMSK
RCOS
REC
Default: GMSK
Examples: --mdm-cpm-ws GMSK
Select the CPM wave shape.
Description of the allowed values:
Value | Description |
---|---|
GMSK |
Gaussian Minimum Shift Keying. |
RCOS |
Raised COSinus. |
REC |
RECtangular. |
3.2.6.13. --mdm-cpm-std
¶
Type: text Allowed values: GSM
Examples: --mdm-cpm-std GSM
Set the CPM parameters according to a standard.
Description of the allowed values:
Value | Parameter | Value | Description |
---|---|---|---|
GSM |
1
5
1
2
3
NATURAL GMSK |
Bit per symbol.
Upsampling factor.
Modulation index numerator.
Modulation index denominator.
Memory depth.
Mapping layout.
Wave shape.
|
Note
When this parameter is used, if you set any of the other modem parameters, it will override the configuration from the standard.
3.2.6.14. --mdm-ite
¶
Type: integer Default: 1 Examples: --mdm-ite 5
Set the number of iterations in the SCMA demodulator.
3.2.6.15. --mdm-psi
¶
Type: text Allowed values: PSI0
PSI1
PSI2
PSI3
Examples: --mdm-psi PSI0
Select the \(\psi\) function used in the SCMA demodulator.
Description of the allowed values:
Value | Description |
---|---|
PSI0 |
\(\psi_0 = \exp\left(-\frac{|d|}{n_0}\right)\) |
PSI1 |
\(\psi_1 \approx \psi_0 \approx \frac{1}{|d| + n_0}\) |
PSI2 |
\(\psi_2 \approx \psi_0 \approx \frac{1}{8. |d|^2 + n_0}\) |
PSI3 |
\(\psi_3 \approx \psi_0 \approx \frac{1}{4. |d|^2 + n_0}\) |
Where \(n_0 = \begin{cases} 1 & \text{if } \sigma^2 \text{ is disabled}\\ 4 \sigma^2 & \text{else} \end{cases}\).
See the --mdm-no-sig2 parameter to disable the division by \(\sigma^2\).
3.2.6.16. --mdm-codebook
¶
Type: file Rights: read/write Examples: --mdm-codebook conf/mod/SCMA/CS1.cb
Give the path to the codebook, to use with the SCMA
modem.
Note
Only 3 BPS codebook symbols are supported at this time.
Codebook format
A codebook is designed for a number_of_users \(V\), a number_of_orthogonal_resources \(K\) and codebook_size \(M\).
The codebook file then looks as a table of \(V \times K\) rows and \(2.M\) columns (real and imaginary parts):
V K M
Re(User 1, Resource 1, Code 1) Im(User 1, Resource 1, Code 1) ... Re(User 1, Resource 1, Code M) Im(User 1, Resource 1, Code M)
... ... ... ... ...
Re(User 1, Resource K, Code 1) Im(User 1, Resource K, Code 1) ... Re(User 1, Resource K, Code M) Im(User 1, Resource K, Code M)
Re(User 2, Resource 1, Code 1) Im(User 2, Resource 1, Code 1) ... Re(User 2, Resource 1, Code M) Im(User 2, Resource 1, Code M)
... ... ... ... ...
Re(User 2, Resource K, Code 1) Im(User 2, Resource K, Code 1) ... Re(User 2, Resource K, Code M) Im(User 2, Resource K, Code M)
... ... ... ... ...
Re(User V, Resource 1, Code 1) Im(User V, Resource 1, Code 1) ... Re(User V, Resource 1, Code M) Im(User V, Resource 1, Code M)
... ... ... ... ...
Re(User V, Resource K, Code 1) Im(User V, Resource K, Code 1) ... Re(User V, Resource K, Code M) Im(User V, Resource K, Code M)
Descriptions of the codebooks of the configuration files
Codebooks are normalized, so the average power of signal will be equal to 1.
Codebook Set | Description |
---|---|
CS1 | From [Pro] |
CS2 | LDS based on QPSK constellation |
CS3 | Based on [CWC15] and own optimization for AWGN channel |
CS4 | From [ZXX+16] |
CS5 | From [SWC17] |
CS6 | From [KS17] |
CS7 | From [KS17] |
CS8 | From [WZC15] |
The simulation results for CS1-CS7 (AWGN and Rayleigh fading channels) can be found in [KS17]. The simulation results for CS8 can be found in [KS16] (defined as CS2 in the paper).
3.2.6.17. --mdm-rop-est
¶
Type: integer Default: 0 Examples: --mdm-rop-est 256
Set the number of known bits for the ROP estimation in the OOK demodulator on an optical channel.
The estimation is done from a known set of bits that is the output of the modulation. If left to 0, the demodulation is done with the exact applied ROP in the channel.
3.2.6.18. References¶
[ARS81] | T. Aulin, N. Rydbeck, and C. -. Sundberg. Continuous phase modulation - part ii: partial response signaling. IEEE Transactions on Communications (TCOM), 29(3):210–225, March 1981. doi:10.1109/TCOM.1981.1094985. |
[AS81] | T. Aulin and C. Sundberg. Continuous phase modulation - part i: full response signaling. IEEE Transactions on Communications (TCOM), 29(3):196–209, March 1981. doi:10.1109/TCOM.1981.1095001. |
[NB13] | H. Nikopour and H. Baligh. Sparse Code Multiple Access. In International Symposium on Personal, Indoor, and Mobile Radio Communications (PIMRC), volume, 332–336. Sept 2013. doi:10.1109/PIMRC.2013.6666156. |
[CWC15] | M. Cheng, Y. Wu, and Y. Chen. Capacity analysis for non-orthogonal overloading transmissions under constellation constraints. In International Conference on Wireless Communications Signal Processing (WCSP), 1–5. Oct 2015. doi:10.1109/WCSP.2015.7341294. |
[KS16] | V. P. Klimentyev and A. B. Sergienko. Detection of scma signal with channel estimation error. In Conference of Open Innovations Association and Seminar on Information Security and Protection of Information Technology (FRUCT-ISPIT), 106–112. April 2016. doi:10.1109/FRUCT-ISPIT.2016.7561515. |
[KS17] | (1, 2, 3) V. P. Klimentyev and A. B. Sergienko. Scma codebooks optimization based on genetic algorithm. In European Wireless Conference, 1–6. May 2017. doi:. |
[Pro] | Altera University Program. The 1st 5g algorithm innovation competition-scma. |
[SWC17] | G. Song, X. Wang, and J. Cheng. Signature design of sparsely spread code division multiple access based on superposed constellation distance analysis. IEEE Access, 5:23809–23821, 2017. doi:10.1109/ACCESS.2017.2765346. |
[WZC15] | Y. Wu, S. Zhang, and Y. Chen. Iterative multiuser receiver in sparse code multiple access systems. In IEEE International Conference on Communications (ICC), 2918–2923. June 2015. doi:10.1109/ICC.2015.7248770. |
[ZXX+16] | S. Zhang, K. Xiao, B. Xiao, Z. Chen, B. Xia, D. Chen, and S. Ma. A capacity-based codebook design method for sparse code multiple access systems. In International Conference on Wireless Communications Signal Processing (WCSP), 1–5. Oct 2016. doi:10.1109/WCSP.2016.7752620. |