# Optimization of resource allocation for communication system M2M/H2H 5G

Bilal Ghani

► To cite this version:

Bilal Ghani. Optimization of resource allocation for communication system M2M/H2H 5G. Engineering Sciences [physics]. Université de Poitiers, Ecole National Supérieur d'Ingénieur de Poitiers, 2022. English. NNT: tel-04401809

HAL Id: tel-04401809

https://hal.science/tel-04401809

Submitted on 17 Jan 2024

HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-
entific research documents, whether they are pub-
lished or not. The documents may come from
teaching and research institutions in France or
abroad, or from public or private research centers.

L'archive ouverte pluridisciplinaire HAL, est
destinée au dépôt et à la diffusion de documents
scientifiques de niveau recherche, publiés ou non,
émanant des établissements d'enseignement et de
recherche français ou étrangers, des laboratoires
publics ou privés.

Public Domain
## THÈSE

Pour obtenir le grade de

DOCTEUR DE L'UNIVERSITÉ DE POITIERS

ÉCOLE NATIONALE SUPÉRIEURE D'INGÉNIEURS DE POITIERS

Diplôme National - Arrêté du 25 mai 2016

École Doctorale :

Sciences et Ingénierie des Systèmes, Mathématiques, Informatique, Matériaux, Mécanique et Energétique (MIMME)

Spécialité :

Réseau de Télécommunications

Présentée par

Bilal Ghani

# Optimization of resource allocation for communication system M2M/H2H 5G

Directeur de thèse : Yannis POUSSET Université de Poitiers

Co-directeur : Frédéric LAUNAY Université de Poitiers

Soutenance prévue le - 8 décembre 2022

Thèse préparée au sein du

Laboratoire d'Informatique et d'Automatique pour les Systèmes

## COMPOSITION DU JURY

<table><tr><td rowspan="2">Rapporteurs :</td><td>COUDOUX François-Xavier</td><td>Professeur des Universités<br>Université Polytechnique Hauts de France</td></tr><tr><td>CHARGE Pascal</td><td>Professeur des Universités<br>Université de Nantes</td></tr><tr><td rowspan="4">Examinateurs :</td><td>ZRIBI Amin</td><td>Maître de Conférences, HDR<br>Université de Tunis - El Manar (Tunisie)</td></tr><tr><td>PERRINE Clency</td><td>Maître de Conférences<br>Université de Poitiers</td></tr><tr><td>LAUNAY Frédéric</td><td>Maître de Conférences<br>Université de Poitiers</td></tr><tr><td>POUSSET Yannis</td><td>Professeur des Universités<br>Université de Poitiers</td></tr></table>
Dedicated to

my dearest father Abdul Qayyum

my loving mother Salma Shaheen

my beautiful wife Saman Munir

&

the flower of my life, my daughter Khadija Ghani
# Contents

## I General introduction 1

## II Optimization of resource allocation for communication system M2M/H2H 5G 5

### 1 Introduction 7

1.1 Background and motivation 9

1.2 Introduction to Multiple Access Techniques 10

1.3 Non-orthogonal Multiple Access 12

1.3.1 Power Domain Non-orthogonal Multiple Access 12

1.3.2 Code Domain Non-orthogonal Multiple Access 13

1.3.3 Basic Principles of Non-orthogonal Multiple Access 13

1.4 Sparse Code Multiple Access 19

1.4.1 Codebooks 21

1.4.2 Message Passing Algorithm 23

1.4.3 Complexity 29

1.5 Optimization of resource allocation 29

1.5.1 Sum Rate maximization 30

1.5.2 Sum Power Minimization 31

1.5.3 Minimum Data Rate 32

1.5.4 Outage Probability Requirement 32

1.5.5 Maximizing spectral efficiency and energy efficiency 33

1.5.6 Target BER constraint 33

1.6 Issues and challenges in Optimization of Resource Allocation 33

1.7 Contribution of Thesis 35

1.8 Thesis Layout 37

### 2 Enhancing the performance of SCMA system 39

2.1 Introduction 40

2.2 Preliminaries 40

2.3 Improvement in BER of SCMA 41

2.3.1 Classical uncoded SCMA 41

2.3.2 LDPC encoded SCMA 44

2.3.3 LDPC encoded SCMA with Feedback 47
<table><tbody><tr><td>2.4</td><td>Low complexity Hybrid Interference Cancellation for Log-MPA</td><td>51</td></tr><tr><td>2.4.1</td><td>System Model</td><td>52</td></tr><tr><td>2.4.2</td><td>Low density parity check (LDPC)</td><td>52</td></tr><tr><td>2.4.3</td><td>SIC decoding</td><td>56</td></tr><tr><td>2.4.4</td><td>HIC decoding</td><td>57</td></tr><tr><td>2.4.5</td><td>Complexity Analysis</td><td>62</td></tr><tr><td>2.5</td><td>Conclusion</td><td>73</td></tr><tr><td><b>3</b></td><td><b>Power Allocation for a target BER</b></td><td><b>75</b></td></tr><tr><td>3.1</td><td>Introduction</td><td>76</td></tr><tr><td>3.2</td><td>Preliminaries</td><td>76</td></tr><tr><td>3.3</td><td>Error Probability analysis for uncoded SCMA system</td><td>77</td></tr><tr><td>3.3.1</td><td>Single user using multi-dimensional constellations</td><td>77</td></tr><tr><td>3.3.2</td><td>Multiple users using multi-dimensional constellations</td><td>81</td></tr><tr><td>3.3.3</td><td>BER for J users in an Uplink SCMA</td><td>82</td></tr><tr><td>3.3.4</td><td>Simulation Results</td><td>83</td></tr><tr><td>3.4</td><td>Power Allocation for Target BER in SCMA</td><td>86</td></tr><tr><td>3.4.1</td><td>Power Allocation for users</td><td>86</td></tr><tr><td>3.4.2</td><td>Simulation Results</td><td>97</td></tr><tr><td>3.5</td><td>Conclusion</td><td>104</td></tr></tbody></table>

III General conclusion and future prospects 105
List of Figures

<table>
  <tbody>
    <tr>
      <td>1</td>
      <td>Evolution of Mobile Communication</td>
      <td>2</td>
    </tr>
    <tr>
      <td>2</td>
      <td>Pyramid of 5G Capabilities</td>
      <td>3</td>
    </tr>
    <tr>
      <td>1.1</td>
      <td>Moving from 4G to 5G</td>
      <td>9</td>
    </tr>
    <tr>
      <td>1.2</td>
      <td>Resources Allocation between OMA and NOMA</td>
      <td>11</td>
    </tr>
    <tr>
      <td>1.3</td>
      <td>Advantages of NOMA</td>
      <td>12</td>
    </tr>
    <tr>
      <td>1.4</td>
      <td>Superposition coding constellation of 2 users NOMA using 4-QAM</td>
      <td>14</td>
    </tr>
    <tr>
      <td>1.5</td>
      <td>Successive interference cancellation decoding in Downlink NOMA</td>
      <td>14</td>
    </tr>
    <tr>
      <td>1.6</td>
      <td>J-user SIC receiver</td>
      <td>15</td>
    </tr>
    <tr>
      <td>1.7</td>
      <td>2-Users Downlink NOMA</td>
      <td>16</td>
    </tr>
    <tr>
      <td>1.8</td>
      <td>2-Users Uplink NOMA</td>
      <td>18</td>
    </tr>
    <tr>
      <td>1.9</td>
      <td>LDPC encoded SCMA system</td>
      <td>20</td>
    </tr>
    <tr>
      <td>1.10</td>
      <td>Constellation diagram for QPSK1 and QPSK2</td>
      <td>22</td>
    </tr>
    <tr>
      <td>1.11</td>
      <td>Factor Graph Representation of SCMA System</td>
      <td>24</td>
    </tr>
    <tr>
      <td>1.12</td>
      <td>Initialization of Factor Graph</td>
      <td>25</td>
    </tr>
    <tr>
      <td>1.13</td>
      <td>Message Passing from FNs to VNs</td>
      <td>26</td>
    </tr>
    <tr>
      <td>1.14</td>
      <td>Message Passing from VNs to FNs</td>
      <td>27</td>
    </tr>
    <tr>
      <td>1.15</td>
      <td>The BER performance over Rayleigh fading channels with Log-MPA Decoder</td>
      <td>28</td>
    </tr>
    <tr>
      <td>1.16</td>
      <td>Complexity and reliability of code domain NOMA and power domain NOMA</td>
      <td>35</td>
    </tr>
    <tr>
      <td>1.17</td>
      <td>Complexity and reliability of code domain NOMA and power domain NOMA</td>
      <td>36</td>
    </tr>
    <tr>
      <td>1.18</td>
      <td>Contributions of thesis</td>
      <td>37</td>
    </tr>
    <tr>
      <td>2.1</td>
      <td>J-user uncoded SCMA system</td>
      <td>41</td>
    </tr>
    <tr>
      <td>2.2</td>
      <td>Average BER for J = 6 users with different number of iterations of message passing.</td>
      <td>44</td>
    </tr>
    <tr>
      <td>2.3</td>
      <td>J-user LDPC encoded SCMA system</td>
      <td>45</td>
    </tr>
    <tr>
      <td>2.4</td>
      <td>Symbol Level LLR to bit level LLR</td>
      <td>45</td>
    </tr>
    <tr>
      <td>2.5</td>
      <td>BER results LDPC coded SCMA with code rates of R = 0.4, R = 0.5 and R = 0.6 for iter = 10 for LDPC decoder.</td>
      <td>48</td>
    </tr>
    <tr>
      <td>2.6</td>
      <td>BER results LDPC coded SCMA with code rates of R = 0.5 and for iter = 5, 7 and 10 for LDPC decoder.</td>
      <td>48</td>
    </tr>
    <tr>
      <td>2.7</td>
      <td>LDPC encoded SCMA with feedback.</td>
      <td>49</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>2.8</td>
      <td>BER results Log-MPA and LDPC decoding, with and without feedback.</td>
      <td>51</td>
    </tr>
    <tr>
      <td>2.9</td>
      <td>J-users uplink</td>
      <td>53</td>
    </tr>
    <tr>
      <td>2.10</td>
      <td>Joint HIC-Log MPA decoding</td>
      <td>57</td>
    </tr>
    <tr>
      <td>2.11</td>
      <td>Euclidean Distances at the decoder</td>
      <td>58</td>
    </tr>
    <tr>
      <td>2.12</td>
      <td>BER results for all users with HIC-Log MPA and Log-MPA</td>
      <td>61</td>
    </tr>
    <tr>
      <td>2.13</td>
      <td>Average BER results for all users with HIC-Log MPA and Log-MPA.</td>
      <td>61</td>
    </tr>
    <tr>
      <td>2.14</td>
      <td>Soft Vs Hard Decoding for User 2.</td>
      <td>62</td>
    </tr>
    <tr>
      <td>2.15</td>
      <td>BER versus SNR for different iterations loop of a regular LDPC(3,6)</td>
      <td>63</td>
    </tr>
    <tr>
      <td>2.16</td>
      <td>Number of LDPC iterations required to reach a target BER of 10<sup>-5</sup> after MUD decoding</td>
      <td>67</td>
    </tr>
    <tr>
      <td>2.17</td>
      <td>Number of LDPC iterations required to reach a target BER of 10<sup>-5</sup> for the strongest signal after HIC-Log MPA decoding.</td>
      <td>69</td>
    </tr>
    <tr>
      <td>2.18</td>
      <td>Γ value depends on SINR to have the same complexity between HIC-MPA and MUD when SNR=4dB</td>
      <td>69</td>
    </tr>
    <tr>
      <td>2.19</td>
      <td>α value from SINR to have the same complexity between HIC-MPA and MUD when SNR= 4 dB</td>
      <td>70</td>
    </tr>
    <tr>
      <td>2.20</td>
      <td>LDPC complexity after interference cancellation versus SNR for optimal Γ = 2.1 dB</td>
      <td>72</td>
    </tr>
    <tr>
      <td>2.21</td>
      <td>LDPC complexity after interference cancellation versus SNR for optimal Γ = 2.1dB</td>
      <td>72</td>
    </tr>
    <tr>
      <td>2.22</td>
      <td>Comparison of HIC-MPA and MUD in terms of complexity for Γ=3.1 dB</td>
      <td>73</td>
    </tr>
    <tr>
      <td>2.23</td>
      <td>LDPC complexity to reach BER = 10<sup>-5</sup> for non optimal Γ = 3.1 dB.</td>
      <td>74</td>
    </tr>
    <tr>
      <td>3.1</td>
      <td>SER results for single user using multi-dimensional constellations for AWGN Channel.</td>
      <td>79</td>
    </tr>
    <tr>
      <td>3.2</td>
      <td>SER results for single user using multi-dimensional constellations for Rayleigh Fading Channel (Uplink).</td>
      <td>80</td>
    </tr>
    <tr>
      <td>3.3</td>
      <td>BER results for SCMA in AWGN Channel</td>
      <td>84</td>
    </tr>
    <tr>
      <td>3.4</td>
      <td>SER results for SCMA in AWGN Channel</td>
      <td>85</td>
    </tr>
    <tr>
      <td>3.5</td>
      <td>BER results for SCMA for Rayleigh Fading Channel.</td>
      <td>85</td>
    </tr>
    <tr>
      <td>3.6</td>
      <td>SER results for SCMA for Rayleigh Fading Channel</td>
      <td>86</td>
    </tr>
    <tr>
      <td>3.7</td>
      <td>QQ Plot of |h|^2 Data versus Exponential</td>
      <td>88</td>
    </tr>
    <tr>
      <td>3.8</td>
      <td>PDF and CDF for channel for user 1</td>
      <td>89</td>
    </tr>
    <tr>
      <td>3.9</td>
      <td>PDF and CDF for channel for user J</td>
      <td>89</td>
    </tr>
    <tr>
      <td>3.10</td>
      <td>PDF and CDF sorted and unsorted exponential distributions</td>
      <td>90</td>
    </tr>
    <tr>
      <td>3.11</td>
      <td>QQ Plot of γ<sup>2</sup> Data versus Exponential</td>
      <td>91</td>
    </tr>
    <tr>
      <td>3.12</td>
      <td>QQ Plot of γ<sup>2</sup> Data (h does not has zero mean and unit variance) versus Exponential</td>
      <td>92</td>
    </tr>
    <tr>
      <td>3.13</td>
      <td>QQ Plot of γ<sup>2</sup> Data (h does not has zero mean and unit variance) versus Gamma</td>
      <td>93</td>
    </tr>
    <tr>
      <td>3.14</td>
      <td>Variance of sorted Channels for different number of users</td>
      <td>94</td>
    </tr>
    <tr>
      <td>3.15</td>
      <td>Remaining Users connected to Frequency Layers</td>
      <td>95</td>
    </tr>
    <tr>
      <td>3.16</td>
      <td>J = 6 SCMA user in sorted channels with Log-MPA decoding with sorted channels and equal power allocation</td>
      <td>97</td>
    </tr>
    <tr>
      <td>3.17</td>
      <td>Abacus for input and output BER at LDPC decoder block</td>
      <td>98</td>
    </tr>
  </tbody>
</table>
<table>
  <tbody>
    <tr>
      <td>3.18</td>
      <td>Intermediate Target BER at output of SCMA decoder and final BER at output of LDPC decoder</td>
      <td>98</td>
    </tr>
    <tr>
      <td>3.19</td>
      <td>Values of ϑ for different values of Eb/N0 for BER=10<sup>-1</sup></td>
      <td>99</td>
    </tr>
    <tr>
      <td>3.20</td>
      <td>Power allocation for first two users in each frequency layer with different values of ϑ at output of SCMA decoder</td>
      <td>100</td>
    </tr>
    <tr>
      <td>3.21</td>
      <td>Average BER for J = 1 → 4 users at output of SCMA decoder</td>
      <td>101</td>
    </tr>
    <tr>
      <td>3.22</td>
      <td>ϑ values for first 2 users in each frequency layer at Eb/N0=16dB</td>
      <td>101</td>
    </tr>
    <tr>
      <td>3.23</td>
      <td>BER for J' = 4 users at output of LDPC decoder with ϑ = 0.36</td>
      <td>102</td>
    </tr>
    <tr>
      <td>3.24</td>
      <td>Hard decoding for user 5 and user 6 with α<sub>3</sub> = 0.64</td>
      <td>103</td>
    </tr>
    <tr>
      <td>3.25</td>
      <td>Joint HIC-Log MPA decoding for J = 6 users with LDPC decoder with optimized power allocation</td>
      <td>103</td>
    </tr>
  </tbody>
</table>
List of Tables

<table><tbody><tr><td>2.1</td><td>Simulation Parameters for Log-MPA decoding</td><td>43</td></tr><tr><td>2.2</td><td>Simulation Parameters for Log-MPA decoding followed by LDPC decoding with different code rates</td><td>47</td></tr><tr><td>2.3</td><td>Simulation Parameters for Log-MPA decoding followed by LDPC with feedback to Log-MPA</td><td>51</td></tr><tr><td>2.4</td><td>LDPC convergence limits for different values d<sub>v</sub>,d<sub>c</sub></td><td>56</td></tr><tr><td>2.5</td><td>Simulation Parameters for Log-MPA decoding followed by LDPC decoding with different code rates</td><td>60</td></tr><tr><td>3.1</td><td>Simulation Parameters AWGN and Rayleigh Channels</td><td>84</td></tr><tr><td>3.2</td><td>Monte Carlo method to check validity of equation 3.54</td><td>94</td></tr></tbody></table>
Acronyms

The list of acronyms is as below:

* 1G : First Generation

* 2G : Second Generation

* 3G : Third Generation

* 4G : Fourth Generation

* 5G : Fifth Generation

* BER : Bit Error Rates

* BLER : Block Error Rates

* CRAN : Cloud-based Radio Access Networks

* CDMA : Code Division Multiple Access

* CMPA : Cluster Message Passing Algorithm

* CSI : Channel State Information

* CDF : Cumulative Distribution Function

* D2D : Device-to-Device

* EE : Energy Efficiency

* FDMA : Frequency Division Multiple Access

* GA : Gaussian Approximation

* HIC : Hybrid Interference Cancellation

* IP : Internet Protocol

* IUI : Inter User Interference

* KPI : Key Performance Indicator

* LDS : Low Density Spreading

* LDS-CDMA : Low Density Spreading - Code Division Multiple Access

* LLR : Log Likelihood Ratio

* LSE : Log Sum Exponential

* M2M : Machine To Machine

* WNV : Wireless Network Virtualization
* MIMO: Multiple Input Multiple Output

* MAI: Multiple Access Interference

* MUSA: Multi-User Shared Access

* MPA: Message Passing Algorithm

* MAP: Maximum A-posterior Probability

* MUD: Multi-user Detection

* MC: Mother Constellation

* MED: Minimum Euclidean Distance

* NOMA: Non-Orthogonal Multiple Access

* NU/FU: Near User/ Fare User

* OFDM: Orthogonal Frequency Division Multiplexing

* OFDMA: Orthogonal Frequency Division Multiple Access

* PDF: Probability Density Function

* PEP: Piece-wise Error Probability

* PAPR: Peak to Average Power Ratio

* PDMA: Pattern Division Multiple Access

* PMF: Probability Mass Function

* QoS: Quality of Services

* RSRP: Reference Signal Received Power

* RSSI: Received Signal Strength Indicator

* RB: Resource Block

* SDMA: Spatial Division Multiplexing Access

* SC: Superposition Coding

* SIC: Successive Interference Cancellation

* SCMA: Sparse Code Multiple Access

* SMPA: Shuffled Message Passing Algorithm

* SE: Spectral Efficiency

* SPA: Sum Product Algorithm

* SAMA: Successive interference cancellation Amenable Multiple Access

* TDMA: Time Division Multiple Access
Acknowledgements

I have so many people to thank for their help throughout my Ph.D. thesis. Firstly, my sincere gratitude to my supervisor **Prof. Yannis Pousset** for believing in me and providing me the opportunity to start with. I am thankful for his invaluable help and patience during the course of this research project. My heartfelt thanks to **Dr. Frédéric Launay** for sharing his experience, valuable suggestions and providing me a conducive environment. His wide knowledge, strong research enthusiasm and hard-working attitude have inspired me during all my PhD period, and will have a profound effect on my future career. I am grateful to **Dr. Clency Perrine** for his great help and guidance throughout this research journey and his constructive suggestions on my research works and directions. Special thanks to **Prof. Jean Pierre Cances** for his technical guidance. He provided me the opportunity of working in his lab which was an extremely knowledgeable experience. I feel extremely lucky to have such a nice supervisors. I could not have imagined having a better supervisors and mentors for my Ph.D. research.

I am also very thankful to **Dr. Amin Zribi**, **Prof. François-Xavier Coudoux** and **Prof. Pascal Charge** for agreeing to be part of the jury and evaluating my thesis. I really appreciate their valuable discussions and feedback.

During my PhD, I have been very fortunate to have brilliant colleagues and friends at the laboratory. Thanks Dr. Syed Ali Ajwad, Dr. Fayrouz, Dr. Florence, and all others for their cooperation and friendship. My special gratitude and love for Bassem Boukhebouz for his constant support and motivation, especially during the writing of my thesis.

I would also like to express my deepest gratitude to my parents, to whom I owe everything and my siblings for their unconditional love and prayers. Finally yet most importantly, I would express my eternal gratitude to my wife Saman Munir for enduring love and constant support.
# PART I

## GENERAL INTRODUCTION
General introduction

Ever increasing demands for higher transmission data rates in mobile communication with more and more connected devices has led to development of novel technologies that have improved capabilities to meet the demands of network provider and end users. Figure 1 shows the evolution off mobile communication from First Generation (1G) of mobile communications to Fourth Generation (4G) of mobile communica- tions. 1G offered analogue voice and it evolved to digital voice in Second Generation

<figure><img src="image_1.png" /><figcaption>Figure 1: Evolution of Mobile Communication</figcaption></figure>

(2G) which offered low speed data and some other services such as text messaging.
4G presented an Internet Protocol (IP) based network which provided high speed
internet. Next generation of mobile communications is expected to support following

* More and more devices need to be connected to network.

* Requirements of even higher data rates of end user.

* More reliable communication with lower latency.

* Cope up with issues of congestion in spectrum.

* Requirement of diverse Quality of Services (QoS).

New techniques currently being investigated by researchers should be able to handle
a large amount of data from Internet of Things (IoT) and its applications. These
techniques are required to support large number of connected devices while ensuring
Quality of Services (QoS) for the end users. It is expected of the forthcoming
mobile communication generations to achieve higher data rates, support massive
connectivity with lower latency and better coverage regions. The Cisco Annual
Internet Report [1], predicts for 2023 that there will be 5.3 billion global internet
users with 3.6 global devices and connections per capita. This report further predicts
that number of devices/connections by 2023 will be almost 30 billion of which 45
percent will be mobile devices. These stats predict more challenges for researcher
in mobile communications.
Fifth Generation (5G) of mobile communication focuses on three main areas as can be seen by 5G capabilities pyramid in figure 2, which includes enhanced Mobile Broadband (eMBB) for higher data rate, massive Machine-Type Communications (mMTC) for more number of connected users and Ultra-Reliable Low Latency Communications (URLLC) for user specific QoS.

<figure><img src="image_2.png" /><figcaption>Figure 2: Pyramid of 5G Capabilities</figcaption></figure>

In order to support these requirements, numerous technologies such as Machine-to-Machine (M2M) and Device-to-Device (D2D) communication, Cloud-based Radio Access Networks (CRAN), Wireless Network Virtualization (WNV), millimeter Wave (mmWave), and Massive Multiple-Input Multiple-Output (MIMO) etc have been recognized by researchers in the industry. Beside these technologies, Multiple Access (MA) techniques are considered as core aspect in physical layer. MA techniques have evolved significantly in previous mobile communication generations. By looking at the capabilities that are to be offered by 5G in figure 2, MA techniques for 5G need to be worked upon. Non-orthogonal Multiple Access (NOMA) has become a potential candidate for 5G mobile communication, due to the fact that it is able to accommodate multiple users in same radio resource.

Inspired by the above discussion we have worked on optimization of resource allocation in a communication system for 5G mobile communication. We have worked on NOMA as MA techniques for 5G, since NOMA is divided into Code Domain NOMA and Power Domain NOMA, we particularly focused on Sparse Code Multiple Access (SCMA) which is code domain NOMA technique. We discuss in detail the SCMA technique, where the main challenges are designing of efficient codebooks for each SCMA user and complexity of decoding algorithms at the receiver ends. We have worked on encoded SCMA systems and showed that the Bit Error Rates (BER) for SCMA user can be improved by introduction of feedback from error correcting decoder to SCMA decoder.

We make use of principles of power domain NOMA to reduce the complexity of SCMA decoder. We have proposed a hybrid inference cancellation technique, which decodes SCMA users based on different power levels. Finally, we optimize the power allocation to SCMA users in order to have certain QoS. This work focuses on following two major areas:
* Reliable and Less Complex Joint Decoding in SCMA.

* Guarantee a QoS using power allocation for a Target Bit Error Rate (BER) in SCMA.

In the first chapter we briefly explain NOMA, its different domains along with its basic principles. We have discussed SCMA with some discussion on design of codebooks and detailed explanation on message passing algorithm at SCMA decoding. In the second chapter, we have studied about the feedback in an encoded SCMA to improve BER results and later we propose a low complexity SCMA decoder with hybrid interference cancellation and followed by message passing algorithm. In the last chapter, we have formulated optimization of power allocation for the model, proposed in chapter two, to further improve the BER results of SCMA users with same low decoding complexity.
# PART II

## OPTIMIZATION OF RESOURCE ALLOCATION FOR COMMUNICATION SYSTEM M2M/H2H 5G
# INTRODUCTION

In this chapter we discuss in detail NOMA as a multiple access technique. We explain two different domains of NOMA, i.e. code domain NOMA and power domain NOMA. We explain SCMA in detail and as already mentioned in introduction that there are two main challenges in SCMA i.e. designing efficient codebooks for users and complexity of decoding algorithms. We briefly explain the design of codebooks and discuss in detail the message passing decoding algorithm. Later in this chapter, we discuss about the optimization of resource allocation and challenges faced in optimization.

