Keywords

1 Introduction

The new generation of mobile communication technology is 5G communication technology. Its core technologies mainly include Carrier aggregation, dense networks, D2D, non-orthogonal multiple access, simultaneous same-frequency full-duplex and new network architectures, etc. [1, 2]. Compared with 4G mobile communication, the technology further improves throughput, delay, connection number and energy consumption in terms of traffic density and connection density, which largely makes up for the deficiency of 4G technology [3, 4]. Sparse Code Multiple Access (SCMA) is a new type of non-orthogonal multiple access technology that has emerged from the expansion and promotion of Low Density Spreading (LDS) technology. It is one of the new multiple access technologies selected by the next generation mobile communication technology [5, 6]. The SCMA system combines modulation and spread spectrum, and the information of data acquisition node is mapped to n-dimensional complex digital word to realize system overload transmission, which can well meet the requirements of 5g high data rate, improving system capacity, increase coverage area, increase hot spot high capacity and reduce delay [7, 8]. In SCMA system, multiple node detection (MND) is used at the receiver, and message passing algorithm (MPA) is used to process codebook in multi node detection [9, 10], but the algorithm has high complexity and poor bit error rate. Therefore, multi node detection algorithm has become one of the important research contents of SCMA system performance [11, 12].

When 5G high-speed information is transmitted and processed, the accuracy of data transmission is also an extremely important indicator. The author uses the serial-based MAX-Log-MPA Multi-node detection algorithm (referred to as S-Max-log-MPA), Threshold-based MAX-Log-MPA Multi-node Passing Algorithm (referred to as T-Max-log-MPA) and Max-log-MPA Multi-node Passing Algorithm based on Serial and Threshold (referred to as ST-Max-log-MPA) these three improved multi-node detection algorithms the analysis and comparison are carried out, and the characteristics of the three multi-node detection algorithms are compared and analyzed [13,14,15].

2 SCMA Data Transmission System Model

In the SCMA transmission system, taking the number of K data processing systems and J data collection nodes as an example, when the data collection point transmits data to the data processing system for processing, the data overload rate is \(\lambda = J/K\). The data collected at the data collection point \(j\left( {1,2, \cdots ,J} \right)\) is \(u_{j} \left( {u_{1} ,u_{2} , \cdots ,u_{J} } \right)\), which is pre-encoded through FEC encoding to obtain a binary bit data. The binary bit data stream is directly mapped to the K-dimensional data processing system through the SCMA encoder to obtain the K-dimensional code word \(x_{j} \left( {x_{1} ,x_{2} , \cdots ,x_{J} } \right)\). The encoder is a mapping that maps \(\log_{2} {\text{M}}\) bits of data \(b_{j} \left( {b_{1} ,b_{2} , \cdots ,b_{J} } \right)\) collected at the data collection point \(j\) to the K-dimensional code \(x_{j}\) corresponding to the codebook \(u_{j}\) of the data collection point \(j\).

Therefore, the codebook mapping process of the SCMA system can be expressed as:

$$ f:B^{{\log_{2} M}} \to \chi $$
(1)

Among them, the \(M\) is the codebook size, The size of \(M\) depends on the number of non-zeros in the binary data stream, and \(\upchi \) is the data codebook of the data collection point. The process of SCMA encoder mapping binary bit data stream into sparse codeword can be defined as:

$$ x_{j} = f(b_{j} ) $$
(2)

Among them, \(x_{j}\) is the K-dimensional codeword obtained by SCMA encoder mapping, and \(b_{j}\) is the binary bit data stream obtained by FEC encoding preprocessing.

This article uses the 4-dimensional codebook published by Huawei, that is, there are 6 data collection points and 4 data processing systems. The corresponding factor diagram is:

$$ {\text{F}}_{4 \times 6} = \left[ {\begin{array}{*{20}c} {\begin{array}{*{20}c} 0 \\ 1 \\ 0 \\ 1 \\ \end{array} } & {\begin{array}{*{20}c} {\begin{array}{*{20}c} {\begin{array}{*{20}c} 1 \\ 0 \\ 1 \\ 0 \\ \end{array} } & {\begin{array}{*{20}c} 1 \\ 1 \\ 0 \\ 0 \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} 0 \\ 0 \\ 1 \\ 1 \\ \end{array} } \\ \end{array} } & {\begin{array}{*{20}c} 1 \\ 0 \\ 0 \\ 1 \\ \end{array} } & {\begin{array}{*{20}c} 0 \\ 1 \\ 1 \\ 0 \\ \end{array} } \\ \end{array} } \right] $$
(3)

