<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.1 20151215//EN" "http://jats.nlm.nih.gov/publishing/1.1/JATS-journalpublishing1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" article-type="research-article" dtd-version="1.1">
<front>
<journal-meta>
<journal-id journal-id-type="pmc">IASC</journal-id>
<journal-id journal-id-type="nlm-ta">IASC</journal-id>
<journal-id journal-id-type="publisher-id">IASC</journal-id>
<journal-title-group>
<journal-title>Intelligent Automation &#x0026; Soft Computing</journal-title>
</journal-title-group>
<issn pub-type="epub">2326-005X</issn><issn pub-type="ppub">1079-8587</issn>
<publisher>
<publisher-name>Tech Science Press</publisher-name>
<publisher-loc>USA</publisher-loc>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">13145</article-id>
<article-id pub-id-type="doi">10.32604/iasc.2021.013145</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Uplink SCMA Codebook Reuse Transmission and Reception Scheme</article-title><alt-title alt-title-type="left-running-head">Uplink SCMA Codebook Reuse Transmission and Reception Scheme</alt-title><alt-title alt-title-type="right-running-head">Uplink SCMA Codebook Reuse Transmission and Reception Scheme</alt-title>
</title-group>
<contrib-group content-type="authors">
<contrib id="author-1" contrib-type="author">
<name name-style="western">
<surname>Ji</surname>
<given-names>Xiaohong</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-2" contrib-type="author">
<name name-style="western">
<surname>Du</surname>
<given-names>Junjun</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
</contrib>
<contrib id="author-3" contrib-type="author" corresp="yes">
<name name-style="western">
<surname>Jia</surname>
<given-names>Guoqing</given-names>
</name>
<xref ref-type="aff" rid="aff-1">1</xref>
<email>guoqing.jia@qhmu.edu.cn</email>
</contrib>
<contrib id="author-4" contrib-type="author">
<name name-style="western">
<surname>Fang</surname>
<given-names>Weidong</given-names>
</name>
<xref ref-type="aff" rid="aff-2">2</xref>
<xref ref-type="aff" rid="aff-3">3</xref>
</contrib>
<aff id="aff-1">
<label>1</label><institution>Qinghai Nationalities University</institution>, <addr-line>Xining, 810007</addr-line>, <country>China</country></aff>
<aff id="aff-2">
<label>2</label><institution>Science and Technology on Micro-System Laboratory, Shanghai Institute of Micro-System and Information Technology, Chinese Academy of Sciences</institution>, <addr-line>Shanghai, 201800</addr-line>, <country>China</country></aff>
<aff id="aff-3">
<label>3</label><institution>University of Chinese Academy of Sciences</institution>, <addr-line>Beijing, 100049</addr-line>, <country>China</country></aff>
</contrib-group><author-notes><corresp id="cor1">&#x002A;Corresponding Author: Guoqing Jia. Email: <email>guoqing.jia@qhmu.edu.cn</email></corresp></author-notes>
<pub-date pub-type="epub" date-type="pub" iso-8601-date="2021-01-04">
<day>04</day>
<month>1</month>
<year>2021</year>
</pub-date>
<volume>27</volume>
<issue>1</issue>
<fpage>221</fpage>
<lpage>231</lpage>
<history>
<date date-type="received">
<day>27</day>
<month>7</month>
<year>2020</year>
</date>
<date date-type="accepted">
<day>20</day>
<month>9</month>
<year>2020</year>
</date>
</history>
<permissions>
<copyright-statement>&#x00A9; 2021 Ji et al.</copyright-statement>
<copyright-year>2021</copyright-year>
<copyright-holder>Ji et al.</copyright-holder>
<license xlink:href="https://creativecommons.org/licenses/by/4.0/">
<license-p>This work is licensed under a <ext-link ext-link-type="uri" xlink:type="simple" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International License</ext-link>, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
</license>
</permissions>
<self-uri content-type="pdf" xlink:href="TSP_IASC_13145.pdf"></self-uri>
<abstract>
<p>Sparse code multiple access (SCMA) is a new non-orthogonal multiple access scheme suitable for 5G communication, which can effectively improve spectrum efficiency and support massive connections. Multiple users in the SCMA system realize the sharing of the same time-frequency resources by mapping data into codewords of a special code book (Code Book, CB). A typical SCMA system increases the spectrum utilization to 150%. In order to further improve the system spectrum utilization and increase the number of user connections, this paper proposes an uplink SCMA codebook reuse transmission and reception scheme (CB-Reuse-SCMA), which reuse a codebook to multiple users. The base station allocates <italic>&#x03B2;</italic> users to each codebook at the same time, so that <italic>&#x03B2;</italic> users use the same codebook to transmit uplink information. On the receiver of the base station, an improved Logarithmic Message Passing Algorithm (Log-MPA) is designed for multi-user detection, so that the base station can correctly detect the data of <italic>&#x03B2;</italic> users who reuse the same codebook. Simulation results show that at the time <italic>&#x03B2;</italic> &#x003D; 2, the proposed scheme increased the spectrum utilization to 300%; at the time <italic>&#x03B2;</italic> &#x003D; 3, the proposed scheme increased the spectrum utilization to 450%. Compared with the traditional SCMA scheme where the user has an exclusive codebook, the proposed scheme improves the spectrum utilization to <italic>&#x03B2;</italic> &#x00D7; 150% through codebook reuse at the expense of a small amount of SNR gain, which improves the throughput and user connection by <italic>&#x03B2;</italic> times number.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>5G</kwd>
<kwd>code book reuse</kwd>
<kwd>log-MPA</kwd>
<kwd>spectrum utilization</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>Three major scenarios have been defined for 5G beyond 2020 [<xref ref-type="bibr" rid="ref-1">1</xref>]: Enhanced mobile broadband (eMBB), massive machine type communication (mMTC), and ultra-reliable low-latency communications (URLLC). It has higher requirements than 4G in terms of spectrum utilization and number of connections, especially in the mMTC scenario [<xref ref-type="bibr" rid="ref-2">2</xref>&#x2013;<xref ref-type="bibr" rid="ref-9">9</xref>]. Existing technologies such as orthogonal frequency division multiple access (OFDMA) are not sufficient to meet future communications requirements. In order to meet the exponential growth in the number of users in the future, 5G introduced a variety of non-orthogonal multiple access (Non-Orthogonal Multiple Access, NOMA) technology [<xref ref-type="bibr" rid="ref-10">10</xref>&#x2013;<xref ref-type="bibr" rid="ref-14">14</xref>]. Among them, SCMA has attracted much attention because it can maintain good performance and complexity under high load rate [<xref ref-type="bibr" rid="ref-15">15</xref>].</p>
<p>SCMA is an upgraded version of low-density spread spectrum CDMA (LDS-CDMA) [<xref ref-type="bibr" rid="ref-16">16</xref>]. Unlike LDS-CDMA, SCMA directly maps different bitstreams to different sparse codewords. The multidimensional constellation is designed as a codebook, so it has a &#x201C;shaping gain&#x201D; that LDS cannot achieve. The codebook composed of subcarriers is SCMA The basic resource unit of the system [<xref ref-type="bibr" rid="ref-17">17</xref>,<xref ref-type="bibr" rid="ref-18">18</xref>].</p>
</sec>
<sec id="s2">
<label>2</label>
<title>Related Works</title>
<p>Although a typical SCM system improves the spectrum efficiency to 150%, it is still insufficient to cope with the needs of large connection scenarios such as mMTC. Therefore, in order to continue to improve the spectrum efficiency of the system, the researchers also proposed many other solutions.</p>
<p>Kim et al. [<xref ref-type="bibr" rid="ref-19">19</xref>] combined NOMA and SCMA to add 4 regular users to a typical 6-user SCMA system, while Balasubramanya et al. [<xref ref-type="bibr" rid="ref-20">20</xref>] added a low rate to each orthogonal resource in the upstream SCMA system. LDR users, use continuous interference cancellation (<italic>SIC</italic>) and MPA to decode at the decoding end, that is, first decode the user with high power, then reconstruct the decoded user information and use <italic>SIC</italic> to eliminate its interference, and finally decode the remaining user. Both make the system spectrum utilization rate increase to 250%, but the increased system capacity is limited. At the same time, as the SNR increases, the system performance tends to saturate because the power difference between reuse users gradually decreases. Moltafet et al. [<xref ref-type="bibr" rid="ref-21">21</xref>] in a downlink multi-user system, by allocating power and resources for users, reused codebooks among multiple cells to analyze the system throughput [<xref ref-type="bibr" rid="ref-22">22</xref>]. In this scheme, for each additional user of codebook reuse, the total rate of the system increased by 25%. However, the design of the power and resource allocation scheme of this scheme is complicated. At the same time, because the decoding algorithm is based on <italic>SIC</italic> and MPA, the strong interference between users caused by the high reuse rate of the codebook will cause the user&#x2019;s BER performance to decrease sharply. In order to improve the sum rate of the system, Sharma et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] proposed a joint power and code domain scheme. At the sending end, the base station divides the near and far users into two clusters using different channel conditions of the users, namely: strong user clusters and weak user clusters. The transmitter uses SCMA technology to encode the users of the two clusters, and allocates different powers to the users of different clusters, so that the near and far users in the same cell can reuse the codebook. But the decoding algorithm of this scheme needs to design a complex power allocation scheme, and the two users reuse the codebook need to come from different clusters. Moreover, this scheme uses <italic>SIC</italic> in the decoding algorithm, and there is error propagation in the decoding process, and due to the maximum power limit at the transmitter, the performance of users with small power allocation is poor, resulting in poor system average BER performance. In addition, higher transmission power will also increase the user&#x2019;s energy consumption, which does not meet the requirements of 5G low energy consumption. At the same time, the simulation results of the program show that the system capacity has not reached 200% of SCMA under the condition of SNR of 20 dB.</p>
<p>According to known literature, the spectrum efficiency improved by the existing work is still limited, and the existing technology still cannot cope with the future large connection scenario. Therefore, how to design a better SCMA large connection scheme still needs to be studied. To this end, this paper proposes an uplink SCMA transmission and reception scheme based on codebook reuse, which improves system throughput and improves the problem of poor performance of low-power users based on power allocation. This scheme is based on a scheduling mechanism. The base station allocates <italic>&#x03B2;</italic> users to each codebook, so that the BB users reuse the same codebook to send uplink information to the base station. At the receiving end of the base station, an improved logarithmic messaging algorithm is designed for multi-user detection, so that the base station can correctly detect the data of <italic>&#x03B2;</italic> users reuse the same codebook. The simulation results show that: At the expense of a small amount of BER performance, the proposed scheme improves the system spectrum efficiency and the number of user connections to <italic>&#x03B2;</italic> times.</p>
</sec>
<sec id="s3">
<label>3</label>
<title>Transmission Scheme of Uplink CB-Reuse-SCMA System</title>
<p>Assume that in a scheduling-based uplink multi-user SCMA communication system, a base station serves <italic>J</italic> users with the same priority, and the system has <italic>LK</italic>-dimensional codebooks of size <italic>M</italic>, where <italic>M</italic> is the user data modulation order and <italic>K</italic> is the resource number. In <xref ref-type="fig" rid="fig-1">Fig. 1a</xref> schematic diagram of the uplink CB-Reuse-SCMA system model is shown, in which the base station allocates <italic>&#x03B2;</italic> users according to each codebook and each user only allocates one codebook, so that <italic>&#x03B2;</italic> users use the same The codebook transmits uplink information. At the user&#x2019;s sending end, the SCMA encoder maps the user&#x2019;s <inline-formula id="ieqn-1">
<alternatives><inline-graphic xlink:href="ieqn-1.png"/><tex-math id="tex-ieqn-1"><![CDATA[${\rm lo}{{\rm g}_2}\left( M \right)$]]></tex-math><mml:math id="mml-ieqn-1"><mml:mrow><mml:mi mathvariant="normal">l</mml:mi><mml:mi mathvariant="normal">o</mml:mi></mml:mrow><mml:mrow><mml:msub><mml:mrow><mml:mi mathvariant="normal">g</mml:mi></mml:mrow><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>M</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> bit data to the codebook and outputs a <italic>K</italic>-dimensional codeword. Among them, the <italic>K</italic>-dimensional codeword is a sparse vector with <inline-formula id="ieqn-2">
<alternatives><inline-graphic xlink:href="ieqn-2.png"/><tex-math id="tex-ieqn-2"><![CDATA[$N\left( {N < K} \right)$]]></tex-math><mml:math id="mml-ieqn-2"><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>N</mml:mi><mml:mo>&#x003C;</mml:mo><mml:mi>K</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> non-zero units, and the choice of <italic>N</italic> depends on the resource mapping matrix. The data streams of <italic>J</italic> users share <italic>K</italic> orthogonal time-frequency resources and transmit to the same base station after codebook mapping. The overload factor is defined as <inline-formula id="ieqn-3">
<alternatives><inline-graphic xlink:href="ieqn-3.png"/><tex-math id="tex-ieqn-3"><![CDATA[$\lambda = J/K$]]></tex-math><mml:math id="mml-ieqn-3"><mml:mi>&#x03BB;</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mi>J</mml:mi><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>K</mml:mi></mml:math>
</alternatives></inline-formula>, among which <inline-formula id="ieqn-4">
<alternatives><inline-graphic xlink:href="ieqn-4.png"/><tex-math id="tex-ieqn-4"><![CDATA[$J = \beta \times L$]]></tex-math><mml:math id="mml-ieqn-4"><mml:mi>J</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mo>&#x00D7;</mml:mo><mml:mi>L</mml:mi></mml:math>
</alternatives></inline-formula>.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Uplink CB-Reuse-SCMA system model</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-1.png"/>
</fig>
<p>In uplink transmission, it is assumed that all users are synchronized in time. Let <inline-formula id="ieqn-5">
<alternatives><inline-graphic xlink:href="ieqn-5.png"/><tex-math id="tex-ieqn-5"><![CDATA[$S_l^\tau {\rm = (}S_{1,l}^\tau {\rm ,}S_{2,l}^\tau \ldots S_{K,l}^\tau {{\rm )}^{\rm T}}$]]></tex-math><mml:math id="mml-ieqn-5"><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mo stretchy="false">(</mml:mo></mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>,</mml:mo></mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x2026;</mml:mo><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:msup><mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-6">
<alternatives><inline-graphic xlink:href="ieqn-6.png"/><tex-math id="tex-ieqn-6"><![CDATA[$h_l^\tau {\rm = (}h_{1,l}^\tau {\rm ,}h_{2,l}^\tau \ldots h_{K,l}^\tau {{\rm )}^{\rm T}}$]]></tex-math><mml:math id="mml-ieqn-6"><mml:msubsup><mml:mi>h</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mo stretchy="false">(</mml:mo></mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>,</mml:mo></mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mrow><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x2026;</mml:mo><mml:msubsup><mml:mi>h</mml:mi><mml:mrow><mml:mi>K</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:msup><mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mrow><mml:mi mathvariant="normal">T</mml:mi></mml:mrow></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula> denote the codewords of the <italic>l</italic>-th user using the <inline-formula id="ieqn-7">
<alternatives><inline-graphic xlink:href="ieqn-7.png"/><tex-math id="tex-ieqn-7"><![CDATA[$\tau$]]></tex-math><mml:math id="mml-ieqn-7"><mml:mi>&#x03C4;</mml:mi></mml:math>
</alternatives></inline-formula>-th codebook and spread to the codewords of <italic>K</italic> subcarriers after the codebook mapping and the channel coefficients of <italic>K</italic> subcarriers, among them<inline-formula id="ieqn-8">
<alternatives><inline-graphic xlink:href="ieqn-8.png"/><tex-math id="tex-ieqn-8"><![CDATA[$\forall l = 1,&#x2026;,L$]]></tex-math><mml:math id="mml-ieqn-8"><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mi>L</mml:mi></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-9">
<alternatives><inline-graphic xlink:href="ieqn-9.png"/><tex-math id="tex-ieqn-9"><![CDATA[$\tau \in V\left( l \right) = \left\{ {1,&#x2026;,\beta } \right\}$]]></tex-math><mml:math id="mml-ieqn-9"><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>l</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>,</mml:mo><mml:mi>&#x03B2;</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula>. In this system, the codebook is designed using conventional methods [<xref ref-type="bibr" rid="ref-23">23</xref>], that is, the number of subcarriers <inline-formula id="ieqn-10">
<alternatives><inline-graphic xlink:href="ieqn-10.png"/><tex-math id="tex-ieqn-10"><![CDATA[$K = 4$]]></tex-math><mml:math id="mml-ieqn-10"><mml:mi>K</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>4</mml:mn></mml:math>
</alternatives></inline-formula>, the modulation order <inline-formula id="ieqn-11">
<alternatives><inline-graphic xlink:href="ieqn-11.png"/><tex-math id="tex-ieqn-11"><![CDATA[$M = 4$]]></tex-math><mml:math id="mml-ieqn-11"><mml:mi>M</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>4</mml:mn></mml:math>
</alternatives></inline-formula>, the codebook effectively carries <inline-formula id="ieqn-12">
<alternatives><inline-graphic xlink:href="ieqn-12.png"/><tex-math id="tex-ieqn-12"><![CDATA[$N = 2$]]></tex-math><mml:math id="mml-ieqn-12"><mml:mi>N</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>2</mml:mn></mml:math>
</alternatives></inline-formula>, and the subcarriers effectively carry <inline-formula id="ieqn-13">
<alternatives><inline-graphic xlink:href="ieqn-13.png"/><tex-math id="tex-ieqn-13"><![CDATA[${d_f} = 3$]]></tex-math><mml:math id="mml-ieqn-13"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mn>3</mml:mn></mml:math>
</alternatives></inline-formula>. In the system of <xref ref-type="fig" rid="fig-1">Fig. 1</xref>, <italic>&#x03B2;</italic> users reuse the same codebook <italic>l</italic>, and the data stream outputs codeword <inline-formula id="ieqn-14">
<alternatives><inline-graphic xlink:href="ieqn-14.png"/><tex-math id="tex-ieqn-14"><![CDATA[$S_l^1, \ldots ,S_l^\beta$]]></tex-math><mml:math id="mml-ieqn-14"><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mn>1</mml:mn></mml:msubsup><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:msubsup></mml:math>
</alternatives></inline-formula> after codebook mapping. At this time, the data of <italic>&#x03B2;</italic> users is sparsely spread to the same orthogonal according to the resource mapping matrix On the subcarriers, the factor graph representing the resource mapping relationship is shown in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>System factor diagram of <inline-formula id="ieqn-15">
<alternatives><inline-graphic xlink:href="ieqn-15.png"/><tex-math id="tex-ieqn-15"><![CDATA[$L = 6$]]></tex-math><mml:math id="mml-ieqn-15"><mml:mi>L</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>6</mml:mn></mml:math>
</alternatives></inline-formula>, <inline-formula id="ieqn-16">
<alternatives><inline-graphic xlink:href="ieqn-16.png"/><tex-math id="tex-ieqn-16"><![CDATA[$K = 4$]]></tex-math><mml:math id="mml-ieqn-16"><mml:mi>K</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>4</mml:mn></mml:math>
</alternatives></inline-formula></title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-2.png"/>
</fig>
<p>The resource mapping relationship in <xref ref-type="fig" rid="fig-2">Fig. 2</xref> includes two different types of nodes: <italic>K</italic> functional nodes FN (representing <italic>K</italic> subcarriers); <italic>L</italic> variable nodes VN (representing <italic>L</italic> codebooks), where each VN node contains <italic>&#x03B2;</italic> user nodes; the connection indicates the bearing relationship between user data and resources. Each column of the resource mapping matrix represents the resource mapping relationship of the corresponding codebook. The resource mapping relationship of <italic>&#x03B2;</italic> users reuse the same codebook is the same, that is, <italic>&#x03B2;</italic> users reuse the same column of the resource mapping matrix.</p>
<p>Therefore, the received signal of the base station receiver is</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-1.png"/><tex-math id="tex-eqn-1"><![CDATA[$$y = \sum\limits_{l = 1}^L {\sum\limits_\tau ^\beta {\left( {h_l^\tau \times S_l^\tau } \right)} } + n.$$]]></tex-math><mml:math id="mml-eqn-1" display="block"><mml:mi>y</mml:mi><mml:mo>&#x003D;</mml:mo><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>L</mml:mi></mml:munderover><mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mi>&#x03C4;</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:munderover><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x00D7;</mml:mo><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>n</mml:mi><mml:mo>.</mml:mo></mml:math>
</alternatives></disp-formula></p>
<p>In the formula, <inline-formula id="ieqn-17">
<alternatives><inline-graphic xlink:href="ieqn-17.png"/><tex-math id="tex-ieqn-17"><![CDATA[$n\sim CN(0,{\sigma ^2}I)$]]></tex-math><mml:math id="mml-ieqn-17"><mml:mi>n</mml:mi><mml:mo>&#x223C;</mml:mo><mml:mi>C</mml:mi><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mrow><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mi>I</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula> is the Gaussian white noise. The data of <italic>&#x03B2;</italic> users reuse the codebook <italic>l</italic> is superimposed on the same resource.</p>
<p>Then the received signal on the <italic>k</italic>-th carrier is:</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-2.png"/><tex-math id="tex-eqn-2"><![CDATA[$${y_k} = \sum\limits_{l \in N(k)} {\sum\limits_\tau ^\beta {\left( {h_{k,l}^\tau \times S_{k,l}^\tau } \right)} } + {n_k}.$$]]></tex-math><mml:math id="mml-eqn-2" display="block"><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder><mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mi>&#x03C4;</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:munderover><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x00D7;</mml:mo><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo>.</mml:mo></mml:math>
</alternatives></disp-formula></p>
<p>In the formula, <inline-formula id="ieqn-18">
<alternatives><inline-graphic xlink:href="ieqn-18.png"/><tex-math id="tex-ieqn-18"><![CDATA[$N(k){\rm = }\left\{ {l|S_{k,l}^\tau \ne 0} \right\}$]]></tex-math><mml:math id="mml-ieqn-18"><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>&#x003D;</mml:mo></mml:mrow><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x2260;</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> is the codebook effective bearer set, and <inline-formula id="ieqn-19">
<alternatives><inline-graphic xlink:href="ieqn-19.png"/><tex-math id="tex-ieqn-19"><![CDATA[${n_k}$]]></tex-math><mml:math id="mml-ieqn-19"><mml:mrow><mml:msub><mml:mi>n</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow></mml:math>
</alternatives></inline-formula> represents the noise on the <italic>k</italic>-th subcarrier.</p>
</sec>
<sec id="s4">
<label>4</label>
<title>Multi-user Detection Algorithm</title>
<p>Log-MPA is a multi-user detection algorithm commonly used in SCMA systems [<xref ref-type="bibr" rid="ref-23">23</xref>]. It is a near-optimal iterative detection algorithm that models receivers based on factor graphs to detect multi-users. Log-MPA first iteratively detects the user codeword probability and judges the user codeword by the log-likelihood ratio (LLR). The Log-MPA decoding process is shown in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>. The Log-MPA decoder first calculates the conditional probability based on the received signal and the estimated channel correlation coefficient and noise power value; then the conditional probability and the code prior probability are used as external information Input iterative message transmission inside the FN node, by iteratively transmitting the codeword probability information between the FN node and the VN node, after reaching the maximum number of iterations, the posterior probability information of the codeword is output as soft information; finally the LLR hard decision Get user codeword information.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Log-MPA decoding flow diagram</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-3.png"/>
</fig>
<p>However, the Log-MPA algorithm is designed for the SCMA system where the user monopolizes the codebook, and cannot detect the multi-user data of the codebook reuse in this system. In order to detect the multi-user data of this system, the Log-MPA algorithm is improved, and the corresponding detection algorithm is designed. The main difference between the improved algorithm and the original Log-MPA is that when the log-MPA algorithm iteratively updates the codeword probability of a VN node, only the codeword probability of a single user on that node is updated, because the original SCMA system user monopolizes the codebook; improved The detection algorithm simultaneously updates the codeword probability of AAA users reuse the node when iteratively updating the codeword probability of the VN node. The improved Log-MPA decoding process is shown in <xref ref-type="fig" rid="fig-4">Fig. 4</xref>.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>Improved Log-MPA decoding flow diagram</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-4.png"/>
</fig>
<p>It is assumed that the base station has perfect channel coefficients and noise information. Let <inline-formula id="ieqn-20">
<alternatives><inline-graphic xlink:href="ieqn-20.png"/><tex-math id="tex-ieqn-20"><![CDATA[$L_{k \to l}^t\left( {S_l^\tau \left( m \right)} \right)$]]></tex-math><mml:math id="mml-ieqn-20"><mml:msubsup><mml:mi>L</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> represent the codeword <inline-formula id="ieqn-21">
<alternatives><inline-graphic xlink:href="ieqn-21.png"/><tex-math id="tex-ieqn-21"><![CDATA[$S_l^\tau$]]></tex-math><mml:math id="mml-ieqn-21"><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup></mml:math>
</alternatives></inline-formula> of the <inline-formula id="ieqn-22">
<alternatives><inline-graphic xlink:href="ieqn-22.png"/><tex-math id="tex-ieqn-22"><![CDATA[$\tau$]]></tex-math><mml:math id="mml-ieqn-22"><mml:mi>&#x03C4;</mml:mi></mml:math>
</alternatives></inline-formula>th user using the <italic>l-</italic>th codebook at the <italic>t-</italic>th iteration from FN node <italic>k</italic> to VN node <inline-formula id="ieqn-23">
<alternatives><inline-graphic xlink:href="ieqn-23.png"/><tex-math id="tex-ieqn-23"><![CDATA[$l \in N(k)$]]></tex-math><mml:math id="mml-ieqn-23"><mml:mi>l</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula>, and <inline-formula id="ieqn-24">
<alternatives><inline-graphic xlink:href="ieqn-24.png"/><tex-math id="tex-ieqn-24"><![CDATA[$Q_{l \to k}^t\left( {S_l^\tau \left( m \right)} \right)$]]></tex-math><mml:math id="mml-ieqn-24"><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> represents the external information from VN node <italic>l</italic> to FN node <inline-formula id="ieqn-25">
<alternatives><inline-graphic xlink:href="ieqn-25.png"/><tex-math id="tex-ieqn-25"><![CDATA[$k \in R(l)$]]></tex-math><mml:math id="mml-ieqn-25"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula>. Among them, <inline-formula id="ieqn-26">
<alternatives><inline-graphic xlink:href="ieqn-26.png"/><tex-math id="tex-ieqn-26"><![CDATA[$R\left( l \right) = \left\{ {k|S_{k,l}^\tau \ne 0} \right\}$]]></tex-math><mml:math id="mml-ieqn-26"><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>l</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mrow><mml:mo stretchy="false">|</mml:mo></mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x2260;</mml:mo><mml:mn>0</mml:mn></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> represents the effective carrier set of subcarriers, and <inline-formula id="ieqn-27">
<alternatives><inline-graphic xlink:href="ieqn-27.png"/><tex-math id="tex-ieqn-27"><![CDATA[$\forall m = 1, \ldots M$]]></tex-math><mml:math id="mml-ieqn-27"><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>m</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mi>M</mml:mi></mml:math>
</alternatives></inline-formula> represents the <italic>M</italic> possibilities of arbitrary codewords.</p>
<p>Step 1: Initialize the code word prior probability of each user and calculate the conditional probability of each FN node:</p>
<p>(a) Since the probability of <italic>M</italic> possibilities of any codeword <inline-formula id="ieqn-28">
<alternatives><inline-graphic xlink:href="ieqn-28.png"/><tex-math id="tex-ieqn-28"><![CDATA[$S_l^\tau$]]></tex-math><mml:math id="mml-ieqn-28"><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup></mml:math>
</alternatives></inline-formula> sent by the user is the same, the <italic>a priori</italic> probability is:</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-3.png"/><tex-math id="tex-eqn-3"><![CDATA[$$Q_{l \to k}^0\left( {S_l^\tau \left( m \right)} \right) = \log \left( {\displaystyle{1 \over M}} \right),\forall l = 1, \ldots L,\forall k \in R\left( l \right),\forall m = 1, \ldots M$$]]></tex-math><mml:math id="mml-eqn-3" display="block"><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>M</mml:mi></mml:mfrac></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>l</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mi>L</mml:mi><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>l</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>m</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mi>M</mml:mi></mml:math>
</alternatives></disp-formula></p>
<p>(b) The formula for calculating the conditional probability of the codeword on FN node <italic>k</italic> is:</p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-4.png"/><tex-math id="tex-eqn-4"><![CDATA[$$f\left( {{l^ * },k} \right) = \displaystyle{{ - 1} \over {{\sigma ^2}}}{\left\| {{y_k} - \sum\limits_{l \in N(k)} {\sum\limits_{\tau = 1}^\beta {\left( {h_{k,l}^\tau S_{k,l}^\tau \left( m \right)} \right)} } } \right\|^2},\forall k = 1, \ldots ,K$$]]></tex-math><mml:math id="mml-eqn-4" display="block"><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msup><mml:mi>l</mml:mi><mml:mo>&#x2217;</mml:mo></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:msup><mml:mi>&#x03C3;</mml:mi><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mrow></mml:mfrac></mml:mrow><mml:mrow><mml:msup><mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>y</mml:mi><mml:mi>k</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>l</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder><mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>&#x03B2;</mml:mi></mml:munderover><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>h</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:msubsup><mml:mi>S</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mi mathvariant="normal">&#x2200;</mml:mi><mml:mi>k</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mo>&#x2026;</mml:mo><mml:mo>,</mml:mo><mml:mi>K</mml:mi></mml:mstyle></mml:math>
</alternatives></disp-formula></p>
<p>Among them, <inline-formula id="ieqn-29">
<alternatives><inline-graphic xlink:href="ieqn-29.png"/><tex-math id="tex-ieqn-29"><![CDATA[${l^ * }$]]></tex-math><mml:math id="mml-ieqn-29"><mml:mrow><mml:msup><mml:mi>l</mml:mi><mml:mo>&#x2217;</mml:mo></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula> represents <inline-formula id="ieqn-30">
<alternatives><inline-graphic xlink:href="ieqn-30.png"/><tex-math id="tex-ieqn-30"><![CDATA[${d_f}$]]></tex-math><mml:math id="mml-ieqn-30"><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math>
</alternatives></inline-formula> codebook units super-imposed on the functional node FN, and each unit has <italic>&#x03B2;</italic> users. The meaning of conditional probability is to estimate the probability of <italic>M</italic> kinds of possibilities of each codeword by calculating the Euclidean distance between the codeword and the received signal. The probability is the largest when the codeword estimates are all correct. In this system, <italic>&#x03B2;</italic> users reuse the codebook, so when calculating the codeword probability of users in codebook <italic>l</italic>, the codeword information of <italic>&#x03B2;</italic> users is superimposed.</p>
<p>Step 2: Iteratively update the information of the FN node and VN node:</p>
<p>(a) Update the codeword probability of VN node <italic>l</italic>, the initial iteration uses the initialized <inline-formula id="ieqn-31">
<alternatives><inline-graphic xlink:href="ieqn-31.png"/><tex-math id="tex-ieqn-31"><![CDATA[$Q_{l \to k}^0\left( {S_l^\tau \left( m \right)} \right)$]]></tex-math><mml:math id="mml-ieqn-31"><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> as the codeword probability, and then updates the information using <xref ref-type="disp-formula" rid="eqn-8">Eq. (8)</xref>. The VN node <italic>l</italic> contains data of <italic>&#x03B2;</italic> users, so when the codeword probability of VN node <italic>l</italic> is updated, the codeword information of <italic>&#x03B2;</italic> users is updated at the same time. At the <italic>t-</italic>th iteration, the codeword update formula of the <inline-formula id="ieqn-32">
<alternatives><inline-graphic xlink:href="ieqn-32.png"/><tex-math id="tex-ieqn-32"><![CDATA[$\tau$]]></tex-math><mml:math id="mml-ieqn-32"><mml:mi>&#x03C4;</mml:mi></mml:math>
</alternatives></inline-formula>-th user is:</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-5.png"/><tex-math id="tex-eqn-5"><![CDATA[$$L_{k \to l}^t\left( {S_l^\tau \left( m \right)} \right) = m \tilde ax\left\{ {a_l^\tau } \right\}$$]]></tex-math><mml:math id="mml-eqn-5" display="block"><mml:msubsup><mml:mi>L</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>m</mml:mi><mml:mrow><mml:mover><mml:mi>a</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>x</mml:mi><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:msubsup><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math>
</alternatives></disp-formula></p>
<p>where,</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-6.png"/><tex-math id="tex-eqn-6"><![CDATA[$$a_l^\tau = f\left( {{l^ * },k} \right) + \sum\limits_{\tau &#x0027; \in V\left( l \right)\backslash \tau } {Q_{l \to k}^{(t - 1)}\left( {S_l^{\tau &#x0027;}\left( m \right)} \right)} + \sum\limits_{i \in N(k)\backslash l} {\sum\limits_q^\beta {Q_{i \to k}^{(t - 1)}\left( {S_i^q\left( m \right)} \right)} }$$]]></tex-math><mml:math id="mml-eqn-6" display="block"><mml:msubsup><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x003D;</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msup><mml:mi>l</mml:mi><mml:mo>&#x2217;</mml:mo></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:msup><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>l</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x2216;</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mrow><mml:msup><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x2032;</mml:mo></mml:msup></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi mathvariant="normal">&#x2216;</mml:mi><mml:mi>l</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:munderover><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mi>q</mml:mi><mml:mi>&#x03B2;</mml:mi></mml:munderover><mml:mrow><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>i</mml:mi><mml:mi>q</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow></mml:math>
</alternatives></disp-formula></p>
<p><disp-formula id="eqn-7">
<label>(7)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-7.png"/><tex-math id="tex-eqn-7"><![CDATA[$$m \widetilde ax(a_l^\tau ) = \max (a_l^\tau ) + \log (\sum {\exp (a_l^\tau - \max (a_l^\tau ))} )$$]]></tex-math><mml:math id="mml-eqn-7" display="block"><mml:mi>m</mml:mi><mml:mrow><mml:mover><mml:mi>a</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>x</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mo>&#x2211;</mml:mo><mml:mrow><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x2212;</mml:mo><mml:mo movablelimits="true" form="prefix">max</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:msubsup><mml:mi>a</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></disp-formula></p>
<p>The meaning of <xref ref-type="disp-formula" rid="eqn-5">Eq. (5)</xref> is to combine the codeword information of other users on subcarrier <italic>k</italic> to calculate the maximum probability of <italic>M</italic> codewords <inline-formula id="ieqn-33">
<alternatives><inline-graphic xlink:href="ieqn-33.png"/><tex-math id="tex-ieqn-33"><![CDATA[$S_l^\tau \left( m \right)$]]></tex-math><mml:math id="mml-ieqn-33"><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> and update the VN node information. In formula <xref ref-type="disp-formula" rid="eqn-6">(6)</xref>, <inline-formula id="ieqn-34">
<alternatives><inline-graphic xlink:href="ieqn-34.png"/><tex-math id="tex-ieqn-34"><![CDATA[$V\left( l \right) = \left\{ {1,2,&#x2026;\beta } \right\}$]]></tex-math><mml:math id="mml-ieqn-34"><mml:mi>V</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>l</mml:mi><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mrow><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mn>2</mml:mn><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mi>&#x03B2;</mml:mi></mml:mrow><mml:mo>}</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula>.</p>
<p>(b) Update the codeword probability of FN node <italic>k</italic>:</p>
<p><disp-formula id="eqn-8">
<label>(8)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-8.png"/><tex-math id="tex-eqn-8"><![CDATA[$$Q_{l \to k}^t\left( {S_l^\tau \left( m \right)} \right) = \log (\displaystyle{1 \over M}) + norm\left( {L_{i \to l}^{\left( {t - 1} \right)}\left( {S_l^\tau \left( m \right)} \right)} \right),i \in R(l)\backslash k$$]]></tex-math><mml:math id="mml-eqn-8" display="block"><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>M</mml:mi></mml:mfrac></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x002B;</mml:mo><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>L</mml:mi><mml:mrow><mml:mi>i</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>,</mml:mo><mml:mi>i</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi mathvariant="normal">&#x2216;</mml:mi><mml:mi>k</mml:mi></mml:mstyle></mml:math>
</alternatives></disp-formula></p>
<p>The VN node <italic>l</italic> transmits the updated code word information to the <italic>N</italic> FN nodes connected to it, and then the FN node <italic>k</italic> combines the code word prior information to update the code word information. Among them, <inline-formula id="ieqn-35">
<alternatives><inline-graphic xlink:href="ieqn-35.png"/><tex-math id="tex-ieqn-35"><![CDATA[$norm\left( \bullet \right)$]]></tex-math><mml:math id="mml-ieqn-35"><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi>m</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mo>&#x2219;</mml:mo><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> means normalization.</p>
<p>(c) Output the posterior probability of codeword <inline-formula id="ieqn-36">
<alternatives><inline-graphic xlink:href="ieqn-36.png"/><tex-math id="tex-ieqn-36"><![CDATA[$S_l^\tau$]]></tex-math><mml:math id="mml-ieqn-36"><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup></mml:math>
</alternatives></inline-formula>:</p>
<p><disp-formula id="eqn-9">
<label>(9)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-9.png"/><tex-math id="tex-eqn-9"><![CDATA[$$\log \left( {\Pr \left( {S_l^\tau \left( m \right)} \right)} \right) = \log \left( {\displaystyle{1 \over M}} \right) + \sum\limits_{k \in R(l)} {L_{k \to l}^T\left( {S_l^\tau \left( m \right)} \right)}$$]]></tex-math><mml:math id="mml-eqn-9" display="block"><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mstyle displaystyle="true" scriptlevel="0"><mml:mrow><mml:mfrac><mml:mn>1</mml:mn><mml:mi>M</mml:mi></mml:mfrac></mml:mrow></mml:mstyle></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder><mml:mrow><mml:msubsup><mml:mi>L</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>T</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:math>
</alternatives></disp-formula></p>
<p>The VN node combines the codeword prior information and the updated codeword probability as the node&#x2019;s posterior information. When updating the posterior information of the VN node <italic>l</italic>, the posterior probability of the codewords of <italic>&#x03B2;</italic> users is updated at the same time.</p>
<p>Step 3: Calculate LLR and estimate <inline-formula id="ieqn-37">
<alternatives><inline-graphic xlink:href="ieqn-37.png"/><tex-math id="tex-ieqn-37"><![CDATA[$\tau$]]></tex-math><mml:math id="mml-ieqn-37"><mml:mi>&#x03C4;</mml:mi></mml:math>
</alternatives></inline-formula> user&#x2019;s bit data <inline-formula id="ieqn-38">
<alternatives><inline-graphic xlink:href="ieqn-38.png"/><tex-math id="tex-ieqn-38"><![CDATA[$\tilde b_l^\tau$]]></tex-math><mml:math id="mml-ieqn-38"><mml:msubsup><mml:mrow><mml:mover><mml:mi>b</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup></mml:math>
</alternatives></inline-formula>:</p>
<p><disp-formula id="eqn-10">
<label>(10)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-10.png"/><tex-math id="tex-eqn-10"><![CDATA[$$LLR\left( {b_l^\tau } \right) = \log \left( {\sum\limits_{b_l^\tau = 0} {\exp \left( {\Pr \left( {S_l^\tau \left( m \right)} \right)} \right)} } \right) - \log \left( {\sum\limits_{b_l^\tau = 1} {\exp \left( {\Pr \left( {S_l^\tau \left( m \right)} \right)} \right)} } \right)$$]]></tex-math><mml:math id="mml-eqn-10" display="block"><mml:mi>L</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>b</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:msubsup><mml:mi>b</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x003D;</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:munder><mml:mrow><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>log</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:msubsup><mml:mi>b</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munder><mml:mrow><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mo movablelimits="true" form="prefix">Pr</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></disp-formula></p>
<p><disp-formula id="eqn-11">
<label>(11)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-11.png"/><tex-math id="tex-eqn-11"><![CDATA[$$\tilde b_l^\tau = \left\{ \matrix{1,{\rm if }\;LLR \le 0 \hfill \cr 0,{\rm otherwise} \hfill} \right.{\rm }$$]]></tex-math><mml:math id="mml-eqn-11" display="block"><mml:msubsup><mml:mrow><mml:mover><mml:mi>b</mml:mi><mml:mo stretchy="false">&#x007E;</mml:mo></mml:mover></mml:mrow><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mo>&#x003D;</mml:mo><mml:mrow><mml:mo>{</mml:mo><mml:mtable columnspacing="1em" rowspacing="4pt"><mml:mtr><mml:mtd columnalign="left"><mml:mn>1</mml:mn><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">f</mml:mi></mml:mrow><mml:mi>L</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mo>&#x2264;</mml:mo><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="left"><mml:mn>0</mml:mn><mml:mo>,</mml:mo><mml:mrow><mml:mi mathvariant="normal">o</mml:mi><mml:mi mathvariant="normal">t</mml:mi><mml:mi mathvariant="normal">h</mml:mi><mml:mi mathvariant="normal">e</mml:mi><mml:mi mathvariant="normal">r</mml:mi><mml:mi mathvariant="normal">w</mml:mi><mml:mi mathvariant="normal">i</mml:mi><mml:mi mathvariant="normal">s</mml:mi><mml:mi mathvariant="normal">e</mml:mi></mml:mrow></mml:mtd></mml:mtr></mml:mtable><mml:mo stretchy="true" symmetric="true" fence="true"></mml:mo></mml:mrow><mml:mrow></mml:mrow></mml:math>
</alternatives></disp-formula></p>
<p>The improved Log-MPA detection algorithm is summarized as <xref ref-type="table" rid="table-1">Algorithm 1</xref>:</p>

<table-wrap id="table-1">
<caption>
<title>Algorithm 1: The improved Log-MPA detection algorithm</title>
</caption>
<table>
<colgroup>
<col/>
</colgroup>
<tbody>
<tr>
<td>Input: <inline-formula id="ieqn-39">
<alternatives><inline-graphic xlink:href="ieqn-39.png"/><tex-math id="tex-ieqn-39"><![CDATA[$y$]]></tex-math><mml:math id="mml-ieqn-39"><mml:mi>y</mml:mi></mml:math>
</alternatives></inline-formula>, <inline-formula id="ieqn-40">
<alternatives><inline-graphic xlink:href="ieqn-40.png"/><tex-math id="tex-ieqn-40"><![CDATA[$H$]]></tex-math><mml:math id="mml-ieqn-40"><mml:mi>H</mml:mi></mml:math>
</alternatives></inline-formula>, <inline-formula id="ieqn-41">
<alternatives><inline-graphic xlink:href="ieqn-41.png"/><tex-math id="tex-ieqn-41"><![CDATA[$\sigma$]]></tex-math><mml:math id="mml-ieqn-41"><mml:mi>&#x03C3;</mml:mi></mml:math>
</alternatives></inline-formula>, <inline-formula id="ieqn-42">
<alternatives><inline-graphic xlink:href="ieqn-42.png"/><tex-math id="tex-ieqn-42"><![CDATA[$Nit$]]></tex-math><mml:math id="mml-ieqn-42"><mml:mi>N</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:math>
</alternatives></inline-formula></td>
</tr>
<tr>
<td>Initialization:</td>
</tr>
<tr>
<td>&#x2003;for all <inline-formula id="ieqn-43">
<alternatives><inline-graphic xlink:href="ieqn-43.png"/><tex-math id="tex-ieqn-43"><![CDATA[$l$]]></tex-math><mml:math id="mml-ieqn-43"><mml:mi>l</mml:mi></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-44">
<alternatives><inline-graphic xlink:href="ieqn-44.png"/><tex-math id="tex-ieqn-44"><![CDATA[$\tau$]]></tex-math><mml:math id="mml-ieqn-44"><mml:mi>&#x03C4;</mml:mi></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-45">
<alternatives><inline-graphic xlink:href="ieqn-45.png"/><tex-math id="tex-ieqn-45"><![CDATA[$k \in R(l)$]]></tex-math><mml:math id="mml-ieqn-45"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>l</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-46">
<alternatives><inline-graphic xlink:href="ieqn-46.png"/><tex-math id="tex-ieqn-46"><![CDATA[$m$]]></tex-math><mml:math id="mml-ieqn-46"><mml:mi>m</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;&#x2003;initialization prior probability via <xref ref-type="disp-formula" rid="eqn-3">(3)</xref>;</td>
</tr>
<tr>
<td>&#x2003;end for</td>
</tr>
<tr>
<td>Calculate contingent probability:</td>
</tr>
<tr>
<td>&#x2003;<italic>for</italic> <inline-formula id="ieqn-47">
<alternatives><inline-graphic xlink:href="ieqn-47.png"/><tex-math id="tex-ieqn-47"><![CDATA[$k$]]></tex-math><mml:math id="mml-ieqn-47"><mml:mi>k</mml:mi></mml:math>
</alternatives></inline-formula> <italic>and</italic> <inline-formula id="ieqn-48">
<alternatives><inline-graphic xlink:href="ieqn-48.png"/><tex-math id="tex-ieqn-48"><![CDATA[$l \in N(k)$]]></tex-math><mml:math id="mml-ieqn-48"><mml:mi>l</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>N</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula> <italic>and</italic> <inline-formula id="ieqn-49">
<alternatives><inline-graphic xlink:href="ieqn-49.png"/><tex-math id="tex-ieqn-49"><![CDATA[$\tau$]]></tex-math><mml:math id="mml-ieqn-49"><mml:mi>&#x03C4;</mml:mi></mml:math>
</alternatives></inline-formula> <italic>and</italic> <inline-formula id="ieqn-50">
<alternatives><inline-graphic xlink:href="ieqn-50.png"/><tex-math id="tex-ieqn-50"><![CDATA[$m$]]></tex-math><mml:math id="mml-ieqn-50"><mml:mi>m</mml:mi></mml:math>
</alternatives></inline-formula> <italic>do</italic></td>
</tr>
<tr>
<td>&#x2003;&#x2003;calculate <inline-formula id="ieqn-51">
<alternatives><inline-graphic xlink:href="ieqn-51.png"/><tex-math id="tex-ieqn-51"><![CDATA[$f\left( {{l^ * },k} \right)$]]></tex-math><mml:math id="mml-ieqn-51"><mml:mi>f</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msup><mml:mi>l</mml:mi><mml:mo>&#x2217;</mml:mo></mml:msup></mml:mrow><mml:mo>,</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> via <xref ref-type="disp-formula" rid="eqn-4">(4)</xref>;</td>
</tr>
<tr>
<td>&#x2003;end for</td>
</tr>
<tr>
<td>Iteration:</td>
</tr>
<tr>
<td>&#x2003;for <inline-formula id="ieqn-52">
<alternatives><inline-graphic xlink:href="ieqn-52.png"/><tex-math id="tex-ieqn-52"><![CDATA[$t = 1\!\!:Nit$]]></tex-math><mml:math id="mml-ieqn-52"><mml:mi>t</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>N</mml:mi><mml:mi>i</mml:mi><mml:mi>t</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;&#x2003;for <inline-formula id="ieqn-53">
<alternatives><inline-graphic xlink:href="ieqn-53.png"/><tex-math id="tex-ieqn-53"><![CDATA[$k = 1\!\!:K$]]></tex-math><mml:math id="mml-ieqn-53"><mml:mi>k</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>K</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;&#x2003;&#x2003;for all <inline-formula id="ieqn-54">
<alternatives><inline-graphic xlink:href="ieqn-54.png"/><tex-math id="tex-ieqn-54"><![CDATA[$l \in N\left( k \right)$]]></tex-math><mml:math id="mml-ieqn-54"><mml:mi>l</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>N</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-55">
<alternatives><inline-graphic xlink:href="ieqn-55.png"/><tex-math id="tex-ieqn-55"><![CDATA[$\tau = 1\!\!:\beta$]]></tex-math><mml:math id="mml-ieqn-55"><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>&#x03B2;</mml:mi></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-56">
<alternatives><inline-graphic xlink:href="ieqn-56.png"/><tex-math id="tex-ieqn-56"><![CDATA[$m$]]></tex-math><mml:math id="mml-ieqn-56"><mml:mi>m</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>update <inline-formula id="ieqn-57">
<alternatives><inline-graphic xlink:href="ieqn-57.png"/><tex-math id="tex-ieqn-57"><![CDATA[$L_{k \to l}^t\left( {S_l^\tau \left( m \right)} \right)$]]></tex-math><mml:math id="mml-ieqn-57"><mml:msubsup><mml:mi>L</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>l</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> via <xref ref-type="disp-formula" rid="eqn-5">(5)</xref>;</td>
</tr>
<tr>
<td>end for</td>
</tr>
<tr>
<td>&#x2003;for <inline-formula id="ieqn-58">
<alternatives><inline-graphic xlink:href="ieqn-58.png"/><tex-math id="tex-ieqn-58"><![CDATA[$l = 1\!\!:L$]]></tex-math><mml:math id="mml-ieqn-58"><mml:mi>l</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>L</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;&#x2003;&#x2003;&#x2003;for all <inline-formula id="ieqn-59">
<alternatives><inline-graphic xlink:href="ieqn-59.png"/><tex-math id="tex-ieqn-59"><![CDATA[$k \in R\left( l \right)$]]></tex-math><mml:math id="mml-ieqn-59"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>R</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mi>l</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-60">
<alternatives><inline-graphic xlink:href="ieqn-60.png"/><tex-math id="tex-ieqn-60"><![CDATA[$\tau = 1\!\!:\beta$]]></tex-math><mml:math id="mml-ieqn-60"><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>&#x03B2;</mml:mi></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-61">
<alternatives><inline-graphic xlink:href="ieqn-61.png"/><tex-math id="tex-ieqn-61"><![CDATA[$m$]]></tex-math><mml:math id="mml-ieqn-61"><mml:mi>m</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;update <inline-formula id="ieqn-62">
<alternatives><inline-graphic xlink:href="ieqn-62.png"/><tex-math id="tex-ieqn-62"><![CDATA[$Q_{l \to k}^t\left( {S_l^\tau \left( m \right)} \right)$]]></tex-math><mml:math id="mml-ieqn-62"><mml:msubsup><mml:mi>Q</mml:mi><mml:mrow><mml:mi>l</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mi>S</mml:mi><mml:mi>l</mml:mi><mml:mi>&#x03C4;</mml:mi></mml:msubsup><mml:mrow><mml:mo>(</mml:mo><mml:mi>m</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula> via <xref ref-type="disp-formula" rid="eqn-5">(5)</xref>;</td>
</tr>
<tr>
<td>&#x2003;end for</td>
</tr>
<tr>
<td>&#x2003;end for</td>
</tr>
<tr>
<td>Soft output and hard decision:</td>
</tr>
<tr>
<td>&#x2003;for <inline-formula id="ieqn-63">
<alternatives><inline-graphic xlink:href="ieqn-63.png"/><tex-math id="tex-ieqn-63"><![CDATA[$l = 1\!\!:L$]]></tex-math><mml:math id="mml-ieqn-63"><mml:mi>l</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>L</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;&#x2003;for <inline-formula id="ieqn-64">
<alternatives><inline-graphic xlink:href="ieqn-64.png"/><tex-math id="tex-ieqn-64"><![CDATA[$\tau = 1\!\!:\beta$]]></tex-math><mml:math id="mml-ieqn-64"><mml:mi>&#x03C4;</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>&#x03B2;</mml:mi></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-65">
<alternatives><inline-graphic xlink:href="ieqn-65.png"/><tex-math id="tex-ieqn-65"><![CDATA[$m$]]></tex-math><mml:math id="mml-ieqn-65"><mml:mi>m</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;&#x2003;&#x2003;&#x2003;calculate posterior probability via <xref ref-type="disp-formula" rid="eqn-9">(9)</xref></td>
</tr>
<tr>
<td>&#x2003;&#x2003;&#x2003;&#x2003;return bit information via <xref ref-type="disp-formula" rid="eqn-10">(10)</xref> and <xref ref-type="disp-formula" rid="eqn-11">(11)</xref></td>
</tr>
<tr>
<td>&#x2003;&#x2003;&#x2003;end for</td>
</tr>
</tbody>
</table>
</table-wrap>
</sec>
<sec id="s5">
<label>5</label>
<title>Numerical Results and Analysis</title>
<p>To verify the performance of the proposed scheme, this section compares the bit error rate and throughput performance of SCMA and CB-Reuse-SCMA systems in the AWGN channel uplink scenario by simulation. The simulation parameters are set as follows: Number of symbols <italic>N</italic> &#x003D; 500000, <italic>L</italic> &#x003D; 6, <italic>Nit</italic> &#x003D; 7, <inline-formula id="ieqn-66">
<alternatives><inline-graphic xlink:href="ieqn-66.png"/><tex-math id="tex-ieqn-66"><![CDATA[${J_0} = L$]]></tex-math><mml:math id="mml-ieqn-66"><mml:mrow><mml:msub><mml:mi>J</mml:mi><mml:mn>0</mml:mn></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mi>L</mml:mi></mml:math>
</alternatives></inline-formula>, <italic>K</italic> &#x003D; 4; codebook reuse times in CB-Reuse-SCMA system are <italic>&#x03B2;</italic>, <inline-formula id="ieqn-67">
<alternatives><inline-graphic xlink:href="ieqn-67.png"/><tex-math id="tex-ieqn-67"><![CDATA[$J = \beta L$]]></tex-math><mml:math id="mml-ieqn-67"><mml:mi>J</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mi>&#x03B2;</mml:mi><mml:mi>L</mml:mi></mml:math>
</alternatives></inline-formula>, <italic>K</italic> &#x003D; 4.</p>
<p>In <xref ref-type="fig" rid="fig-5">Fig. 5</xref>, it shows a comparison of the BER performance of SCMA and CB-Reuse-SCMA, which verifies the BER performance of the two schemes with the same parameters changing with SNR. It can be seen from the <xref ref-type="fig" rid="fig-5">Fig. 5</xref> that the BER performance of SCMA and CB-Reuse-SCMA both increase as the SNR increases. Because CB-Reuse-SCMA reuses the same codebook results in interference between users of the reuse codebook, the BER performance of CB-Reuse-SCMA is lower than SCMA. But with the increase of SNR, the BER performance of CB-Reuse-SCMA is gradually approaching SCMA. The BER performance of CB-Reuse-SCMA when the SNR is 20 dB is the same as the BER performance of the SCMA when the SNR is 18 dB, namely: CB-Reuse-SCMA reduces the SNR gain by about 2 dB.</p>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>BER performance comparisons of SCMA and CB-Reuse-SCMA</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-5.png"/>
</fig>
<p>In <xref ref-type="fig" rid="fig-6">Fig. 6a</xref> throughput simulation diagram of the CB-Reuse-SCMA system is shown, and compares the SCMA and SCMA&#x002B;LDR schemes [<xref ref-type="bibr" rid="ref-24">24</xref>]. In the case of <inline-formula id="ieqn-68">
<alternatives><inline-graphic xlink:href="ieqn-68.png"/><tex-math id="tex-ieqn-68"><![CDATA[$N = 5 \times {10^5}$]]></tex-math><mml:math id="mml-ieqn-68"><mml:mi>N</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>5</mml:mn><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msup><mml:mn>10</mml:mn><mml:mn>5</mml:mn></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula>, the three schemes all use the same codebook. The SCMA user modulation mode is QPSK, that is, <italic>M</italic> &#x003D; 4, so the bit data of a single SCMA user is 1 &#x00D7; 106. Among them, low-rate (LDR) users use BPSK modulation, the bit data of a single LDR user is 0.5 &#x00D7; 10<sup>6</sup>. It can be seen from the <xref ref-type="fig" rid="fig-6">Fig. 6</xref> that as the SNR increases, the throughput of the three schemes gradually converges. This is because as the SNR increases, the BER performance of the system gradually increases. SCMA converges after 10 dB and the throughput is 6 Mbit. The SCMA&#x002B;LDR scheme gradually converges after the SNR is 18 dB. This is because the average BER performance of the system is poor under low signal-to-noise ratio, and the throughput after convergence is about 8 Mbit. The proposed scheme fully converges at 12 dB, that is, the BER performance of CB-Reuse-SCMA is better than SCMA&#x002B;LDR. At the same time, the throughput of CB-Reuse-SCMA is 12 Mbit, which is 2 times of SCMA and 1.5 times of SCMA&#x002B;LDR.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Throughput comparisons of SCMA and CB-Reuse-SCMA</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-6.png"/>
</fig>
<p>In addition, in order to verify the throughput of the proposed scheme with SNR conversion under different <italic>&#x03B2;</italic>, In <xref ref-type="fig" rid="fig-7">Fig. 7</xref>, the system throughput with <italic>&#x03B2;</italic> of 1, 2, 3 and SNR of 12, 16, 20, and 24 dB is simulated. Among them, <italic>&#x03B2;</italic> &#x003D; 1 is the original SCMA scheme, that is: The number of users <italic>J</italic> &#x003D; 6. It can be seen from the <xref ref-type="fig" rid="fig-7">Fig. 7</xref> that with the increase of <italic>&#x03B2;</italic>, the system throughput increases, but the SNR required for system convergence also increases. Among them, <italic>&#x03B2;</italic> &#x003D; 1 and <italic>&#x03B2;</italic> &#x003D; 2 have converged when SNR &#x003D; 12 dB, and <italic>&#x03B2;</italic> &#x003D; 3 has completely converged when SNR &#x003D; 24 dB. Therefore, the system throughput of the proposed scheme is proportional to <italic>&#x03B2;</italic>.</p>
<fig id="fig-7">
<label>Figure 7</label>
<caption>
<title>CB-Reuse-SCMA throughput comparisons under different <inline-formula id="ieqn-69">
<alternatives><inline-graphic xlink:href="ieqn-69.png"/><tex-math id="tex-ieqn-69"><![CDATA[$\beta$]]></tex-math><mml:math id="mml-ieqn-69"><mml:mi>&#x03B2;</mml:mi></mml:math>
</alternatives></inline-formula> and SNR</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-7.png"/>
</fig>
</sec>
<sec id="s6">
<label>6</label>
<title>Conclusions</title>
<p>In order to cope with the rapid increase in 5G spectrum efficiency and the number of user connections, and to address the shortcomings of existing technologies, an uplink SCMA transmission and reception scheme based on codebook multiplexing is proposed. This scheme assigns <italic>&#x03B2;</italic> users with the same priority to the same codebook. At the user transmitting end, <italic>&#x03B2;</italic> users map superimposed data according to the assigned codebook. At the receiving end of the base station, multi-user detection is performed according to the improved Log-MPA algorithm. Simulation results prove that the proposed scheme effectively improves the throughput of the system and achieves an increase in the number of access users, while the number of access users is proportional to <italic>&#x03B2;</italic>.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="other">
<p><bold>Funding Statement:</bold> This work is supported by the National Natural Science Foundation of Qinghai Province, China (No. 2020-ZJ-724).</p>
</fn>
<fn fn-type="conflict">
<p><bold>Conflicts of Interest:</bold> The authors declare that they have no conflicts of interest to report regarding the present study.</p>
</fn>
</fn-group>
<ref-list content-type="authoryear">
<title>References</title>
<ref id="ref-1">
<label>[1]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>M.</given-names> 
<surname>Agiwal</surname></string-name>, <string-name>
<given-names>A.</given-names> 
<surname>Roy</surname></string-name> and <string-name>
<given-names>N.</given-names> 
<surname>Saxena</surname></string-name>
</person-group>, &#x201C;
<article-title>Next generation 5G wireless networks: a comprehensive survey</article-title>,&#x201D; 
<source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. 
<volume>18</volume>, no. 
<issue>3</issue>, pp. 
<fpage>1617</fpage>&#x2013;
<lpage>1655</lpage>, 
<year>2016</year>.</mixed-citation>
</ref>
<ref id="ref-2">
<label>[2]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>W.</given-names> 
<surname>Fang</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Zhang</surname></string-name>, <string-name>
<given-names>Q.</given-names> 
<surname>Zhao</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Ji</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname> Chen</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;
<article-title>Comprehensive analysis of secure data aggregation scheme for industrial wireless sensor network</article-title>,&#x201D; 
<source>Computers, Materials &#x0026; Continua</source>, vol. 
<volume>61</volume>, no. 
<issue>2</issue>, pp. 
<fpage>583</fpage>&#x2013;
<lpage>599</lpage>, 
<year>2019</year>.</mixed-citation>
</ref>
<ref id="ref-3">
<label>[3]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>F.</given-names> 
<surname>Bi</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Fu</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Chen</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Fang</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Miao</surname></string-name> <etal>et al.</etal></person-group>, &#x201C;
<article-title>Fire detection method based on improved fruit fly optimization-based SVM</article-title>,&#x201D; 
<source>Computers Materials &#x0026; Continua</source>, vol. 
<volume>62</volume>, no. 
<issue>1</issue>, pp. 
<fpage>199</fpage>&#x2013;
<lpage>216</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-4">
<label>[4]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>W.</given-names> 
<surname>Fang</surname></string-name>, <string-name>
<given-names>N.</given-names> 
<surname>Cui</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Chen</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Zhang</surname></string-name> and <string-name>
<given-names>Y.</given-names> 
<surname>Chen</surname></string-name>
</person-group>, &#x201C;
<article-title>A trust-based security system for data collecting in smart city</article-title>,&#x201D; 
<source>IEEE Transactions on Industrial Informatics</source>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>1</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-5">
<label>[5]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>C.</given-names> 
<surname>Bockelmann</surname></string-name>, <string-name>
<given-names>N.</given-names> 
<surname>Pratas</surname></string-name>, <string-name>
<given-names>H.</given-names> 
<surname>Nikopour</surname></string-name>, <string-name>
<given-names>K.</given-names> 
<surname>Au</surname></string-name>, <string-name>
<given-names>T.</given-names> 
<surname> Svensson</surname></string-name> <etal>et al.</etal></person-group>, &#x201C;
<article-title>Massive machine-type communications in 5G: physical and MAC-layer solutions</article-title>,&#x201D; 
<source>IEEE Communications Magazine</source>, vol. 
<volume>54</volume>, no. 
<issue>9</issue>, pp. 
<fpage>59</fpage>&#x2013;
<lpage>65</lpage>, 
<year>2016</year>.</mixed-citation>
</ref>
<ref id="ref-6">
<label>[6]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>X. F.</given-names> 
<surname>Li</surname></string-name>, <string-name>
<given-names>Y. B.</given-names> 
<surname>Zhuang</surname></string-name> and <string-name>
<given-names>S. X.</given-names> 
<surname>Yang</surname></string-name>
</person-group>, &#x201C;
<article-title>Cloud computing for big data processing</article-title>,&#x201D; 
<source>Intelligent Automation &#x0026; Soft Computing</source>, vol. 
<volume>23</volume>, no. 
<issue>4</issue>, pp. 
<fpage>545</fpage>&#x2013;
<lpage>546</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-7">
<label>[7]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>J.</given-names> 
<surname>Peng</surname></string-name>, <string-name>
<given-names>M.</given-names> 
<surname>Tang</surname></string-name>, <string-name>
<given-names>M.</given-names> 
<surname>Li</surname></string-name> and <string-name>
<given-names>Z.</given-names> 
<surname>Zha</surname></string-name>
</person-group>, &#x201C;
<article-title>A load balancing method for massive data processing under cloud computing environment</article-title>,&#x201D; 
<source>Intelligent Automation &#x0026; Soft Computing</source>, vol. 
<volume>23</volume>, no. 
<issue>4</issue>, pp. 
<fpage>547</fpage>&#x2013;
<lpage>553</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-8">
<label>[8]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>W.</given-names> 
<surname>Wu</surname></string-name>, <string-name>
<given-names>Y.</given-names> 
<surname>Chen</surname></string-name> and <string-name>
<given-names>D.</given-names> 
<surname>Seng</surname></string-name>
</person-group>, &#x201C;
<article-title>Implementation of Web mining algorithm based on cloud computing</article-title>,&#x201D; 
<source>Intelligent Automation &#x0026; Soft Computing</source>, vol. 
<volume>23</volume>, no. 
<issue>4</issue>, pp. 
<fpage>599</fpage>&#x2013;
<lpage>604</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-9">
<label>[9]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>W.</given-names> 
<surname>Zhang</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Fang</surname></string-name>, <string-name>
<given-names>Q.</given-names> 
<surname>Zhao</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Ji</surname></string-name> and <string-name>
<given-names>G.</given-names> 
<surname>Jia</surname></string-name>
</person-group>, &#x201C;
<article-title>Energy efficiency in internet of things: An overview</article-title>,&#x201D; 
<source>Computers, Materials &#x0026; Continua</source>, vol. 
<volume>63</volume>, no. 
<issue>2</issue>, pp. 
<fpage>787</fpage>&#x2013;
<lpage>811</lpage>, 
<year>2020</year>.</mixed-citation>
</ref>
<ref id="ref-10">
<label>[10]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>Y.</given-names> 
<surname>Liu</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Qin</surname></string-name>, <string-name>
<given-names>M.</given-names> 
<surname>Elkashlan</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Ding</surname></string-name>, <string-name>
<given-names>A.</given-names> 
<surname>Nallanathan</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;
<article-title>Nonorthogonal multiple access for 5G and beyond</article-title>,&#x201D; in 
<source>Proc. of the IEEE</source>, vol. 
<volume>105</volume>, no. 
<issue>12</issue>, pp. 
<fpage>2347</fpage>&#x2013;
<lpage>2381</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-11">
<label>[11]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>L.</given-names> 
<surname>Tian</surname></string-name>, <string-name>
<given-names>C.</given-names> 
<surname>Yan</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Li</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Yuan</surname></string-name>, <string-name>
<given-names>W.</given-names> 
<surname>Cao</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;
<article-title>On uplink non-orthogonal multiple access for 5G: Opportunities and challenges</article-title>,&#x201D; 
<source>China Communications</source>, vol. 
<volume>14</volume>, no. 
<issue>12</issue>, pp. 
<fpage>142</fpage>&#x2013;
<lpage>152</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-12">
<label>[12]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>Z.</given-names> 
<surname>Wu</surname></string-name>, <string-name>
<given-names>K.</given-names> 
<surname>Lu</surname></string-name>, <string-name>
<given-names>C.</given-names> 
<surname>Jiang</surname></string-name> and <string-name>
<given-names>X.</given-names> 
<surname>Shao</surname></string-name>
</person-group>, &#x201C;
<article-title>Comprehensive study and comparison on 5G NOMA schemes</article-title>,&#x201D; 
<source>IEEE Access</source>, vol. 
<volume>6</volume>, pp. 
<fpage>18511</fpage>&#x2013;
<lpage>18519</lpage>, 
<year>2018</year>.</mixed-citation>
</ref>
<ref id="ref-13">
<label>[13]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>S. M. R.</given-names> 
<surname>Islam</surname></string-name>, <string-name>
<given-names>N.</given-names> 
<surname>Avazov</surname></string-name>, <string-name>
<given-names>O. A.</given-names> 
<surname>Dobre</surname></string-name> and <string-name>
<given-names>K.</given-names> 
<surname>Kwak</surname></string-name>
</person-group>, &#x201C;
<article-title>Power-domain non-orthogonal multiple access (NOMA) in 5G systems: potentials and challenges</article-title>,&#x201D; 
<source>IEEE Communications Surveys &#x0026; Tutorials</source>, vol. 
<volume>19</volume>, no. 
<issue>2</issue>, pp. 
<fpage>721</fpage>&#x2013;
<lpage>742</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-14">
<label>[14]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>Z.</given-names> 
<surname>Ding</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Lei</surname></string-name>, <string-name>
<given-names>G. K.</given-names> 
<surname>Karagiannidis</surname></string-name>, <string-name>
<given-names>R.</given-names> 
<surname>Schober</surname></string-name>, <string-name>
<given-names>J.</given-names> 
<surname> Yuan</surname></string-name> <etal>et al.</etal></person-group><italic>,</italic> &#x201C;
<article-title>A survey on non-orthogonal multiple access for 5G networks: Research challenges and future trends</article-title>,&#x201D; 
<source>IEEE Journal on Selected Areas in Communications</source>, vol. 
<volume>35</volume>, no. 
<issue>10</issue>, pp. 
<fpage>2181</fpage>&#x2013;
<lpage>2195</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-15">
<label>[15]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>R.</given-names> 
<surname>Hoshyar</surname></string-name>, <string-name>
<given-names>F. P.</given-names> 
<surname>Wathan</surname></string-name> and <string-name>
<given-names>R.</given-names> 
<surname>Tafazolli</surname></string-name>
</person-group>, &#x201C;
<article-title>Novel low-density signature for synchronous CDMA systems over AWGN channel</article-title>,&#x201D; 
<source>IEEE Transactions on Signal Processing</source>, vol. 
<volume>56</volume>, no. 
<issue>4</issue>, pp. 
<fpage>1616</fpage>&#x2013;
<lpage>1626</lpage>, 
<year>2008</year>.</mixed-citation>
</ref>
<ref id="ref-16">
<label>[16]</label><mixed-citation publication-type="conf-proc">
<person-group person-group-type="author"><string-name>
<given-names>H.</given-names> 
<surname>Nikopour</surname></string-name> and <string-name>
<given-names>H.</given-names> 
<surname>Baligh</surname></string-name>
</person-group>, &#x201C;
<article-title>Sparse code multiple access</article-title>,&#x201D; in <conf-name>Proc. PIMRC</conf-name>, <conf-loc>New York, USA</conf-loc>, pp. 
<fpage>332</fpage>&#x2013;
<lpage>336</lpage>, 
<year>2013</year>.</mixed-citation>
</ref>
<ref id="ref-17">
<label>[17]</label><mixed-citation publication-type="conf-proc">
<person-group person-group-type="author"><string-name>
<given-names>J. V. D.</given-names> 
<surname>Beek</surname></string-name> and <string-name>
<given-names>B. M.</given-names> 
<surname>Popovic</surname></string-name>
</person-group>, &#x201C;
<article-title>Multiple access with low-density signatures</article-title>,&#x201D; in <conf-name>Proc. GLOBELCOM</conf-name>, <conf-loc>Honolulu, HI, USA</conf-loc>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>6</lpage>, 
<year>2009</year>.</mixed-citation>
</ref>
<ref id="ref-18">
<label>[18]</label><mixed-citation publication-type="conf-proc">
<person-group person-group-type="author"><string-name>
<given-names>N.</given-names> 
<surname>Kim</surname></string-name> and <string-name>
<given-names>D.</given-names> 
<surname>Cho</surname></string-name>
</person-group>, &#x201C;
<article-title>Hybrid multiple access system based on non orthogonality and sparse code</article-title>,&#x201D; in <conf-name>Proc. WCNC</conf-name>, <conf-loc>New York, USA</conf-loc>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>6</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-19">
<label>[19]</label><mixed-citation publication-type="conf-proc">
<person-group person-group-type="author"><string-name>
<given-names>N. M.</given-names> 
<surname>Balasubramanya</surname></string-name>, <string-name>
<given-names>A.</given-names> 
<surname>Gupta</surname></string-name> and <string-name>
<given-names>M.</given-names> 
<surname>Sellathurai</surname></string-name>
</person-group>, &#x201C;
<article-title>Combining code-domain and power-domain NOMA for supporting higher number of users</article-title>,&#x201D; in <conf-name>Proc. GLOBALCOM Conf.</conf-name>, <conf-loc>Abu Dhabi, United Arab Emirates</conf-loc>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>6</lpage>, 
<year>2018</year>.</mixed-citation>
</ref>
<ref id="ref-20">
<label>[20]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>M.</given-names> 
<surname>Moltafet</surname></string-name>, <string-name>
<given-names>N.</given-names> 
<surname>Mokari</surname></string-name>, <string-name>
<given-names>M. R.</given-names> 
<surname>Javan</surname></string-name>, <string-name>
<given-names>H.</given-names> 
<surname>Saeedi</surname></string-name> and <string-name>
<given-names>H.</given-names> 
<surname>Pishro-Nik</surname></string-name>
</person-group>, &#x201C;
<article-title>A new multiple access technique for 5G: Power domain sparse code multiple access (PSMA)</article-title>,&#x201D; 
<source>IEEE Access</source>, vol. 
<volume>6</volume>, pp. 
<fpage>747</fpage>&#x2013;
<lpage>759</lpage>, 
<year>2018</year>.</mixed-citation>
</ref>
<ref id="ref-21">
<label>[21]</label><mixed-citation publication-type="conf-proc">
<person-group person-group-type="author"><string-name>
<given-names>M.</given-names> 
<surname>Moltafet</surname></string-name>, <string-name>
<given-names>N.</given-names> 
<surname>Mokari</surname></string-name>, <string-name>
<given-names>M. R.</given-names> 
<surname>Javan</surname></string-name>, <string-name>
<given-names>H.</given-names> 
<surname>Saeedi</surname></string-name> and <string-name>
<given-names>H.</given-names> 
<surname>Pishro-Nik</surname></string-name>
</person-group>, &#x201C;
<article-title>PSMA for 5G: Network throughput analysis</article-title>,&#x201D; in <conf-name>Proc. PIMRC</conf-name>, <conf-loc>Montreal, QC</conf-loc>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>6</lpage>, 
<year>2017</year>.</mixed-citation>
</ref>
<ref id="ref-22">
<label>[22]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>S.</given-names> 
<surname>Sharma</surname></string-name>, <string-name>
<given-names>K.</given-names> 
<surname>Deka</surname></string-name>, <string-name>
<given-names>V.</given-names> 
<surname>Bhatia</surname></string-name> and <string-name>
<given-names>A.</given-names> 
<surname>Gupta</surname></string-name>
</person-group>, &#x201C;
<article-title>Joint power-domain and SCMA-based NOMA system for downlink in 5G and beyond</article-title>,&#x201D; 
<source>IEEE Communications Letters</source>, vol. 
<volume>23</volume>, no. 
<issue>6</issue>, pp. 
<fpage>971</fpage>&#x2013;
<lpage>974</lpage>, 
<year>2019</year>.</mixed-citation>
</ref>
<ref id="ref-23">
<label>[23]</label><mixed-citation publication-type="conf-proc">
<person-group person-group-type="author"><string-name>
<given-names>P.</given-names> 
<surname>Robertson</surname></string-name>, <string-name>
<given-names>E.</given-names> 
<surname>Villebrun</surname></string-name> and <string-name>
<given-names>P.</given-names> 
<surname>Hoeher</surname></string-name>
</person-group>, &#x201C;
<article-title>A comparison of optimal and sub-optimal MAP decoding algorithms operating in the log domain</article-title>,&#x201D; in <conf-name>Proc. ICC&#x2019;95</conf-name>, <conf-loc>Seattle, WA, USA</conf-loc>, 
<volume>2</volume>, pp. 
<fpage>1009</fpage>&#x2013;
<lpage>1013</lpage>, 
<year>1995</year>.</mixed-citation>
</ref>
<ref id="ref-24">
<label>[24]</label><mixed-citation publication-type="conf-proc">
<person-group person-group-type="author"><string-name>
<given-names>S.</given-names> 
<surname>Zhang</surname></string-name>, <string-name>
<given-names>K.</given-names> 
<surname>Xiao</surname></string-name>, <string-name>
<given-names>B.</given-names> 
<surname>Xiao</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Chen</surname></string-name>, <string-name>
<given-names>B.</given-names> 
<surname> Xia</surname></string-name> <etal>et al.</etal>
</person-group><italic>,</italic> &#x201C;
<article-title>A capacity-based codebook design method for sparse code multiple access systems</article-title>,&#x201D; in <conf-name>Proc. WCSP</conf-name>, <conf-loc>Yangzhou, China</conf-loc>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>5</lpage>, 
<year>2016</year>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>