## Contents

<table><tr><td>1.1 Background and motivation</td><td>9</td></tr><tr><td>1.2 Introduction to Multiple Access Techniques</td><td>10</td></tr><tr><td>1.3 Non-orthogonal Multiple Access</td><td>12</td></tr><tr><td>1.3.1 Power Domain Non-orthogonal Multiple Access</td><td>12</td></tr><tr><td>1.3.2 Code Domain Non-orthogonal Multiple Access</td><td>13</td></tr><tr><td>1.3.3 Basic Principles of Non-orthogonal Multiple Access</td><td>13</td></tr><tr><td>1.4 Sparse Code Multiple Access</td><td>19</td></tr><tr><td>1.4.1 Codebooks</td><td>21</td></tr><tr><td>1.4.2 Message Passing Algorithm</td><td>23</td></tr><tr><td>1.4.3 Complexity</td><td>29</td></tr><tr><td>1.5 Optimization of resource allocation</td><td>29</td></tr><tr><td>1.5.1 Sum Rate maximization</td><td>30</td></tr><tr><td>1.5.2 Sum Power Minimization</td><td>31</td></tr><tr><td>1.5.3 Minimum Data Rate</td><td>32</td></tr><tr><td>1.5.4 Outage Probability Requirement</td><td>32</td></tr><tr><td>1.5.5 Maximizing spectral efficiency and energy efficiency</td><td>33</td></tr><tr><td>1.5.6 Target BER constraint</td><td>33</td></tr><tr><td>1.6 Issues and challenges in Optimization of Resource Allocation</td><td>33</td></tr></table>
### 1.1 Background and motivation

Multiple Access techniques can be rendered as one of the basic block of wireless mobile communication. The choice of MA techniques for a mobile communication effects the system throughput of mobile users, their latency and their utilization of available resources [2]. 5G mobile communication is expected to provide massive connectivity with higher data rates and low latency as compared to 4G as shown in figure 1.1 Therefore MA techniques have to be reviewed for 5G in order for it;

<figure><img src="image_3.png" /><figcaption>Figure 1.1: Moving from 4G to 5G</figcaption></figure>

to have these capabilities as compared to 4G. NOMA has become one of the key potential candidate for MA in 5G systems, with main advantages listed as follows

* **High spectrum efficiency**

One of the main key performance indicator (KPI) in a wireless communication network is its spectrum efficiency. NOMA allows multiple users to occupy same resource block (RB) [3], which results in higher spectrum efficiency in NOMA to further increase the system overall throughput.

* **Low latency**

It has been shown in [4] that NOMA has remarkably brought down the physical layer latency and greatly enhanced the reliability for URLLC.

* **Massive connectivity**

Due to non-orthogonal characteristics, NOMA is able to serve multiple users in each RB, contrary to conventional OMA. Due to this fact, NOMA is able to support massive number of users as it is required by future 5G communication systems.

* **Fairness-throughput tradeoff**

Contrary to conventional power allocation strategies, NOMA is based on Multi-user Detection (MUD) which aims to control power allocation of interfering users. Due to this power allocation schemes in NOMA, it is able to offer good tradeoff between system throughput and fairness among users.

* **Power consumption from end user's perspective**

Battery capacity has always been a concern for the end users, so the power
consumption for the end user has to be optimized. NOMA is able to offer Energy-Efficient Power Allocation in an uplink scenario [2].

* **Compatibility**

NOMA can be employed with existing OMA techniques, such as in SCMA multiple users have their unique codebooks, and share same Orthogonal Frequency-Division Multiplexing (OFDM) layer. Moreover, power domain NOMA exploits the power dimension thus it can be made compatible with existing OMA techniques.

* **Limitations in number of users transmitting simultaneously in OMA**

There is no interference among OMA users ideally, but in reality OMA requires the use of frequency reset, which results in spectrum usage. There are limitations in number of users transmitting simultaneously and data that is being transmitted [5].

Inspired by the advantages mentioned above, along with an another fact that unlike OMA, NOMA exploits the coding techniques or difference in power of users to allow presence of controlled interference [6] and due to huge volumes of recent research in NOMA, this thesis is based on optimization of resource allocation for certain Quality of Service (QoS) for users in an SCMA system.

## 1.2 Introduction to Multiple Access Techniques

It is prudent in a communication system that multiple users can access the channel simultaneously to transmit and receive information. In wireless communication, several techniques have been used to facilitate multiple users to access the channel concurrently. One of the reasons behind, allowing multiple users to access the channel at same time is to enhance the capacity of the network. Multiple access techniques can be broadly divided in Orthogonal Multiple Access (OMA) and Non-orthogonal Multiple Access (NOMA)[7].

OMA mitigates the collision in transmission of multiple users by maintaining an orthogonality in time, frequency or code domain which has been demonstrated in Second Generation (2G) and Third Generation (3G) of mobile communication. Time Division Multiple Access (TDMA), Frequency Division Multiple Access (FDMA), Code Division Multiple Access (CDMA) or Orthogonal Frequency Division Multiple Access (OFDMA) allow users to access same channels where theoretically they do not have interference among each other. In TDMA, multiple users are scheduled in distinct time slots that are non-overlapping, whereas in FDMA, each of the multiple users utilizes frequency channel made by a division of complete spectrum. On the other hand, CDMA uses orthogonal and pseudo-noise (PN) sequences for each of multiple users which enables them to be multiplexed and transmitted or received over entire frequency spectrum. In Long Term Evolution (LTE) a more robust multiple access technique that is OFDMA is used, which is a mixed flavor of time and frequency domain. In OFDMA different users are allocated a group of orthogonal sub-carriers at distinct time slots. Spatial Division Multiplexing Access (SDMA) is an OMA technique that is used when the transceivers are furnished with multiple
antennas. To summarize, OMA techniques can be pictured as FDMA for first generation (1G) mobile communication, moving on to 2G where TDMA/FDMA were used. Later on, CDMA was incorporated in 3G and as already discussed, OFDMA is employed in 4G and 5G. All the above mentioned techniques used to minimize the effect of Multiple Access Interference (MAI) have users being allocated orthogonal resources in terms of time, frequency, code or spatial domain.

These conventional OMA techniques limit the capacity of communication system by allocating resources in terms of time, space, frequency or code to each the users. Moreover, these OMA protocols lack the ability to provide massive connectivity. Contrary to conventional OMA, NOMA is able to provide higher multi-user sum rate, capacity and spectral efficiency (SE) [8]. NOMA techniques have the ability to accommodate multiple users over same radio resources with minimal amount of MAI. It is also able to provide users with higher effective bandwidth [9] and provide overloading i.e. more number of users as compared to numbers of resource blocks (RB). Two main advantages of NOMA as compared to OMA can be observed in figure 1.2 are

* Increase in spectral efficiency.

* Higher Data Rate.

It can be seen in figure 1.2 that within same available resources in terms of time, frequency or code; OMA is able to support less number of users as compared to NOMA. During an available resource slot when NOMA serves multiple users, it is able to distinguish between them on basis of different power allocation in power domain NOMA or in terms of different codes for code domain NOMA. This improves spectral efficiency of the system. It can also be proved mathematically that NOMA outperforms OMA in terms of data rate for users connected to a communication system.

<figure><img src="image_4.png" /><figcaption>Figure 1.2: Resources Allocation between OMA and NOMA</figcaption></figure>
As seen in figure 1.2, resources allocated to each user in case of OMA are well separated in terms of time, frequency or code etc, whereas NOMA allocates same resources to different users experiencing different channels. Power is allocated depending on channels conditions, which make the basis of their detection at receiver end. NOMA does the Superposition Coding (SC) of multiple users in code domain where each user has its own unique sparse codebook or in power domain based on the channel gain differences of each user. Consequently, Multiple User Detection (MUD) is applied to distinguish between interfering signals [10, 11]. For power domain NOMA, Successive Interference Cancellation (SIC) is applied for MUD [12]. A comparative study between NOMA and OMA was done in [13] and it was concluded that NOMA has superior spectral-power efficiency as compared to OMA. Overloading in NOMA provides massive connectivity, besides its higher spectral efficiency, high user fairness and low latency make it potential candidate of Multiple Access (MA) technique for 5G [14]. To support NOMA as a potential candidate for MA techniques for 5G, numerous forms of NOMA have been proposed by the telecommunication industry [15]. Some advantages that support NOMA as a potential candidate for MA techniques for 5G are shown in figure 1.3

<figure><img src="image_5.png" /><figcaption>Figure 1.3: Advantages of NOMA</figcaption></figure>

## 1.3 Non-orthogonal Multiple Access

An idea of non-orthogonal communication can be dated back as early as 90s [16]. In the modern epoch, many NOMA techniques have been intensively studied [17–23]. NOMA can be divided into two broad domains [7] based on multiplexing i.e. power domain NOMA and code domain NOMA.

### 1.3.1 Power Domain Non-orthogonal Multiple Access

The fundamental principle of power domain NOMA is that the difference in power among the multiple users simultaneously accessing the channel is exploited, these users are multiplexed together using superposition coding at the transmitted side
and SIC is applied at receiver end to cancel out inter user interference (IUI) [9]. The power domain NOMA includes basic NOMA relying on a SIC receiver [24], NOMA in Multiple Input Multiple Output (MIMO) systems [25], Cooperative NOMA [26] etc.

1.3.2 Code Domain Non-orthogonal Multiple Access

The code domain NOMA methods include Sparse Code Multiple Access (SCMA) [27-31], Low Density Spreading sequence (LDS) [32-34], Pattern Division Multiple Access (PDMA) [35], Successive interference cancellation Amenable Multiple Access (SAMA) [36], Interleave Division Multiple Access (IDMA) [37], LDS-CDMA[37], LDS-OFDM[37] etc, which takes advantage of spreading/coding to distinguish between users at the receiver end.

1.3.3 Basic Principles of Non-orthogonal Multiple Access

As already discussed that Superposition Coding (SC) is done at the transmission end of NOMA whereas depending on whether power domain NOMA or code domain NOMA is employed, SIC or joint MUD is done at the receiver end. In this section we briefly introduce SC and SIC. Later in this section we discuss basic system model for uplink and downlink NOMA.

1.3.3.1 Superposition Coding and Successive Interference Cancellation

Basically, the word superpose means to add, so superposition coding means to add the signals at the transmission of NOMA. Whereas SIC is employed at the reception end of NOMA, where receiver, while decoding one user, treats the data of all remaining users as noise. In this subsection, SC and SIC concepts are explained for the downlink NOMA.

In downlink NOMA, users around the Base Station (BS) can be ordered depending on their channel conditions. A user with a better channel quality is referred to as a strong user, whereas weak user is one, having poor channel quality as compared to the strong one. Users ordered w.r.t. their respective channel gains, get the allocated transmit powers according to their channel gains. Power allocation is done while aiming for efficient successive interference cancellation and to have fairness among user. In order to meet these two criteria, normally more power is allocated to weak user having poor channel conditions and lesser proportion of power is allocated to strong user having good channel conditions. This results in reduction of interference while decoding weak user.

To illustrate the SC process, suppose there are *J* users in a downlink NOMA. A portion of transmit power i.e. *a*<sub>j</sub> of total available power *P* is allocated to each of *J* users, depending on their channel gains. For example in figure 1.4, a constellation diagram of 2 − user i.e. *J* = 2 NOMA system is shown. Each of two users has four point Quadrature Amplitude Modulation (4-QAM) complex symbols. Composite constellation is formed from the superposition coding of symbols of these 2 users. In the figure 1.4, two users are sub-scripted as *m* and *n*. Constellation points of user *m* are depicted by *red squares* while for each of them, *blue circles* are the constellation
<figure><img src="image_6.png" /><figcaption>Figure 1.4: Superposition coding constellation of 2 users NOMA using 4-QAM</figcaption></figure>

points for user $n$ in the complex plane around each constellation point of user $m$. It can be observed that user $m$ has been allocated fairly a larger proportion of total transmit power $P$ as compared to user $n$. Conventionally, it can be deduced that user $m$ has a bad channel as compared to user $n$. At the end of superposition coding the 16 blue circles are the actual constellation points that are transmitted. While decoding the user $m$ i.e. a weak user there will be some amount of interference from user $n$ i.e. a strong user. While at the decoding part of NOMA system, SIC exploits this difference in amplitude of SC signal to improve its efficiency.

<figure><img src="image_7.png" /><figcaption>Figure 1.5: Successive interference cancellation decoding in Downlink NOMA</figcaption></figure>

For the downlink NOMA, as illustrated in figure 1.5, it is 2-user NOMA, user $n$ close to the base station is called as Near user (NU) and it has better channel conditions, as already discussed, lesser fraction of power is allocated to this NU. It performs SIC to combat IUI from the Far User (FU). It removes the interference due to FU to finally detect its own signal. For the Uplink scenario, SIC receiver takes an advantage of difference in amplitude of SC signal, because of different power and
channel gains, to decode each user one after the other. First of all, it decodes the user having highest received signal power, removes it from the received signal and decodes the remaining users in same order until the last signal is left without any interference noise from other users, as shown in figure 1.6. Some existing practical technologies use the advantages of SIC, such as CDMA [38].

<figure><img src="image_8.png" /><figcaption>Figure 1.6: J-user SIC receiver</figcaption></figure>

### 1.3.3.2 Downlink NOMA

In downlink NOMA, the BS transmits the SC data of all users, where each user has different transmitted power depending on its channel conditions. Downlink NOMA system can be observed in figure 1.7, where a single BS is transmitting a SC symbol of user 1 and user 2, on the same frequency band. For *J* users,

$$ SCsignal_{downlink} = \sum_{j=1}^{J} \sqrt{\alpha_j \times P x_j} \qquad (1.1) $$

where $\alpha_j$ denotes power allocation coefficient of each user *j* and $\sum_{j=1}^{J} \alpha_j = 1$. *P* is total power transmitted from the BS. The signal received at each of *J* users can be represented as

$$ y_j = h_j \sum_{i=1}^{J} \sqrt{\alpha_i \times P x_i + n_j} \qquad (1.2) $$
where $h_j$ is the complex channel coefficient between each user $j$ and the BS. $n_j$ is the additive white Gaussian noise (AWGN) with zero mean and $\sigma^2$ variance, i.e. $n_j \sim CN(0, \sigma_j^2)$. In figure 1.7, 2 users are shown, i.e. $J = 2$ so equation 1.1 and 1.2 become as:

$$SCsignal_{downlink} = \sqrt{\alpha_1 \times P}x_1 + \sqrt{\alpha_2 \times P}x_2 \quad (1.3)$$

$$y_j = h_j \sum_{i=1}^{2} \sqrt{\alpha_i \times P} x_i + n_j \quad (1.4)$$

$$y_1 = h_1 \times (\sqrt{\alpha_1 \times P}x_1 + \sqrt{\alpha_2 \times P}x_2) + n_1, \\ y_2 = h_2 \times (\sqrt{\alpha_1 \times P}x_1 + \sqrt{\alpha_2 \times P}x_2) + n_2$$

<figure><img src="image_9.png" /><figcaption>Figure 1.7: 2-Users Downlink NOMA</figcaption></figure>

We have assumed in figure 1.7 that user 1 is the strong user i.e. it has a better channel conditions as compared to the weak user i.e. user 2, so $|h_1|^2 \ge |h_2|^2$. BS transmits a superposition coded signal of both the users with power coefficient of each user in accordance to their respective channel conditions. The weak user i.e. user 2 is allocated a higher portion of transmission power as compared to strong user i.e. user 1 so $\alpha_2 \ge \alpha_1$. This is crucial for performing SIC operation at a specific receiver. When the power coefficient of the user with lower channel gain is higher, it results in stronger interference signal from weak user at strong user. This strong user is able to suppress the interference from weak user. The classical order of SIC decoding is in the top to down order of channel gain of each user, strong user to weak user. In figure 1.7 user 1 decodes the message of user 2 before decoding its own message, then it performs the interference cancellation of user 2 from its received signal and finally decodes its own message. Whereas user 2 decodes its own message straight away with performing any interference cancellation. For an efficient SIC procedure at user 1 following condition is to be respected,

$$\alpha_2 P |h_1|^2 - \alpha_1 P |h_1|^2 \ge \gamma \quad (1.5)$$
where $\gamma$ is the least amount of power difference that is needed to differentiate between signal that is to be decode and remaining signals that are treated as noise. If there are $J$ users, where user 1 has highest channel gain and the last user i.e. user $J$ has lowest channel gain then to apply SIC at any user $i$, equation 1.5 would be

$$ \alpha_J P |h_i|^2 - \sum_{j=i}^{J-1} \alpha_j P |h_j|^2 \geq \gamma \quad (1.6) $$

As a result of an efficient SIC, data rates that can be achieved by each of these 2 users are as follows

$$ \begin{aligned} R_1 &= \log_2 \left( 1 + \frac{\alpha_1 P |h_1|^2}{\sigma_1^2} \right) \\ R_2 &= \log_2 \left( 1 + \frac{\alpha_2 P |h_2|^2}{\alpha_1 P |h_2|^2 + \sigma_2^2} \right) \end{aligned} \quad (1.7) $$

A general equation for rate of user $j$ in a $J$ user NOMA system is

$$ R_j = \log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=1}^{j-1} \alpha_i P |h_i|^2 + \sigma_j^2} \right) \quad (1.8) $$

### 1.3.3.3 Uplink NOMA

In uplink NOMA, the BS receives signals of each of the users with different received powers. SIC is performed at the BS. 2 users uplink NOMA is shown in figure 1.8 where BS receives the signal from these 2 users at different received power levels. For $J$ users,

$$ SCsignal_{uplink} = \sum_{j=1}^{J} \sqrt{\alpha_j \times P} x_j \quad (1.9) $$

where $\alpha_j$ denotes power allocation coefficient of each user $j$ and $\sum_{j=1}^J \alpha_j = 1$. $P$ is the maximum transmitted power of each user $j$. The signal received at BS is represented as

$$ y = \sum_{i=1}^{J} h_i \sqrt{\alpha_i \times P} x_i + n_0 \quad (1.10) $$

where $h_i$ is the complex channel coefficient between each user $j$ and the BS. $n_0$ is the additive white Gaussian noise (AWGN) with zero mean and $\sigma^2$ variance, i.e. $n_0 \sim CN(0, \sigma_j^2)$. For 2 users in figure 1.8, i.e. $J = 2$ so equation 1.9 and 1.10 become as:

$$ \begin{aligned} y &= \sum_{i=1}^{2} h_i \sqrt{\alpha_i \times P} x_i + n_0 \\ y &= \sqrt{\alpha_1 P} h_1 x_1 + \sqrt{\alpha_2 P} h_2 x_2 + n_0 \end{aligned} \quad (1.11) $$
<figure><img src="image_10.png" /><figcaption>Figure 1.8: 2-Users Uplink NOMA</figcaption></figure>

In figure 1.8 it is assumed that user 1 is the strong user having higher channel gain as compared to user 2 which is a weak user with a lower channel gain. Mathematically, $|h_1|^2 \ge |h_2|^2$. Power allocation coefficients are assigned to each user in such a way that received signal power of user 1 is higher as compared to that of user 2. Since user 1 already has a higher channel gain as compared to user 2, so to provide fairness in the system, power allocation coefficient of user 1 is reduced to level where it has a minimum value but still respecting the criteria that received signal power for user 1 at BS is higher than that of user 2. SIC is applied at BS after receiving the superposed signal of both the users. Signal of user 1 is supposed to be the strongest signal received at the BS so it is decoded first and as a result it faces an interference from user 2. User 1 is decoded and SIC process is applied to received signal, so that user 2 is effectively decoded with any interference noise from other user. If there are $J$ users, the users are decoded in order of their respective received signal power, which is likely the order of their channel gains. The user with highest received signal power is decoded first in the presence of noise interference from all the other users. SIC process is applied, then the user with second highest received signal power is decoded. Consequently, user with the lowest received power is decoded at the end, does not experience the interference noise from any other users. For an efficient SIC process at user 1 following criteria is to be respected

$$ \alpha_1 P |h_1|^2 - \alpha_2 P |h_2|^2 \ge \gamma \qquad (1.12) $$

where $\gamma$ is the least amount of power difference that is needed to differentiate between signal of interest and remaining signals of non-interest that are treated as interference noise. For $J$ users NOMA system, where user 1 has highest channel gain and the last user i.e. user $J$ has lowest channel gain then to apply SIC at any user $i$, equation 1.12 would be

$$ \alpha_i P |h_i|^2 - \sum_{j=i+1}^{J} \alpha_j P |h_j|^2 \ge \gamma \qquad (1.13) $$

Achievable data rate for each of these users comes out to be
$$
\begin{align}
R_1 &= \log_2 \left( 1 + \frac{\alpha_1 P |h_1|^2}{\alpha_2 P |h_2|^2 + \sigma^2} \right) \nonumber \\
R_2 &= \log_2 \left( 1 + \frac{\alpha_2 P |h_2|^2}{\sigma^2} \right) \tag{1.14}
\end{align}
$$

For any user *j* in a *J* user NOMA system

$$
R_j = \log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=j+1}^{J} \alpha_i P |h_i|^2 + \sigma^2} \right) \quad (1.15)
$$

1.4 Sparse Code Multiple Access

Sparse Code Multiple Access (SCMA) is considered as one of the promising key
candidates for code domain NOMA [39]. [40] shows that SCMA can attain bet-
ter link level performance in comparison to other NOMA techniques, it shows that
SCMA outperforms Multi-User Shared Access (MUSA), and PDMA in Rayleigh
fading channels. SCMA takes an advantage of sparsity in its codebooks to mitigate
IUI while serving multiple users. Emergence of SCMA has been greatly motivated
by Low Density Signature based Code-Division Multiple Access (LDS-CDMA) [41],
since LDS-CDMA is the most basic code-domain NOMA technique [39, 42]. One of
the main differences between LDS-CDMA and SCMA is that the bit to constellation
mapping and spreading are intrinsically combined in SCMA as compared to LDS-
CDMA. Another main difference between them, which gives SCMA an edge over
LDS is, its constellation shaping gain which is due to fact that multi-dimensional
constellation are used for generating sparse codebooks in SCMA [43]. This constel-
lation shaping gain results in higher spectral efficiency of SCMA in comparison to
other code domain NOMA techniques such as LDS-OFDM and LDS-CDMA [43].
Performance of SCMA using codebooks generated by using multi-dimensional con-
stellation was compared to LDS using Quadrature Phase Shift Keying (QPSK) was
studied in [43], which concludes that LDS is outperformed by SCMA in terms of
Block Error Rate (BLER). [44] makes a comparison between Power Domain (PD)
NOMA and SCMA, and concludes the SCMA has superior performance in terms of
sum rate in heterogeneous cellular networks. Moreover, [45, 46] shows that SCMA
performs better in terms of throughput and lesser average access delay as compared
to PD-NOMA, it also shows that SCMA is also better than LTE random access pro-
cedure when massive number of Internet of Things (IoT) devices are trying to gain
access. [47] shows that uplink grant-free multiple access can be provided to SCMA
users. This grant-free multiple access results in reduction of signalling overhead and
in latency as well. [48] introduces a multi-user SCMA (MU-SCMA) technique to
employ in downlink 5G, it makes a comparison between Multi-User MIMO (MU-
MIMO) in terms of channel robustness and comes to conclusion that MU-SCMA is
more robust to variation in channel quality as compared to MU-MIMO. In regards
comparison between these two, [49] shows that MU-SCMA is has the capability to
achieve higher sum rate as compared to MU-MIMO.

Figure 1.9 shows an LDPC encoded SCMA system for *J* users using *K* resource
blocks for transmission. LDPC encoder is used to encode the data bits from each user
<figure><img src="image_11.png" /><figcaption>Figure 1.9: LDPC encoded SCMA system</figcaption></figure>

j = 1, ..., J. Data bits of each user $d_{m_o}^j | m_o = 1, ..., m$ are encoded to $b_{n_o}^j | n_o = 1, ..., n$ having a code rate $R = m/n$. At the output of LDPC encoder block, each $log_2(M)$ are grouped together for the input of SCMA encoder. SCMA encoder has codebook of each user of size $K \times M$, so it maps $log_2(M)$ grouped input encoded bits onto K-dimensional complex codeword of size $M$, which is sparse vector of $N < K$ non-zero entries. The mapping of this grouped data is done as $f: \mathbb{B}^{log_2(M)} \rightarrow \chi, \mathbf{x} = f(\mathbf{b})$ where $\chi \subset \mathbb{C}^K$. At the output of SCMA encoder, N dimensional constellation point is mapped onto K dimensional complex codeword. As already discussed above in this section, SCMA combines the bit to constellation mapping and spreading, so here it can be seen that incoming encoding bits are mapped to K-dimensional complex codeword which is a sparse vector. Fig. 1.9 shows that all the assigned codewords from respective j users are summed up i.e. SC process is done. At the output of SCMA encoder block, these complex codewords of each user are signaled via Rayleigh fading channel prior to SC process. All these symbols after Rayleigh fading channel are superposed and additive white Gaussian noise (AWGN) is added. The received signal after SC can be expressed as:

$$ \mathbf{y} = \sum_{j=1}^{J} \mathrm{diag}(\mathbf{h}_j)\mathbf{x}_j + \mathbf{n} \qquad (1.16) $$

where $\mathbf{x}_j = (x_{1j}, ..., x_{K_j})^T$ represents the SCMA codeword of layer j, $\mathbf{h}_j = (h_{1j}, ..., h_{K_j})^T$ is the Rayleigh fading channel vector of layer j and n is the additive white Gaussian
noise.

At the receiver end SCMA decoder performs MUD using message passing algorithm (MPA) and finally received stream of each user is fed to LDPC decoder to recover input stream of each user $j$.

### 1.4.1 Codebooks