Among them, 0 denotes the data collection point does not transmit data, 1 represents the data collection point transmits data, and \({\text{F}}_{4 \times 6}\) denotes the data processing system.

The data collection point processes the data through FEC encoding and SCMA encoder, then sends it to the channel, and sends it to the data processing system after processing with additive white Gaussian noise. Define the signal received during K-dimensional data processing as \(y_{j} = [y_{1} ,y_{2} , \cdots ,y_{K} ]^{{\text{T}}}\), then:

$$ y = \sum\limits_{j = 1}^{J} {diag(h_{j} )x_{j} + n} $$
(4)

Among the \(h_{j} \left( {h_{1} ,h_{2} , \cdots ,h_{J} } \right)\) is the channel attenuation factor vector, In addition, adding a variance of \(n(n(0 \sim N_{o}^{2} ))\) to the system, additive white noise \(n_{j} = \left[ {n_{1} ,n_{2} \cdots ,n_{K} } \right]^{\text{T}}\), and \(diag\left( {} \right)\) is the diagonal operation of the matrix.

3 Max-log-MPA Multi-node Detection Algorithm

The Message Passing Algorithm based on Maximum logarithm (Max-log-MPA) is a classic multi-user detection scheme in the SCMA system. It uses the maximum logarithm operation to calculate the exponent in the original message passing algorithm. Operation and product operations are transformed into sum-product operations, and the data collection points and data processing system messages are updated through factor graphs, thereby reducing the complexity of the algorithm in the SCMA system and improving the BER of the SCMA system. Therefore, the Max-log-MPA message passing algorithm update process mainly includes the following three processes:

Step 1: Conditionally initialize the probability of all codewords based on the Max-log-MPA message passing logarithm:

$$ I_{{c_{k} \to u_{j} }}^{0} (x_{j} ) = \frac{1}{M}\left( {j = 1,2, \cdots ,J} \right) $$
(5)

Among them, \(c_{k}\) denotes the \(k(k = 1,2,...,K)\) data server, \(u_{j}\) denotes the j data collection node, and \(I_{{c_{k} \to u_{j} }}^{0} (x_{j} )\) denotes the message that the data server transmits to the data collection node during the first iteration.

Step 2: Updating process of function nodes and variable nodes of Max-log-MPA message passing algorithm:

$$ \begin{aligned} \mathop I\nolimits_{{c_{k} \to u_{j} }}^{t} \left( {x_{j} } \right) = \mathop {\max }\limits_{i = 1,2, \cdots ,N} \left\{ { - \frac{1}{{2d^{2} }}\left\| {y_{k} - \sum\limits_{{v \in x_{k} }} {h_{k,v} x_{k,v} } } \right\|^{2} + } \right. & \prod\limits_{{m \in x_{k} /j}} {I_{{c_{m} \to u_{k} }}^{t} \left( {x_{j} } \right)} \\ & \left. { + \prod\limits_{{m \in x_{k} /j}} {I_{{c_{m} \to u_{k} }}^{t - 1} \left( {x_{j} } \right)} } \right\} \\ \end{aligned} $$
(6)

Among them, \(I_{{c_{k} \to u_{j} }}^{t} (x_{j} )\) denotes the message transmitted by the data server to the data collection node, \(\xi_{k} /j\) denotes the collection of all data collection nodes except the j-th collection node and the k-th data point connected to the data server, \(\sim\left\{ {x_{j} } \right\}\) denotes the Marginal probability of \(x_{j}\), \(h_{v,k}\) denotes the channel gain of the v-th data collection node on the k-th data server, \(x_{k,v}\) denotes the codeword of the k-th data server on the v-th data collection node, the \(\upxi _{\text{k}}\) denotes the position set of the non-zero codeword in the kth row in the factor graph.

Step 3: Based on the Max-log-MPA message passing scheme, after reaching the set Maximum times of calculations, it will be judged:

$$ Q(x_{j,m} ) = ap_{v} (x_{j,m} ) \times \prod\limits_{{m \in \xi_{k} /j}} {I_{{c_{m} \to u_{k} }} (x_{j} )} $$
(7)

