<?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">13009</article-id>
<article-id pub-id-type="doi">10.32604/iasc.2021.013009</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Article</subject>
</subj-group>
</article-categories>
<title-group>
<article-title>Low Complexity Decoding Algorithm for Uplink SCMA Based on Aerial Spherical Decoding</article-title><alt-title alt-title-type="left-running-head">Low Complexity Decoding Algorithm for Uplink SCMA Based on Aerial Spherical Decoding</alt-title><alt-title alt-title-type="right-running-head">Low Complexity Decoding Algorithm for Uplink SCMA Based on Aerial Spherical Decoding</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-11-23">
<day>23</day>
<month>11</month>
<year iso-8601-date="2021">2021</year>
</pub-date>
<volume>27</volume>
<issue>3</issue>
<fpage>737</fpage>
<lpage>746</lpage>
<history>
<date date-type="received">
<day>30</day>
<month>8</month>
<year iso-8601-date="2020">2020</year>
</date>
<date date-type="accepted">
<day>13</day>
<month>10</month>
<year iso-8601-date="2020">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_13009.pdf"></self-uri>
<abstract>
<p>As a new non-orthogonal multiple access technology for 5G massive machine type communication scenario, the sparse code multiple access (SCMA) has greatly improved the spectrum efficiency due to the high connection density. SCMA combines QAM (Quadrature Amplitude Modulation) modulation and sparse spreading into a codebook set to obtain forming gain. The user binary bit data is directly mapped into multi-dimensional codewords in the transmitter. The receiver uses the message passing algorithm (MPA) for multi-user detection to achieve efficient decoding. However, MPA is a good solution for SCMA, though its high complexity limits the application in practical systems. In order to reduce the complexity of MPA, this paper proposed a low-complexity decoding algorithm based on the serial spherical decoding message passing algorithm (SSD-MPA), which greatly enhanced the practicability of the SCMA system. The SSD-MPA took into account the distribution characteristics of the Gaussian noise and the reliability of the constellation points, and only updates the trusted constellation point messages of nodes within the spherical radius. At the same time, it used a serial strategy to speed up the convergence rate. The simulation results have shown that when the radius sets properly, the algorithm reduces the complexity by about 2/3 compared with the original MPA, and the performance was almost lossless.</p>
</abstract>
<kwd-group kwd-group-type="author">
<kwd>5G</kwd>
<kwd>sparse code multiple access</kwd>
<kwd>MPA</kwd>
<kwd>spherical decoding</kwd>
<kwd>serial strategy</kwd>
</kwd-group>
</article-meta>
</front>
<body>
<sec id="s1">
<label>1</label>
<title>Introduction</title>
<p>The massive machine type communication (mMTC) is the main application scenario of 5G, and its main feature is the high connection density. The sparse code multiple access (SCMA) is a new type of non-orthogonal multiple access technology in the code domain [<xref ref-type="bibr" rid="ref-1">1</xref>&#x2013;<xref ref-type="bibr" rid="ref-3">3</xref>], which evolves from the low density spread spectrum (LDS). It combines the quadrature amplitude modulation (QAM) and the sparse spreading into a codebook set, in so a &#x2018;forming gain&#x2019; [<xref ref-type="bibr" rid="ref-4">4</xref>,<xref ref-type="bibr" rid="ref-5">5</xref>] is obtained. In a SCMA system, the binary bit data of a user is directly mapped into the multi-dimensional codewords, and the receiver uses the message passing algorithm (MPA) to achieve efficient decoding. In a MPA, the sparseness of the codeword is used to effectively reduce the decoding complexity, and the performance is close to the optimal MPA. Therefore, the MPA is the most commonly used decoding algorithm in a SCMA. The SCMA can increase the spectral efficiency more than 150% and is expected to become a candidate technology for mMTC [<xref ref-type="bibr" rid="ref-6">6</xref>,<xref ref-type="bibr" rid="ref-7">7</xref>].</p>
<p>Although MPA has reduced the decoding complexity, the latter is is still high, which limits the application of SCMA in practical communication systems [<xref ref-type="bibr" rid="ref-8">8</xref>&#x2013;<xref ref-type="bibr" rid="ref-10">10</xref>]. To this end, Mu et al. [<xref ref-type="bibr" rid="ref-11">11</xref>] proposed a partially marginalized MPA (PM-MPA) which reduced the number of update nodes and fixed the complexity of MPA by marginalizing some users. However, the performance of the PM-MPA was significantly reduced, especially in the case of high signal-to-noise ratio (SNR). Du et al. [<xref ref-type="bibr" rid="ref-12">12</xref>] proposed a message passing algorithm (S-MPA) based on a serial strategy. The S-MPA converted the parallel calculations in the original MPA to the serial calculations, thereby, reducing the number of iterations required. Yang et al. [<xref ref-type="bibr" rid="ref-13">13</xref>] used the thresholds to control the iterative process, in order to reduce the complexity, but its performance also decreased. Klimentyev et al. [<xref ref-type="bibr" rid="ref-14">14</xref>] simplified the decoding process and reduced the number of iterations to 2&#x2013;3 times based on the characteristics of the codeword in the codebook. Wei et al. [<xref ref-type="bibr" rid="ref-15">15</xref>] proposed a low-complexity decoding algorithm based on the list ball decoding (LSD). This algorithm only considered the signals in the hypersphere, and did not need to traverse all possible combinations, and thereby reduced the complexity. Wei et al. [<xref ref-type="bibr" rid="ref-16">16</xref>] introduced two low-complexity algorithms. One is the sign flip algorithm (SFA), which performed hard decisions and flipped the unreliable signals during the resource node updating. The other was a dynamic partial marginalized MPA, which dynamically determined the marginalized users through the reliability defined by SFA. Ma et al. [<xref ref-type="bibr" rid="ref-17">17</xref>] proposed a low-complexity MPA detector based on the dynamic factor graph (DFG-MPA). The DFG-MPA dynamically updated the factor graph by judging the size of the user codeword confidence level, where the larger value of the confidence level did not participate in the current and subsequent updates. And Miao et al. [<xref ref-type="bibr" rid="ref-18">18</xref>] proposed a continuously updated dynamic factor graph algorithm, which could speed up the convergence, and reduce the external information. Shen et al. [<xref ref-type="bibr" rid="ref-19">19</xref>] also introduced a dynamic subgraph MPA (DS-MPA) algorithm, which had a slow convergence and high complexity. Yuan et al. [<xref ref-type="bibr" rid="ref-20">20</xref>] proposed a hybrid message passing algorithm, which limited the user state to a Gaussian state based on the energy minimization approximation. Yang et al. [<xref ref-type="bibr" rid="ref-21">21</xref>] proposed a spherical decoding MPA (SD-MPA), which only updated the constellation point messages within the radius, though the convergence rate was slow.</p>
<p>In this context, the major contribution of this paper is to propose a serial spherical decoding MPA (SSD-MPA) algorithm, which can further reduce its complexity. Specifically, according to the relationship between the Gaussian noise distribution characteristics and the reliability of the constellation points, this algorithm chooses to update the trusted constellation points in the spherical range, and accelerates the convergence speed through a serial strategy. When the sphere radius sets properly, SSD-MPA reduces the computational complexity by about two-thirds, with almost no loss in the bit error rate (BER) performance. The rest of this paper is organized as follows. Firstly, the system model of SCMA is reviewed and analyzed in Section 2. Then, a serial spherical decoding MPA is proposed in Section 3. Furthermore, the numerical simulation and analysis are discussed in Section 4. Finally, the conclusions are drawn in Section 5.</p>
</sec>
<sec id="s2">
<label>2</label>
<title>SCMA System Model</title>
<sec id="s2_1">
<label>2.1</label>
<title>Uplink SCMA System</title>
<p>We assume that, in an uplink SCMA system, <italic>J</italic> users share <italic>K</italic> with same resources. The system has <italic>L</italic> codebooks of dimension <italic>M &#x00D7; K</italic>, where <italic>M</italic> represents the number of constellation points of the codebooks, <italic>K</italic> represents the number of resources of the codebook. In this system, each user has an exclusive codebook, the system overload rate is defined as <italic>&#x03BB; &#x003D; J/K</italic>, where <italic>J &#x003E; K</italic>.</p>
<p>The uplink SCMA system model of <italic>J &#x003D; 6, L &#x003D; 6, K &#x003D; 4</italic>, and <italic>M &#x003D; 4</italic> is shown in <xref ref-type="fig" rid="fig-1">Fig. 1</xref>.</p>
<fig id="fig-1">
<label>Figure 1</label>
<caption>
<title>Uplink SCMA system model</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-1.png"/>
</fig>
<p>At the user&#x2019;s transmitter, each user <italic>j</italic> uses the SCMA encoder to map a lb(<italic>M</italic>) bit data stream into the <italic>N</italic>(<italic>N &#x003C; K</italic>) dimensional codewords according to the codebook allocated by the base station (BS), then <italic>N-</italic>dimensional codewords are sparsely mapped to the <italic>K</italic> resources according to the resource mapping relationship of the codebooks, and each user <italic>j</italic> finally outputs a <italic>K</italic>-dimensional codeword <italic>S</italic><sub><italic>j</italic></sub>. In the end, the data of these <italic>J</italic> users can be superimposed on the same <italic>K</italic> resources in a non-orthogonal manner, and transmitted to the BS.</p>
<p>The factor graph shows the non-orthogonal superposition of multiple users in <xref ref-type="fig" rid="fig-2">Fig. 2</xref>. This graph contains two types of nodes: ones are resource nodes (FNs), the others are user nodes (VNs). Among them, the connection represents the payload relationship between the FNs and VNs.</p>
<fig id="fig-2">
<label>Figure 2</label>
<caption>
<title>Uplink SCMA system factor graph</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-2.png"/>
</fig>
<p>Therefore, the received signal of the receiver in a BS is expressed as follows:</p>
<p><disp-formula id="eqn-1">
<label>(1)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-1.png"/>
<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>j</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>J</mml:mi></mml:munderover><mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mi>n</mml:mi></mml:math>
</alternatives></disp-formula></p>
<p>where, <italic>S</italic><sub><italic>j</italic></sub> &#x003D; (<italic>S</italic><sub><italic>1,j</italic></sub><italic>,S</italic><sub><italic>2,j</italic></sub><italic>,&#x2026;S</italic><sub><italic>K,j</italic></sub>)<sup>T</sup> represents the codeword of user <italic>j</italic> on <italic>K</italic> resources. <italic>h</italic><sub><italic>j</italic></sub> &#x003D; (<italic>h</italic><sub><italic>1,j</italic></sub><italic>,h</italic><sub><italic>2,j</italic></sub><italic>,&#x2026;h</italic><sub><italic>K,j</italic></sub>)<sup>T</sup> is the channel coefficient, and <italic>n&#x007E;CN</italic>(0<italic>,&#x03C3;</italic><sup>2</sup><italic>I</italic>) is <italic>K</italic>-dimensional Gaussian noise.</p>
<p>According to the factor graph, the codewords of <italic>d</italic><sub><italic>f</italic></sub> users are superimposed on the same resource. So, the received signal on the <italic>k-</italic>th resource can be expressed as follows:</p>
<p><disp-formula id="eqn-2">
<label>(2)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-2.png"/>
<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>j</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:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>h</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo>)</mml:mo></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:math>
</alternatives></disp-formula></p>
<p>where, <italic>N</italic>(<italic>k</italic>) &#x003D; {<italic>j</italic>|<italic>S</italic><sub><italic>k,j</italic></sub>&#x2260; 0} is the user set whose data is superimposed on the <italic>k</italic>-th resource, and the base is <italic>d</italic><sub><italic>f</italic></sub>.</p>
</sec>
<sec id="s2_2">
<label>2.2</label>
<title>MPA Detection Algorithm</title>
<p>As a typical multi-user detection algorithm, MPA is widely applied in a SCMA. It uses the sparse features of codewords to model the receivers based on the factor graph. The decoding process consists of two parts: iteratively updating node messages and codewords decisions.</p>
<p>1. Iteratively updating node messages</p>
<p>Firstly, an iteratively updating the node messages of resource node <italic>k</italic> and user node <italic>j</italic> can be expressed as follows:</p>
<p><disp-formula id="eqn-3">
<label>(3)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-3.png"/>
<mml:math id="mml-eqn-3" display="block"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mo>&#x223C;</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:munder><mml:mrow><mml:mi>exp</mml:mi><mml:mo>&#x2061;</mml:mo><mml:mo stretchy="false">(</mml:mo><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B6;</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mo stretchy="false">)</mml:mo><mml:munder><mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mo>&#x220F;</mml:mo></mml:mrow><mml:mrow><mml:mi>&#x03C1;</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>j</mml:mi></mml:mrow></mml:munder></mml:mrow><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>&#x03C1;</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mrow><mml:mi>t</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>&#x03C1;</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></disp-formula></p>
<p><disp-formula id="eqn-4">
<label>(4)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-4.png"/>
<mml:math id="mml-eqn-4" display="block"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mi>n</mml:mi><mml:mi>o</mml:mi><mml:mi>r</mml:mi><mml:mi>m</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:munder><mml:mo movablelimits="false">&#x220F;</mml:mo><mml:mrow><mml:mi>&#x03B3;</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mi mathvariant="normal">&#x2216;</mml:mi><mml:mi>k</mml:mi></mml:mrow></mml:munder><mml:mrow><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>&#x03B3;</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></disp-formula></p>
<p>where, <italic>V</italic>(<italic>j</italic>) &#x003D; {<italic>k</italic>|<italic>S</italic><sub><italic>k,j</italic></sub> &#x2260; 0} is the set of resources mapped by the <italic>j</italic>-th user, <italic>norm</italic>(&#x25CF;) indicates the normalization, and the modulus value is <italic>d</italic><sub><italic>v</italic></sub>. &#x03A6;(<italic>&#x03B6;,k</italic>) represents the Euclidean Distance between the received signal and the constellation point. It is expressed as follows:</p>
<p><disp-formula id="eqn-5">
<label>(5)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-5.png"/>
<mml:math id="mml-eqn-5" display="block"><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B6;</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>&#x003D;</mml:mo></mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mn>1</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mn>2</mml:mn></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mo>.</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msub></mml:mrow><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>&#x003D;</mml:mo></mml:mrow><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>&#x03B4;</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>j</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:mrow><mml:msub><mml:mi>h</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo><mml:mrow><mml:msub><mml:mi>S</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo>,</mml:mo><mml:mi>j</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:mrow><mml:mo symmetric="true">&#x2016;</mml:mo></mml:mrow><mml:mn>2</mml:mn></mml:msup></mml:mrow></mml:mstyle></mml:math>
</alternatives></disp-formula></p>
<p>It is worth noting that the message updated by the resource node in <xref ref-type="disp-formula" rid="eqn-3">Eq. (3)</xref>, and it needs to be used in <xref ref-type="disp-formula" rid="eqn-4">Eq. (4)</xref> until the next iteration.</p>
<p>2. Codewords decisions</p>
<p>Then, after the iteration is completed, the codeword probability is calculated according to the log-likelihood ratio (LLR). And then the user bit data is judged, it is expressed as follows:</p>
<p><disp-formula id="eqn-6">
<label>(6)</label>
<alternatives>
<graphic mimetype="image" mime-subtype="png" xlink:href="eqn-6.png"/>
<mml:math id="mml-eqn-6" display="block"><mml:mrow><mml:msub><mml:mi>Q</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x220F;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow></mml:munder><mml:mrow><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>t</mml:mi><mml:mrow><mml:mo movablelimits="true" form="prefix">max</mml:mo></mml:mrow></mml:msub></mml:mrow></mml:mrow></mml:msubsup></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></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"/>
<mml:math id="mml-eqn-7" display="block"><mml:mi>L</mml:mi><mml:mi>L</mml:mi><mml:mi>R</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mn>0</mml:mn></mml:mrow></mml:munder><mml:mrow><mml:mi>Q</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:munder><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>b</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:munder><mml:mrow><mml:mi>Q</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></disp-formula></p>
</sec>
</sec>
<sec id="s3">
<label>3</label>
<title>Serial Spherical Decoding MPA (SSD-MPA)</title>
<sec id="s3_1">
<label>3.1</label>
<title>SSD-MPA</title>
<p>Although the MPA can reduce the complexity to the order of <inline-formula id="ieqn-1">
<alternatives><inline-graphic xlink:href="ieqn-1.png"/>
<mml:math id="mml-ieqn-1"><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula>, its complexity increases exponentially with the number of superimposed users <italic>d</italic><sub><italic>f</italic></sub> and the size of codebook <italic>M</italic>. The complexity of MPA is mainly concentrated on the process of the iteratively updating node messages and iterative convergence. Considering these two process, in this paper, we propose a low-complexity decoding algorithm based on serial spherical decoding, which called SSD-MPA.</p>
<p>In SSD-MPA, the influence of Gaussian noise on the received signal is considered, that is to say, the Euclidean Distance between the constellation point and the received signal determines the credibility of the constellation point. When the Euclidean Distance is smaller, the credibility of the constellation point is higher, and the correct probability of the codeword corresponding to the constellation point is greater. Therefore, according to the requirements of the actual scenario, setting an appropriate spherical radius (i.e., Euclidean Distance) can achieve a trade-off between the performance and the complexity of BER.</p>
<p>At the same time, the SSD-MPA uses a serial strategy to update the nodes message, in order to further reduce the complexity. In this serial update strategy, the updated message of a resource node is directly passed to the user node without waiting for the next iteration, so the user node can use the message of the resource node in time. The SSD-MPA can speed up the convergence speed by serial updating. The steps of SSD-MPA are shown in <xref ref-type="table" rid="table-3">Algorithm 1</xref>:</p>
<table-wrap id="table-3">
<label>Algorithm 1</label>
<caption>
<title>SSD-MPA</title>
</caption>
<table>
<colgroup>
<col/>
</colgroup>
<tbody>
<tr>
<td>Input: <italic>y, H, &#x03C3;</italic>, <italic>N</italic>, <italic>R</italic></td>
</tr>
<tr>
<td>Initialization:</td>
</tr>
<tr>
<td>for all <italic>j</italic> and <inline-formula id="ieqn-2">
<alternatives><inline-graphic xlink:href="ieqn-2.png"/>
<mml:math id="mml-ieqn-2"><mml:mi>k</mml:mi><mml:mo>&#x2208;</mml:mo><mml:mi>V</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>j</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula> and <inline-formula id="ieqn-3">
<alternatives><inline-graphic xlink:href="ieqn-3.png"/>
<mml:math id="mml-ieqn-3"><mml:mi>m</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td><inline-formula id="ieqn-4">
<alternatives><inline-graphic xlink:href="ieqn-4.png"/>
<mml:math id="mml-ieqn-4"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>M</mml:mi></mml:math>
</alternatives></inline-formula>, <inline-formula id="ieqn-5">
<alternatives><inline-graphic xlink:href="ieqn-5.png"/>
<mml:math id="mml-ieqn-5"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mn>0</mml:mn></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mrow><mml:mo>/</mml:mo></mml:mrow><mml:mi>M</mml:mi></mml:math>
</alternatives></inline-formula></td>
</tr>
<tr>
<td>end for</td>
</tr>
<tr>
<td>Calculate contingent probability:</td>
</tr>
<tr>
<td>for all <italic>k</italic>, <inline-formula id="ieqn-6">
<alternatives><inline-graphic xlink:href="ieqn-6.png"/>
<mml:math id="mml-ieqn-6"><mml:mi>j</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-7">
<alternatives><inline-graphic xlink:href="ieqn-7.png"/>
<mml:math id="mml-ieqn-7"><mml:mi>m</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>M</mml:mi></mml:math>
</alternatives></inline-formula>do</td>
</tr>
<tr>
<td>&#x2003;Calculate <inline-formula id="ieqn-8">
<alternatives><inline-graphic xlink:href="ieqn-8.png"/>
<mml:math id="mml-ieqn-8"><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B6;</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></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>Iteration:</td>
</tr>
<tr>
<td>for <italic>t &#x003D; 1:N and all k</italic>, <inline-formula id="ieqn-9">
<alternatives><inline-graphic xlink:href="ieqn-9.png"/>
<mml:math id="mml-ieqn-9"><mml:mi>j</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> do</td>
</tr>
<tr>
<td>&#x2003;for <inline-formula id="ieqn-10">
<alternatives><inline-graphic xlink:href="ieqn-10.png"/>
<mml:math id="mml-ieqn-10"><mml:mi>m</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>M</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;If <inline-formula id="ieqn-11">
<alternatives><inline-graphic xlink:href="ieqn-11.png"/>
<mml:math id="mml-ieqn-11"><mml:mrow><mml:mi mathvariant="normal">a</mml:mi><mml:mi mathvariant="normal">b</mml:mi><mml:mi mathvariant="normal">s</mml:mi></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mi>&#x03B6;</mml:mi><mml:mo>,</mml:mo><mml:mi>k</mml:mi><mml:mo stretchy="false">)</mml:mo></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mo>&#x003C;</mml:mo><mml:mi>R</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;&#x2003;update <inline-formula id="ieqn-12">
<alternatives><inline-graphic xlink:href="ieqn-12.png"/>
<mml:math id="mml-ieqn-12"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>k</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>j</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula> via <xref ref-type="disp-formula" rid="eqn-3">(3)</xref></td>
</tr>
<tr>
<td>&#x2003;end for</td>
</tr>
<tr>
<td>&#x2003;&#x2003;update <inline-formula id="ieqn-13">
<alternatives><inline-graphic xlink:href="ieqn-13.png"/>
<mml:math id="mml-ieqn-13"><mml:msubsup><mml:mi>I</mml:mi><mml:mrow><mml:mi>j</mml:mi><mml:mo stretchy="false">&#x2192;</mml:mo><mml:mi>k</mml:mi></mml:mrow><mml:mi>t</mml:mi></mml:msubsup><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula> via <xref ref-type="disp-formula" rid="eqn-4">(4)</xref></td>
</tr>
<tr>
<td>end for</td>
</tr>
<tr>
<td>Soft output:</td>
</tr>
<tr>
<td>for <inline-formula id="ieqn-14">
<alternatives><inline-graphic xlink:href="ieqn-14.png"/>
<mml:math id="mml-ieqn-14"><mml:mi>j</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn><mml:mo>:</mml:mo><mml:mi>J</mml:mi></mml:math>
</alternatives></inline-formula> and all <inline-formula id="ieqn-15">
<alternatives><inline-graphic xlink:href="ieqn-15.png"/>
<mml:math id="mml-ieqn-15"><mml:mi>m</mml:mi></mml:math>
</alternatives></inline-formula> do</td>
</tr>
<tr>
<td>&#x2003;Calculate <inline-formula id="ieqn-16">
<alternatives><inline-graphic xlink:href="ieqn-16.png"/>
<mml:math id="mml-ieqn-16"><mml:mrow><mml:msub><mml:mi>Q</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msub><mml:mi>m</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula> via <xref ref-type="disp-formula" rid="eqn-6">(6)</xref></td>
</tr>
<tr>
<td>&#x2003;return <italic>LLR</italic> of bitvia <xref ref-type="disp-formula" rid="eqn-7">(7)</xref></td>
</tr>
<tr>
<td>end for</td>
</tr>
</tbody>
</table></table-wrap>
</sec>
<sec id="s3_2">
<label>3.2</label>
<title>Complexity Analysis</title>
<p>The complexity of the MPA focuses on the process of the iteratively updating node messages. The original MPA traverses all constellation point sets with each iteration, so the complexity is high. The SSD-MPA limits the update range to a spherical radius, and it does not need to update all node messages. <xref ref-type="table" rid="table-1">Tab. 1</xref> gives the convergence complexity formula of the SSD-MPA and other algorithms. Among them, <italic>N</italic><sub><italic>MPA</italic></sub>, <italic>N</italic><sub><italic>S-MPA</italic></sub>, <italic>N</italic><sub><italic>SD-MPA</italic></sub>, <italic>N</italic><sub><italic>DS-MPA</italic></sub>, and <italic>N</italic><sub><italic>SSD-MPA</italic></sub> indicate the number of iterations required for the corresponding algorithm to converge, and |&#x03A6;&#x002A;(<italic>k</italic>) | represents the number of nodes on the resource <italic>k</italic> that fall in a spherical range.</p>
<table-wrap id="table-1">
<label>Table 1</label>
<caption>
<title>Comparison of convergence complexity</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Algorithm</th>
<th>Addition</th>
<th>Multiplication</th>
<th>Comparison</th>
</tr>
</thead>
<tbody>
<tr>
<td>MPA</td>
<td><inline-formula id="ieqn-17">
<alternatives><inline-graphic xlink:href="ieqn-17.png"/>
<mml:math id="mml-ieqn-17"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mi>M</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula></td>
<td><inline-formula id="ieqn-18">
<alternatives><inline-graphic xlink:href="ieqn-18.png"/>
<mml:math id="mml-ieqn-18"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>K</mml:mi><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula></td>
<td>0</td>
</tr>
<tr>
<td>S-MPA</td>
<td><inline-formula id="ieqn-19">
<alternatives><inline-graphic xlink:href="ieqn-19.png"/>
<mml:math id="mml-ieqn-19"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>k</mml:mi><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mi>M</mml:mi><mml:mo stretchy="false">(</mml:mo><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:msup></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn><mml:mo stretchy="false">)</mml:mo></mml:math>
</alternatives></inline-formula></td>
<td><inline-formula id="ieqn-20">
<alternatives><inline-graphic xlink:href="ieqn-20.png"/>
<mml:math id="mml-ieqn-20"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>K</mml:mi><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula></td>
<td>0</td>
</tr>
<tr>
<td>SD-MPA</td>
<td><inline-formula id="ieqn-21">
<alternatives><inline-graphic xlink:href="ieqn-21.png"/>
<mml:math id="mml-ieqn-21"><mml:mtable displaystyle="true" columnspacing="thickmathspace" rowspacing=".5em" columnalign="left"><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mi>D</mml:mi><mml:mrow><mml:mo>&#x2212;</mml:mo></mml:mrow><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x00D7;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>K</mml:mi></mml:msubsup><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mo>&#x2217;</mml:mo></mml:msup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>K</mml:mi><mml:mi>M</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math>
</alternatives></inline-formula></td>
<td><inline-formula id="ieqn-22">
<alternatives><inline-graphic xlink:href="ieqn-22.png"/>
<mml:math id="mml-ieqn-22"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mi>D</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>K</mml:mi></mml:msubsup><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mo>&#x2217;</mml:mo></mml:msup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow></mml:math>
</alternatives></inline-formula></td>
<td><inline-formula id="ieqn-23">
<alternatives><inline-graphic xlink:href="ieqn-23.png"/>
<mml:math id="mml-ieqn-23"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mi>D</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>K</mml:mi><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula></td>
</tr>
<tr>
<td>DS-MPA</td>
<td>[<italic>Kdf</italic>&#x002B;(<italic>N</italic><sub><italic>DS-MPA</italic></sub> <italic>-1</italic>)<italic>K</italic>(<italic>d</italic><sub><italic>f</italic></sub>-1)](<inline-formula id="ieqn-24">
<alternatives><inline-graphic xlink:href="ieqn-24.png"/>
<mml:math id="mml-ieqn-24"><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula><italic>-M</italic>)</td>
<td><inline-formula id="ieqn-25">
<alternatives><inline-graphic xlink:href="ieqn-25.png"/>
<mml:math id="mml-ieqn-25"><mml:mtable displaystyle="true" columnspacing="thickmathspace" rowspacing=".5em" columnalign="left"><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:mrow><mml:mo>&#x00D7;</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd><mml:mrow><mml:mo>[</mml:mo><mml:mrow><mml:mi>K</mml:mi><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x002B;</mml:mo><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>S</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>K</mml:mi><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>]</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:math>
</alternatives></inline-formula></td>
<td><inline-formula id="ieqn-26">
<alternatives><inline-graphic xlink:href="ieqn-26.png"/>
<mml:math id="mml-ieqn-26"><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>D</mml:mi><mml:mi>S</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mo>)</mml:mo></mml:mrow><mml:mi>K</mml:mi><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:math>
</alternatives></inline-formula></td>
</tr>
<tr>
<td>SSD-MPA</td>
<td><inline-formula id="ieqn-27">
<alternatives><inline-graphic xlink:href="ieqn-27.png"/>
<mml:math id="mml-ieqn-27"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>D</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>k</mml:mi><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>j</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msubsup><mml:mrow><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>m</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>M</mml:mi></mml:msubsup><mml:mrow><mml:mrow><mml:msub><mml:mi>q</mml:mi><mml:mi>j</mml:mi></mml:msub></mml:mrow></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mn>1</mml:mn></mml:mrow></mml:math>
</alternatives></inline-formula></td>
<td><inline-formula id="ieqn-28">
<alternatives><inline-graphic xlink:href="ieqn-28.png"/>
<mml:math id="mml-ieqn-28"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>D</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mrow><mml:msubsup><mml:mo movablelimits="false">&#x2211;</mml:mo><mml:mrow><mml:mi>k</mml:mi><mml:mo>&#x003D;</mml:mo><mml:mn>1</mml:mn></mml:mrow><mml:mi>K</mml:mi></mml:msubsup><mml:mrow><mml:mrow><mml:mo>|</mml:mo><mml:mrow><mml:mrow><mml:msup><mml:mi mathvariant="normal">&#x03A6;</mml:mi><mml:mo>&#x2217;</mml:mo></mml:msup></mml:mrow><mml:mrow><mml:mo>(</mml:mo><mml:mi>k</mml:mi><mml:mo>)</mml:mo></mml:mrow></mml:mrow><mml:mo>|</mml:mo></mml:mrow></mml:mrow><mml:mo>&#x2212;</mml:mo><mml:mi>K</mml:mi><mml:mi>M</mml:mi></mml:mrow><mml:mo>)</mml:mo></mml:mrow></mml:math>
</alternatives></inline-formula></td>
<td><inline-formula id="ieqn-29">
<alternatives><inline-graphic xlink:href="ieqn-29.png"/>
<mml:math id="mml-ieqn-29"><mml:mrow><mml:msub><mml:mi>N</mml:mi><mml:mrow><mml:mi>S</mml:mi><mml:mi>S</mml:mi><mml:mi>D</mml:mi><mml:mo>&#x2212;</mml:mo><mml:mi>M</mml:mi><mml:mi>P</mml:mi><mml:mi>A</mml:mi></mml:mrow></mml:msub></mml:mrow><mml:mi>K</mml:mi><mml:mrow><mml:msup><mml:mi>M</mml:mi><mml:mrow><mml:mrow><mml:msub><mml:mi>d</mml:mi><mml:mi>f</mml:mi></mml:msub></mml:mrow></mml:mrow></mml:msup></mml:mrow></mml:math>
</alternatives></inline-formula></td>
</tr>
</tbody>
</table></table-wrap>
</sec>
</sec>
<sec id="s4">
<label>4</label>
<title>Simulations and Numerical Analysis</title>
<p>In this section, we use the MATLAB simulation platform to numerically simulate the SSD-MPA. The convergence speed, BER, and complexity performance of several algorithms are analyzed. The simulation parameters are shown in <xref ref-type="table" rid="table-2">Tab. 2</xref>.</p>
<table-wrap id="table-2">
<label>Table 2</label>
<caption>
<title>Simulation parameters settings</title>
</caption>
<table>
<colgroup>
<col/>
<col/>
</colgroup>
<thead>
<tr>
<th>Parameter</th>
<th>Value</th>
</tr>
</thead>
<tbody>
<tr>
<td>Channel model</td>
<td>AWGN</td>
</tr>
<tr>
<td>User number <italic>J</italic></td>
<td>6</td>
</tr>
<tr>
<td>Number of resources <italic>K</italic></td>
<td>4</td>
</tr>
<tr>
<td>Codebook number <italic>L</italic></td>
<td>6</td>
</tr>
<tr>
<td>Constellation point size <italic>M</italic></td>
<td>4</td>
</tr>
<tr>
<td>Overlay users <italic>d</italic><sub><italic>f</italic></sub></td>
<td>3</td>
</tr>
<tr>
<td>Overlay resources <italic>d</italic><sub><italic>v</italic></sub></td>
<td>2</td>
</tr>
</tbody>
</table></table-wrap>
<p>In <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, the convergence performance of several algorithms is shown at SNR &#x003D; 12 dB. According to the simulation results of <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, it can be known that the DS-MPA has the slowest convergence speed, and it requires approximately 7 iterations. While the MPA requires approximately 5&#x2013;6 iterations. In contrast, the S-MPA, SD-MPA and SSD-MPA converge faster, requiring only 2&#x2013;3 iterations to converge. It should be noted that although SD-MPA with a radius of <inline-formula id="ieqn-30">
<alternatives><inline-graphic xlink:href="ieqn-30.png"/>
<mml:math id="mml-ieqn-30"><mml:mi>&#x03B4;</mml:mi></mml:math>
</alternatives></inline-formula> has converged in 3 iterations, however the performance is poor. However, 5 iterations are required for SD-MPA with a radius of <inline-formula id="ieqn-31">
<alternatives><inline-graphic xlink:href="ieqn-31.png"/>
<mml:math id="mml-ieqn-31"><mml:mn>2</mml:mn><mml:mi>&#x03B4;</mml:mi></mml:math>
</alternatives></inline-formula>. From the analysis in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, it can be concluded that SSD-MPA has the fastest convergence speed.</p>
<fig id="fig-3">
<label>Figure 3</label>
<caption>
<title>Comparison of convergence speed</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-3.png"/>
</fig>
<p>According to the simulation results obtained in <xref ref-type="fig" rid="fig-3">Fig. 3</xref>, the SSD-MPA only needs 2 iterations to converge, and the number of iterations that is required by the algorithm does not exceed 10 times. Therefore, the BER performance simulations at <italic>N</italic> &#x003D; 2 and <italic>N</italic> &#x003D; 10 are given in <xref ref-type="fig" rid="fig-4">Figs. 4</xref> and <xref ref-type="fig" rid="fig-5">5</xref>.</p>
<fig id="fig-4">
<label>Figure 4</label>
<caption>
<title>BER performance comparison graph for <italic>N</italic> &#x003D; 2</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-4.png"/>
</fig>
<fig id="fig-5">
<label>Figure 5</label>
<caption>
<title>BER performance comparison graph for <italic>N</italic> &#x003D; 10</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-5.png"/>
</fig>
<p>In <xref ref-type="fig" rid="fig-4">Fig. 4</xref>, the BER performance comparison of various algorithms is given, when <italic>N</italic> is 2. It can be seen from <xref ref-type="fig" rid="fig-4">Fig. 4</xref> that when the SNR is low, the performance of SD-MPA and SSD-MPA with a radius of <inline-formula id="ieqn-32">
<alternatives><inline-graphic xlink:href="ieqn-32.png"/>
<mml:math id="mml-ieqn-32"><mml:mi>&#x03B4;</mml:mi></mml:math>
</alternatives></inline-formula> is the lowest, and the performance of S-MPA and SSD-MPA with a radius of <inline-formula id="ieqn-33">
<alternatives><inline-graphic xlink:href="ieqn-33.png"/>
<mml:math id="mml-ieqn-33"><mml:mn>2</mml:mn><mml:mi>&#x03B4;</mml:mi></mml:math>
</alternatives></inline-formula> is the best. With the increase of SNR, the performance of several algorithms is gradually approaching, but the performance of DS-MPA becomes the worst, and the performance of SSD-MPA with radius <inline-formula id="ieqn-34">
<alternatives><inline-graphic xlink:href="ieqn-34.png"/>
<mml:math id="mml-ieqn-34"><mml:mn>2</mml:mn><mml:mi>&#x03B4;</mml:mi></mml:math>
</alternatives></inline-formula> is always optimal.</p>
<p>In <xref ref-type="fig" rid="fig-5">Fig. 5</xref> the BER performance comparison of various algorithms is given, when <italic>N</italic> is 10, in which all the algorithms are converged. The performance of the SD-MPA and SSD-MPA with a radius of <inline-formula id="ieqn-35">
<alternatives><inline-graphic xlink:href="ieqn-35.png"/>
<mml:math id="mml-ieqn-35"><mml:mn>2</mml:mn><mml:mi>&#x03B4;</mml:mi></mml:math>
</alternatives></inline-formula> is similar to the performance of the S-MPA and MPA, while the performance of the SD-MPA and SSD-MPA with a <inline-formula id="ieqn-36">
<alternatives><inline-graphic xlink:href="ieqn-36.png"/>
<mml:math id="mml-ieqn-36"><mml:mi>&#x03B4;</mml:mi></mml:math>
</alternatives></inline-formula> radius is consistent. Therefore, it can be concluded from the analysis in <xref ref-type="fig" rid="fig-5">Fig. 5</xref> that the performance of the SSD-MPA with a radius of <inline-formula id="ieqn-37">
<alternatives><inline-graphic xlink:href="ieqn-37.png"/>
<mml:math id="mml-ieqn-37"><mml:mn>2</mml:mn><mml:mi>&#x03B4;</mml:mi></mml:math>
</alternatives></inline-formula> has no loss.</p>
<p>Although the complexity formulas of several algorithms have been given in <xref ref-type="table" rid="table-1">Tab. 1</xref>, as the number of constellation points falling in a spherical range is unknown, so the actual calculation amount of the SD-MPA and SSD-MPA cannot give specific formulas. Therefore, in <xref ref-type="fig" rid="fig-6">Fig. 6</xref> the actual operation amount of several algorithms is plotted in the simulation process.</p>
<p>In <xref ref-type="fig" rid="fig-6">Fig. 6</xref>, the calculations of addition, multiplication, and comparison of several algorithms are respectively counted. Although the MPA does not have a comparison operation, the addition and multiplication operations are very large. In contrast, the amount of the SSD-MPA operation is only about 1/3 of the MPA.</p>
<fig id="fig-6">
<label>Figure 6</label>
<caption>
<title>Comparison of complexity</title>
</caption>
<graphic mimetype="image" mime-subtype="png" xlink:href="fig-6.png"/>
</fig>
</sec>
<sec id="s5">
<label>5</label>
<title>Conclusion</title>
<p>As a new non-orthogonal multiple access technology for 5G, the SCMA has greatly improved spectrum efficiency. However, the SCMA&#x2019;s complexity is high, which limits its application in practical communication systems. This paper proposed a low complexity decoding algorithm based on serial spherical decoding, and verified the BER performance and complexity of the proposed algorithm through MATLAB simulation platform. The results show that, when the sphere radius sets properly, the SSD-MPA can reduce the complexity of MPA by about 2/3, and the performance is almost lossless. The practicability of the MPA is greatly enhancedTherelationship between sphere radius and performance will be researched in the further work.</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 iso-8601-date="2016">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>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 iso-8601-date="2020">2020</year>.</mixed-citation>
</ref>
<ref id="ref-3">
<label>[3]</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>London, UK</conf-loc>, pp. 
<fpage>332</fpage>&#x2013;
<lpage>336</lpage>, 
<year iso-8601-date="2013">2013</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>. 
<comment>(Early Access)</comment>.</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>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 iso-8601-date="2008">2008</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>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><italic>,</italic> &#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 iso-8601-date="2020">2020</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>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 iso-8601-date="2019">2019</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>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 iso-8601-date="2017">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>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 iso-8601-date="2017">2017</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>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 iso-8601-date="2017">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>H.</given-names> 
<surname>Mu</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Ma</surname></string-name>, <string-name>
<given-names>M.</given-names> 
<surname>Alhaji</surname></string-name>, <string-name>
<given-names>P.</given-names> 
<surname>Fan</surname></string-name> and <string-name>
<given-names>D.</given-names> 
<surname>Chen</surname></string-name>
</person-group>, &#x201C;
<article-title>A fixed low complexity message pass algorithm detector for up-link SCMA system</article-title>,&#x201D; 
<source>IEEE Wireless Communications Letters</source>, vol. 
<volume>4</volume>, no. 
<issue>6</issue>, pp. 
<fpage>585</fpage>&#x2013;
<lpage>588</lpage>, 
<year iso-8601-date="2015">2015</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>Y.</given-names> 
<surname>Du</surname></string-name>, <string-name>
<given-names>B.</given-names> 
<surname>Dong</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Chen</surname></string-name>, <string-name>
<given-names>J.</given-names> 
<surname>Fang</surname></string-name> and <string-name>
<given-names>L.</given-names> 
<surname>Yang</surname></string-name>
</person-group>, &#x201C;
<article-title>Shuffled multiuser detection schemes for uplink sparse code multiple access aystems</article-title>,&#x201D; 
<source>IEEE Communications Letters</source>, vol. 
<volume>20</volume>, no. 
<issue>6</issue>, pp. 
<fpage>1231</fpage>&#x2013;
<lpage>1234</lpage>, 
<year iso-8601-date="2016">2016</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>L.</given-names> 
<surname>Yang</surname></string-name>, <string-name>
<given-names>Y.</given-names> 
<surname>Liu</surname></string-name> and <string-name>
<given-names>Y.</given-names> 
<surname>Siu</surname></string-name>
</person-group>, &#x201C;
<article-title>Low complexity message passing algorithm for SCMA system</article-title>,&#x201D; 
<source>IEEE Communications Letters</source>, vol. 
<volume>20</volume>, no. 
<issue>12</issue>, pp. 
<fpage>2466</fpage>&#x2013;
<lpage>2469</lpage>, 
<year iso-8601-date="2016">2016</year>.</mixed-citation>
</ref>
<ref id="ref-14">
<label>[14]</label><mixed-citation publication-type="conf-proc">
<person-group person-group-type="author"><string-name>
<given-names>V. P.</given-names> 
<surname>Klimentyev</surname></string-name> and <string-name>
<given-names>A. B.</given-names> 
<surname>Sergienko</surname></string-name>
</person-group>, &#x201C;
<article-title>A low-complexity SCMA detector for AWGN channel based on solving overdetermined systems of linear equations</article-title>,&#x201D; in <conf-name>Proc. REDUNDANCY)</conf-name>, <conf-loc>St. Petersburg</conf-loc>, pp. 
<fpage>61</fpage>&#x2013;
<lpage>65</lpage>, 
<year iso-8601-date="2016">2016</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>F.</given-names> 
<surname>Wei</surname></string-name> and <string-name>
<given-names>W.</given-names> 
<surname>Chen</surname></string-name>
</person-group>, &#x201C;
<article-title>Low complexity iterative receiver design for sparse code multiple access</article-title>,&#x201D; 
<source>IEEE Transactions on Communications</source>, vol. 
<volume>65</volume>, no. 
<issue>2</issue>, pp. 
<fpage>621</fpage>&#x2013;
<lpage>634</lpage>, 
<year iso-8601-date="2017">2017</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>L.</given-names> 
<surname>Wei</surname></string-name>, <string-name>
<given-names>B.</given-names> 
<surname>Huang</surname></string-name> and <string-name>
<given-names>J.</given-names> 
<surname>Zheng</surname></string-name>
</person-group>, &#x201C;
<article-title>Low-complexity detectors for uplink SCMA: Symbol flipping and dynamic partial marginalization-based MPA</article-title>,&#x201D; in <conf-name>Proc. VTC Spring</conf-name>, 
<publisher-loc>Porto</publisher-loc>, pp. 
<fpage>1</fpage>&#x2013;
<lpage>5</lpage>, 
<year iso-8601-date="2018">2018</year>. </mixed-citation>
</ref>
<ref id="ref-17">
<label>[17]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>X.</given-names> 
<surname>Ma</surname></string-name>, <string-name>
<given-names>L.</given-names> 
<surname>Yang</surname></string-name>, <string-name>
<given-names>Z.</given-names> 
<surname>Chen</surname></string-name> and <string-name>
<given-names>Y.</given-names> 
<surname>Siu</surname></string-name>
</person-group>, &#x201C;
<article-title>Low complexity detection based on dynamic factor graph for SCMA systems</article-title>,&#x201D; 
<source>IEEE Communications Letters</source>, vol. 
<volume>21</volume>, no. 
<issue>12</issue>, pp. 
<fpage>2666</fpage>&#x2013;
<lpage>2669</lpage>, 
<year iso-8601-date="2017">2017</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>J.</given-names> 
<surname>Miao</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Hu</surname></string-name> and <string-name>
<given-names>Z.</given-names> 
<surname>Zhao</surname></string-name>
</person-group>, &#x201C;
<article-title>A low complexity multiuser detection scheme with dynamic factor graph for uplink SCMA systems</article-title>,&#x201D; in <conf-name>Proc. ICCC</conf-name>, 
<publisher-loc>Changchun, China</publisher-loc>, pp. 
<fpage>846</fpage>&#x2013;
<lpage>851</lpage>, 
<year iso-8601-date="2019">2019</year>. </mixed-citation>
</ref>
<ref id="ref-19">
<label>[19]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>M.</given-names> 
<surname>Shen</surname></string-name>, <string-name>
<given-names>J.</given-names> 
<surname>Li</surname></string-name> and <string-name>
<given-names>Y.</given-names> 
<surname>He</surname></string-name>
</person-group>, &#x201C;
<article-title>Dynamic subgraph detection algorithm for uplink SCMA system</article-title>,&#x201D; 
<source>Telecommunication Engineering</source>, vol. 
<volume>59</volume>, no. 
<issue>7</issue>, pp. 
<fpage>749</fpage>&#x2013;
<lpage>754</lpage>, 
<year iso-8601-date="2019">2019</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>W.</given-names> 
<surname>Yuan</surname></string-name>, <string-name>
<given-names>N.</given-names> 
<surname>Wu</surname></string-name>, <string-name>
<given-names>A.</given-names> 
<surname>Zhang</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Huang</surname></string-name>, <string-name>
<given-names>Y.</given-names> 
<surname>Li</surname></string-name> <etal>et al.</etal>
</person-group><italic>,</italic> &#x201C;
<article-title>Iterative receiver design for FTN signaling aided sparse code multiple access</article-title>,&#x201D; 
<source>IEEE Transactions on Wireless Communications</source>, vol. 
<volume>19</volume>, no. 
<issue>2</issue>, pp. 
<fpage>915</fpage>&#x2013;
<lpage>928</lpage>, 
<year iso-8601-date="2020">2020</year>.</mixed-citation>
</ref>
<ref id="ref-21">
<label>[21]</label><mixed-citation publication-type="journal">
<person-group person-group-type="author"><string-name>
<given-names>L.</given-names> 
<surname>Yang</surname></string-name>, <string-name>
<given-names>X.</given-names> 
<surname>Ma</surname></string-name> and <string-name>
<given-names>Y.</given-names> 
<surname>Siu</surname></string-name>
</person-group>, &#x201C;
<article-title>Low complexity MPA detector based on sphere decoding for SCMA</article-title>,&#x201D; 
<source>IEEE Communications Letters</source>, vol. 
<volume>21</volume>, no. 
<issue>8</issue>, pp. 
<fpage>1855</fpage>&#x2013;
<lpage>1858</lpage>, 
<year iso-8601-date="2017">2017</year>.</mixed-citation>
</ref>
</ref-list>
</back>
</article>