Codebooks hold paramount importance in SCMA. Design of codebooks is one of the key challenges faced in SCMA. As the name suggests, these codebooks are sparse; which aids MUD at the receiver end, moreover codebooks generated for SCMA users are based on multi-dimensional mother constellation which equips SCMA with shaping gains [50]. Shaping gain of SCMA improves its spectral efficiency as compared to that of LDS. The first step in designing the codebooks for user in SCMA is designing the Mother Constellation (MC) and then applying user specific operations such as phase rotation, complex conjugation or dimensional permutation [51] to MC. One of the design objective for MC is to maximize the normalized Minimum Euclidean Distance (MED) in order to improve the performance of SCMA. In [52, 53] MC is proposed based on star-QAM to maximize MED. [54] uses spherical codes to minimize Peak to Average Power Ratio (PAPR) as well as enhancing the performance of system by maximizing MED. While much of work has been done on maximizing MED for MC, some authors such as [55] propose maximizing MED of superimposed codewords to enhance BER performance, i.e. to increase MED between codewords of users utilizing the same resource block.

Generally, the main goal in designing the codebooks is maximizing MED of MC to improve performance but it comes at a cost of lower energy diversity, since mutual dependency of MED and energy diversity of MC. So for the optimum design of MC a trade off balance is done between MED and energy diversity.

We briefly discuss the idea of designing the codebooks, since codebooks are generated using multidimensional mother constellation so mother constellation can be created using QPSK constellation in two forms such as [56]

$$ \text{QPSK1} = \begin{bmatrix} \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} \\ \frac{\sqrt{2}}{2} & \frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} & -\frac{\sqrt{2}}{2} \end{bmatrix} \qquad (1.17) $$

$$ \text{QPSK2} = \begin{bmatrix} 0 & -1 & 0 & 1 \\ 1 & 0 & -1 & 0 \end{bmatrix} \qquad (1.18) $$

Phases of four constellation points in QPSK1 are 45°, 135°, 225° and 315°. Similarly, phases of the constellation points in QPSK2 are as 0°, 90°, 180° and 270°. From figure 1.10 it can be seen that each of these constellation can be achieved from the rotation of other constellation. The QPSK constellation C after rotation angle $\varphi$ can be written as

$$ C = \begin{bmatrix} -\sin(\varphi + \frac{\pi}{4}) & -\cos(\varphi + \frac{\pi}{4}) & \cos(\varphi + \frac{\pi}{4}) & \sin(\varphi + \frac{\pi}{4}) \\ \cos(\varphi + \frac{\pi}{4}) & -\sin(\varphi + \frac{\pi}{4}) & \sin(\varphi + \frac{\pi}{4}) & -\cos(\varphi + \frac{\pi}{4}) \end{bmatrix} \qquad (1.19) $$

Euclidean distance between these points is to be maximized so Euclidean distance of all the points with remaining points is calculated. Calculating the distance in abscissa or ordinate will result in same distance so,
<figure><img src="image_12.png" /><figcaption>Figure 1.10: Constellation diagram for QPSK1 and QPSK2</figcaption></figure>

$$ 
\begin{aligned}
\Delta_1 &= \left( -\cos\left(\varphi + \frac{\pi}{4}\right) + \sin\left(\varphi + \frac{\pi}{4}\right) \right) \\
&\quad + \left( \cos\left(\varphi + \frac{\pi}{4}\right) + \sin\left(\varphi + \frac{\pi}{4}\right) \right) \\
&\quad + \left( \sin\left(\varphi + \frac{\pi}{4}\right) + \sin\left(\varphi + \frac{\pi}{4}\right) \right) \\
&= 4 \sin\left(\varphi + \frac{\pi}{4}\right)
\end{aligned}
\qquad (1.20) $$

$$ 
\begin{aligned}
\Delta_2 &= \left( \cos\left(\varphi + \frac{\pi}{4}\right) + \cos\left(\varphi + \frac{\pi}{4}\right) \right) \\
&\quad + \left( \sin\left(\varphi + \frac{\pi}{4}\right) + \cos\left(\varphi + \frac{\pi}{4}\right) \right) \\
&= 3 \cos\left(\varphi + \frac{\pi}{4}\right) + \sin\left(\varphi + \frac{\pi}{4}\right)
\end{aligned}
\qquad (1.21) $$

$$ \Delta_3 = \left( \sin\left(\varphi + \frac{\pi}{4}\right) - \cos\left(\varphi + \frac{\pi}{4}\right) \right) \qquad (1.22) $$

Sum function of the point of projection of C on a single coordinate axis can be written by adding equations 1.20,1.21 and 1.22 as

$$ f(\varphi) = 6 \sin \left(\varphi + \frac{\pi}{4}\right) + 2 \cos \left(\varphi + \frac{\pi}{4}\right) \qquad (1.23) $$

The optimization problem for maximizing the sum distance can be written as

$$ \arg\max_{\varphi \in (0, \frac{\pi}{4})} f(\varphi) = \arg\max_{\varphi \in (0, \frac{\pi}{4})} \left( 6 \sin \left(\varphi + \frac{\pi}{4}\right) + 2 \cos \left(\varphi + \frac{\pi}{4}\right) \right) \qquad (1.24) $$
From the equation 1.24 optimum angle of rotation $\phi$ is calculated at $\phi = 0.4636$ and constellation C can be written as

$$ C = \begin{bmatrix} -0.9486 & -0.3162 & 0.3162 & 0.9486 \\ 0.3162 & -0.9486 & 0.9486 & -0.3162 \end{bmatrix} \quad (1.25) $$

C in equation 1.25 is normalized to get mother constellation which is multi-dimensional constellation. Once multi-dimensional mother constellation has been designed user specific operations such as phase rotation, complex conjugation or dimensional permutation are used to obtain unique codebooks for each users.

### Example of codebooks used

Codebooks that are used for $J = 6$ SCMA users in $K = 4$ frequency layers, in this dissertation are presented below [57]

$$ \begin{aligned} \text{CB}_1 &= \begin{bmatrix} 0 & 0 & 0 & 0 \\ -0.1815 - 0.1318j & -0.6351 - 0.4615j & 0.6351 + 0.4615j & 0.1815 + 0.1318j \\ 0 & 0 & 0 & 0 \\ 0.7851 & -0.2243 & 0.2243 & -0.7851 \end{bmatrix} \\ \text{CB}_2 &= \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0.7851 & -0.2243 & 0.2243 & -0.7851 \\ 0 & 0 & 0 & 0 \\ -0.1815 - 0.1318j & -0.6351 - 0.4615j & 0.6351 + 0.4615j & 0.1815 + 0.1318j \end{bmatrix} \\ \text{CB}_3 &= \begin{bmatrix} -0.6351 + 0.4615j & 0.1815 - 0.1318j & -0.1815 + 0.1318j & 0.6351 - 0.4615j \\ 0.1392 - 0.1759j & 0.4873 - 0.6156j & -0.4873 + 0.6156j & -0.1392 + 0.1759j \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \end{bmatrix} \\ \text{CB}_4 &= \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ 0.7851 & -0.2243 & 0.2243 & -0.7851 \\ -0.0055 - 0.2242j & -0.0193 - 0.7848j & 0.0193 + 0.7848j & 0.0055 + 0.2242j \end{bmatrix} \\ \text{CB}_5 &= \begin{bmatrix} -0.0055 - 0.2242j & -0.0193 - 0.7848j & 0.0193 + 0.7848j & 0.0055 + 0.2242j \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 \\ -0.6351 + 0.4615j & 0.1815 - 0.1318j & -0.1815 + 0.1318j & 0.6351 - 0.4615j \end{bmatrix} \\ \text{CB}_6 &= \begin{bmatrix} 0 & 0 & 0 & 0 \\ 0.7851 & -0.2243 & 0.2243 & -0.7851 \\ 0.1392 - 0.1759j & 0.4873 - 0.6156j & -0.4873 + 0.6156j & -0.1392 + 0.1759j \\ 0 & 0 & 0 & 0 \end{bmatrix} \end{aligned} $$

### 1.4.2 Message Passing Algorithm

Message passing algorithm is an iterative procedure which has an ability to solve various optimization problem while respecting the constraints involved. As it can be referred by its name, it works on simple message passing but an iterative procedure is involved, makes it a time consuming and complex process. Message passing between the nodes can be represented by a factor graph.
For MUD at the receiver end of SCMA, massage passing algorithm can exploit the sparsity in the codewords received by SCMA encoder to achieve near optimal performance. [58] shows that the complexity of MPA is lower than that of Maximum A-posterior Probability (MAP). Still MPA quite complex when it comes to implementation due the fact MPA decodes in an iterative manner and numerous exponential computations are involved in computing the Log Likelihood Ratio (LLR) for each user. [59] presents an idea that computations in logarithmic domain can lower the computational complexity in algorithm similar to MPA. To cater this problem of exponential computation in MPA, logarithmic domain computation can be performed.

To visualize message passing between function nodes and variable nodes, factor graph is used. We suppose, an SCMA system where six users i.e. $J = 6$ are transmitting over four resource block elements i.e. $K = 4$. Function nodes represents the resource blocks and variable node represent the users in figure 1.11. Connections

<figure><img src="image_13.png" /><figcaption>Figure 1.11: Factor Graph Representation of SCMA System</figcaption></figure>

between function nodes and variable node are also depicted in Figure 1.11. Each user is connected to 2 resource blocks and each resource block is serving 3 users. For example, user 1 is connected to resource block 1 and resource block 2. Factor graph can be represented by following matrix

$$F = \begin{bmatrix} 1 & 1 & 1 & 0 & 0 & 0 \\ 1 & 0 & 0 & 1 & 1 & 0 \\ 0 & 1 & 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 & 1 & 1 \end{bmatrix} \quad (1.26)$$

Matrix 1.26 shows the connection between each user $j$ and resource block. The value $F_{ij} = 1$ shows user $j$ is connected to resource block $i$ and that respective user $j$ transmits a codeword to the resource block $i$. Message passing algorithm is explained in the forthcoming section, exponential functions can be removed using logarithmic domain operations and subsequently multiplication will be replaced by addition operations.

### 1.4.2.1 Initialization

Factor graph of function nodes and variable nodes are initialized by some values for each of these nodes. Since each user $j$ in the SCMA system can transmit any of the
$M$ codewords from its own codebook, so there is equal prior probability for each codeword i.e. $1/M$. Each variable node in the factor graph is initialized with this probability as shown in figure 1.12

<figure><img src="image_14.png" /><figcaption>Figure 1.12: Initialization of Factor Graph</figcaption></figure>

Similarly, each function node is equipped with likelihood ratio. We assume that the channel coefficient matrix $\mathbf{H}$ and received vector $\mathbf{y}$ are known at the receiver. The likelihood function $\Upsilon_k$ for each function node can be calculated with help of equation 1.27,

$$ \Psi_k(y, m, h) = abs \left( y_k - \sum_{l \in \zeta, m_u=1:K} h_{l,m_u} C_{l,m_u} \right) \quad \forall k = 1, \dots, K \quad (1.27) $$

where $\zeta$ is the set of users connected to resource $k$ and $C_{l,m_u}$ is the codeword transmitted by user $l$. Finally, likelihood function $\Upsilon_k$ at each function node is,

$$ \Upsilon_k = \exp(-\frac{\Psi_k^2}{2\sigma^2}) \quad \forall k = 1, \dots, K \quad (1.28) $$

where $\sigma^2$ is variance of additive white Gaussian noise. Each function node is initialized with this likelihood function. Once, all nodes in factor graph have been provided with initial probability as seen in figure 1.12, message passing between the nodes is commenced.

### 1.4.2.2 Message passing between function nodes and variable nodes

The initial message passed from each variable node (VN) to its connected function node (FN) is as follows,

$$ \Gamma(v \to f) = \frac{1}{M} \quad (1.29) $$
### 1.4.2.3 From Function node to Variable node

After the initial message has been sent from variable node to its neighbouring function nodes, it is now the function node that passes an updated information back to its neighbouring variable nodes. In the case of resource block $f_1$ i.e. connected to users $v_1, v_2$ and $v_3$ as seen in figure 1.13.

<figure><img src="image_15.png" /><figcaption>Figure 1.13: Message Passing from FNs to VNs</figcaption></figure>

FN $f_1$ passes the extrinsic information to $v_1$ that it has received from $v_2$ and $v_3$ as observed in figure 1.13a. Similarly, it passes messages to $v_2$ received from $v_1$ and $v_3$ and also passes messages to $v_3$ received from $v_1$ and $v_2$ as shown in figure 1.13b and figure 1.13c respectively. Likewise, all the function nodes sent an extrinsic message to their neighboring node, received from other neighboring nodes. This message passing from FNs to VNs can be represented by

$$ \Gamma(f_{k,m_u} \rightarrow v_{l,m_u}) = \sum_{i=1}^{M} \sum_{j=1}^{M} \Upsilon_k(m_u, i, j) \times \Gamma(v'_{l'_1, i} \rightarrow f_{k,m_u}) \times \Gamma(v'_{l'_2, j} \rightarrow f_{k,m_u}) \\ \forall m_u = 1:M, k = 1:K \tag{1.30} $$

where $l \subset \zeta$ and $l'_1, l'_2 \subset \zeta - \{l\}$ with $l'_1 \neq l'_2$ where $\zeta$ is the set of users connected to k-th resource. As already been discussed in this section, to reduce the complexity of MPA, computation are done in logarithmic domain. So in log domain the multiplication sign between a priori information at respective resource block i.e. $\Upsilon_k$ and
extrinsic information, is replaced by an addition operation. Moreover, the summation part in equation 1.30 i.e. $\sum_{i=1}^{M} \sum_{j=1}^{M}$ can be solved using Jacobian logarithm

$$ \ln(e^{a_1} + \dots + e^{a_n}) = a^* + \ln(e^{-|a_1-a^*|} + e^{-|a_2-a^*|} + \dots + e^{-|a_n-a^*|}) \quad (1.31) $$

where $a^* = \max(a_1 + \dots + a_n)$.

### 1.4.2.4 From Variable node to Function node

After messages have been passed from FNs to their neighbouring VNs, now VNs send an updated message to their respective neighboring FNs as shown in figure 1.14.

<figure><img src="image_16.png" /><figcaption>Figure 1.14: Message Passing from VNs to FNs</figcaption></figure>

For example in figure 1.14, user $v_1$ is connected to resource blocks $f_1$ and $f_2$. User $v_1$ send to $f_1$ its own a priori message as well as message it has received from it other neighbouring FN i.e. $f_2$ as can be seen in figure 1.14a. Similarly it will send a message to $f_2$ as seen in figure 1.14b. In short, message passing from VNs to FNs is a normalized guess swap. Normalization is done to respect the fact that probability lies within valid range.

$$ \Gamma(v_{h,j,m_u} \rightarrow f_{h,j,m_u}) = \frac{\frac{1}{M} \times \Gamma(f_{h',j,m_u} \rightarrow v_{h,j,m_u})}{\sum_{m_u=1}^{M} \Gamma(f_{h',j,m_u} \rightarrow v_{h,j,m_u})} \quad (1.32) \\ \forall j = 1:J, m_u = 1:M $$

where $h \subset \rho$ and $h' \subset \rho - \{h\}$ and $\rho$ is set of resource blocks connected to each j-th user. Equation 1.31 is solved in logarithmic domain for Log-MPA where multiplication is replaced by an addition operation and summation in the denominator is converted log sum exponential (LSE).

As observed in figure 1.11 user 1 is not directly connected to user 6 so the iterative procedure of passing messages between neighbouring FNs and VNs continues until information from node 1 has been passed onto node 6. Iterative procedure makes sure that every node receives information from every other node in factor graph.
### 1.4.2.5 LLR calculation

Once iterative procedure has been completed, symbol level LLR is calculated for each VNs.

$$Q_{j,m_u} = \frac{1}{M} + \Gamma(f_{h,j,m_u} \rightarrow v_{h,j,m_u}) + \Gamma(f_{h',j,m_u} \rightarrow v_{h',j,m_u}) \quad \forall j = 1:J, m_u = 1:M \quad (1.33)$$

where $h \subset \rho$ and $h' \subset \rho - \{h\}$ and $\rho$ is set of resource blocks connected to each j-th user

Using equation 1.33 bit level LLR is calculated for each bit transmitted.

$$LLR_{i_1}^b = \log_e \frac{\exp(LLR_i^{s_1}) + \exp(LLR_i^{s_2})}{\exp(LLR_i^{s_3}) + \exp(LLR_i^{s_4})} \quad (1.34)$$

$$LLR_{i_2}^b = \log_e \frac{\exp(LLR_i^{s_1}) + \exp(LLR_i^{s_3})}{\exp(LLR_i^{s_2}) + \exp(LLR_i^{s_4})} \quad (1.35)$$

where $LLR^b$ is the bit level LLR and $LLR^s$ is the symbol level LLR computed in equation 1.33 i.e. for i-th instant of transmission, $LLR_i^{s_n} = Q_{j,m_u}$ for $s_n, m_u = 1, ..., M$. Figure 1.15 shows BER results for SCMA system with Log-MPA decoder when 6 users are transmitting over Rayleigh fading channels

<figure><img src="image_17.png" /><figcaption>Figure 1.15: The BER performance over Rayleigh fading channels with Log-MPA Decoder</figcaption></figure>
1.4.3 Complexity

The main challenges in SCMA lies in designing multi-dimensional constellation which are the basis of codebook design for each users, and complexity in receivers of SCMA. MPA has been applied at the receiver SCMA to exploit the sparsity in codebooks to attain near maximum likelihood performance in numerous literature such as [60]. But the computational complexity of MPA is quite high due to fact that it has to perform numerous exponential computation, it has to handle extrinsic information and probabilities of the signal. To cater this issue of exponential computation, as already discussed in section 1.4.2 logarithmic domain calculation are performed. Mainly, the complexity of MPA is proportional to $M^{d_f}$ because there are $M^{d_f}$ possible combination of SCMA codewords, where M is the size of codebook and $d_f$ is degree of SC signal of a resource block i.e. number of users connected to a RB. [61] has introduced expectation propagation to make the complexity of MPA proportional to $M^{d_f}$ instead of $M^{d_f}$. [62] used SIC process to provide initial values of LLR to MPA to reduce the complexity of it. In [63] a *posteriori* probability of SCMA codeword is updated to lower the complexity of MPA. Another factor effecting the complexity of MPA is number of iterations. There needs to be sufficient number of message passing between FNs and VNs i.e. number of iterations so that message is propagated among all nodes. [64] proposed the reduction in number of message passing. In [65], some reduction in complexity has been proposed by introducing Cluster MPA (CMPA) applying MPA on sub-graphs. It also proposes codebook design with lower number of projection resulting in reduction of complexity. Since M is the size of codebook, [66, 67] propose reduction in number of message passing to reduce the complexity of MPA aided by SCMA codebook design. Shuffled MPA (S-MPA) in [68] proposes shuffling of information among FNs and VNs which results in achieving the convergence quickly.

1.5 Optimization of resource allocation

Generally, time slots, available bandwidth and transmit power etc. are referred as resources in a wireless communication system. Fully utilizing these resources depending on the available information or in order to achieve a target is termed as optimization of resource allocation. For example resource allocation can be done on the basis of Channel State Information (CSI) i.e. available information or resource allocation can be done to achieve certain data rate requirement i.e. to achieve a target or desired Quality of Service (QoS). Beside allocation of resources in order to achieve a target or resource allocation based on available information, there are some common objectives while doing resource allocation and those includes maximizing the sum rate for each user, minimizing the sum transmit power for each users, etc. Some of these common objectives, for optimization of resource allocation are discussed in forthcoming section.
### 1.5.1 Sum Rate maximization

Data rates for users in a NOMA systems for a downlink NOMA and uplink NOMA are already defined by equation 1.8 and equation 1.15 respectively. Sum rate maximization for NOMA means that the rates of all individual users is maximized. Normally, this sum rate maximization is done subject to some constraints like, each user should have a minimum data rate etc.

For a $J$ users downlink NOMA system, the channel gain for each users is assumed to be in order such that user 1 has the highest channel and user $J$ has the lowest one i.e. $|h_1|^2 \ge |h_2|^2 \ge \dots \ge |h_J|^2$. Sum rate maximization for downlink NOMA can defined as,

$$ \max \sum_{j=1}^{J} \log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=1}^{j-1} \alpha_i P |h_i|^2 + \sigma_j^2} \right) $$

Subject to

$$ \begin{array}{l} \mathbf{C1} \rightarrow \log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=1}^{j-1} \alpha_i P |h_i|^2 + \sigma_j^2} \right) \geq R_j \\ \mathbf{C2} \rightarrow \alpha_j P |h_j|^2 - \sum_{j=i}^{J-1} \alpha_j P |h_j|^2 \geq \gamma \end{array} \qquad (1.36) $$

$$ \mathbf{C3} \rightarrow \sum_{j=1}^{J} \alpha_j \leq 1 $$

$$ \mathbf{C4} \rightarrow \frac{(\sum_{j=1}^{J} R_j)^2}{J \sum_{j=1}^{J} R_j^2} = FI $$

where **C1** is the constraint showing maximization of sum rate is to be done, respecting the criteria that every user $j$ must have a rate greater than equal to $R_j$ or we can say that $R_j$ is minimum data rate requirement for each user. Constraint **C2** is same as mentioned in equation 1.6, i.e. it is the criteria for an efficient SIC where $\gamma$ is the minimum amount of power difference is required in order to differentiate between signal that is to be decode and remaining signals that are treated as noise. **C3** is the total transmit power constraint for the BS. Power constraint in a downlink NOMA is total power budget that is available at the BS [69–71], **C4** is Jain’s fairness index [72] constraint, where $FI$ is the target fairness index. More, this value is closer to one, more the rates of each users are closer to each other. It can be noted in equation 1.36 that $\sum_{i=1}^{j-1} \alpha_i P |h_j|^2$ is inter user interference for user $j$.

From equation 1.36 it can be seen that sum rate maximization is a constraint optimization problem. Similarly for $J$ users uplink NOMA system, where $|h_1|^2 \ge |h_2|^2 \ge \dots \ge |h_J|^2$. Sum rate maximization for uplink NOMA can defined as
$$ \max \sum_{j=1}^{J} \log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=j+1}^{J} \alpha_i P |h_i|^2 + \sigma^2} \right) $$

Subject to

$$ \begin{array}{l} \text{C1} \rightarrow \log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=j+1}^{J} \alpha_i P |h_i|^2 + \sigma^2} \right) \geq R_j \\ \text{C2} \rightarrow \alpha_j P |h_j|^2 - \sum_{j=i+1}^{J} \alpha_j P |h_j|^2 \geq \gamma \end{array} \qquad (1.37) $$

$$ \text{C3} \rightarrow \sum_{j=1}^{J} \alpha_j \leq 1 $$

$$ \text{C4} \rightarrow \frac{(\sum_{j=1}^{J} R_j)^2}{J \sum_{j=1}^{J} R_j^2} = FI $$

where C1 → C4 constraints are same as that mentioned for downlink NOMA in equation 1.36. Moreover, $\sum_{i=j+1}^{J} \alpha_i P |h_i|^2$ is the inter user interference for user j in equation 1.37. In an uplink NOMA configuration, individual power constraint of each user is the maximum transmit power of each user which is restricted by it power amplifier [73–75]. Constraint C3 in equation 1.37 is the transmit controlled power of each user.

## 1.5.2 Sum Power Minimization

One of the design objective while allocating resources to NOMA system is minimization of transmit power from the BS in a downlink case, or minimization of control transmit power of each user for an uplink NOMA system. It can be represented by

$$ \min \sum_{j=1}^{J} p_j $$

Subject to

$$ \text{C1\_downlink} \rightarrow \log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=1}^{j-1} \alpha_i P |h_i|^2 + \sigma_j^2} \right) \geq R_j \qquad (1.38) $$

$$ \text{C1\_uplink} \rightarrow \log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=j+1}^{J} \alpha_i P |h_i|^2 + \sigma^2} \right) \geq R_j $$

$$ \text{C2} \rightarrow p_j \leq p_{j+1} \text{ where } |h_j|^2 \geq |h_{j+1}|^2 $$

where constraints C1\_downlink and C1\_uplink are minimum data requirements for downlink and uplink NOMA systems respectively, and constraint C2 ensures the user having a bad channel condition is allocated higher share of power as compared to user with higher channel gain.
### 1.5.3 Minimum Data Rate

Since 5G is expected to have massive connectivity, i.e. more users and devices connected. Users having diverse data requirements needs to be connected. From sensor network to users requiring multimedia communication, data rate requirements are different. Minimum data rate constraint is required to guarantee, for each user $j$, QoS meaning that minimum data rate constraint for user $j$ i.e. $R_{min}^j$ ensures that data rates needs of each user $j$ is respected. Power allocation strategy with target data rate has been studied in [76]. Minimum data rate constraint for user $j$ can be stated as

$$R_j(v)_{j}^{min}(v) \qquad (1.39)$$

where $v$ is a resource allocation variable, for example it can be power allocation.

### 1.5.4 Outage Probability Requirement

The reliability of transmission cannot be guaranteed if the channel is degraded and channel conditions become really worse, consequently outage may occur because the achievable data rate is less than the target data rate [77, 78]. In this case the outage cannot be avoided even if error correcting codes that are applied, are powerful. To avoid the outage, achievable data rate should be greater than target data rate, probability of such an event $\mathbb{E}$ for user $j$ can be defined as

$$Pr(\mathbb{E}_j) = Pr(R_j^a \geq R_j^t) \qquad (1.40)$$

where $R_j^a$ is the achievable data rate and $R_j^t$ is the target data rate for user $j$. Thus the outage probability for user $j$ can be defined as

$$Pr_{j}^{out} = 1 - \prod_{i=1}^{j} Pr(\mathbb{E}_{i}) \qquad (1.41)$$

where $\prod_{i=1}^{j} Pr(\mathbb{E}_{i})$ is product of probability of an event in equation 1.40 where outage does not occur for all users decoded prior to user $j$, including that of user $j$ as well. From equations 1.40 and 1.41 it can be observed that outage probability is dependent on whether target data rate is greater than or less than equal to achievable data rates. As already discussed in section 1.5.3 that both of these depend on resource allocation policies. Consequently, the probability of outage can also be tuned by resource allocation. This idea can be put forward simply in absence of SIC decoding, i.e. there is no ordering of the users, and they are not decoded one after the other, outage probability for user $j$ can be defined as