Among them, \(Q(x_{j,m} )\) denotes the probability of transmitting the code word \(x_{j,m}\) on the j-th data collection node, and \(ap_{v} (x_{j,m} )\) denotes the prior probability of the j-th data collection node.

In the formula, The \(Q(x_{j,m} )\) denotes the probability of transmitting the codeword on the data collection node \(x_{j,m}\), and The \(ap_{v} (x_{j,m} )\) denotes the prior probability of the j-th data collection node.

The data collection node uses the log-likelihood ratio (LLR) to make a decision:

$$ LLR_{j,x} = \log (\frac{{P(b_{i} = 0)}}{{P(b_{i} = 1)}}) = \log (\frac{{\sum\limits_{{m:b_{m,i} = 0}} {Q(x_{j,m} )} }}{{\sum\limits_{{m:b_{m,i} = 1}} {Q(x_{j,m} )} }}) $$
(8)

Among them, \(b_{i} = 0\) denotes the probability that the data collection node \(v_{i}\) can be successfully parsed, \(b_{i} = 1\) denotes the \(v_{i}\) decoding failure of the data collection node, and \(LLR_{j,x}\) denotes the log-likelihood ratio.

4 S-Max-log-MPA Multi-node Detection Algorithm

The original message passing algorithm updates the messages of the data collection point and the data processing system through the factor graph, which is one of the main data analysis methods of SCMA. In the original message passing algorithm, the data collection point and the processing system are respectively regarded as: variable node (VN) and function node (FN). When analyzing the time data, first update the message of the function node, then update the information of the variable node, and finally make a decision when the number of calculation times reaches the preset Maximum times.

In the S-Max-log-MAP multi-node detection algorithm, each iteration transmits the updated information from the previous node to the next node, and the previous node and the next node update the functional nodes at the same time. In the specific calculation, the information of the function node and the variable node is updated at the same time.

Therefore, In the specific calculation, the information of the function node and the variable node is iterated at the same time:

$$ \begin{aligned} I_{{c_{k} \to u_{j} }}^{t} (x_{j} ) = 2 \times \mathop {\max }\limits_{{ \sim x_{j} }} \left\{ { - \frac{1}{{2\delta^{2} }}\left\| {y_{k} - \sum\limits_{{v \in \xi_{k} }} {h_{k,v} x_{k,v} } } \right\|^{2} } \right. & + \prod\limits_{{m \in \xi_{k} /j}} {I_{{c_{m} \to u_{k} }}^{t} (x_{j} )} \\ & + \left. {\prod\limits_{{m \in \xi_{k} /j}} {I_{{c_{m} \to u_{k} }}^{t - 1} (x_{j} )} } \right\} \\ \end{aligned} $$
(9)

Among them, \(I_{{c_{k} \to u_{j} }}^{t} (x_{j} )\) denotes the message transmitted by the data server to the data collection node, \(\xi_{k} /j\) denotes the set of data collection nodes in the data collection node except the j-th collection node and the k-th data server connected, \(\sim\left\{ {x_{j} } \right\}\) denotes the Marginal probability of \(x_{j}\), and, \(h_{k,v}\) denotes the channel gain of the v-th data collection node on the k-th data server, \(x_{v,k}\) denotes the codeword of the k-th data server on the v-th data collection node, and \(\upxi _{\text{k}}\) denotes the position set of the non-zero elements in the k-th row of the factor graph.

The decision process of the S-Max-log-MPA message passing algorithm becomes:

First estimate the probability of the code word combination on the k-th data collection node: \(Q^{t} (x_{j} )\)

$$ Q^{t} (x_{j} ) = \exp \left( { - \frac{1}{{N_{0,k} }}\left\| {y_{k} - \sum\limits_{{v \in \xi_{k} }} {h_{k,v} x_{k,v} } } \right\|^{2} } \right) $$
(10)

Among them, \(t(t = 1,2,...,T_{\max } )\) denotes the number of iterations, \(N_{0,k}\) represents the noise power on the data server k,

Then estimate the probability \(Q(x_{j,m} )\) of transmitting the codeword \(\text{x}_{{\text{j,m}}}\) on the j-th data collection node:

$$ Q(x_{j,m} ) = ap_{v} (x_{j,m} ) \times \prod\limits_{{m \in \xi_{k} /j}} {I_{{c_{m} \to u_{k} }} (x_{j} )} $$
(11)

Where \(ap_{v} (x_{j,m} )\) denotes the prior probability of the j-th data collection node.

Finally, the data collection node uses the log-likelihood ratio (LLR) to make a decision.

5 T-Max-log-MPA Multi Node Detection Algorithm

T-Max-log-MPA multi-node detection algorithm updates the information of function nodes and variable nodes at the same time, adds the necessary conditions for the certainty of data collection point information, and then judges the threshold conditions. Pre decoding can only be performed if the threshold conditions are met.

Using the Jacobi formula:

$$ \log (\sum\limits_{i = 1}^{N} {\exp (f_{i} )} ) \approx \mathop {\max }\limits_{i = 1,2, \cdots ,N} \left\{ {f_{1} ,f_{2} , \cdots ,f_{N} } \right\} $$
(12)

The message update of the T-Max-log-MPA multi-node detection algorithm can be modified to:

$$ I_{{c_{k} \to u_{j} }}^{t} (x_{j} ) = \mathop {\max }\limits_{i = 1,2, \cdots ,N} \left\{ { - \frac{1}{{2\delta^{2} }}\left\| {y_{k} - \sum\limits_{{v \in \xi_{k} }} {h_{k,v} x_{k,v} } } \right\| + \sum\limits_{{v \in \xi_{k} }} {I_{{u_{j} \to c_{k} }}^{t - 1} (x_{j} )} } \right\} $$
(13)

After the Maximum times of iterations, the codeword output probability is:

$$ Q\left( {x_{j} } \right) = \sum\limits_{{v \in \varepsilon_{j} }} {\mathop I\nolimits_{{c_{k} \to u_{j} }}^{{t_{\max } }} \left( {x_{j} } \right)} $$
(14)

Among them, \(\upxi _{\text{j}}\) denotes the position set of the non-zero elements in the j-th column of the factor graph.

6 S-T-Max-log-MPA Multi-node Detection Algorithm

The S-T-Max-log-MPA multi-node detection algorithm is a synthesis of the ideas of the first two algorithms. First, it judges the reliability of the codeword, and then judges the log-likelihood of the data server. The two judgment results will be combined as the decisive index for the final decision of the data collection node.

Since the S-T-Max-log-MPA multi-node detection algorithm must first determine the reliability of the codeword of the data collection node, the message update process can be modified as follows:

$$ \begin{aligned} I_{{c_{k} \to u_{j} }}^{t} (x_{j} ) = 2 \times \frac{1}{{\sqrt {2\pi } \delta }} \times \mathop {\max }\limits_{{ \sim x_{j} }} & \left\{ { - \frac{1}{{2\delta^{2} }}\left\| {y_{k} - \sum\limits_{{v \in \xi_{k} }} {h_{k,v} x_{k,v} } } \right\|^{2} } \right. \\ & \left. { + \prod\limits_{{m \in \xi_{k} /j}} {I_{{c_{m} \to u_{k} }}^{t} (x_{j} )} + \prod\limits_{{m \in \xi_{k} /j}} {I_{{c_{m} \to u_{k} }}^{t - 1} (x_{j} )} } \right\} \\ \end{aligned} $$
(15)

7 Simulation Analysis

In order to verify the accuracy of the three improved message passing algorithms, the BER performance can be analyzed separately. Because the codebook of this article uses Huawei’s 6 × 4 codebook, this article selects the three cases where the maximum number of iterations is 2, 3, and 5, and analyzes the bit error rates of the three algorithms respectively.

Fig. 1.
figure 1

Bit error ratio comparison of three algorithms when Tmax = 2