$$Pr_{j}^{out}(v) = Pr(R_{j}^{t}(v) \geq R_{j}^{a}(v)) \qquad (1.42)$$

where $v$ is any resource allocation variable which can be tuned to change target data rates and achievable data rates for user $j$. $R_j^t$ and $R_j^a$ is target data rate and achievable data rate for user $j$ respectively. Outage probability has been studied to improve the performance of NOMA in [79, 80].
In a more practical scenarios having imperfect CSI, outage probability is a robust tool while allocating resources in a NOMA system to enhance its performance. Instead of having knowledge of CSI at each instant, outage probability requires the information of modeled CSI at transmitter. Resource allocation is performed so that user j has an outage probability less than endurable outage probability $\hat{P}r_j^{out}$.

$$P_{j}^{out} \leq \hat{P}r_{j}^{out} \qquad (1.43)$$

### 1.5.5 Maximizing spectral efficiency and energy efficiency

Spectral efficiency and energy efficiency (EE) maximization for NOMA uplink has been studied in [81]. SE for a J user uplink NOMA can be defined as [81]

$$SE_j = 2\log_2 \left( 1 + \frac{\alpha_j P |h_j|^2}{\sum_{i=j+1}^{J} \alpha_i P |h_i|^2 + \sigma^2} \right) \qquad (1.44)$$

and EE for the same NOMA can be defined as [81]

$$EE_j = \frac{SE_j}{2(\omega\alpha_j P + P_c)} \qquad (1.45)$$

where $\omega$ is inverse of efficiency of amplifier and $P_c$ is the circuit power consumption.

In equation 1.44 and 1.44 both SE and EE respectively are function power allocated, so a power allocation strategy can be adopted to maximize the SE and EE of a NOMA system.

### 1.5.6 Target BER constraint

An important constraint to guarantee the QoS for a user j in a NOMA system is the target BER constraint for that user. BER analysis for NOMA has been studied in [82, 83]. Performance in terms of bit error rate in presence of SIC errors for uplink NOMA is studied in [84]. In case of perfect and imperfect SIC, BER for the downlink NOMA is investigated in [85]. Resource allocation is performed so that user j has a BER less than an accepted BER.

$$BER_j^{out} \leq \hat{BER}_j^{out} \qquad (1.46)$$

where $\hat{BER}_j^{out}$ is target BER for user j. This target BER constraint is discussed in detail for SCMA NOMA system in later chapter.

## 1.6 Issues and challenges in Optimization of Resource Allocation

NOMA schemes available in the literature provides several advantages to handle multiple users. These advantages include but not limited to improvements in simple implementation, spectral efficiency and massive connectivity etc. For instance,
the spectral efficiency is improved when multiple user share same resource since NOMA techniques uses either code-domain multiplexing or power domain multiplexing. Similarly, these techniques support massive connectivity. These advantages of NOMA schemes make it promising candidates for 5G. However, there are still many problems and challenges associated to these schemes which are required to be addressed [24],[86] and [87]. Some of these key challenges are listed below:

* Codebooks design

* Resource allocation/Power allocation

* Error propagation specifically in case of SIC decoding

* Hardware complexity

* Receiver design

* Decoding complexity

Resource allocation is one of the most important areas in NOMA to obtain full potential of the communication system [88]. In literature, resources allocation for NOMA systems are studied for different performance parameters like sum rate maximization [73, 89–91], maximizing fairness [92, 93]and energy efficiency [90, 94]. There are many challenges associated with the resource allocation. For example, the receiver’s ability of interference cancellation is related to the accuracy of allocation of the power in power-domain NOMA. Whereas, the accuracy of power allocation directly impact the throughput. An optimal scheme for resource allocation needs to be searched through the entire available solutions which will cause more complexity of the system.

The capability of interference cancellation in power domain NOMA is directly linked with the power allocation scheme. Since some of NOMA techniques are based on power domain user multiplexing, power allocation also directly affects the achievable capacity of the other users. The capabilities of base station to control the overall user throughput and rate-fairness can be improved through proper adjustment of the power allocation with defined maximum power constraints. This is also called dynamic power allocation. However, the optimization of resource allocation with these power constraints are required high computational resources. The main challenges lie in fair resource allocation dynamically allocating users and to have balance among traffic in network and resource block [95]. Moreover, some resource allocation algorithms address jointly the rate allocation, power allocation and user scheduling. They also address SIC decoding criteria which results in non-convex optimization problem and thus high computational complexity is required for these algorithms [96].

In power domain NOMA schemes, the user which has the best channel conditions is decoded first at the receiving side through SIC detection. Thus, the successful estimation of the signal with high power dictates the success of the main signal reception. However, the presence of timing offset and carrier frequency offset make channel estimation of NOMA systems quite complex. Therefore, error propagation is highly likely in the process of SIC detection [97,98]. In other words, once the error
occurs in SIC detection, it is highly probable that the decoding of information of other users will also be erroneous. Highly robust solutions are required to overcome this issue in order to improve the quality of the transmission. In case of small number of users, one potential solution to compensate the propagation error is to use stronger codes and increased block length. This solution might be suitable for small number of users but it is not efficient for the case where the number of users are high [99]. Nonlinear detection techniques can also be used if performance of some users is degraded [100]. Besides these available solutions to handle error propagation of simple NOMA systems, the detail analysis of imperfect SIC impact of NOMA is still an open problem.

The receiver complexity is also an important issue in NOMA schemes. Numerous message passing is the main reason behind the complexity of the receiver. As mentioned above, the propagation error may degrade the performance of a SIC based receiver. Similarly, the complexity of MPA based receivers may also increase for the very high connectivity of 5G. The complexity of MPA based receivers can be reduced by using some approximate solutions like Gaussian approximation. Gaussian approximation of the interference in fact provides the Gaussian distribution of interference-plus-noise. This approximation shows more accurate results if the number of connections are high, which is exactly required in 5G.

1.7 Contribution of Thesis

Challenges in optimization of resource allocation have already been discussed in section 1.6. Both the power domain NOMA and code domain NOMA have their own advantages and disadvantages regarding complexity and reliability of the system at shown in figure 1.16. The complexity and reliability increases from power domain NOMA to code domain NOMA.

<figure><img src="image_18.png" /><figcaption>Figure 1.16: Complexity and reliability of code domain NOMA and power domain NOMA</figcaption></figure>

The main aim of this work is to provide less complex and reliable detection to guarantee a QoS for all users. Following figure 1.17 shows the aims and contributions
of this work. Less complex and more reliable detection is achieved using power
domain and code domain NOMA where a compromise is made between Complexity
and Reliability in detection. Whereas to guarantee a QoS for a target BER, power
allocation is done for each user.

<figure><img src="image_19.png" /><figcaption>Figure 1.17: Complexity and reliability of code domain NOMA and power domain NOMA</figcaption></figure>

As discussed, the major challenge is complexity at the receiver end of SCMA.
Taking the advantage SIC as simple process, it is used to decode the user with
best channel conditions, thus reducing $d_f$ to $d_f - 1$ so eventually the complexity
of a MPA process which is proportional to $M^{d_f}$ becomes proportional to $M^{d_f-1}$.
Another challenge discussed, is the error propagation of SIC, to cater this error
propagation we have proposed a hybrid interference cancellation (HIC) i.e. the
receiver decides on basis of a threshold value that either soft SIC or hard SIC is
performed. Since both soft and hard SIC have their own advantages, so based on a
threshold value the receiver chooses between the two of them, in order to minimize
the error propagation. To further improve the performance in terms of BER, a
feedback from LDPC decoder has been proposed in the second chapter.

In the last part of the thesis, we propose the expressions for target BER for
users decoded by Log-MPA decoding and the strong user decoded in presence of
interference noise from weak users. We have used the sorting of channels for the
SCMA users so analytical BER expression are derived for sorted channel using
ordered statistics. Since one of the user in each RB i.e. strong user is being decoded
using interference cancellation process where Gaussian approximation is considered
and remaining users are decoded using Log-MPA so BER expressions for both the
scenarios are proposed. Target BER is defined in terms of allocated power in last
chapter, so that allocated power can be tuned to achieve the target BER. The
contributions of this thesis can be summarized as follows and can be seen in figure
1.18

* Reliable and Less Complex Joint decoding for SCMA.

- **Reliability:** We propose feedback from LDPC to Log-MPA.

- **Less Complex:** We propose HIC-Log MPA Decoder.

* Guarantee a QoS for target BER in SCMA.
- We derive the BER expressions for SCMA in case of interference cancellation.

- We compute BER expression for single and multiple users.

- Modification is done in BER expression under sorted channel conditions.

- For a final target BER at output of joint decoder, we compute an intermediate BER

- We propose power allocation for weak and strong users.

<figure><img src="image_20.png" /><figcaption>Figure 1.18: Contributions of thesis</figcaption></figure>

## 1.8 Thesis Layout

The remaining of this manuscript is organized as follows:

* **Chapter 2:** In this chapter a complete uplink NOMA digital chain is discussed with a feedback from LDPC decoder, moreover low complexity hybrid interference cancellation with log-MPA is discussed to reduce the complexity of receiver in SCMA.

* **Chapter 3:** This chapter discusses the power allocation in uplink NOMA for a target BER under sorted channels where ordered statistics is considered.

* **General conclusion and future work:** In this chapter, the obtained results are summarized and various possible future research directions are identified.
# ENHANCING THE PERFORMANCE OF SCMA SYSTEM

This chapter is focused on improving the performance of SCMA system in terms of output BER for each user and to reduce the complexity of SCMA receivers using joint hybrid interference cancellation (HIC) and MPA. First, SCMA system is implemented with LDPC decoder and feedback from output of LDPC decoder is introduced to improve the results in terms of BER for each user. In second part of this chapter, HIC algorithm is proposed which is used to decode the strongest user in each resource block either with hard decoding or soft decoding depending on the values of a threshold and remaining users are decoded with MPA, resulting in reduced complexity of MPA.

## Contents

<table><tr><td>2.1</td><td>Introduction</td><td>40</td></tr><tr><td>2.2</td><td>Preliminaries</td><td>40</td></tr><tr><td>2.3</td><td>Improvement in BER of SCMA</td><td>41</td></tr><tr><td>2.3.1</td><td>Classical uncoded SCMA</td><td>41</td></tr><tr><td>2.3.2</td><td>LDPC encoded SCMA</td><td>44</td></tr><tr><td>2.3.3</td><td>LDPC encoded SCMA with Feedback</td><td>47</td></tr><tr><td>2.4</td><td>Low complexity Hybrid Interference Cancellation for Log-MPA</td><td>51</td></tr><tr><td>2.4.1</td><td>System Model</td><td>52</td></tr><tr><td>2.4.2</td><td>Low density parity check (LDPC)</td><td>52</td></tr><tr><td>2.4.3</td><td>SIC decoding</td><td>56</td></tr><tr><td>2.4.4</td><td>HIC decoding</td><td>57</td></tr><tr><td>2.4.5</td><td>Complexity Analysis</td><td>62</td></tr><tr><td>2.5</td><td>Conclusion</td><td>73</td></tr></table>
## 2.1 Introduction

In this chapter, we discuss LDPC encoded SCMA systems. We briefly demonstrate the effect of number of message passing on output BER results of SCMA users. Similarly, we show the effects on BER of LDPC encoded user by number of iterations in LDPC decoder. LDPC encoded SCMA systems have been studied in literature such as in [101]. We have introduced an idea of feedback from LDPC decoder to Log-MPA decoding to improve the results in terms of BER for SCMA users. Initial values of LLR to Log-MPA are updated by LDPC decoder but this comes at a cost of increased computational complexity.

In the second part of this chapter, we propose the amalgamation of interference cancellation techniques with Log-MPA. SIC with Log-MPA has been studied in literature as well [62]. We propose a mix of hard and soft decoding for strong user for interference cancellation. The choice of hard or soft decoding is based on a value of threshold. This hybrid interference cancellation with Log-MPA decoding, significantly reduces the complexity of the system which has been shown in results section.

The chapter is organized as follows. Firstly, some preliminaries are given in Section 2.2 which includes some definitions. The improvement in BER performance with a feedback from LDPC is discussed in section 2.3. Reduction in complexity with HIC-Log MPA has been proposed in section 2.4. Complexity analysis for this system has been discussed and finally section 2.5 gives a brief conclusion.

## 2.2 Preliminaries

**Definition 1.** *Probability Mass Function (PMF) is the probability distribution of a discrete random variable.*

**Definition 2.** *A conditional probability p(X|Y) is the probability of event X occurring when Y is true.*

**Definition 3.** If x is a function of number of variables, then marginalization with respect to a specific variable results in x with respect to that variable.

For example $x(y_1 + y_2 + ... + y_j + ... + y_J)$, x is function of J number of variable y
Then

$$x(y_j) = \sum_{y_1} \dots \sum_{y_{j-1}} + \sum_{y_{j+1}} \dots \sum_{y_J} x(y_1 + \dots + y_J)$$

$$x(y_j) = \sum_{y_j} x(y_1 + \dots + y_J)$$

where $\sim y_j$ means that it is a summation with respect to all variables of function except $x_j$

**Theorem 4.** (Bayes' theorem) Conditional probability in definition 2 can mathematically be represented as

$$p(X|Y) = \frac{p(Y|X)p(X)}{p(Y)}$$

where $p(Y) \neq 0$
# 2.3 Improvement in BER of SCMA

In this section, simulation results of uncoded SCMA system with different number of iterations are presented first, to compare them with LDPC encoded SCMA. Then LDPC encoded SCMA is presented and results show an improvement in terms of BER. Finally, in this section feedback from LDPC decoder is introduced at SCMA decoder to further enhance the performance of SCMA system.

## 2.3.1 Classical uncoded SCMA

We consider an uplink classical uncoded SCMA system.

### 2.3.1.1 System Model

A *J*-user uplink SCMA system is considered, where these *J* users are transmitting over *K* resources through Rayleigh fading channels with AWGN noise in figure 2.1. *K*-dimensional codebooks of size *M* are used for *J* users. Every user has its own unique sparse codebook. Every $log_2(M)$ bits of each user *j* ($j \in J$) are grouped together and mapped onto *K* dimensional complex codeword of size *M* such as $\mathbb{B}^{log_2(M)} \to x_j$ where $x_j \in \chi^j \subset \mathbb{C}^K$

<figure><img src="image_21.png" /><figcaption>Figure 2.1: *J*-user uncoded SCMA system</figcaption></figure>

Received signal at resource block *k*, $y_k$ can be written as

$$y_k = \sum_{j \in \zeta_k} h_{k,j} x_{k,j} + n_k \forall k = 1, \dots, K \quad (2.1)$$

where $\zeta_k$ represents the users connected to resource block *k*.

### 2.3.1.2 SCMA Decoding

Based on assumption of ideal channel estimation multi-user SCMA decoding is based on MAP algorithm 1

The codeword for user $x_j$ can be found using operation 4 in algorithm 1. But this operation is marginal product of functions (MPF) problem, which involves numerous calculations. Despite of high optimum performance of MAP, it suffers with higher
<caption>**Algorithm 1** MAP detection algorithm for SCMA</caption>

1: maximization of joint a posterior pmf

$$ \hat{\mathbf{X}} = \arg \max_{\mathbf{X} \in \chi_K^J} p(\mathbf{X} | \mathbf{y}) \quad \text{where } \chi_K^J \text{ all possible symbols and} \\ \hat{\mathbf{X}} = (x_1 + x_2 + \dots + x_J) $$

2: maximization of marginal a posterior pmf w.r.t $x_j$ by definition 8

$$ \hat{x}_j = \arg \max_{i \in \chi^j} p(i | \mathbf{y}) \\ \hat{x}_j = \arg \max_{i \in \chi^j} \sum_{x_j=i} \mathbf{X} \in \chi_K^j p(\mathbf{X} | \mathbf{y}) $$

3: Using Baye's Rule in theorem 4

$$ p(\mathbf{X} | \mathbf{y}) = \frac{p(\mathbf{y} | \mathbf{X}) p(\mathbf{X})}{p(\mathbf{y})} \propto p(\mathbf{y} | \mathbf{X}) p(\mathbf{X}) \\ p(\mathbf{X}) = \prod_{j=1}^{J} p(x_j) \\ p(\mathbf{y} | \mathbf{X}) = \prod_{k=1}^{K} p(y_k | \mathbf{X}) $$

4: $\zeta_k$ is the set of users connected to resource block k

$$ \hat{x}_j = \arg \max_{i \in \chi^j} \sum_{x_j=i} \mathbf{X} \in \chi_K^j \prod_{j=1}^{J} p(x_j) \prod_{k=1}^{K} p(y_k | \mathbf{X}) \\ \hat{x}_j = \arg \max_{i \in \chi^j} \sum_{x_j=i} \mathbf{X} \in \chi_K^j \prod_{j=1}^{J} p(x_j) \prod_{k=1}^{K} p(y_k | x_z, z \in \zeta_k) $$

5: Calculation of likelihood function $p(y_k|x_z, z \in \zeta_k)$

$$ p(y_k|x_z) = \exp \left( \frac{|y_k - \sum_j h_{k,j} x_{k,j}|^2}{2\sigma^2} \right) \quad \forall j, z \in \zeta_k $$
computational complexity. Moreover, increasing the number of users leads to an exponential increase in the number of operations. An iterative Log-MPA discussed in subsection 1.4.2 can effectively be used to solve this problem using factor graphs. *J* users in an uplink SCMA systems are decoded using Log-MPA and the results are discussed in next subsection.

### 2.3.1.3 Numerical Simulation Results

After the input from each user has been mapped onto a codeword from its respective codebook, it is signalled through Rayleigh fading channel and AWGN is added. At reception we assume perfect channel estimation condition. Simulation parameters are mentioned in table 2.1

<table><caption>Table 2.1: Simulation Parameters for Log-MPA decoding</caption><thead><tr><td>Parameter</td><td>Value</td></tr></thead><tbody><tr><td>Number of users (J)</td><td>6</td></tr><tr><td>Number of resource block (K)</td><td>4</td></tr><tr><td>Number of iterations (I<sub>t</sub>)</td><td>1,2,3 and 5</td></tr><tr><td>Number of users connected to a resource block (d<sub>j</sub>)</td><td>3</td></tr><tr><td>Number of resource blocks occupied by each user (d<sub>k</sub>)</td><td>2</td></tr><tr><td>Maximum number of bits transmitted by each user</td><td>10<sup>6</sup></td></tr><tr><td>Number of signal in each SCMA frame</td><td>10<sup>4</sup></td></tr><tr><td>Codebooks Used</td><td>Refer to subsection 1.4.1</td></tr></tbody></table>

Figure 2.2 shows the average BER of all 6 users under Rayleigh fading channels. It can be observed that, for an increase in number of iterative message passing there is an improvement in performance of SCMA in terms of BER. The BER results for 1 iteration are poor as compared to higher number of iterations due to the fact that during 1st iteration of message passing, a specific user connected to a resource block in figure 1.11 receives the extrinsic information only from the other two users which are sharing the same resource block. With more iterations of message passing, a specific user receives extrinsic information from those users as well, which are not directly sharing the resource block with this specific user, resulting in an improved BER results. [102] states that 5 iterations are required at least for MPA to achieve optimum performance in a Rayleigh fading channel.
<figure><img src="image_22.png" /><figcaption>Figure 2.2: Average BER for $J = 6$ users with different number of iterations of message passing.</figcaption></figure>

## 2.3.2 LDPC encoded SCMA

In this section LDPC encoded uplink SCMA is considered as shown in figure 2.3.

### 2.3.2.1 System Model

Similarly to that in section 2.3.1.1, $J$ users are transmitting through Rayleigh fading channels with AWGN added using $K$ resource blocks. From figure 2.3, $n$ number of incoming bits $b_j$ of user $j$ are first encoded into $m$ number of encoded bits $b_j^e$ by LDPC such that code rate user $j$ is $R_j = n/m$. Later every $log_2(M)$ encoded bits i.e. every $log_2(M)$, $b_j^e$ bits are grouped together and mapped onto $K$ dimensional complex codeword of size $M$ such as $\mathbb{B}^{log_2(M)} \rightarrow x_j$ where $x_j \in \chi^j \subset \mathbb{C}^K$. Received signal at each resource block can be represented by equation 2.1

### 2.3.2.2 SCMA LDPC Decoding

We assume a perfect channel estimation. SCMA decoding is based on Log-MPA decoding in subsection 1.4.2 followed by LDPC decoding. Log-MPA provides bit level LLR at its output. These LLR values are converted to likelihood of bits being 0 or 1 as shown in figure 2.4. SCMA encoder maps $log_2(M)$ incoming bits onto the codewords from codebook of each user, so at the decoding end Log-MPA returns symbol level LLR. This symbol level LLR needs to be converted into bit level LLR at the input of LDPC decoder.

Similar to message passing algorithm, LDPC is also based on belief propagation between $n$ variable nodes and $m$ check nodes. For $k$ iterations, LDPC decoder
<figure><img src="image_23.png" /><figcaption>Figure 2.3: J-user LDPC encoded SCMA system</figcaption></figure>

<figure><img src="image_24.png" /><figcaption>Figure 2.4: Symbol Level LLR to bit level LLR</figcaption></figure>

performs a horizontal step calculation and vertical step calculation until convergence or maximum number of allowed iterations. During the initialization process, $\mu_n = \log_e \frac{Pr(b_n=0)}{Pr(b_n=1)}$ is provided to LDPC decoder to start the iterative process. Once iterative procedure is initiated, bit level LLR $\alpha_{nm}^k$ is sent from variable node n to check node m, and bit level LLR $\beta_{mn}^k$ is sent from check node m to variable node n.

Using equations 1.34,1.35 initialization is done for LDPC decoding, such that $\alpha_{nm}^{(0)} = \mu_n = [LLR_{i_1}^b LLR_{i_2}^b]$. For k-th iteration

$$ \beta_{nm}^{(k)} = 2tanh^{-1} \left( \prod_{n' \in N, n' \neq n} tanh \frac{\alpha_{n'm}^{(k-1)}}{2} \right) \quad [horizontal, step] \quad (2.2) $$

$$ \alpha_{nm}^{(k)} = \mu_n + \sum_{m' \in M, m' \neq m} \beta_{m'n}^{(k)} \quad [vertical, step] \quad (2.3) $$

Once convergence is achieved or maximum number of iteration have been reached, at each variable node n, a posteriori LLR is calculated as

$$ \gamma_n^k = \mu_n + \sum_{m' \in M, m' \neq m} \beta_{m'n}^{(k)} \quad (2.4) $$

Based on LLR value $\gamma_n^k$ in equation 2.4 hard decision is made. [103] has presented a method to reduce the implementation complexity of LDPC decoder. LLR values at the output of Log-MPA are used by LDPC decoder using the algorithm 2
**Algorithm 2** SCMA detection by Log-MPA followed by LDPC decoding

1: **Variable definition**

$LLR_{ix}^b$: Bit level Log- likelihood ratio for $x$ bit.

$L_{ix}^{b \in (0,1)}$: Likelihood for $x$ bit being $b = 0$ or $b = 1$.

$I_{max}$: maximum number of iterations for LDPC Decoder

$iter$: is the number of iteration for LDPC Decoder

$n$: variable node

$m$: check node

2: **Calculation of Bit Level LLR values at output of Log-MPA**

Referring to equation 1.34,1.35 bit level LLR are calculated as

$$LLR_{i_1}^b = log_e \frac{exp(LLR_{i_1}^{s_1})+exp(LLR_{i_1}^{s_2})}{exp(LLR_{i_1}^{s_3})+exp(LLR_{i_1}^{s_4})}$$

$$LLR_{i_2}^b = log_e \frac{exp(LLR_{i_2}^{s_1})+exp(LLR_{i_2}^{s_3})}{exp(LLR_{i_2}^{s_2})+exp(LLR_{i_2}^{s_4})}$$

3: **Initialization for LDPC Decoding**

Likelihoods of first bit and second bit are calculated

$$L_{i_1}^{b=1} = \frac{1}{1+exp(LLR_{i_1}^b)} \quad \text{and} \quad L_{i_1}^{b=0} = 1 - L_{i_1}^{b=1}$$

$$L_{i_2}^{b=1} = \frac{1}{1+exp(LLR_{i_2}^b)} \quad \text{and} \quad L_{i_2}^{b=0} = 1 - L_{i_2}^{b=1}$$

$$q_{mn}^0 = L_n^{b=0}$$

$$q_{mn}^1 = L_n^{b=1}$$

$$\delta q_{mn} = q_{mn}^0 - q_{mn}^1$$

4: **while** success == 0 || iter ≤ $I_{max}$ **do**

5: **Horizontal Step** $\forall n, m$

$$\delta r_{mn} = \prod_{n' \in N, n' \neq n} \delta q_{mn'}$$

$$r_{mn}^0 = \frac{1}{2(1-\delta r_{mn})}$$

$$r_{mn}^1 = \frac{1}{2(1+\delta r_{mn})}$$

6: **Vertical Step** $\forall n, m$

$$q_{mn}^0 = L_n^{b=0} \times (\prod_{m' \in M, m' \neq m} \delta r_{m'n}^0)$$

$$q_{mn}^1 = L_n^{b=1} \times (\prod_{m' \in M, m' \neq m} \delta r_{m'n}^1)$$

$$q_{mn}^0 = \frac{q_{mn}^0}{q_{mn}^0 + q_{mn}^1}$$

$$q_{mn}^1 = \frac{q_{mn}^1}{q_{mn}^0 + q_{mn}^1}$$

7: **Calculating a posteriori probabilities**

$$q_n^b = \eta_n \times L_n^b \times (\prod_{m \in M} \delta r_{mn}^b) \forall b = 0 \text{ and } 1$$

8: **end while**

9: **RETURN for ALL Users** $LLR = log_e \frac{q_n^1}{q_n^0}$
### 2.3.2.3 Numerical Simulation Results

Bits of each users are encoded by LDPC decoder with a code rate for a simulation and different code rates for different simulations in figure 2.5, followed by SCMA encoding, then signaled through Rayleigh fading channels with AWGN added. At reception with perfect CSI, Log-MPA is used for MUD and then LDPC decoder is used to decode the encoded bits with fixed number of iterations. Results in terms of BER are shown in figure 2.5 with different code rates. It is observed that the performance of LDPC is greatly enhanced in terms of BER as compared to BER results for Log-MPA detection in uncoded SCMA system. As seen in figure 2.2 even with optimum number of iterations (5 iterations) $BER = 10^{-3}$ is achieved at $Eb/N_0$ of 14dB and in comparison to it, LDPC encoded SCMA with different code rates, enables each user to achieve the same BER for $Eb/N_0$ less than 5dB. Simulation parameters for results in figure 2.5 are mentioned in table 2.2

<table><caption>Table 2.2: Simulation Parameters for Log-MPA decoding followed by LDPC decoding with different code rates</caption><thead><tr><td>Parameter</td><td>Values for 2.5</td><td>Values for 2.6</td></tr></thead><tbody><tr><td>Number of users (J)</td><td>6</td><td>6</td></tr><tr><td>Number of resource block (K)</td><td>4</td><td>4</td></tr><tr><td>Number of iterations for Log-MPA (I<sub>t</sub>)</td><td>5</td><td>5</td></tr><tr><td>d<sub>j</sub></td><td>3</td><td>3</td></tr><tr><td>d<sub>k</sub></td><td>2</td><td>2</td></tr><tr><td>Number of uncoded bits in one SCMA frame</td><td>10<sup>3</sup></td><td>10<sup>3</sup></td></tr><tr><td>Code rate for LDPC decoder (R)</td><td>0.4, 0.5 and 0.6</td><td>0.5</td></tr><tr><td>Number of iterations for LDPC Decoder</td><td>10</td><td>5, 7 and 10</td></tr></tbody></table>

BER results for LDPC encoded SCMA users with different number of iterations for LDPC encoder are shown in figure 2.6. Simulation parameters for these results are mentioned in table 2.2. With fixed number of iterations for Log-MPA, more the iterations for LDPC are increased, better are the results in terms of BER.

### 2.3.3 LDPC encoded SCMA with Feedback

We have proposed an LDPC encoded SCMA system with feedback. If LDPC decoder after maximum number of allowed iterations is not able to decode the output of each user such that check is not validated by parity check matrix, it sends a feedback to Log-MPA decoder. An LDPC encoded SCMA with feedback is shown in figure 2.7.

#### 2.3.3.1 System Model

System model is the same as that for LDPC encoded SCMA in subsection 2.3.2.1. Incoming bits from each user are encoded by LDPC at a code rate $R = n/m$ and in case check is not validated by parity check matrix at the LDPC decoder, a feedback is adapted to serve as an extrinsic information to Log-MPA decoder.
<figure><img src="image_25.png" /><figcaption>Figure 2.5: BER results LDPC coded SCMA with code rates of $R = 0.4$, $R = 0.5$ and $R = 0.6$ for $iter = 10$ for LDPC decoder.</figcaption></figure>

<figure><img src="image_26.png" /><figcaption>Figure 2.6: BER results LDPC coded SCMA with code rates of $R = 0.5$ and for $iter = 5, 7$ and $10$ for LDPC decoder.</figcaption></figure>

### 2.3.3.2 SCMA LDPC Decoding with Feedback

Feedback from LDPC decoder to Log-MPA in SCMA decoder is continuation of algorithm 2. Feedback for Log-MPA from LDPC decoder is proposed in algorithm
<figure><img src="image_27.png" /><figcaption>Figure 2.7: LDPC encoded SCMA with feedback.</figcaption></figure>

3. During operation 4 in algorithm 3 when the conditions become true, then extrinsic information is calculated from the difference of LLR at output of LDPC and that at the input of LDPC (LLR at input of LDPC is from the output of Log-MPA from SCMA decoder refer to figure 2.7). Both Log-MPA and LDPC are based on belief propagation but in earlier one, probabilities of symbols are passed, in the developed model whereas in the later one, bit probabilities are passed. So after calculation of extrinsic information, it calculated at symbol level using following equation from [104].

$$LLR_i = \log_e \frac{Pr(y|s = s_i)}{\sum_{k=1, k \neq i}^{M} Pr(y|s = s_k)} \quad (2.5)$$

At this stage extrinsic information is calculated for all users, but each resource block has some of the users connected to it. At operation 6 of feedback algorithm, extrinsic information is adjusted for each resource block depending on the specific users connected to this resource block. Finally, the initial values for Log-MPA are updated.

### 2.3.3.3 Numerical Simulation Results

Simulation results of Log-MPA decoding followed by LDPC decoding in presence of feedback from LDPC decoder and without feedback, for code rates in both scenarios as $R = 1/2$, are shown in figure 2.8.

It is observed that a gain of 0.5dB is achieved in presence of feedback. Maximum number of iterations for LDPC decoding with feedback and without feedback are the same. An expected improvements in results in terms of BER is due to the fact that initial values from LDPC in terms of feedback improved the accuracy of Log-MPA. Simulation parameters for results of simulation in figure 2.8 are mentioned in table 2.3
<caption>**Algorithm 3 Feedback to Log-MPA by LDPC decoder**</caption>

1: **Variable definition**
   *$^B$: denotes a value for bit
   *$^S$: denotes a value for symbol
   $\lambda$: LLR from LDPC
   $\Lambda$: LLR from Log-MPA
   $\varepsilon$: extrinsic value
   $\xi_k$: extrinsic value for resource block $k$
   $j$: j-th user
   $bx$: x-th bit
   $I_{max}$: maximum number of iterations for LDPC Decoder
   $iter$: is the number of iteration for LDPC Decoder
   $n$: variable node
   $m$: check node

2: **Initialization**
   $\lambda_n^{j,B} = \log_e \frac{q_n^1}{q_n^0}$ from operation 9 of algorithm 2
   $\Lambda_n^{j,B}$ is calculated from operation 2 algorithm 2

3: **Continuation of Algorithm 2**

4: **if** $success = 0 \&& iter = I_{max}$ **then**

5: **Calculate extrinsic Information for Log-MPA**

$$ 
\begin{aligned}
\varepsilon_n^{j,B} &= \lambda_n^{j,B} - \Lambda_n^{j,B} \\
Pr_n^{j,b=1} &= \frac{1}{1+\exp(\varepsilon_n^{j,B})} \\
Pr_n^{j,b=0} &= 1 - Pr_n^{j,b=1} \\
\varepsilon_i^{j,S} &= \log_e \frac{Pr_n^{j,b1} \times Pr_{n+1}^{j,b2}}{\sum_{b1' \neq b1 \ \& \ b2' \neq b2} Pr_n^{j,b1'} \times Pr_{n+1}^{j,b2'}} \quad \text{where } b1, b2, b1' \text{ and } b2' \in \{0, 1\}
\end{aligned}
$$

6: **Extrinsic Information for each Resource Block**

$$ \xi_k = \sum_{l \in \zeta} \varepsilon_l \quad \forall k \text{ where } \zeta \text{ is set of users connected to resource block } k $$

7: **end if**

8: **RETURN initial values for Log-MPA**

$$ \Upsilon_k^{\text{updated}} = \left(\frac{-\Psi_k^2}{2\sigma^2}\right) + \xi_k \quad \text{refer to equation 1.28} $$

$$ \Gamma_{j,k}^{\text{updated}} = \exp(\xi_{j,k}) \quad \text{refer to equation 1.29} $$
<figure><img src="image_28.png" /><figcaption>Figure 2.8: BER results Log-MPA and LDPC decoding, with and without feedback.</figcaption></figure>

<table><caption>Table 2.3: Simulation Parameters for Log-MPA decoding followed by LDPC with feedback to Log-MPA</caption><thead><tr><td>Parameter</td><td>Value</td></tr></thead><tbody><tr><td>Number of users (J)</td><td>6</td></tr><tr><td>Number of resource block (K)</td><td>4</td></tr><tr><td>Number of iterations for Log-MPA (I<sub>t</sub>)</td><td>5</td></tr><tr><td>Number of iterations for LDPC Decoder</td><td>10</td></tr><tr><td>Number of users connected to a resource block (d<sub>j</sub>)</td><td>3</td></tr><tr><td>Number of resource blocks occupied by each user (d<sub>k</sub>)</td><td>2</td></tr><tr><td>Maximum number of bits transmitted by each user</td><td>10<sup>6</sup></td></tr><tr><td>Number of uncoded bits in one SCMA frame</td><td>10<sup>3</sup></td></tr><tr><td>Codebooks Used</td><td>Refer to subsection 1.4.1</td></tr><tr><td>Code rate for LDPC decoder (R)</td><td>0.5</td></tr></tbody></table>

## 2.4 Low complexity Hybrid Interference Cancellation for Log-MPA

In this section we propose a novel joint HIC Log-MPA technique to improve the complexity of SCMA decoder. Based on power measurements we define a threshold value as a criterion to choose between soft or hard SIC decoding followed by LDPC decoder at the end, to achieve a target BER with low complexity. SIC decoding for a specific user considers signal from remaining users as noise, so it is dependent on SINR. When SINR is greater than the threshold, we prove that SIC is not effective. For MUD in SCMA, Log-MPA is used and its complexity is dependent on number
users connected to each resource block. HIC performs the interference cancellation by decoding the strongest user by hard decoding or soft decoding. LLR values of remaining users are sent to Log-MPA resulting in reduction of overloading factor, i.e. the number of users connected to each RB are reduced that consequently lowers the complexity of Log-MPA.

### 2.4.1 System Model

We consider a $J$-user sharing $K$ resource blocks in an uplink SCMA systems where each user has its own $K$-dimensional codebook of size $M$. Every user transmits $log_2M$ encoded LDPC bits to SCMA encoder. LDPC encoder maps $n$ input data bits to $m$ output encoded bits with code rate $R = n/m$. SCMA encoders maps encoded input of each user to $K$-dimensional complex codeword from respective codebook of that user. This $K$-dimensional codeword is a sparse vector with $N < K$ non-zero entries. Overloading factor $\lambda = J/K$ defines the efficiency of SCMA. Number of users connected to each resource block can be mathematically defined as $d_j = \frac{J \times N}{K}$. So there are $d_j$ overlapping signals in each resource block, which results in $M^{\frac{J \times N}{K}}$ possible combinations of codewords at each resource block (codeword selection from each codebook is dependent on $log_2M$ incoming encoded bits). After bit to constellation map and spreading by SCMA encoder, the signal is sent through Rayleigh fading channel and AWGN is added. We assume that channel gains $|h|^2$ are ordered such as $|h_J|^2 > |h_{J-1}|^2 > \dots > |h_1|^2$ in figure 2.9. After multiplexing the signal received $\mathbf{y}$ can be written as

$$ \mathbf{y} = \sum_{j=1}^{J} \mathrm{diag}(\mathbf{h}_j)\mathbf{x}_j + \mathbf{n} \qquad (2.6) $$

where the codeword of user $j$ is represented by $\mathbf{x}_j = (x_{1j}, \dots, x_{Kj})^T$, and $\mathbf{h}_j = (h_{1j}, \dots, h_{Kj})^T$ is the channel and $n$ is AWGN modeled for each real and imaginary part, by a Gaussian complex random variable with zero mean value and variance equal to $\frac{N_0}{2}$. In the model $J$ users are transmitting to a common base station as shown in figure 2.9.

At the receiver, an overlapping signal of $d_j$ users in frequency as well as time domain is received. After the estimation of Received Signal Strength Indicator (RSSI) and Reference Signal Received Power (RSRP), it makes a comparison between RSRP/RSSI measurements for a threshold value. Based on these values, a receiver is able to choose between MUD for $d_j$ overlapping signals in resource block or hard decoding for the signal of strongest user. Finally, LDPC decodes the encoded bits of each user. In following section we will briefly mention SIC and LDPC for this model.

### 2.4.2 Low density parity check (LDPC)

Reconstructed signals at the output of SCMA decoder suffers decoding errors and SCMA decoder alone is not able to achieve the target BER. Error correcting codes such LDPC are used to correct the stream of each user in order to achieve the target
<figure><img src="image_29.png" /><figcaption>Figure 2.9: J-users uplink</figcaption></figure>

BER. As already discussed in section 2.3.2, the performance of LDPC improves with number of iterations demonstrated in figure 2.6 or with an increase in code rate as seen in figure 2.5. In this section we use fixed code rate for each user to correct errors in the stream of each user.

### 2.4.2.1 Regular LDPC

During the encoding part LDPC encoder maps $n$ data bits from its input to $m$ encoded bits at its output with code rate $R = n/m$. At the reception end, LDPC decoder aims to recover, $n$ data bits for each user from the noisy encoded data. $d_c$ is the number of neighbours of a Check Node (CN) and $d_v$ is the number of neighbours of a Variable Node (VN). Message information of the $j^{th}$ output bit is denoted by Variable Node ($VN_j$) and CN is the parity check with $d_c$ bits. Sum-Product Algorithm (SPA) can be used for LDPC decoding [105]. In SPA, a soft decision is passed between VNs and CNs. LDPC based on SPA can be divided into two steps, i.e. first step is initialization and second one is iterative message passing between CNs and VNs. SPA is explained as follows

*Initialization: A priori* log probability LLR is calculated for each VN, by the decoder as follows

$$LLR(VN_k) = \log \left( \frac{P(y_k | x_k = 0)}{P(y_k | x_k = 1)} \right) \qquad (2.7)$$

with perfect CSI knowledge and considering Gaussian noise, LLR can be calculated as

$$L_k = LLR(VN_k) = \frac{2 \cdot y_k}{\sigma^2} \qquad (2.8)$$

where $\sigma^2/2$ is noise variance. Iterative message passing between VN and CN are as follow.
Iteration

**CN proceeding:** Each check node $CN_i$ computes messages in this step, to be sent to $VN_j$ from its $\mathcal{N}_i$ variable node neighbours except $VN_j$ as

$$L_{i \to j} = \prod_{k=1}^{\mathcal{N}_i - j} \mathrm{sign}(L_{k \to i}) \min_{\mathcal{N}_i - j} (|L_{k \to i}|) \quad (2.9)$$

**VN proceeding:** Similar to CN proceeding, in this step each variable node $VN_j$ computes messages to be sent to $CN_i$ from its $\mathcal{N}_i$ check node neighbours except $CN_i$ as following

$$L_{j \to i} = \sum_{k=1}^{\mathcal{N}_i - i} L_{k \to j} + L_j \quad (2.10)$$

where $\mathcal{N}_i$ is the check node neighbours of $VN_j$ except $CN_i$. Algorithm 4 is Sum-Product algorithm for LDPC decoding.

### 2.4.2.2 LDPC Convergence: Density Evolution

The number of errors while decoding stream of each user, increases as received signal becomes more and more noisy. While there are more errors, LDPC decoding becomes more complex and greater number of iterations are required. Density evolution can be used to find number of iterations, as a function of level of noise power, required for the convergence of LDPC.

Same Gaussian distribution function is used to model each VN ($L_{i \to j}$). As per [106] variance is twice the mean for a memoryless output-symmetric channel. So assuming memoryless output-symmetric channel only variance or mean needs to be updated iteratively. $\Phi$ function: $\phi(x) = -\ln(tanh(\frac{x}{2}))$. Probability density function is same for every VN [107]. Variance at each loop $l$ is

$$\mu^{VN}(l) = \mu_0 + (d_v - 1) * \mu^{CN}(l - 1) \\ \mu^{CN}(l) = \Phi^{-1}(1 - (1 - \Phi(\mu^{VN}(l)))^{d_c - 1}) \quad (2.11)$$

Using a recurring function variance for each loop $l$ in equation 2.11 can be written as

$$\mu^{CN}(l + 1) = f(\mu^{CN}(l)) \quad (2.12)$$

where recurring function $f$ is

$$f(x) = \Phi^{-1}(1 - (1 - \Phi(\mu_0 + (d_v - 1)x))^{d_c - 1}) \quad (2.13)$$

#### Number of iterations required to decode the signal successfully

If $y = d + n$ is received with $n$ as an AWGN added and $d = [d_1, d_2, \dots, d_n]$ as an LDPC codeword having normalized power i.e. $\sigma_d = 1$. Then LDPC decoder can decode without errors, the transmitted codeword $d$ after infinite iterations for the limit $f(x_l) = x_l$ of equation 2.12 which give the lower bound of $SNR = x_l$. Initial condition $SNR = \mu_0$ define the number of iterations required to decode the signal successfully. In the sequel, until the codeword is decoded successfully or maximum
<caption>**Algorithm 4 SPA**</caption>

1: **Variable definition**
   *$^T$: Transpose
   *$H$: parity check matrix
   *$I_{max}$*: maximum number of iterations for LDPC Decoder
   *$iter$*: is the number of iteration for LDPC Decoder
2: **Initialization**
   $L_i = LLR(VN_i) = \frac{2 \times y_i}{\sigma^2} \forall VN$
   $\gamma_{j,i} = L_i \forall i, j$
3: **while** $Hz^T \neq 0$ $||$ *iter* $\leq I_{max}$ **do**
4: &nbsp;&nbsp;&nbsp;&nbsp;**for** $j = 1 : m$ **do**
5: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**for** $i \in B_j$ **do**
6: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$\delta_{j,i} = \log \frac{1+\prod_{i' \in B_j, i' \neq i} \tanh(\gamma_{j,i'}/2)}{1-\prod_{i' \in B_j, i' \neq i} \tanh(\gamma_{j,i'}/2)}$
7: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**end for**
8: &nbsp;&nbsp;&nbsp;&nbsp;**end for**
9: &nbsp;&nbsp;&nbsp;&nbsp;**for** $i = 1 : n$ **do**
10: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;**for** $j \in A_i$ **do**
11: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$\gamma_{j,i} = \sum_{j' \in A_i, j' \neq j} \delta_{j',i} + L_i$
12: &nbsp;&nbsp;&nbsp;&nbsp;**end for**
13: &nbsp;&nbsp;&nbsp;&nbsp;**end for**
14: &nbsp;&nbsp;&nbsp;&nbsp;**end while**
15: **RETURN** $\rho_i, z_i$
number iterations are performed, the loop iteration of message passing between CN and VN is done.

Density Evolution (DE) is used to define the performance of LDPC. SNR threshold is obtained using DE in [108], [109] and GA is done to formulate BER expression. Error Probability $P_e$ can be estimated as

$$P_e = 0.5 \operatorname{erfc} \left( \sqrt{\frac{\mu^{VN}(l)}{2}} \right) \qquad (2.14)$$

LDPC always converge for limit value $x_l$ estimated in [108] if $\mu_0 \ge x_l$. The Table 2.4 gives $x_l$ values for different LDPC configurations.

<table><caption>Table 2.4: LDPC convergence limits for different values $d_v, d_c$</caption><thead><tr><th>LDPC</th><th>(3,6)</th><th>(16,32)</th><th>(256,512)</th><th>(64,192)</th><th>(128,512)</th></tr></thead><tbody><tr><td>Limit value</td><td>0.868</td><td>0.616</td><td>0.602</td><td>0.488</td><td>0.454</td></tr></tbody></table>

If $P_e$ is the target BER at the output of LDPC decoder, $\varepsilon$ is the difference between limit $x_l$ and the value $\mu^{VN}(l)$ at iteration $l = N_\varepsilon$, then lower bound of iteration $N_\varepsilon$ for iterative LDPC decoding to achieve this target BER is

$$N_{\varepsilon} \geq \frac{\ln(\varepsilon)}{\ln\left(\frac{df}{dx}\right)_{x=\mu_{0}}} \qquad (2.15)$$

where $\varepsilon = |x_l - \mu^{VN}(l)|$ and $\mu^{VN}(l) = 2 \times \operatorname{erfc}^{-1}(2 \times P_e)^2$.

### 2.4.3 SIC decoding

Once all the $J$ users in an uplink NOMA have been allocated power, the signal received is written as

$$y = \sum_{j=1}^{J} \sqrt{p_j} |h_j| x_j + n \qquad (2.16)$$

We also assume that CSI referring to channel properties is perfectly available at transmitter side (closed-loop from reference signal) [110, 111]. We assume that that $p_J|h_J|^2 > p_{J-1}|h_{J-1}|^2 > \dots > p_1|h_1|^2$ without loss of generality so that the decoding order is in order of decreasing received power index. SIC receiver decodes the strongest signal first while treating all other signals as noise. Equation 2.16 is for uplink NOMA where received signal depends on channel attenuation as well as power of the transmitter. Whereas in downlink NOMA, SIC is performed at each individual user having one channel coefficient, so ordering is done while considering only channel attenuation. But in Uplink direction, channel coefficient and the transmitted power of each user contribute to the received power. Supposing that for each frequency layer $k$, there are $d_j$ user have an overlapping signal i.e.
$[d_1, d_2, \dots, d_{a-1}, d_a, d_{a+1}, \dots, d_j]$. In order to decode the message of user $a$, SIC successively subtracts $d_{a+1}^{th}$, ..., $d_j^{th}$ users interference from received signal $y$ on frequency layer $k$ as

$$y - \sum_{i=a+1}^{d_j} \sqrt{p_i} |h_i| x_i = \sum_{i=1}^{d_a} \sqrt{p_i} |h_i| x_i + n \quad (2.17)$$

This successive subtraction makes, SIC a time consuming process. More often, noise and interference are seen as Gaussian noise (central limit theorem):

$$y = \sqrt{p_J} |h_J| x_J + \sum_{i=1}^{d_J-1} \sqrt{p_i} |h_i| x_i + n \quad (2.18)$$ $$y = \sqrt{p_J} |h_J| x_J + \gamma_k$$

where $\gamma_k = \sum_{i=1}^{d_J-1} \sqrt{p_i} |h_i| x_i + n$ is the equivalent noise for user-$J$'s decoding at frequency layer $k$. SIC faces error propagation while implementation, i.e. if the first signal is decoded with errors, this error will propagate to remaining users while performing successive subtraction. This is a major challenge while performing interference cancellation. High latency is another issue faced by SIC. From equations 2.17 and 2.18, user $J$ is the first one to be decoded since we have also assumed that $p_J|h_J|^2 > p_{J-1}|h_{J-1}|^2 > \dots > p_1|h_1|^2$, followed by decoding of user $J-1$ thus user 1 is decoded at the end. This decoding of one user after the other, brings higher latency to the system.

### 2.4.4 HIC decoding

Hybrid Interference Cancellation model does the interference cancellation using either of hard or soft decoding. A threshold value is used to decide between the hard or soft decoding. In each resource block, if SINR is greater than or equal to the threshold, then the strongest signal is decoded using hard decoding and the remaining signals ($d_{j-1}$ users) are decoded with SIC decoder. Else if SINR in that resource block is lower than the threshold, it results in only SIC decoder being used to decode $d_j$ users as shown in figure 2.10.

<figure><img src="image_30.png" /><figcaption>Figure 2.10: Joint HIC-Log MPA decoding</figcaption></figure>

During the initialization of HIC, irrespective of whether hard or soft decoding is to be done, the euclidean distances $\Gamma(k, m)$ are calculated between the received
signal at layer frequency $k$ and all possible expected received codewords (from 1 to $m$) as shown in figure 2.11.

$$ \Psi_k(y, m, h) = \frac{|(y_k - \sqrt{p_{k,j}}h_{k,j}x_{k,m,j})|^2}{2 \times \sigma_{eq}} \quad (2.19) $$

where $k$ represents the frequency layer, $j$ is the strongest received signal considered in the $k$-th frequency layer, $m$ the length of SCMA codeword and $\sigma_{eq} = \sum_{i=1}^{d_j-1} \sqrt{p_i}|h_i|^2 + N_0$ with $N_0$ representing the power of white additive noise.

<figure><img src="image_31.png" /><figcaption>Figure 2.11: Euclidean Distances at the decoder</figcaption></figure>

Hard decoding process is easier for a perfectly known channel so

$$ \Gamma_{k,m,h} = |(y_k - \sqrt{p_{k,j}}h_{k,j}x_{k,m,j})|^2 \quad (2.20) $$

### 2.4.4.1 Threshold Estimation

In order to define the threshold value for choosing between hard or soft decoding, we suppose

$$ \Upsilon_{k,m} = \sqrt{p_{k,m,J}}|h_{k,m,J}|x_{k,m,J} \quad \forall k = 1, \dots, K \& m = 1, \dots, M \quad (2.21) $$

where $J$ is the best received signal user. By equation 2.19 and equation 2.20, to define a criteria between hard or soft decoding, only SINR measurements are available. In order to find this threshold, euclidean distance between all possible outputs the estimated soft symbol is calculated as following

$$ \Gamma_{k,m} = |\Upsilon_{k,m} - \hat{x}_{k,j}|^2 \quad \forall k = 1, \dots, K \& m = 1, \dots, M \quad (2.22) $$

For $M$ possibilities in each frequency layer $k$, for the SINR of the reconstructed signal, we suppose that it is the minimum $\Gamma_{k,m}$ i.e. $\text{SINR}_{d_j} = \min(\Gamma_{k,m})$. We also define a threshold value $\Gamma$ to achieve a target BER after LDPC decoder, for which Hard decoding can be done for the strongest signal if the following inequalities are satisfied

$$ \Gamma_{k,m} \ge \Gamma \quad (2.23) $$

Estimation of $\Gamma$ has been discussed in later subsection 2.4.5.4. Once the interference cancellation has been done, the LLR values are sent to LDPC decoder, where equation 2.15 states the lower bound of iterations $N_e$ for an iterative LDPC decoder
to converge and achieve a target probability of error.

Algorithm 5 is used to choose between hard or soft estimation, where $D_{K,M}$ is the decision matrix initialized as zero matrix. Points where equation 2.23 is satisfied, the value of $D_{k,m}$ is set equal to 1. After updating of this decision matrix, its values are used to choose either hard or soft estimation.

<caption>**Algorithm 5 HIC algorithm**</caption>

1: initialization
2: $\hat{x}_{k,j}$, $\Upsilon_k$, $\sigma_{eq}$, $D_{K,M} = 0$
3: **for** k=1 to K **do**
4:     **for** m=1 to M **do**
5:         $\Gamma_{k,m} = |\Upsilon_{k,m} - \hat{x}_{k,j}|^2$
6:     **end for**
7: **end for**
8: **while** $\Gamma_{k,m} \ge \Gamma$
9:     $D_{k,m} == 1$
10: **end while**
11: $P_{(K,1)} = \text{Sum}_{row} D_{K,1} = \sum_{i=1}^{M} D_{K,i}$
12: $Q_{(K-2,M)} = \text{Sum}_{col} D_{K-2,M} = \left[ \sum_{i=1,4} D_{i,M} \right]$
13: **for** k=1 to K **do**
14:     **if** $P_{(k,1)} \ge 1$ and $\text{sum}(Q_{(k,M)}) == 2) = 1$ **then**
15:         **find** all $i$ for which $D_{k,i} == 1$
16:         $Q_{(k,i)} == 2$ for same $i$
17:         perform SIC operation using Hard estimation
18:     **else**
19:         perform SIC operation using Soft estimation
20:     **end if**
21: **end for**

### 2.4.4.2 Numerical Results

We assume that $J = 6$ users are connected to $K = 4$ frequency layers. At each layer there are $d_j = 3$ users connected. Each user is connected according factor graph matrix 2.24. We have assumed the channels of each user is such that $|h_J|^2 > |h_{J-1}|^2 > \dots > |h_1|^2$, so for each frequency layer the channels for the users are such as $|h_{d_j}|^2 > |h_{d_{j-1}}|^2 > \dots > |h_1|^2$. According to matrix 2.24, all $J = 6$ users are connected in a way such user 5 and user 6 are the last users in their respective frequency layers. For example, user 5 is last user in frequency layer 1 and 4 where user 6 is the last user in frequency layer 2 and 3. Consequently, user 5 and user 6
are the considered as the strongest user in their respectively frequency layer.

$$F = \begin{bmatrix} 0 & 1 & 1 & 0 & 1 & 0 \\ 1 & 0 & 1 & 0 & 0 & 1 \\ 0 & 1 & 0 & 1 & 0 & 1 \\ 1 & 0 & 0 & 1 & 1 & 0 \end{bmatrix} \qquad (2.24)$$

We also assume that $p_J|h_J|^2 > p_{J-1}|h_{J-1}|^2 > ... > p_1|h_1|^2$ holds for these two users, i.e. user 5 and user 6 for SNR is greater than $\Gamma$. All six users are transmitting through Rayleigh fading channel and AWGN noise is added. The magnitude of $h$ is Rayleigh probability distribution, which means two Gaussian random variables with zero mean and equal variance. At the reception end, perfect knowledge of channel properties has been assumed (perfect equalization). Simulation parameters for figure 2.12 and 2.13 are shown in table 2.5

<table><caption>Table 2.5: Simulation Parameters for Log-MPA decoding followed by LDPC decoding with different code rates</caption><thead><tr><td>Parameter</td><td>Value</td></tr></thead><tbody><tr><td>Number of users (J)</td><td>6</td></tr><tr><td>Number of resource block (K)</td><td>4</td></tr><tr><td>Number of iterations for Log-MPA (I<sub>t</sub>)</td><td>5</td></tr><tr><td>Maximum of iterations for LDPC Decoder</td><td>200</td></tr><tr><td>Number of users connected to a resource block (d<sub>j</sub>)</td><td>3</td></tr><tr><td>Number of resource blocks occupied by each user (d<sub>k</sub>)</td><td>2</td></tr><tr><td>Maximum number of bits transmitted by each user</td><td>10<sup>6</sup></td></tr><tr><td>Number of encoded bits in one SCMA frame</td><td>256</td></tr><tr><td>Codebooks Used</td><td>Refer to subsection 1.4.1</td></tr><tr><td>Code rate for LDPC decoder (R)</td><td>0.5</td></tr><tr><td>Threshold Value Γ</td><td>2.1 dB (equation 2.47)</td></tr></tbody></table>

Figure 2.12 shows that best performance in terms of BER among all six users is that of, user 5 and user 6 for both Log-MPA decoding as well as in case of HIC-Log MPA decoding, since user 5 and user 6 are the strongest users in their respective resource blocks. For HIC-Log MPA decoding once user 5 and user 6 are decoded using either Hard or Soft decoding, remaining users in each frequency layer are decoded by Log-MPA.

Simulation results for average BER for all six users can be seen in figure 2.13. It is obvious from the figure that there is slight degradation in performance in terms of BER, but as reduction in complexity be discussed in next subsection 2.4.5, this degradation is shadowed by gain in terms of complexity. Cause of this slight degradation is the error propagation during interference cancellation. The strongest user in each frequency layer is decoded with some errors and while perform interference cancellation these errors propagate. But in figure 2.12 it is observed that there are no errors for the strong users, this is due to error correcting code used. LDPC decoder at the end of the digital chain, is able to correct these errors. The strongest signal is efficiently recovered by LDPC decoder at SNR = 8 dB.
<figure><img src="image_32.png" /><figcaption>Figure 2.12: BER results for all users with HIC-Log MPA and Log-MPA</figcaption></figure>

<figure><img src="image_33.png" /><figcaption>Figure 2.13: Average BER results for all users with HIC-Log MPA and Log-MPA.</figcaption></figure>

HIC is a combination of hard and soft decoding depending on value of threshold. Figure 2.14 compares it, purely to Soft SIC and to Hard SIC followed by Log-MPA.
Since only the strongest user is decoded using interference cancellation technique so there can be a scenario if no threshold is considered then this strong user is decoded using either soft decoding only or hard decoding only. In this case, for both hard decoding only or soft decoding only, this strongest user is decoded with many errors. Although these errors get corrected by the LDPC decoder, so it does not effect the strong user itself in terms of BER. But the interference cancellation is done before LDPC decoder and decoding errors in strong user are propagated to remaining users. The classic example can be user 2 and results are shown in figure 2.14. Error propagated while interference cancellation results in degradation but the proposed HIC choose between hard and soft decoding to further minimize the decoding errors in strongest user resulting in less error propagation while performing interference cancellation.

<figure><img src="image_34.png" /><figcaption>Figure 2.14: Soft Vs Hard Decoding for User 2.</figcaption></figure>

To find out number of iteration $N_{\epsilon}$ for LDPC decoder to converge and achieve a target BER, equation 2.15 refer to lower bound of number of iterations. If LDPC is not able to converge after $N_{\epsilon}$ iterations then user cannot be decoded and as the channel index decreases, BER increases. Figure 2.15 shows BER values for a different values of SNR with different number of iterations for a regular LDPC(3,6) with efficiency of 1/2.

### 2.4.5 Complexity Analysis

We have proposed a low complexity model for SCMA decoding, in this section we discuss about the complexity of our proposed model. We discuss the complexity of
<figure><img src="image_35.png" /><figcaption>Figure 2.15: BER versus SNR for different iterations loop of a regular LDPC(3,6)</figcaption></figure>

HIC and LDPC in forthcoming subsections. Later we discuss the total complexity of the receiver as a whole. As already stated in section 2.4.4.1 we also discuss Γ estimation in this section. We conclude this section with simulations results regarding complexity.

### 2.4.5.1 HIC Decoding Complexity

As already mentioned HIC model is composed of both hard or soft decoding, where it chooses between the two depending on threshold value. We discuss the complexity of HIC for hard decoding complexity and successive interference cancellation complexity. Performing hard decoding for a specific user, we use Gaussian Approximation (GA) and consider the remaining user as Gaussian noise. Since in our model decreasing user channel index has been considered, so while decoding last user $J$, equation 2.16 is written as

$$y = \sqrt{p_J} |h_J| x_J + \sum_{j=1}^{J-1} \sqrt{p_j} |h_j| x_j + n = \sqrt{p_J} |h_J| x_J + I \quad (2.25)$$

where $I$ is the remaining users' interference and noise. Using equation 2.19 we estimate the LLR values in each frequency layer for the best received signal. Thus the complexity of hard decoding in log domain for the strongest user in each frequency layer is

$$M \times K \times 3 \quad (2.26)$$

Depending on the value of $\Gamma$ and respecting inequality 2.23 if hard decoding is done. The remaining $d_j - 1$ superposed signals have their LLR values sent to SIC decoder.
If hard decoding is not done, for successive interference cancellation complexity model we assume that noise power and equalization is estimated. For each frequency layer, log complexity is $d_j + 1$ additions and $d_j + 2$ multiplications for one user and for M-uple message decoding (considering $d_j$ interfering users per frequency layer, since hard decoding is not done). So complexity for SIC initialization is estimated as

$$M^{d_j} \times d_j \times K \times (2d_j + 3) \qquad (2.27)$$

For each layer $k$ and for each message of each user, marginal probability is computed. Thus Marginal probability complexity at each iteration for SIC is

$$d_j \times M^{d_j+1} \times K + J \times M \times \log_2(M) \times (2M + 1) \qquad (2.28)$$

Complexity for extrinsic estimation is $((2 + d_j)M + \log_2(M))J$. SIC complexity per symbol with $N_{iter}$ number of message passing iterations, is as follows

$$M^{d_j} \times d_j \times K \times (2d_j + 3) + [(2 + d_j)M + \log_2(M)]J + N_{iter} [d_j \times M^{d_j+1} \times K + J \times M \times \log_2(M) \times (2M + 1)] \qquad (2.29)$$

If in case threshold value is satisfied and hard decoding is done for strongest signal then complexity of this hard decoding is found by using equation 2.26. After the strong signal has been decoded, the complexity of HIC can be found using equation 2.29 by replacing $d_j$ with $d_j - 1$ since strongest signal has already been decoded. To find total complexity of HIC, both complexities are simply added as

$$M \times K \times 3 + M^{d_j-1} \times (d_j - 1) \times K \times (2d_j + 1) + [(1 + d_j)M + \log_2(M)]J + N_{iter} [(d_j - 1) \times M^{d_j} \times K + J \times M \times \log_2(M) \times (2M + 1)] \qquad (2.30)$$

### 2.4.5.2 LDPC Complexity

For a LDPC($m,n$) encoder where $n$ is the number of VN and $n - m$ is the number of CN, then using SPA algorithm, complexity can be expressed as following [112]

* Initialization $3n$ operations (multiplication and division)

* CN Update : $(2d_c - 1 + n.d_v).(n - m)$ operations

* VN Update : $d_v.n$ operations

* Hard comparison : $n$ operations

where $d_c$ is the number of neighbours of a Check Node (CN) and $d_v$ is the number of neighbours of a Variable Node (VN). The complexity of LDPC while decoding single LDPC stream with target $P_e$ is expressed as

$$4n + N_{\epsilon} [2(d_c - 1 + nd_v)(n - m) + nd_v] \qquad (2.31)$$

where $N_{\epsilon}$ is the number of iterations required by LDPC to converge.
### 2.4.5.3 Complete Receiver Complexity

The global complexity receiver is given by equations 2.29, 2.30 and 2.31. On the receiver end of the model, if SIC of HIC-Log MPA is executed to decode the users, their respective complexity are represented by equations 2.29 and 2.30, then decoding is done by LDPC decoder to recover the stream of each user. The difference in complexity between SIC and HIC-Log MPA is given by

$$ \Delta_{HIC-MPA} = M \times J - 3 \times M \times K \\ + M^{d_j-1} \times (2d_j + 1) \times (d_j - 1) \times K \times \left[ M \times \frac{d_j}{d_j - 1} \times \frac{2d_j + 3}{2d_j + 1} - 1 \right] \\ + N_{iter} \times (d_j - 1) \times M^{d_j} \times K \times \left[ \frac{d_j}{d_j - 1} \times M - 1 \right] \tag{2.32} $$

where $M$ is the size of codebook of each user, $K$ is the number of frequency layers, $d_j$ is number superimposed signals in each frequency layer and $N_{iter}$ is the number of message passing.

### 2.4.5.4 Γ estimation

Even when the complexity of HIC-Log MPA is lower to that of SIC, LDPC becomes more complex since it need more iterations to converge. So we intend to find the values for which joint decoder has a complexity lower as compared to SIC, based on SNR and SINR power levels. We consider that ratio of global power of the received SC coded SCMA codebooks to noise, is considered as SNR and power of one SCMA block over noise is referred to as SINR. For a target BER, $N_ε$ is the required number of iterations for an LDPC decoder referring to equation 2.14. For a frequency layer $k$.

$$ \text{SNR}^k = \frac{P_T^k}{N_0^k} \tag{2.33} $$

where $P_T^k$ is the cumulative power of all user at frequency layer $k$ on the receiver side and $N_0^k$ is the noise power at frequency layer $k$. We can say $P_j^k = \alpha_j^k \times P_T^k$, where $\alpha_j^k$ is the fraction of power for user $j$ of the receiver at frequency layer $k$. Using the assumption in section 2.4.3, without loss of generality, we assume that $\alpha_{d_j} \ge \alpha_{d_{j-1}} \ge \dots \ge \alpha_1$ for $d_j$ interfering signal in each frequency layer $k$ (for the sake of simplicity $k$ has been omitted, $\alpha_j^k$ is written as $\alpha_j$). When $y_k = \sum_{i \in d_j} x_i + n_k$ is received for each resource block $k$, with $\text{SNR}^k = \frac{P_T^k}{N_0^k}$ or for simplicity $\text{SNR} = \frac{P_T}{N_0}$. SIC algorithm aims to recover the information of each user by successive cancellation. For $i_1$ user the received signal can be written as

$$ y(i_1) = x_{i_1} + \sum_{i \in d_j, i \neq i_1} x_i + n \tag{2.34} $$

SINR for user $i_1$ among $d_j$ users is

$$ \text{SINR}_{i_1} = \frac{P_{i_1}}{N_0 + \sum_{i \in d_j, i \neq i_1} P_i} \tag{2.35} $$
Using $P_j = \alpha_j \times P_T$, equation 2.26 can be written as

$$ \text{SINR}_{i_1} = \frac{\alpha_{i_1}}{1/\text{SNR} + \sum_{i \in d_j, i \neq i_1} \alpha_i} \qquad (2.36) $$

Since $\sum_{i \in d_j} \alpha_i = 1$ so $\alpha_{i_1} + \sum_{i \in d_j, i \neq i_1} \alpha_i = 1$ so

$$ \text{SINR}_{i_1} = \frac{\alpha_{i_1}}{1/\text{SNR} + 1 - \alpha_{i_1}} \qquad (2.37) $$

Our goal is to find a threshold value $\Gamma$ for which if $\text{SINR}_{i_1} \ge \Gamma$ then HIC-MPA decoding is used, otherwise SIC decoding is processed. When HIC-log MPA is followed by LDPC, the complexity is

$$ 4n + \frac{\ln(x_i - 2erfc^{-1}(2 \times P_e)^2)}{\ln\left(\left(\frac{df}{dx}\right)_{x=SINR_{d_j}}\right)} \times [2(d_c - 1 + n.d_v) \cdot (n - m) + d_v \cdot n] \qquad (2.38) $$

whereas complexity of MUD followed by LDPC decoder is

$$ 4n + \frac{\ln(x_i - 2erfc^{-1}(2 \times P_e)^2)}{\ln\left(\left(\frac{df}{dx}\right)_{x=SNR}\right)} \times [2(d_c - 1 + n.d_v) \cdot (n - m) + d_v \cdot n] \qquad (2.39) $$

Equation 2.37 shows the relation of SINR to SNR. For a defined target BER i.e. $P_e$ at a given SNR, when a LDPC($m,n$) encoder is used the complexity depends on $\alpha_{d_j}$

$$ \Delta_{\text{LDPC}} = [2(d_c - 1 + n.d_v) \cdot (n - m) + n.d_v] \times (N_{\varepsilon}(\text{SINR}_{d_j}) - N_{\varepsilon}(\text{SNR})) \qquad (2.40) $$

And for target BER

$$ \Delta_{\text{LDPC}} = [2(d_c - 1 + n.d_v) \cdot (n - m) + n.d_v] \cdot \ln(x_l - 2 \cdot \text{erfc}^{-1}(2 \cdot P_e)^2) \times \left[ \frac{1}{\ln\left(\left(\frac{df}{dx}\right)_{x=SINR_{d_j}}\right)} - \frac{1}{\ln\left(\left(\frac{df}{dx}\right)_{x=SNR}\right)} \right] \qquad (2.41) $$

SINR threshold gives a value for which HIC-Log MPA and LDPC joint decoder have a complexity lower than that of MUD and LDPC decoder. The complexity of joint HIC-Log MPA and LDPC is less than that of MUD and LDPC if

$$ \Delta_{\text{LDPC}(d_j, \text{SNR}, n, m)} < \frac{n}{\log_2(M)} \Delta_{\text{HIC-MPA}} \qquad (2.42) $$
<figure><img src="image_36.png" /><figcaption>Figure 2.16: Number of LDPC iterations required to reach a target BER of $10^{-5}$ after MUD decoding</figcaption></figure>

where $n$ is the length of the LDPC codeword. This inequality can be used to find the value $\Gamma$ where MUD is more complex as compared to HIC-Log MPA.

Using table 2.4 of convergence limits of LDPC and equation 2.14, iteration required by a LDPC decoder to reach a target BER are shown in figure 2.16. In this figure, with a target BER=$10^{-5}$ when SNR increases from 1.5 to 2.5 dB the number of iterations required by LDPC decoder drops from 30 to 9 iterations while if SNR is further increased from 2 to 5.5 dB the same number of iterations drop from 30 to 9 iterations. For the same target BER equal to $10^{-5}$ and black dotted line in figure 2.16 shows that Gaussian noise is added to one and only one LDPC code $y = d + n$ is the case after interference cancellation for each user using SIC decoding. In the same figure, the solid red line is an approximation function for certain number of iterations of LDPC decoder with respect SNR values in dB.

$$N_{\varepsilon}(\text{SNR}_{dB}) = \frac{59.46}{\text{SNR}_{dB}^{1.75}} \qquad (2.43)$$

In our model when the decoder receives $d_j$ users simultaneously, for a $k$ frequency layer with AWGN noise added i.e. $y_k = \sum_{i \in d_j} x_i + n_k$, only the strongest received signal is aimed to be decoded by HIC-Algorithm. Using equations 2.28 and 2.29, considering Gaussian Approximation, an upper bound of number of iterations required by LDPC decoder for convergence for user $d_j$ for certain error probability $P_e$ can be expressed as a function of SINR

$$N_{\varepsilon}(\text{SINR}_{dB}) = \frac{59.46}{\text{SINR}_{dB}^{1.75}} \qquad (2.44)$$

$N_{\varepsilon}$ is number of iterations for LDPC and it is computed using equation 2.43 from
SNR if SIC is used or using equation 2.44 if HIC-Log MPA decoding is used. For a target BER= $10^{-5}$, for LDPC decoder the difference of complexity is computed using

$$ \Delta_{LDPC(d_j,SNR,n,m)} = \Delta N_{\varepsilon} \cdot [2(d_c - 1 + n \cdot d_v) \cdot (n - m) + n \cdot d_v] \quad (2.45) $$

The threshold $\Gamma$ is computed using inequality 2.42 and equation 2.45

## Numerical value of $\Gamma$ from a simulation view point

For a specific case if we take $N_{iter} = 10$ and consider LDPC encoded streams where $n = 512$ and $M = 4$, then regarding complexity of HIC-Log MPA and of SIC, prior one needs 2,456,576 operations and later one needs 10,773,504 operations. The difference in complexity among SIC and HIC-Log MPA equals $\Delta_{HIC-MPA} = 8316928$ operations. For a target BER of $P_e = 10^{-5}$ to achieve same complexity between HIC-Log MPA and SIC, number of iteration required by LDPC for each of these decoding technique is different. As per inequality 2.42 and equation 2.45, $\Delta N_{\varepsilon}$ the difference in required iterations for LDPC convergence for these techniques is $\Delta N_{\varepsilon} = 16$, meaning if $N_{\varepsilon}(\text{SINR}_{dB})$ is the number of iterations as a function of SINR(dB) for HIC-Log MPA and $N_{\varepsilon}(\text{SNR}_{dB})$ is the number of iterations as a function of SNR(dB) for SIC, $\Delta N_{\varepsilon} = N_{\varepsilon}(\text{SINR}_{dB}) - N_{\varepsilon}(\text{SNR}_{dB}) = 16$. When $N_{\varepsilon}(\text{SINR}_{dB})$ is smaller than $N_{\varepsilon}(\text{SNR}_{dB}) + 16$, then joint complexity of HIC-Log MPA followed by LDPC decoder is less than the joint complexity of SIC followed by LDPC decoder for a target BER of $P_e = 10^{-5}$. For this target BER, equations 2.43 as function of SNR and equation 2.44 as function of SINR give the value of $N_{\varepsilon}$ where at receiver end, SNR is estimated using RSRP measurement gives and RSSI measurement gives an estimation of SINR.

To have complexity of HIC-Log MPA lower than that of SIC, $\Delta N_{\varepsilon}$ in equation 2.45 should be lower than 16. Using equations 2.37 and 2.40 minimum value of $\alpha_{d_j}$ is computed for a certain $N_{\varepsilon}$. From figure 2.16 it is obvious that for SNR = 4 dB, number of iterations required by LDPC is $N_{\varepsilon}(\text{SNR}_{dB}) = 5$. Since our aim is to have $\Delta N_{\varepsilon} \le 16$ so $N_{\varepsilon}(\text{SINR}_{dB}) \le 21$. For minimum value of $\alpha$ for strongest user, this value can be achieved is $\alpha_{d_j} \ge 0.8$ from figure 2.17. Where the exact value of $\alpha$ for strongest user is $\alpha_{d_j} = 0.8419$ using equations 2.37 and 2.44.

For higher values of SNR, $\Gamma$ reach an asymptote as expected. In figure 2.17, for values of SNR $\le 2.1dB$ the number of iterations $N_{\varepsilon} > 16$ (for only one user). For higher values of SNR, in case of multi-users, the asymptote is given by interference $10 \times \log_{10}(1 - \alpha)$ of the other users. The limit value of $\alpha$ for $P_e = 10^{-5}$ is given by the following equation:

$$ 10 \times \log_{10}(1 - \alpha) = \sqrt[1.75]{\left(\frac{59.46}{16}\right)} = 2.1173 \text{ dB} \quad (2.46) $$

$\Gamma$ threshold value as a function of SNR (SNR elaborate SIC complexity) can be estimated from figure 2.18 for a target BER $P_e = 10^{-5}$. The asymptotic value of figure 2.18 is 2.11, so

$$ \Gamma = 2.11 \text{ dB} \quad (2.47) $$
<figure><img src="image_37.png" /><figcaption>Figure 2.17: Number of LDPC iterations required to reach a target BER of $10^{-5}$ for the strongest signal after HIC-Log MPA decoding.</figcaption></figure>

<figure><img src="image_38.png" /><figcaption>Figure 2.18: $\Gamma$ value depends on SINR to have the same complexity between HIC-MPA and MUD when SNR=4dB</figcaption></figure>

Complexity of demodulation process is impacted by threshold value $\Gamma$, moreover it is also taken into account to define the power allocation of the strongest user.
<figure><img src="image_39.png" /><figcaption>Figure 2.19: $\alpha$ value from SINR to have the same complexity between HIC-MPA and MUD when SNR= 4 dB</figcaption></figure>

During the transmission part, both the power of noise RSRP and reception power of each user RSSI are used to compute the threshold on the controller. Consequently, controller imposes the level power for each user. Once the value of threshold has been taken into account, either of HIC-Log MPA or MUD is executed, respecting equation 2.23:

* if $\text{SINR}_{d_j} < \Gamma$, classical MUD detection is done. The complexity of MUD is defined by equation 2.29;

* if $\text{SINR}_{d_j} \ge \Gamma$, then Gaussian detection is done for user $d_j$ and HIC-MPA is computed for other users. The complexity of MUD is defined by equation 2.30.

### 2.4.5.5 Complexity Simulation Results

Factor graph matrix 2.24 depicts which users being connected to which frequency layer. If $F_{jk} = 1$, then user $j$ is transmitting its SCMA codeword to $k$-th frequency layer. If we suppose $y^1$ is the received signal at frequency layer $k = 1$ then according to equation 2.1, $y^1 = x_2^1 + x_3^1 + x_5^1 + n^1$ ($h$ has been dropped here for sake of simplicity). Received power at first frequency layer is $P^{1,r} = P_2^{1,r} + P_3^{1,r} + P_5^{1,r}$ since its user 2, 3 and 5 are connected to this frequency layer. For all the users at all frequency layers, received power of respective $j$-th user connected at $k$-th frequency layer, is $P_j^{k,r} = \alpha_j \times P^{k,r}$.

We make a comparison of simulation complexity among optimal and non-optimal values of $x_5$. We restrict maximum number of iteration for a LDPC decoder
as $N_{\epsilon,max} = 200$. Since $|h_J|^2 > |h_{J-1}|^2 > ... > |h_1|^2$ so user 5 is considered as a strongest user in frequency layer 1. Same comparison and threshold values are used for strongest user at remaining frequency layers, without loss of generality. SNR for frequency layer 1 is defined as

$$ \text{SNR}^1 = \frac{P_2^{1,r} + P_3^{1,r} + P_5^{1,r}}{N_0} = \frac{P_1^{1,r}}{N_0} \qquad (2.48) $$

SINR for user 5 can be written as

$$ \text{SINR}_5^1 = \frac{P_5^{1,r}}{N_0 + P_2^{1,r} + P_3^{1,r}} \qquad (2.49) $$

computing above equation in terms of $\alpha$

$$ \text{SINR}_5^1 = \frac{\alpha_5}{\alpha_2 + \alpha_3 + \frac{1}{\text{SNR}^1}} \qquad (2.50) $$

Once user 5 has been decoded and interference cancellation is done. It leads to $y_5^1 = y^1 - \hat{x}_5 = x_2 + x_3 + n$. For remaining two users, SINR for user 3 can be is written as

$$ \text{SINR}_3^1 = \frac{P_3^{1,r}}{N_0 + P_2^{1,r}} = \frac{\alpha_3}{\alpha_2 + \frac{1}{\text{SNR}^1}} \qquad (2.51) $$

To improve the complexity, it can be assumed that hard decoding is done for user 3 at frequency layer 1, as well where $\text{SINR}_3^1 \ge \Gamma$. This condition is satisfied when

$$ \alpha_3 \ge \Gamma \left( \alpha_2 + \frac{1}{\text{SNR}^1} \right) \qquad (2.52) $$

For hard decoding to be performed for first strongest user i.e. user 5 and second strongest user i.e. user 3 at frequency layer 1, $\text{SINR}_5^1 \ge \Gamma$ and $\text{SINR}_3^1 \ge \Gamma$ needs to be satisfied. The condition when these two inequalities are satisfied is

$$ \alpha_5 \ge \Gamma(1 + \Gamma) \left( \alpha_2 + \frac{1}{\text{SNR}^1} \right) \qquad (2.53) $$

If both inequalities 2.52 and 2.53 are satisfied, then HIC-Log MPA is used for user 3 and user 5. To find out $\alpha_2$ since $\alpha_2 = 1 - \alpha_3 - \alpha_5$ then

$$ \alpha_2 = \frac{1 - \frac{\Gamma(\Gamma+2)}{\text{SNR}}}{1 + \Gamma(\Gamma+2)} \qquad (2.54) $$

for $\text{SNR} \ge \Gamma(\Gamma + 2)$. If $\text{SNR}=10$ dB then $\Gamma = 2.11$ dB and $\alpha_5 = 0.8419$, for these values $x_5$ can be decoded with a target BER $P_e = 10^{-5}$ at $\text{SNR}=10$ dB. For the same values of SNR and $\Gamma$, values of $\alpha$ for remaining user can be computed as

* $\alpha_2 = 0.0646$.

* $\alpha_3 = 0.0935$.
<figure><img src="image_40.png" /><figcaption>Figure 2.20: LDPC complexity after interference cancellation versus SNR for optimal $\Gamma = 2.1$ dB</figcaption></figure>

<figure><img src="image_41.png" /><figcaption>Figure 2.21: LDPC complexity after interference cancellation versus SNR for optimal $\Gamma = 2.1$ dB</figcaption></figure>

Figure 2.20 shows the number of iterations required for the strongest user i.e. user 5 being decoded using classical MUD and HIC-Log MPA at different levels of
SNR. As expected, a difference of 2.1 dB among SNR and SINR makes HIC-Log MPA more efficient in terms of complexity.

Figure 2.21 depicts the drop in complexity at a lower level of SNR between HIC-log MPA and MUD. This drop is given for 2.3 dB (1/SNR + 2.1 dB).

If non-optimum values are choose for $\alpha$ for $d_j$ users at frequency layer 1

* $\alpha_2 = 0.0646$.

* $\alpha_3 = 0.1935$,

* $\alpha_5 = 0.7419$.

still respecting $\alpha_2 + \alpha_3 + \alpha_5 = 1$. Then the value of $\alpha_5 = 0.7419$ can be used to find the value of $\Gamma = 3.1$ and referring to equation 2.47 this value of $\Gamma$ is considered as non-optimal value. A difference of 4 dB can be seen in figure 2.22 for decoding process before strongest received signal is decoded using hard decoding.

<figure><img src="image_42.png" /><figcaption>Figure 2.22: Comparison of HIC-MPA and MUD in terms of complexity for $\Gamma=3.1$ dB</figcaption></figure>

Figure 2.23 shows that, the decoder complexity drops for values when RSSI of the strongest signal is greater than 4.8 dB.

## 2.5 Conclusion

In this chapter, we have initially discussed the classical SCMA with Log-MPA decoder and LDPC encoded SCMA with joint Log-MPA decoder followed by LDPC decoder. Firstly we, proposed a feedback mechanism from LDPC decoder to Log-MPA to improve the performance of SCMA system in terms of BER as compared to conventional encoded SCMA system with joint Log-MPA and LDPC decoder.
<figure><img src="image_43.png" /><figcaption>Figure 2.23: LDPC complexity to reach $BER = 10^{-5}$ for non optimal $\Gamma = 3.1$ dB</figcaption></figure>

We made the feedback from LDPC adaptable so that the LLR values from LDPC decoder can be used at input of Log-MPA. Bit level LLR from output of LDPC decoder were converted to Symbol level LLR to make LLR values accessible by Log-MPA. Numerical results depict that introduction of feedback to Log-MPA decoder from LDPC decoder show an improvement in performance gain by an improved BER results for all users in an SCMA model and have been published in [113].

In the second part of the chapter, we have proposed a HIC-Log MPA to lower the complexity the LDPC encoded uplink SCMA system. We defined a threshold value, based on which the SCMA decoder is able to choose between MUD or HIC-Log MPA detection. The number of iterations of message passing to decode errorless signal and capacity of detection is facilitated by GA and DE. We present an idea that complexity of HIC-Log MPA decoder decreases as compared to MPA at higher values of SNR. Interference cancellation of any user in conventional LDPC encoded SCMA system is done after error correction of complete SCMA signal of that user at LDPC decoder, which brings latency to the system. In our proposed technique, interference cancellation is done at each instant without using LDPC decoder so that remaining users do not have to wait for interference cancellation of signal after this signal has been corrected by LDPC. This instantaneous interference cancellation improves the latency of the system. We proposed optimal values for strong users aiming to reduce the global complexity of SCMA system for a target BER. Results have been published in [114].
# POWER ALLOCATION FOR A TARGET BER

This chapter deals with the problem of power allocation for target BER. The global digital chain proposed in chapter 2, consists of joint HIC-Log MPA decoding followed by a LDPC decoder. In case the strongest user in each resource block is being decoded by HIC we defined power allocation for this user to achieve a target BER and for remaining users we present a power allocation scheme to achieve a target BER after LDPC decoder.

## Contents

<table><tr><td>3.1</td><td>Introduction</td><td>76</td></tr><tr><td>3.2</td><td>Preliminaries</td><td>76</td></tr><tr><td>3.3</td><td>Error Probability analysis for uncoded SCMA system</td><td>77</td></tr><tr><td>3.3.1</td><td>Single user using multi-dimensional constellations</td><td>77</td></tr><tr><td>3.3.2</td><td>Multiple users using multi-dimensional constellations</td><td>81</td></tr><tr><td>3.3.3</td><td>BER for J users in an Uplink SCMA</td><td>82</td></tr><tr><td>3.3.4</td><td>Simulation Results</td><td>83</td></tr><tr><td>3.4</td><td>Power Allocation for Target BER in SCMA</td><td>86</td></tr><tr><td>3.4.1</td><td>Power Allocation for users</td><td>86</td></tr><tr><td>3.4.2</td><td>Simulation Results</td><td>97</td></tr><tr><td>3.5</td><td>Conclusion</td><td>104</td></tr></table>
## 3.1 Introduction

In this chapter, we discuss the error probabilities for users in an SCMA system. Based on multi-dimensional codebooks, bit to constellation mapping in SCMA is done and codebook for each user is based on multi-dimensional mother constellations so first of all we discuss the BER for a single user using multi-dimensional constellation. Moreover, the strong user in each frequency is decoded considering Gaussian Approximation, so intrinsically this user is treated as a single user. We extend the discussion to define the analytical BER for multiple users using multi-dimensional constellation. Once the strong user has been decoded and interference cancellation has been performed remaining users are decoded using Log-MPA so analytical BER expression for multiple users using multi-dimensional constellations can be used.

After the BER for a single user and multiple users using multi-dimensional constellations have been discussed, we discuss the power allocation to achieve a target BER for the users in SCMA system. The channels have been sorted considering near users and far users. Near user has better channel conditions and is considered as strong user while far users are considered as weak users. Due to the sorting of channels, ordered statistics are considered and BER expressions to calculate power allocation have been modified accordingly.

This chapter is organized such that section 3.2 discusses some basic definitions. Section 3.3 discusses error probabilities for uncoded SCMA system based on single users and multiple users scenarios where both are using multi-dimensional constellation. BER expressions have been derived for AWGN and Rayleigh fading channels. In section 3.4 expressions for power allocation for SCMA user have been formulated while considering ordered statistics. Simulations results are shown later in the section. Finally, a brief conclusion is given at the end of this chapter.

## 3.2 Preliminaries

**Definition 5.** For a random variable X, the cumulative distribution function (CDF), in statistics and probability theory, calculated at x is the probability that X will take a value less than or equal to x. CDF of X at x is given by
$$F_X(x)=\Pr(X \leq x)$$

**Definition 6.** For a continuous random variable X which has an absolutely continuous cumulative distribution function (CDF) i.e. $F_X(x)$. The function $f_x(X)$ is the probability density function (PDF) of X defined by
$$f_x(X) = \frac{dF_X(x)}{dx} \quad \text{if } F_X(x) \text{ is differentiable at } x$$

**Definition 7.** Q is a function such that $Q(x)$ is the probability that a standard normal (Gaussian)) random variable takes a value larger than x. It is defined as
$$Q(x) = \frac{1}{\sqrt{2\pi}} \int_{x}^{\infty} e^{-u^2/2} du$$

**Definition 8.** erf is the Gauss error function defined by
$$erf z = \frac{2}{\sqrt{\pi}} \int_{0}^{z} e^{-t^2} dt$$
erfc is complementary error function defined by
$$erfc z = 1 - erf z$$
## 3.3 Error Probability analysis for uncoded SCMA system

In this section, we derive the error probability expression for an uncoded classical SCMA deploying Log-MPA at SCMA decoder. Since SCMA users have codebooks generated by a multi-dimensional constellation, we first study a single user using multi-dimensional constellation and derive error probability expressions for this user in an AWGN and Rayleigh Fading channels. We extend the idea to multiple users employing multi-dimensional constellations and finally error probability expressions for SCMA users are discussed.

### 3.3.1 Single user using multi-dimensional constellations

Before presenting the idea of BER expressions for users in an Uplink SCMA, we present error probability of a single user using multi-dimensional constellations, later generalizing it for multiple users using multi-dimensional constellations. Since the codebooks of SCMA are based on multi-dimensional constellations, error probability expressions for multiple users using multi-dimensional constellations can be used for SCMA.

Firstly, we consider one user communication over AWGN channel with no inter-symbol interference. The message transmitted by this single user is represented by a vector $\mathbf{x}$ such that $\mathbf{x} = [x(1), x(2), \dots, x(K)]^t$ such that it is a K-th dimensional complex constellation set. With additive white Gaussian noise added, the received vector can be represented as

$$ \mathbf{y} = \mathbf{x} + \mathbf{n} \qquad (3.1) $$

where $\mathbf{y}$ has same dimensions as $\mathbf{x}$ and $\mathbf{n} = [n(1), n(2), \dots, n(K)]^t$ with its each component is i.i.d and has 0 mean and variance $\sigma^2$ is $N_0$. Using ML detection, the received signal is estimated as

$$ \hat{\mathbf{x}} = \arg \min_{\mathbf{x} \in \chi} ||\mathbf{y} - \mathbf{x}|| \qquad (3.2) $$

where $\chi$ is the K-th dimensional complex constellation set. To find the error of probability, without loss of generality, it is assumed that $\mathbf{x}_a$ is transmitted. Using the CDF of a normal Gaussian random variable, the Piece wise Error Probability (PEP) received vector $\mathbf{y}$ closer to symbol $\mathbf{x}_b$ as compared to symbol $\mathbf{x}_a$ is calculated by [99]

$$ P_s\{\mathbf{x}_a \to \mathbf{x}_b\} = Q\left(\sqrt{\frac{||\mathbf{x}_a - \mathbf{x}_b||^2}{2N_0}}\right) \qquad (3.3) $$
where $Q(x) = \frac{1}{\sqrt{2\pi}} \int_{x}^{\infty} e^{-u^2/2} du$ is the Gaussian Function [115]. We suppose $\Delta = \mathbf{x}_a - \mathbf{x}_b$ then equation 3.3 becomes

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\} = Q\left(\sqrt{\frac{\|\Delta\|^2}{2N_0}}\right) \qquad (3.4)$$

For k-th dimension, dimension wise distance can be represented as $\delta_k = |x_a[k] - x_b[k]|$ so $\Delta$ can be represented as

$$\|\Delta\|^2 = \sum_{k=1}^{K} \|\delta_k\|^2 \qquad (3.5)$$

Using above equation, PEP in equation 3.4 can be written as

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\} = Q\left(\sqrt{\frac{\sum_{k=1}^{K} \|\delta_k\|^2}{2N_0}}\right) \qquad (3.6)$$

Using the identity for $Q(x)$ below [116]

$$Q(x) = \frac{1}{2} \operatorname{erfc}\left(\frac{x}{\sqrt{2}}\right) \qquad (3.7)$$

Equation 3.6 can be written as follows which gives PEP for a single user using multi-dimensional constellations in an AWGN channel.

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{AWGN}} = \frac{1}{2} \operatorname{erfc}\left(\sqrt{\frac{\sum_{k=1}^{K} \|\delta_k\|^2}{4N_0}}\right) \qquad (3.8)$$

Following figure 3.1 shows analytical SER using above equation for AWGN channel.

### Rayleigh fading channel

For single user communication through Rayleigh fading channel, equation 3.1 can be written as

$$\mathbf{y} = \operatorname{diag}(\mathbf{h})\mathbf{x} + \mathbf{n} \qquad (3.9)$$

where $\mathbf{h} = [h(1), h(2), \dots, h(K)]^t$ is the Rayleigh fading channel. ML detection for the transmitted signal is as

$$\hat{\mathbf{x}} = \arg \min_{\mathbf{x} \in \mathcal{X}} \|\mathbf{y} - \operatorname{diag}(\mathbf{h})\mathbf{x}\| \qquad (3.10)$$

using the CDF of a normal Gaussian random variable, the conditional PEP for received vector $\mathbf{y}$ closer to symbol $\mathbf{x}_b$ as compared to symbol $\mathbf{x}_a$ is calculated by

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}\} = Q\left(\sqrt{\frac{\|\operatorname{diag}(\mathbf{h})\Delta\|^2}{2N_0}}\right) \qquad (3.11)$$
<figure><img src="image_44.png" /><figcaption>Figure 3.1: SER results for single user using multi-dimensional constellations for AWGN Channel.</figcaption></figure>

## Downlink Configuration

PEP for a single user is conditioned over $\mathbf{h}$, to find unconditional PEP at the over all dimensions such that $k \in K$, it is average over the PDF of $|\mathbf{h}|$. We have Rayleigh fading channel whose PDF is given by [117]

$$f_X(x) \rightarrow f(x, \sigma) = \frac{x}{\sigma^2} \exp\left(\frac{-x^2}{2\sigma^2}\right) \qquad (3.12)$$

If $\omega = |\mathbf{h}|$ and $\sigma_h$ is the scale parameter of Rayleigh Distribution or it can be considered at rms value,

$$f(\omega, \sigma_h) = \frac{\omega}{\sigma_h^2} \exp\left(\frac{-\omega^2}{2\sigma_h^2}\right) \qquad (3.13)$$

Then unconditional PEP can be written as

$$P_s\{\mathbf{x}_a \rightarrow \mathbf{x}_b\} = \int_0^\infty \frac{\omega}{\sigma_h^2} \exp\left(\frac{-\omega^2}{2\sigma_h^2}\right) \times \frac{1}{2} \operatorname{erfc}\left(\frac{\omega \sum_{k=1}^K \delta_k}{\sqrt{4N_0}}\right) d\omega \qquad (3.14)$$

$$P_s\{\mathbf{x}_a \rightarrow \mathbf{x}_b\} = \frac{1}{2} \int_0^\infty \frac{\omega}{\sigma_h^2} \exp\left(\frac{-\omega^2}{2\sigma_h^2}\right) \times \operatorname{erfc}\left(\frac{\omega \sum_{k=1}^K \delta_k}{\sqrt{4N_0}}\right) d\omega \qquad (3.15)$$

Solving integral in equation 3.15 gives [118]

$$P_s\{\mathbf{x}_a \rightarrow \mathbf{x}_b\}_{\text{Rayleigh}} = \frac{1}{4} \left( 1 - \frac{\sigma_h \sum_{k=1}^K \delta_k}{\sqrt{4N_0 + (\sigma_h \sum_{k=1}^K \delta_k)^2}} \right) \qquad (3.16)$$
gives PEP of signal user using multi-dimensional constellations in a Rayleigh Fading channel in downlink configurations.

## Uplink Configuration

Approximation for Gaussian Function $Q$ is give by [119]

$$Q(x) \approx \frac{1}{12} \exp^{-x^2/2} + \frac{1}{6} \exp^{-2x^2/3} \quad (3.17)$$

Using equation 3.17, conditional PEP for single user in equation 3.11 can be written as

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}\} \approx \frac{1}{12} \exp\left(-\frac{\sum_{k=1}^{K} ||\gamma_k||^2}{4N_0}\right) + \frac{1}{6} \exp\left(-\frac{\sum_{k=1}^{K} ||\gamma_k||^2}{3N_0}\right) \quad (3.18)$$

where for $k$-th dimension, dimension wise distance is represented as $\delta_k = |x_a[k] - x_b[k]|$ and $\gamma_k = h_k \delta_k$. Unconditional PEP for above equation can be found by taking expectations of $\mathbf{h}$ on both sides of the equation. Using derivations in [120]

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{Rayleigh}} \approx \frac{1}{12} \prod_{k=1}^{K} \frac{1}{1 + \frac{\|\delta_k\|^2}{4N_0}} + \frac{1}{6} \prod_{k=1}^{K} \frac{1}{1 + \frac{\|\delta_k\|^2}{3N_0}} \quad (3.19)$$

<figure><img src="image_45.png" /><figcaption>Figure 3.2: SER results for single user using multi-dimensional constellations for Rayleigh Fading Channel (Uplink).</figcaption></figure>

Figure 3.2 shows analytical SER using equation 3.19 for Rayleigh Fading Channel in an uplink configuration.
### 3.3.2 Multiple users using multi-dimensional constellations

We extend the case of a single user using multi-dimensional constellations to multiple users using multi-dimensional constellations. We suppose that there are $J$ users transmitting using $K$ dimensional complex constellations over AWGN channel with no inter-symbol interference. The message transmitted by each user is represented by vector $\mathbf{x}$ such that $\mathbf{x} = [x(1), x(2), \dots, x(K)]^t$. With additive white Gaussian noise added, the received vector can be represented as

$$ \mathbf{y} = \sum_{j=1}^{J} \mathbf{x}_j + \mathbf{n} \qquad (3.20) $$

PEP received vector $\mathbf{y}$ closer to $\mathbf{x}_b$ as compared to $\mathbf{x}_a$ is calculated by

$$ P_s\{\mathbf{x}_a \to \mathbf{x}_b\} = Q\left(\sqrt{\frac{\sum_{k=1}^{K} ||\sum_{j=1}^{J} \delta_{j,k}||^2}{2N_0}}\right) \qquad (3.21) $$

where $\delta_{j,k} = x_{j,a}^k - x_{j,b}^k$ is the dimension wise distance. Using the identity in equation 3.7, PEP for multiple users using multi-dimensional constellations in an AWGN channel can be written as

$$ P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{AWGN}} = \frac{1}{2} \text{erfc} \left( \sqrt{\frac{\sum_{k=1}^{K} ||\sum_{j=1}^{J} \delta_{j,k}||^2}{4N_0}} \right) \qquad (3.22) $$

#### Rayleigh fading channel

We suppose the same case that there are $J$ users transmitting using $K$ dimensional complex constellations over Rayleigh fading channel with no inter-symbol interference. The message transmitted by each user is represented by vector $\mathbf{x}$ such that $\mathbf{x} = [x(1), x(2), \dots, x(K)]^t$. With additive white Gaussian noise added, the received vector can be represented as

$$ \mathbf{y} = \sum_{j=1}^{J} \mathbf{h}_j \mathbf{x}_j + \mathbf{n} \qquad (3.23) $$

Using the CDF of a normal Gaussian random variable, the conditional PEP received vector $\mathbf{y}$ closer to $\mathbf{x}_b$ as compared to $\mathbf{x}_a$ is calculated by

$$ P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}\} = Q\left(\sqrt{\frac{||\mathbf{h}\Delta||^2}{2N_0}}\right) \qquad (3.24) $$