Figure 1 shows the BER of the three improved algorithms when the maximum times of iterations is 2. It can be seen from the figure that the average BER performance of the three improved message passing schemes is better than the high threshold in the case of a low threshold. When the Eb/No/dB = 0, the BER of S-Max-log-MPA multi-node detection algorithm is 0.19, while T-Max-log-MPA multi-node detection algorithm and ST-Max-Log-MPA multi-node detection scheme The BER under the three threshold conditions of 0.01, 0.10 and 0.60 are respectively: 0.2733, 0.2848, 0.2927 and 0.197, 0.206, 0.2503. When Eb/No/dB = 14, the BER of S-Max-log-MPA multi-node detection scheme is 0.01833, while T-Max-log-MPA multi-node detection scheme and ST-Max-log-MPA multi-node detection scheme The BER are: 0.062, 0.04383, 0.0615 and 0.0275, 0.0285, 0.056. Although it can be seen from the figure that the BER performance of T-Max-Log-MPA multi node detection scheme and S-T-Max-Log-MPA multi node detection scheme is worse than that of S-Max-Log-MPA multi node detection scheme. The BER performance of the first two scheme under low threshold is better than that of S-Max-Log-MPA multi node detection scheme.

Figure 2 shows the BER of the three improved algorithms when the maximum times of iterations is 3. It can be concluded from the figure that the BER of T-MaX-Log-MPA multi node detection scheme and S-T-Max-log-MPA multi node detection scheme is better at low threshold. In addition, it can be seen that the bit error rate performance of S-T-Max-log-MPA multi node detection scheme will be better with the increase of iteration times.When Eb/No/dB = 0, the BER of S-Max-log-MPA multi-node detection scheme is 0.1562, while T-Max-log-MPA multi-node detection scheme and ST-Max-log-MPA multi-node detection scheme. The BER under three threshold conditions of 0.01, 0.10 and 0.60 are respectively: 0.2372, 0.2585, 0.2768 and 0.1715, 0.1912, 0.2455. When Eb/No/dB = 14, the bit error rate of S-Max-Log-MPA multi-node detection scheme is 0.0075, while T-Max-log-MPA multi-node detection scheme and ST-Max-log-MPA multi-node detection scheme the BER are: 0.0395, 0.04383, 0.04467 and 0.0155, 0.0175, 0.05333. Compared with Fig. 1, the BER performance of the three denotes is improving with the increase of the maximum number of iterations. At the same time, the bit error rate performance of T-Max-log-MPA multi node detection algorithm and S-T-Max-log-MPA multi node detection algorithm is also improving at low threshold.

Fig. 2.
figure 2

Bit error ratio comparison of three algorithms when Tmax = 3

Fig. 3.
figure 3

Bit error ratio comparison of three algorithms when Tmax = 5

When the maximum number of iterations is 5, the BER performance of the three denotes can be obtained from Fig. 3. It can be seen that with the increase of threshold and the maximum number of iterations, the bit error rate performance of s-t-max-log-mpa multi node detection algorithm is much higher than that of the other two denotes. When Eb/No/dB = 0, the bit error rate of S-Max-log-MPA multi-node detection algorithm is 0.1813, while T-Max-log-MPA multi-node detection algorithm and ST-Max-log-MPA multi-node detection algorithm The bit error rates under three threshold conditions of 0.01, 0.10 and 0.60 are respectively: 0.2507, 0.262, 0.286 and 0.1878, 0.1957, 0.241. When Eb/No/dB = 14, the bit error rate of S-Max-log-MPA multi-node detection algorithm is 0.0055, while T-Max-log-MPA multi-node detection algorithm and ST-Max-log-MPA multi-node detection algorithm The bit error rates are: 0.036, 0.03817, 0.04067 and 0.01483, 0.01617, 0.05333. Compared with the numerical analysis of the bit error rate performance of the previous two figures, it can be seen that the overall bit error rate performance of the three denotes is improving as the maximum number of iterations increases. And the error rates of the three denotes are also approaching as the number of iterations increases.

8 Conclusion

From the above research and simulation, it can be summed up that the average BER of S-Max-log-MPA multi node detection algorithm is the smallest, and the average bit error rate of T-Max-log-MPA multi node detection algorithm and S-T-Max-log-MPA multi node detection algorithm increases with the increase of threshold. However, in some communication environments requiring threshold restrictions, T-Max-log-MPA multi node detection algorithm and S-T-Max-log-MPA multi node detection algorithm are more suitable for these scenarios. In the low threshold scenario, S-T-Max-log-MPA multi node detection algorithm is better than T-Max-log-MPA multi node detection algorithm, but in the high threshold communication environment, T-Max-log-MPA multi node detection algorithm is more suitable. In other application scenarios, S-Max-log-MPA multi node detection algorithm is better than the other two algorithms.