where $\Delta = \mathbf{x}_a - \mathbf{x}_b$, for multiple users $J$ using $K$ dimensional constellation

$$ P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}_j, 1 \le j \le J\} = Q\left(\sqrt{\frac{\sum_{k=1}^{K} ||\sum_{j=1}^{J} h_{j,k} \delta_{j,k}||^2}{2N_0}}\right) \qquad (3.25) $$
where $\delta_{j,k} = x_{j,a}^k - x_{j,b}^k$ is the dimension wise distance.

Let $\gamma_k = \sum_{j=1}^{J} h_{j,k} \delta_{j,k} \forall K$ then equation 3.25 can be written as

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}_j, 1 \le j \le J\} = Q\left(\sqrt{\frac{\sum_{k=1}^{K} ||\gamma_k||^2}{2N_0}}\right) \quad (3.26)$$

Approximation for Gaussian Function $Q$ is given by [119]

$$Q(x) \approx \frac{1}{12} \exp^{-x^2/2} + \frac{1}{6} \exp^{-2x^2/3} \quad (3.27)$$

which becomes more accurate as the value of $x$ increases. Using the approximation in equation 3.27, equation 3.26 can be written as

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}_j, 1 \le j \le J\} \approx \frac{1}{12} \exp\left(-\frac{\sum_{k=1}^{K} ||\gamma_k||^2}{4N_0}\right) + \frac{1}{6} \exp\left(-\frac{\sum_{k=1}^{K} ||\gamma_k||^2}{3N_0}\right) \quad (3.28)$$

Unconditional PEP for above equation can be found by taking expectations of $\mathbf{h}$ on both sides of the equation. Using derivations in [120]

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{Rayleigh}} \approx \frac{1}{12} \prod_{k=1}^{K} \frac{1}{1 + \frac{\sum_{j=1}^{J} ||\delta_{j,k}||^2}{4N_0}} + \frac{1}{6} \prod_{k=1}^{K} \frac{1}{1 + \frac{\sum_{j=1}^{J} ||\delta_{j,k}||^2}{3N_0}} \quad (3.29)$$

Gives the equation approximation for pairwise error probability for multiple users using multi-dimensional constellations in a Rayleigh fading channel.

### 3.3.3 BER for $J$ users in an Uplink SCMA

We consider that for $J$ users transmitting over $K$ frequency layers in an uplink SCMA. Each user has its own codebook of size $K \times M$, where $log_2(M)$ incoming bits of each user is mapped onto $K$ dimensional codeword of size $M$. After the SCMA encoder, signal is transmitted over Rayleigh fading channel with AWGN noise added which is distributed according to $CN(0, N_0)$. The received signal at frequency layer $k$ can be represented as

$$y_k = \sum_{j \in \zeta_k} h_{k,j} x_{k,j} + n_k \forall k = 1, \dots, K, \forall j = 1, \dots, J \quad (3.30)$$

where $\zeta_k$ represents the users in frequency layer $k$. With power allocation above equation can be written as

$$y_k = \sum_{j \in \zeta_k} \sqrt{p_j} h_{k,j} x_{k,j} + n_k \forall k = 1, \dots, K, \forall j = 1, \dots, J \quad (3.31)$$

PEP at symbol level, given for AWGN channel and Rayleigh Fading Channel for SCMA users can be given by equations 3.3 and 3.11 respectively
$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{AWGN}} = Q\left(\sqrt{\frac{\sum_{k=1}^{K} ||\sum_{j \in \zeta_k} \delta_{j,k}||^2}{2N_0}}\right) \quad (3.32)$$

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{AWGN}} = \frac{1}{2} \text{erfc} \left( \sqrt{\frac{\sum_{k=1}^{K} ||\sum_{j \in \zeta_k} \delta_{j,k}||^2}{4N_0}} \right) \quad (3.33)$$

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}_j, 1 \le j \le J\}_{\text{Rayleigh}} = Q\left(\sqrt{\frac{\sum_{k=1}^{K} ||\sum_{j \in \zeta_k} \sqrt{\overline{p_j}} h_{j,k} \delta_{j,k}||^2}{2N_0}}\right) \quad (3.34)$$

where in equations 3.33 and 3.34, $\delta_{j,k} = x_{j,a}^k - x_{j,b}^k$ is the dimension wise distance. To find unconditional PEP, using equation 3.29, equation 3.34 can be written as

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{Rayleigh}} \approx \frac{1}{12} \prod_{k=1}^{K} \frac{1}{1 + \frac{\Lambda_k}{4N_0}} + \frac{1}{6} \prod_{k=1}^{K} \frac{1}{1 + \frac{\Lambda_k}{3N_0}} \quad (3.35)$$

where $\Lambda_k = \sum_{j \in \zeta_k} ||\sqrt{p_j} \delta_{j,k}||^2$ with $\zeta_k$ is the set of users connected to k-th frequency layer.

### Union Bound

$M^J$ possible combinations of symbols that can be transmitted by $J$ users. The average SER for $j$-th user is upper bounded by as [115]

$$P_s^j \le \frac{1}{M^J} \sum_{a=1}^{M^J} \sum_{\substack{b=1 \\ b \ne a}}^{M^J} P_s\{\mathbf{x}_a \to \mathbf{x}_b\} \quad (3.36)$$

Since $P\{\mathbf{x}_a \to \mathbf{x}_b\}$ in equation 3.33 and 3.34 is dependent on dimension wise distance i.e. $\delta_{j,k} = x_{j,a}^k - x_{j,b}^k$ so using minimum value of dimension wise distance $\delta_{j,k}^{min}$ and number of times $n$, $\delta_{j,k}^{min}$ is repeating, approximation of equation 3.36 can be written as [121]

$$P_s^j \approx \frac{n}{M^J} P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\delta_{j,k}=\delta_{j,k}^{min}} \quad (3.37)$$

Using the union bound, average bit error of SCMA can be found as

$$P_b^j \le \frac{1}{M^J \times J \log_2(M)} \sum_{\mathbf{x}_a} \sum_{\mathbf{x}_b \ne \mathbf{x}_a} P_s\{\mathbf{x}_a \to \mathbf{x}_b\} \quad (3.38)$$

### 3.3.4 Simulation Results

In this section we have assumed equal power allocation for all SCMA users. Simulation results for BER using Log-MPA for AWGN Channel and union bounds for
<table><caption>Table 3.1: Simulation Parameters AWGN and Rayleigh Channels</caption><thead><tr><td>Parameter</td><td>Value</td></tr></thead><tbody><tr><td>Number of users (J)</td><td>6</td></tr><tr><td>Number of resource block (K)</td><td>4</td></tr><tr><td>Number of iterations for Log-MPA (I<sub>t</sub>)</td><td>5</td></tr><tr><td>Number of users connected to a resource block (d<sub>j</sub>)</td><td>3</td></tr><tr><td>Number of resource blocks occupied by each user (d<sub>k</sub>)</td><td>2</td></tr><tr><td>Maximum number of bits transmitted by each user</td><td>10<sup>6</sup></td></tr><tr><td>Codebooks Used</td><td>Refer to subsection 1.4.1</td></tr></tbody></table>

BER in AWGN Channel are shown in figure 3.3. Simulation parameters can be observed in table 3.1. Union bound of BER for AWGN channel can be found using equation 3.38 where $P_s\{x_a \rightarrow x_b\}$ from equation 3.33 is used in this equation. For initial values of Eb/N0 i.e. 4dB union bound is not that tight but at higher values of Eb/N0 the values of union bound coincide with BER values for Log-MPA.

<figure><img src="image_46.png" /><figcaption>Figure 3.3: BER results for SCMA in AWGN Channel</figcaption></figure>

Similarly, with equal power allocation for each user in SCMA systems, analytical bounds and simulation results for SER using Log-MPA for AWGN channel are shown in figure 3.4. Union bound is simulated using equation 3.36 where the value $P_s\{x_a \rightarrow x_b\}$ is used from equation 3.33. Green curve in figure 3.4 represents equation 3.37. The approximation 3.37 shows much low error probability for $E_b/N_0$ from 4dB to 14dB.

Simulation results for BER of SCMA system using Log-MPA decoder for Rayleigh fading channel as well BER found using union bound are shown in figure 3.5. BER of union bound is calculated from equation 3.38 where the value of $P_s\{x_a \rightarrow x_b\}$ is used from equation 3.35. The bound is quite tight for higher values of $E_b/N_0$, thus
<figure><img src="image_47.png" /><figcaption>Figure 3.4: SER results for SCMA in AWGN Channel</figcaption></figure>

the bound is sufficient for expressing the bit error probability of SCMA users.

<figure><img src="image_48.png" /><figcaption>Figure 3.5: BER results for SCMA for Rayleigh Fading Channel</figcaption></figure>

Figure 3.6 shows SER for SCMA user with Log-MPA decoding in a Rayleigh fading channel with equal power allocation for each user in SCMA systems. Analytical SER from approximation in equation 3.35 is asymptotically tight and coincides
with SER at $E_b/N_0=20$dB which is due to the fact that approximation of Gaussian Function $Q$ in equation 3.27 is accurate for higher input values.

<figure><img src="image_49.png" /><figcaption>Figure 3.6: SER results for SCMA for Rayleigh Fading Channel</figcaption></figure>

## 3.4 Power Allocation for Target BER in SCMA

In this section we propose the power allocation for joint HIC-Log MPA decoder with LDPC decoder. We propose a power allocation scheme where criteria in inequality 2.23 is met and strong user in each frequency layer is hard decoded and interference cancellation is performed for the remaining user to be decoded using Log-MPA.

We define the connections of users to their respective frequency layer according to factor graph matrix 2.24 and such that for $J$ users, channel gains are as $|h_J|^2 > |h_{J-1}|^2 > \dots > |h_1|^2$, so that last user in each frequency layer is strong user. By factor graph 2.24 we observe that user 5 or user 6 are the strong users in each frequency layer.

### 3.4.1 Power Allocation for users

In this section we discuss power allocation for target BER for all $d_j$ users in each $k$-th frequency layer.
### 3.4.1.1 For strong users in each frequency layer

We use Gaussian Approximation to consider all users in a frequency layer other than the strongest user (in same frequency layer) as Gaussian noise. So that

$$y = \sqrt{p_J} |h_J| x_J + \sum_{j=1}^{J-1} \sqrt{p_j} |h_j| x_j + n = \sqrt{p_J} |h_J| x_J + I_{\lambda} \quad (3.39)$$

where $I_λ$ is the remaining users' interference and noise. Power Allocation for this strong user can be done:

* Using the method described in section 3.3.1 and since we consider other users as noise.

Piece-wise error probability for the strong user can be written as [115]

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}\} = Q\left(\sqrt{\frac{\|\mathbf{h}\Delta\|^2}{\mathrm{Var}(I_\lambda)}}\right) \quad (3.40)$$

where $\mathrm{Var}(.)$ stands for variance and $\Delta = \mathbf{x}_a - \mathbf{x}_b$. From equation 3.39 we can define

$$\mathrm{Var}(I_{\lambda}) = \sum_{j=1}^{J-1} \sigma_{j}^{2} + \sigma_{n}^{2} \quad (3.41)$$

where $\sigma_j^2$ is variance of each user from its Rayleigh Fading channel with an attribute of power allocated to this respective user while $\sigma_n^2$ is the variance of white additive Gaussian Noise that is $N_0$. As already mentioned that channels have been sorted such that $|h_J|^2 > |h_{J-1}|^2 > \dots > |h_1|^2$ so we need to find variance of each $|h_{J-1}|^2 \dots |h_1|^2$ in order to find the analytical BER for last user i.e. user $J$.

#### Unsorted Channels

$|h|^2$ is squared Rayleigh Distribution. If we defined a random variable $X$ as Rayleigh Distribution to find square of Rayleigh Distribution, we defined a random variable $Y$ such that

$$Y = g(X) = X^2 \quad (3.42)$$

where $X = \{x | x > 0\}$ and $Y = \{y | y > 0\}$ and using inverse $X = g^{-1}(Y) = \sqrt{y}$. Using Jacobian

$$\frac{dX}{dY} = \frac{1}{2\sqrt{Y}} \quad (3.43)$$

PDF of Rayleigh Distribution is defined by equation 3.12 by

$$f_X(x) = \frac{x}{\sigma_h^2} \exp\left(\frac{-x^2}{2\sigma_h^2}\right) \quad (3.44)$$

PDF of $Y$ can be defined by transformation technique

$$\begin{align}
f_Y(y) &= f_X(g^{-1}(y)) \left| \frac{dx}{dy} \right| \nonumber \\
&= \frac{\sqrt{y}}{\sigma_h^2} \exp \left( \frac{-\sqrt{y}}{2\sigma_h^2} \right) \left| \frac{1}{2\sqrt{y}} \right| \tag{3.45} \\
&= \frac{1}{2\sigma_h^2} \exp \left( \frac{-y}{2\sigma_h^2} \right) \nonumber
\end{align}$$
For $\lambda = \frac{1}{2\sigma_h^2}$ equation 3.45 becomes as,

$$f_Y(y) = \lambda \exp(-\lambda y) \qquad (3.46)$$

Equation 3.46 is PDF of exponential distribution [122]. So the square of Rayleigh Distribution is an exponential distribution which can also be seen in figure 3.7. We define Rayleigh Fading channel with zero mean and unit variance such that $h \sim CN(0, 2\sigma_h^2)$ so that scale parameter $\sigma_h = 1/\sqrt{2}$ and the mean and variance of Rayleigh Distribution are $\sigma_h \sqrt{\frac{\pi}{2}}$ and $\sigma_h^2 (\frac{4-\pi}{2})$ respectively [123]. In equation 3.46 which represents the PDF of exponential function, mean and variance of exponential functions are $\frac{1}{\lambda}$ and $\frac{1}{\lambda^2}$ respectively [122]. So mean and variance of each $|h|^2$ can be written as

$$\begin{aligned} \text{mean}(|h|^2) &= \frac{1}{\lambda} = 2\sigma_h^2 \\ \text{var}(|h|^2) &= \frac{1}{\lambda^2} = (2\sigma_h^2)^2 \end{aligned} \qquad (3.47)$$

when $\sigma_h = 1/\sqrt{2}$, mean and variance of $|h|^2$ becomes equal to one.

<figure><img src="image_50.png" /><figcaption>Figure 3.7: QQ Plot of $|h|^2$ Data versus Exponential</figcaption></figure>

## Sorted Channels

The values of mean and variance in equation 3.47 can be used in case if channels have not been sorted. When the channels have been sorted such as $|h_J|^2 > |h_{J-1}|^2 > \dots > |h_1|^2$, ordered statistics are to be considered. It can be seen from figure 3.8 and 3.9. In figures 3.8a and 3.9a for 1st user and J-th user respectively, are almost similar, which depicts that the channels are not sorted. The channels for each user are quite similar. Figures 3.8b and 3.9b for 1st user and J-th respectively, show that mean of PDF for user J is higher than the mean of PDF for user 1, shows that the
<figure><img src="image_51.png" /><figcaption>Figure 3.8: PDF and CDF for channel for user 1</figcaption></figure>

channels are sorted as $|h_J|^2 > |h_{J-1}|^2 > \dots > |h_1|^2$.

To find out variance of $|h^2|$ (exponential distribution) of remaining users, $|h_{J-1}|^2 \dots |h_1|^2$ ordered statistics are considered. PDF of $|h_j|^2$ for j-th user such that $j < J$ is given by [124].

$$f_{(j)}(x) = \frac{J!}{(j-1)!(J-j)!} f_X(x) [1 - F_X(x)]^{J-j} [F_X(x)]^{j-1} \quad (3.48)$$

where f denotes PDF and F denotes CDF. So the variance of $|h_j|^2$ is

$$\mathrm{Var}(|h_j|^2) = \int_{-\infty}^{\infty} (x - \mathbb{E}(X))^2 \frac{J!}{(j-1)!(J-j)!} f_X(x) [1 - F_X(x)]^{J-j} [F_X(x)]^{j-1} dx \quad (3.49)$$

<figure><img src="image_52.png" /><figcaption>Figure 3.9: PDF and CDF for channel for user J</figcaption></figure>

From [125], the variance of j-th order of statistics can then be estimated as

$$\mathrm{Var}(|h_j|^2) \approx \frac{j(J-j+1)}{(J+1)^2(J+2)} \frac{1}{f(F^{-1}(\frac{j}{J+1}))^2} \quad (3.50)$$
In each frequency layer, there are $d_j = 3$ users so in each frequency layer $|h_3|^2 > |h_2|^2 > |h_1|^2$. While last user i.e. U3 is to be decoded so variance of $|h|^2$ from remaining 2 users can be found using equation 3.50

$$ 
\begin{aligned}
\mathrm{Var}(|h_2|^2) &\approx 0.0500 \times \frac{1}{f(F^{-1}(0.50))^2} \\
\mathrm{Var}(|h_1|^2) &\approx 0.0375 \times \frac{1}{f(F^{-1}(0.25))^2}
\end{aligned}
\qquad (3.51) $$

For $|h|^2$ being Exponential random variable, its PDF and CDF is given by [122]

$$ f_X(x) = \lambda \exp(-\lambda x) \qquad (3.52) $$

$$ F_X(x) = 1 - \exp(-\lambda x) \qquad (3.53) $$

<figure><img src="image_53.png" /><figcaption>Figure 3.10: PDF and CDF sorted and unsorted exponential distributions</figcaption></figure>

Figure 3.10 also shows PDF and CDF plots for exponential distribution in equation 3.52 and 3.53. It shows that channels have been sorted according $|h_J|^2 > |h_{J-1}|^2 > \dots > |h_1|^2$.
Gaussian Approximation and transition from equation 3.18 to equation 3.19

Since we have assumed Gaussian Approximation to consider all users in a frequency layer other than the strongest user (in same frequency layer) as Gaussian noise. Thus we consider a single user using multi-dimensional constellations in different frequency layer so we can use equation 3.19 to compute the PEP for the strong users. We have to modify the expression by considering the following

* Sorting of the channel of each user

* Interference noise from remaining user in same frequency layer

* Power allocation coefficient

To modify the expression in equation 3.19, we look into detail how this equation is derived from equation 3.18. Recalling equation 3.18

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b | \mathbf{h}\} \approx \frac{1}{12} \exp\left(-\frac{\sum_{k=1}^{K} ||\gamma_k||^2}{4N_0}\right) + \frac{1}{6} \exp\left(-\frac{\sum_{k=1}^{K} ||\gamma_k||^2}{3N_0}\right)$$

where for k-th dimension, dimension wise distance is represented as $\delta_k = |x_a[k] - x_b[k]|$ and $\gamma_k = h_k \delta_k$. If $h \sim CN(0, 1)$, then each frequency layer $k$, $\gamma\{x_a \to x_b\} = h(x_a - x_b)$ so that $||\gamma_k||^2$ can be shown as exponential random variable from QQ plot in figure 3.11.

<figure><img src="image_54.png" /><figcaption>Figure 3.11: QQ Plot of $\gamma^2$ Data versus Exponential</figcaption></figure>

When $h$ has zero mean and unit variance, the mean of exponential random variable $||\gamma_k||^2$ is $||\delta_k||^2$ as per [120], so equation 3.18 can be written as
$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{Rayleigh}} \approx \frac{1}{12} \prod_{k=1}^{K} \frac{1}{1 + \frac{\|\delta_k\|^2}{4N_0}} + \frac{1}{6} \prod_{k=1}^{K} \frac{1}{1 + \frac{\|\delta_k\|^2}{3N_0}}$$

When Rayleigh Channel is sorted in each frequency layer such as $|h_3|^2 > |h_2|^2 > |h_1|^2$ since $d_j = 3$, $\mathbf{h}$ no more has zero mean and unit variance. In order to check if $\gamma\{\mathbf{x}_a \to \mathbf{x}_b\} = \mathbf{h}(\mathbf{x}_a - \mathbf{x}_b)$ in each frequency layer is still an exponential random variable after sorting channel, QQ plot is used. We check frequency layer 1 where user 2, user 3 and user 5 are connected. Channels are ordered such as $|h_5|^2 > |h_3|^2 > |h_2|^2$. Figure 3.12 shows the QQ plots, which clearly indicates that after sorting of channel, $||\gamma_k||^2$ is no more an exponential random variable. Since exponential distribution is a special case of gamma of distribution, so we check if after sorting $\mathbf{h}$ the variable $||\gamma_k||^2$ is a gamma random variable.

<figure><img src="image_55.png" /></figure>

<figure><img src="image_56.png" /><figcaption>(a) QQ Plot of User2 $\gamma^2$ Data versus Exponential
(b) QQ Plot of User3 $\gamma^2$ Data versus Exponential</figcaption></figure>

<figure><img src="image_57.png" /><figcaption>(c) QQ Plot of User5 $\gamma^2$ Data versus Exponential</figcaption></figure>

Figure 3.12: QQ Plot of $\gamma^2$ Data ($\mathbf{h}$ does not have zero mean and unit variance) versus Exponential

In figure 3.13 the QQ plot clearly, indicates that after sorting of channels for each user in a frequency layer, $||\gamma_k||^2$ can be treated as gamma random variable. We have computed the mean for $||\gamma_k||^2$ as
$$ \text{mean}(|\gamma_k|^2) = \text{var}(h_{j,k}) \times |\delta_{j,k}|^2 \quad (3.54) $$

Monte Carlo method has been used for all frequency layers and checking codewords of users connected to that frequency layer with sorted Rayleigh fading channel. Table 3.2 shows that different hundreds of runs prove the validity of equation 3.54

<figure><img src="image_58.png" /><figcaption>(a) QQ Plot of User2 $\gamma^2$ Data versus (b) QQ Plot of User3 $\gamma^2$ Data versus Gamma Gamma</figcaption></figure>

<figure><img src="image_59.png" /><figcaption>(c) QQ Plot of User5 $\gamma^2$ Data versus Gamma</figcaption></figure>

Figure 3.13: QQ Plot of $\gamma^2$ Data (h does not has zero mean and unit variance) versus Gamma

For strongest user i.e. $d_j$-th user (last user) in each frequency layer, PEP can be written as

$$ P_s^{d_j} \{ \mathbf{x}_a \to \mathbf{x}_b \}_{\text{Rayleigh}} \approx \frac{1}{12} \prod_{k \in \varrho_{d_j}} \frac{1}{1 + \frac{\eta_{d_j, k}}{4\omega_{d_j, k}}} + \frac{1}{6} \prod_{k \in \varrho_{d_j}} \frac{1}{1 + \frac{\eta_{d_j, k}}{3\omega_{d_j, k}}} \quad (3.55) $$

where

$$ \bullet \eta_{d_j,k} = p_{d_j} \times \text{var}(h_{d_j,k}) \times |\delta_{d_j,k}|^2 $$

$$ \bullet \omega_{d_j,k} = N_0 + \sum_{i=1}^{d_j-1} p_i \times \text{var}(|h_{i,k}|^2) $$
<table><caption>Table 3.2: Monte Carlo method to check validity of equation 3.54</caption><thead><tr><th>Parameter</th><th>Mean</th><th>Median</th><th>Variance</th></tr></thead><tbody><tr><td>(μ - var(h) × |δ|²) for runs=100</td><td>-2.0905e-07</td><td>7.3947e-06</td><td>1.4367e-08</td></tr><tr><td>(μ - var(h) × |δ|²) for runs=300</td><td>3.1582e-07</td><td>7.3754e-06</td><td>1.6729e-08</td></tr><tr><td>(μ - var(h) × |δ|²) for runs=500</td><td>7.4675e-07</td><td>7.4728e-06</td><td>1.9543e-08</td></tr></tbody></table>

* $\rho_{d_j}$ is the frequency layers to which $d_j$-th user is connected.

Only $var(h_{d_j,k})$ and $var(|h_{i,k}|^2)$ is to be calculated in equation 3.55. Variance of sorted squares Rayleigh distribution i.e. $|h|^2$ can be found using equation 3.50 where PDF and CDF of exponential distributions are defined by equation 3.52 and 3.53 respectively. Nevertheless, the summation of variance of all sorted channels is number of channels multiplied by unit variance. For example, for three users in a frequency layer have similar channel when unsorted, and variance of each channel is one. When the channels are sorted, the summation of variance of these channels is three times variance of each channel when unsorted i.e. three times one. It can be observed from figure 3.14 when the channels are sorted, the variance of this channel for the first user is lower than that of last users. Same can be observed while comparing figure 3.8b and 3.9b. It is observed for sorted channels that for 500 runs for 3 users in a frequency layers, $var(h_1) \approx 0.33$, $var(h_2) \approx 0.83$ and $var(h_3) \approx 1.83$. Similarly for 5 users in a frequency layers $var(h_1) \approx 0.20$, $var(h_2) \approx 0.45$, $var(h_3) \approx 0.78$, $var(h_3) \approx 1.28$ and $var(h_3) \approx 2.28$.

<figure><img src="image_60.png" /><figcaption>Figure 3.14: Variance of sorted Channels for different number of users</figcaption></figure>
Union bound for BER for $d_j$-th user for the sorted channel, can be written using equation 3.38 and 3.55 can be written as

$$P_b^{d_j} \le \frac{1}{M \times \log_2(M)} \sum_{\mathbf{x}_a} \sum_{\mathbf{x}_b \ne \mathbf{x}_a} P_s^{d_j} \{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{Rayleigh}} \quad (3.56)$$

We suppose $\alpha$ is power allocation coefficient for each user such that $p_j = \alpha_j \times p_T$, with $p_j$ is the controlled transmit power for each user $j$ and $p_T$ is total controlled transmit power, such that $\sum_{i \in d_j} \alpha_i = 1$. If $\alpha_3$ is coefficient of power for the strong user i.e. last user ($d_j$-th user) in each frequency layer then $1 - \alpha_3$ is distributed among remaining users in respective frequency layer. Since channel for remaining users is also sorted, each of these users have different channel gain and variance so we cannot calculate the power allocation for the strong user using equations 3.55 and 3.56 unless we have the exact values for $\alpha_1$ for the weaker users i.e. user 1 and $\alpha_2$ for user 2. ($\omega_{d_j,k}$ in equation 3.55 cannot be calculated with knowledge of $\alpha_1$ and $\alpha_2$)

### 3.4.1.2 Power Allocation for remaining users in each frequency layers

By assuming that user 5 and user 6 are strongest users and power of each user is equally divided on two frequency layers, then according to function mapping 2.24 Users other than the strongest user are decoded using Log-MPA decoding. After removal of the strongest user in each resource block, we have $J' = 4$ in $K = 4$ frequency layers. Users in each frequency layers are according to following figure. And factor graph matrix in 2.24 is transformed as

<figure><img src="image_61.png" /><figcaption>Figure 3.15: Remaining Users connected to Frequency Layers</figcaption></figure>

$$F = \begin{bmatrix} 0 & 1 & 1 & 0 \\ 1 & 0 & 1 & 0 \\ 0 & 1 & 0 & 1 \\ 1 & 0 & 0 & 1 \end{bmatrix} \quad (3.57)$$

For the first 2 users power coefficients $\alpha_1 + \alpha_2 = 1 - \alpha_3 = \vartheta$. Equation 3.38 union bound for 1st user and 2st user can be written as

$$P_b^{J'} \le \frac{1}{M^{J'} \times J' \log_2(M)} \sum_{\mathbf{x}_a} \sum_{\mathbf{x}_b \ne \mathbf{x}_a} P_s \{\mathbf{x}_a \to \mathbf{x}_b\} \quad (3.58)$$
where

$$P_s\{\mathbf{x}_a \to \mathbf{x}_b\}_{\text{Rayleigh}} \approx \frac{1}{12} \prod_{k=1}^{K} \frac{1}{1 + \frac{\Lambda_k}{4N_0}} + \frac{1}{6} \prod_{k=1}^{K} \frac{1}{1 + \frac{\Lambda_k}{3N_0}} \quad (3.59)$$

with $\Lambda_k = \sum_{j' \in \zeta_k} ||\sqrt{\alpha_{j'}} \delta_{j',k}||^2$ with $\zeta_k$ is the set of users connected to k-th frequency layer and $j' \in J'$.

We find the minimum value of $\vartheta$ for which target BER is achieved for the first and second users. We check for different values $\vartheta$ and for each value $\alpha_1$ and $\alpha_2$ are defined based on CSI as follow

$$\alpha_1 = \frac{|h_2|^2}{|h_1|^2} \times (\vartheta - \alpha_1) \quad (3.60)$$

so

$$\alpha_1 = \frac{|h_2|^2}{|h_1|^2 + |h_2|^2} \times \vartheta \quad (3.61)$$

and

$$\alpha_2 = \vartheta - \alpha_1 \quad (3.62)$$

At a certain SNR level, to reach the final target BER for SCMA users at output of LDPC decoder, we have to take into account an improvement in terms of BER by LDPC decoder. The target BER at output of SCMA decoder has to be lower than final target BER.

### 3.4.1.3 Approach for calculating power allocation coefficient of each users

In this subsection, we summarize the method adopted for calculating power allocation coefficient for each user.

* For a final target BER, an intermediate target BER is defined at output of SCMA decoder

* Minimum value of $\vartheta$ is iteratively calculated for intermediate target BER at specific SNR at output of SCMA decoder

* $\alpha_3$ is set to $1 - \vartheta$

* Inequality in 2.23 i.e. $\Gamma_{k,m} \ge \Gamma$ is checked

* If the inequality is satisfied, we proceed further with LDPC decoding

* Else if the inequality is not satisfied, target BER cannot be reach at given SNR. Either SNR has to be increased or value of BER has to be lowered.
## 3.4.2 Simulation Results

Before power allocation for a target BER for SCMA users, we observe the results of Log-MPA decoding of SCMA system with $J = 6$ users with equal power allocation in $K = 4$ frequency layers when channels are sorted such as $|h_3|^2 > |h_2|^2 > |h_1|^2$ for each frequency layer of SCMA since there are $d_j = 3$ users in each frequency layer. Users are connected according factor graph matrix in 3.63. Since user 5 and user 6 are the last users in their respective frequency layers so we observe in figure 3.16 that they are best performing users under sorted channels. Similarly, user 1 and user 2 are the weakest users in respectively frequency layers so they are worst performing users in 3.16 under condition of channel sorting.

<figure><img src="image_62.png" /><figcaption>Figure 3.16: $J = 6$ SCMA user in sorted channels with Log-MPA decoding with sorted channels and equal power allocation</figcaption></figure>

$$F = \begin{bmatrix} 0 & 1 & 1 & 0 & 1 & 0 \\ 1 & 0 & 1 & 0 & 0 & 1 \\ 0 & 1 & 0 & 1 & 0 & 1 \\ 1 & 0 & 0 & 1 & 1 & 0 \end{bmatrix} \qquad (3.63)$$

### 3.4.2.1 Target BER=10⁻⁵

We defined a target BER=10⁻⁵ to achieve for each user at the output of LDPC decoder. In order to achieve this BER, we need to define an intermediate target BER at output HIC-Log MPA decoder. We make use of abacus in figure 3.17 to find an intermediate BER. At the abscissa, BER for different values of Eb/N0 for an SCMA decoder is defined. While ordinate represents the BER values at output of LDPC decoder. We can simply say that abscissa and ordinate represents values
at input and output LDPC decoder, respectively. It is observed in figure 3.17 that to achieve BER=10⁻⁵ at output of LDPC decoder, SCMA decoder needs to achieve BER around 10⁻¹. This abacus relates input and output BER at LDPC decoder block for different coder rates, i.e. 0.4 and 0.5 where each LDPC decoder has 10 numbers of iterations. Figure 3.18 shows intermediate target BER and final target BER at their respective blocks in an LDPC encoded SCMA system.

<figure><img src="image_63.png" /><figcaption>Figure 3.17: Abacus for input and output BER at LDPC decoder block</figcaption></figure>

After an intermediate BER has been defined, we move onto to step 2 mentioned in section 3.4.1.3. We compute the value $\vartheta$ in order to compute $\alpha$ for power allocation coefficient for first and second user in each frequency layer.

<figure><img src="image_64.png" /><figcaption>Figure 3.18: Intermediate Target BER at output of SCMA decoder and final BER at output of LDPC decoder</figcaption></figure>