• No results found

Implementation of Low-Density Parity-Check codes for 5G NR shared channels

N/A
N/A
Protected

Academic year: 2022

Share "Implementation of Low-Density Parity-Check codes for 5G NR shared channels"

Copied!
91
0
0

Loading.... (view fulltext now)

Full text

(1)

Implementation of Low-Density Parity-Check codes for 5G NR shared channels

LIFANG WANG

KTH ROYAL INSTITUTE OF TECHNOLOGY

SCHOOL OF ELECTRICAL ENGINEERING AND COMPUTER SCIENCE

(2)
(3)

shared channels

LIFANG WANG

Master’s Programme, Embedded Systems, 120 credits Date: August 30, 2021

Supervisors: Meysam Masoudi, Bengt Hallinger Examiner: Slimane Ben Slimane

School of Electrical Engineering and Computer Science Host company: TietoEVRY

Swedish title: Implementering av paritetskoder med låg densitet för delade 5G NR kanaler

(4)

© 2021 Lifang Wang

(5)

Abstract

Channel coding plays a vital role in telecommunication. Low-Density Parity- Check (LDPC)codes are linear error-correcting codes. According tothe 3rd Generation Partnership Project (3GPP) TS 38.212, LDPC is recommended forthe Fifth-generation (5G) New Radio (NR)shared channels due to its high throughput, low latency, low decoding complexity and rate compatibility.

LDPC encoding chain has been defined in 3GPP TS 38.212, but some details of LDPC encoding chain are still required to be explored in the MATLAB environment. For example, how to deal with the filler bits for encoding and decoding. However, as the reverse process ofLDPCencoding, there is no information onLDPCdecoding process for5G NRshared channels in 3GPP TS 38.212. In this thesis project, LDPC encoding and decoding chains were thoughtfully developed with MATLAB programming based on 3GPPTS 38.212. SeveralLDPCdecoding algorithms were implemented and optimized. The performance of LDPCalgorithms was evaluated usingblock error rate (BLER)v.s. signal to noise ratio (SNR)and CPU time.

Results show that the double diagonal structure-based encoding method is an efficient LDPCencoding algorithm for 5G NR. Layered Sum Product Algorithm (LSPA) and Layered Min-Sum Algorithm (LMSA) are more efficient thanSum Product Algorithm (SPA)andMin-Sum Algorithm (MSA).

Layered Normalized Min-Sum Algorithm (LNMSA)with proper normalization factor and Layered Offset Min-Sum Algorithm (LOMSA) with good offset factor can optimize LMSA. The performance of LNMSA and LOMSA decoding depends more on code rate than transport block.

Keywords

New radio (NR), Shared channel, Channel coding, Low-Density Parity-Check (LDPC) codes, Layered Normalized Min-Sum Algorithm (LNMSA), Layered Offset Min-Sum Algorithm (LOMSA)

(6)
(7)

Abstract

Kanalkodning spelar en viktig roll i telekommunikation. Paritetskontrollkoder med låg densitet (LDPC) är linjära felkorrigeringskoder. Enligt tredje generationens partnerskapsprojekt (3GPP) TS 38.212, LDPC rekommenderas för den femte generationens (5G) nya radio (NR) delade kanal på grund av dess höga genomströmning, låga latens, låga avkodningskomplexitet och hastighetskompatibilitet.

LDPC kodningskedjan har definierats i 3GPP TS 38.212, men vissa detaljer iLDPCkodningskedjan krävs fortfarande för att utforskas i Matlab- miljön. Till exempel hur man hanterar fyllnadsbitar för kodning och avkodning.

Men som den omvända processen förLDPCkodning finns det ingen information om LDPC avkodningsprocessen för 5G NR delade kanaler på 3GPP TS

38.212. I detta avhandlingsprojekt utveckladesLDPC-kodning och avkodningskedjor enligt3GPPTS 38.212. Flera LDPC-avkodningsalgoritmer implementerades

och optimerades. Prestandan förLDPC-algoritmer utvärderades med användning av blockfelshalt (BLER) v.s. signal/ brusförhållande (SNR) och CPU-tid.

Resultaten visar att den dubbla diagonala strukturbaserade kodningsmetoden är en effektiv LDPC kodningsalgoritm för 5G NR. Layered Sum Product Algorithm (LSPA) och Layered Min-Sum Algorithm (LMSA) är effektivare än Sum Product Algorithm (SPA) och Min-Sum Algorithm (MSA). Layered Normalized Min-Sum Algorithm (LNMSA) med rätt normaliseringsfaktor och Layered Offset Min-Sum Algorithm (LOMSA) med bra offsetfaktor kan optimera LMSA. Prestandan för LNMSA- och LOMSA-avkodning beror mer på kodhastighet än transportblock.

Nyckelord

Ny radio (NR), Delad kanal, Kanalkodning, Paritetskontrollkoder med låg (LDPC) densitet, Layered Normalized Min-Sum Algorithm (LNMSA), Layered Offset Min-Sum Algorithm (LOMSA)

(8)
(9)

Acknowledgments

Firstly, I would like to express my gratitude to KTH Royal Institute of Technology where I can delve into embedded system and software engineering.

I would like to give my deepest appreciation to TietoEVRY, Karlstad who offered me this precious opportunity to do my master thesis. It has much fun to explore channel coding in 5G NR.

I am grateful to my supervisor Mr. Bengt Hallinger from TietoEVRY who has provided good support and guide during the whole thesis work. His deep understanding of 5G NR and channel coding gave me a lot of inspiration that made different thoughts into meaningful results.I would never forget the countless times of discussion when I was struggling with my master thesis. I would like to thank my examiner prof. Slimane Ben Slimane from KTH. He has supported me during the whole thesis work and without him, I could not complete this thesis work. Also, I would like to express my thankness to my supervisor Meysam Masoudi from KTH.

I thank all my friends Zhiying Xu, Jinyu Yu, Jinglei Yue and Guoqi Wen.

Zhiying Xu is my opponent and she gave a lot of suggestions. Zhiying Xu, Jinyu Yu, Jinglei Yue always supported me when I needed. Dr.Guoqi Wen reviewd my report and gave me many good suggestions. Thank you for all your effort.

Finally, I would like to give my most sincere thanks to my husband Yunpeng Ma and daughter Zixuan Ma who are my biggest motivation. My husband Yunpeng Ma always encourages and supports me. My daughter Zixuan Ma brings me a lot of joy.

Karlstad, Sweden, August 2021 Lifang Wang

(10)
(11)

Contents

1 Introduction 1

1.1 Problem . . . 1

1.2 Purpose . . . 2

1.3 Goals . . . 2

1.4 Research Methodology . . . 3

1.5 Ethics and Sustainability . . . 4

1.6 Structure of the thesis . . . 4

2 Background 5 2.1 Channel coding . . . 5

2.1.1 Polar codes . . . 5

2.1.2 LDPC codes . . . 6

2.2 Telecommunication . . . 6

2.2.1 3GPP . . . 6

2.2.2 5G NR shared channel . . . 6

2.2.3 Modulation . . . 7

2.2.4 SNR and Eb/N0 . . . 7

2.2.5 Channel model . . . 7

2.2.6 Block Error Rate . . . 9

2.3 Related work . . . 9

2.3.1 LDPC channel coding chain . . . 9

2.3.2 LDPC encoding. . . 10

2.3.3 LDPC decoding. . . 10

2.4 Summary . . . 11

3 Methods 13 3.1 Base graphs and parity-check matrix . . . 13

3.1.1 Base graphs analysis . . . 13

3.1.2 Parity-check matrix calculation . . . 15

(12)

CONTENTS | v

3.2 LDPC encoding and decoding chains . . . 17

3.2.1 LDPC encoding chain . . . 17

3.2.2 LDPC decoding chain . . . 21

3.3 LDPC encoding . . . 22

3.4 LDPC decoding . . . 23

3.4.1 Sum Product Algorithm (SPA) . . . 26

3.4.2 Min-Sum Algorithm (MSA) . . . 27

3.4.3 Optimized Min-Sum Decoding Algorithm . . . 28

3.4.4 Layered Message Passing Algorithm . . . 29

3.5 Test design . . . 30

3.5.1 Software Tools . . . 30

3.5.2 Test environment . . . 30

3.5.3 Test cases . . . 31

4 Implementation and optimization 33 4.1 LDPC encoding and decoding chains . . . 33

4.2 LDPC encoding . . . 33

4.3 LDPC decoding . . . 36

4.3.1 Sum Product Algorithm (SPA) . . . 36

4.3.2 Layered Sum Product Algorithm (LSPA) . . . 37

4.3.3 Min-Sum Algorithm (MSA) . . . 39

4.3.4 Layered Min-Sum Algorithm (LMSA). . . 40

4.3.5 Optimized Min-Sum Algorithms . . . 40

5 Results and Discussion 44 5.1 LDPC decoding algorithms with different decoding iterations . 44 5.2 Layered Min-Sum Algorithm and transport blocks with different code rates . . . 50

5.3 Optimized Min-Sum Algorithms . . . 52

5.3.1 Layered Normalized Min-Sum Algorithms . . . 52

5.3.2 Layered Offset Min-Sum Algorithms . . . 54

5.3.3 LNMSA v.s. LOMSA . . . 57

5.4 Optimized decoding algorithms with different transport blocks at the same code rate . . . 59

5.5 Layered Normalized Min-Sum Algorithm and different channel models . . . 61

5.6 Discussion . . . 62

(13)

6 Conclusions and Future work 65 6.1 Conclusions . . . 65 6.2 Future work . . . 66

References 68

(14)

LIST OF FIGURES | vii

List of Figures

3.1 Base graphs block structure . . . 14

3.2 Base graph 1 with iLS = 1 . . . 15

3.3 Base graph B . . . 16

3.4 Parity-check matrix H . . . 16

3.5 LDPC encoding chain . . . 17

3.6 LDPC decoding chain . . . 17

3.7 LDPC encoder . . . 22

3.8 LDPC decoder . . . 23

3.9 Parity-check matrix and Tanner graph . . . 24

3.10 Iteration between variable nodes and check nodes . . . 25

3.11 Shape of ϕ(x) . . . 28

3.12 Layered message passing example . . . 30

3.13 Test environment overview . . . 31

4.1 LDPC encoding and decoding chains . . . 34

5.1 Simulation results of Group 1 test cases . . . 45

5.2 Simulation results of SPA v.s. LSPA and MSA v.s. LMSA . . 46

5.3 Simulation results of Group 1 LSPA with different iterations . 47 5.4 Simulation results of Group 1 LMSA with different iterations . 48 5.5 Simulation results of Group 1 LSPA and LMSA . . . 49

5.6 CPU time for different LDPC decoding algorithms . . . 49

5.7 LMSA and different code rates (BLER vs SNR) . . . 50

5.8 LMSA and different code rates (BLER vs Eb/N0) . . . 51

5.9 Simulation results of LNMSA (2400,872) . . . 53

5.10 Simulation results of LNMSA (2400,1608) . . . 53

5.11 Simulation results of LNMSA (2400,1992) . . . 54

5.12 Simulation results of LOMSA (2400,872) . . . 55

5.13 Simulation results of LOMSA (2400,1608) . . . 56

5.14 Simulation results of LOMSA (2400,1992) . . . 56

(15)

5.15 Simulation results of LNMSA v.s. LOMSA (2400,872) . . . . 57 5.16 Simulation results of LNMSA v.s. LOMSA (2400,1608) . . . 58 5.17 Simulation results of LNMSA v.s. LOMSA (2400,1992) . . . 59 5.18 Simulation results of different transport blocks using LNMSA

and LOMSA. . . 60 5.19 Simulation results of LNMSA with channel models AWGN

and EPA . . . 61 5.20 Magnitudes of MSA, NMSA and OMSA variable nodes output 63 5.21 Simulation result of transport block using different base graphs 64

(16)

LIST OF TABLES | ix

List of Tables

2.1 Pros and Cons of LDPC decoding algorithms in literature study 12

3.1 Sets of LDPC lifting size[1] . . . 15

3.2 Kb value [1] . . . 19

3.3 Test cases . . . 32

4.1 Implementation of LDPC encoding . . . 36

4.2 Implementation of Sum Product Algorithm . . . 38

4.3 Implementation of Layered Sum Product Algorithm . . . 39

4.4 Implementation of Min-Sum Algorithm . . . 41

4.5 Implementation of Layered Min-Sum Algorithm. . . 42

4.6 Implementation of Layered Normalized Min-Sum Algorithm and Layered Offset Min-Sum Algorithm . . . 43

5.1 Parameters of all transport blocks in LDPC coding chain . . . 44

5.2 CPU time of Group 1 test cases . . . 48

5.3 CPU time of Group 4 test cases . . . 60

(17)

List of acronyms and abbreviations

3GPP the 3rd Generation Partnership Project 4G Fourth-generation

5G the Fifth-generation

AWGN Additive White Gaussian noise BLER block error rate

BP belief propagation

BPSK Binary phase-shift keying CRC Cyclic redundancy check dB decibel

Eb/N0 Energy per bit to noise power spectral density ratio EPA Extended Pedestrian A mode

HARQ hybrid automatic repeat request LDPC Low-Density Parity-Check LLR Log-Likelihood Ratios

LMSA Layered Min-Sum Algorithm

LNMSA Layered Normalized Min-Sum Algorithm LOMSA Layered Offset Min-Sum Algorithm LSPA Layered Sum Product Algorithm LTE long-term evolution

MS Min-Sum

MSA Min-Sum Algorithm

(18)

List of acronyms and abbreviations | xi

NMSA Normalized Min-Sum Algorithm NR New Radio

OMSA Offset Min-Sum Algorithm

PDSCH Physical Downlink Shared Channel PSK Phase-shift keying

PUSCH Physical Uplink Shared Channel QPSK Quadrature phase-shift keying RV redundancy versions

SCMS self-corrected min-sum SNR signal to noise ratio SPA Sum Product Algorithm

(19)

Chapter 1 Introduction

Low-Density Parity-Check (LDPC) codes are linear error-correcting codes.

According to the 3rd Generation Partnership Project (3GPP) TS 38.212 [1], two channel coding codes, i.e., Polar codes and LDPC codes, are recommended for the Fifth-generation (5G) New Radio (NR). Polar codes are applied to 5G NR control channels. LDPC codes are suitable for 5G NR shared channels due to its high throughput, low latency, low decoding complexity and rate compatibility. LDPCcodes can be used to different block sizes with varying code rates because of the design of rate-compatible base graphs. Another advantage of5G NR LDPCcodes is that the performance of LDPCcodes has an error floor around or belowblock error rate (BLER)10−5 for all code sizes and code rates [2]. SoLDPCcodes play an important role in channel coding for 5G communication.

TietoEVRY hosts this project in Karlstad, Sweden, with an interest in developing LDPC encoding and decoding chains and optimizing LDPC encoding and decoding algorithms for 5G NR based on 3GPP TS 38.212 [1]. Therefore, the objective of current research is to study different kinds of LDPC encoding and decoding algorithms to seek the most efficient ones for implementation on 5G link level simulator 5G_lls.

1.1 Problem

LDPC encoding chain has been defined in 3GPP TS 38.212 [1], but some details of LDPC encoding chain is still required to be explored in the MATLAB [3] environment. For example, how to deal with the filler for encoding and decoding. LDPC encoding process can be optimized to be

(20)

2 | Introduction

more efficient. However, as the reverse process of LDPC encoding, there is no information on LDPCdecoding process for5G NRshared channels in 3GPPTS 38.212 [1]. The specific problems are illustrated as follows:

1. How to implement the LDPC encoding and decoding chains using MATLAB?

2. Which algorithm is more efficient to process LDPC encoding for 5G NRshared channels?

3. WhichLDPCdecoding algorithms are more efficient for5G NRshared channels?

1.2 Purpose

This thesis project studied the error correction codes and the development of theLDPCencoding and decoding. TheLDPCencoding and decoding chains were developed according to3GPPTS 38.212 [1]. The performance ofLDPC decoding algorithms was evaluated as well. The results will be used on the 5G_lls.

This thesis project aims to developLDPCencoding and decoding chains and propose optimal encoding and decoding algorithms forLDPCcodes that can be used for 5G NR shared channels. Performance in different aspects, such as BLER v.s. signal to noise ratio (SNR) curves and execution CPU time will be measured. The benefits and drawbacks of the studied algorithms will be discussed.

1.3 Goals

The general objective of this study is to develop LDPC encoding and decoding chains, optimize LDPC encoding and decoding algorithms for implementing them on 5G_lls. The specific objectives are to:

1. understand the existing link level simulation code from 5G_lls.

2. develop LDPC encoding and decoding chains according to 3GPP specification.

(21)

3. explore efficientLDPCencoding algorithm.

4. explore differentLDPCdecoding techniques.

5. optimizeLDPCdecoding algorithms for 5G NR shared channels.

6. implement optimizedLDPCdecoding algorithms on 5G_lls.

7. evaluate the performance of algorithms in terms of BLER v.s. SNR graphs and execution CPU time.

8. discuss the benefits and drawbacks of the studied LDPC decoding algorithms with different code block sizes.

The deliverable results of the project include MATLAB scripts and technical report.

1.4 Research Methodology

In this project,LDPCencoding fully utilizes the double diagonal structure of the base graphs defined in 3GPPTS 38.212 [1]. Due to the feature of base graphs, the double diagonal structure can make the LDPC encoding more efficient.

Several LDPC decoding algorithms were studied and optimized in this thesis project, includingSum Product Algorithm (SPA),Min-Sum Algorithm (MSA),Normalized Min-Sum Algorithm (NMSA),Offset Min-Sum Algorithm (OMSA), Layered Normalized Min-Sum Algorithm (LNMSA) andLayered Offset Min-Sum Algorithm (LOMSA).SPAcan achieve near-optimal decoding performance but it is complex. MSAis a reduced complexity algorithm with min-sum approximation, but the outputs from check nodes inMSAdecoding are overestimated compared to SPA. NMSA and OMSA aim to optimize MSA. At last, layered message passing algorithm is studied and implemented combined withSPA, MSA,NMSAandOMSA, which leads toLayered Sum Product Algorithm (LSPA),Layered Min-Sum Algorithm (LMSA),LNMSA andLOMSA, because layered message passing algorithm can accelerate the convergence process.

(22)

4 | Introduction

1.5 Ethics and Sustainability

LDPC plays a vital role in5G NR. 5G technology has changed the way of people living in many aspects. We must build a digital trust society and comply with ethical requirements.

5G technology can help to reduce carbon emissions, as well as enable innovative applications in a range of sectors, from smart grid to precision agriculture, thereby helping to reduce CO2 emissions [4].

1.6 Structure of the thesis

Chapter 2 presents relevant background information about channel coding, telecommunication and the related work. The methodology used for LDPC encoding and decoding chains, LDPC encoding and decoding algorithms and the test design are described in Chapter 3. Chapter 4 focuses on the implementation and optimization of LDPC encoding and decoding chains, LDPC encoding and decoding algorithms. The results and discussion of LDPC decoding algorithms are included in Chapter 5. Chapter 6 presents the conclusion and future work.

(23)

Chapter 2 Background

This chapter provides channel coding-related background information about channel coding and telecommunication. This chapter also describes related work about LDPC channel coding chain, LDPC encoding and decoding algorithms.

2.1 Channel coding

Channel coding has appeared since Shannon applied probability theory to study the communication system. Publication [5] shows that the errors induced by the noisy channel can be reduced to the desired level by using a proper coding scheme for a given transmission rate less than or equal to channel capacity. Channel coding can minimize the effect of channel noise by using an encoder, which encodes the information bits by adding redundant bits, and a decoder, which exploits the redundant bits and retrieves the information bits using a decoding algorithm. There are many channel coding schemes, including Convolution codes, Turbo codes, Polar codes and LDPCcodes. Convolutional and Turbo codes are used forFourth-generation (4G) long-term evolution (LTE). In3GPP 5Gstandard, Polar codes andLDPC codes are recommended for5G NR. Polar codes are applied to5G NRcontrol channels andLDPCcodes are suitable for5G NRshared channels.

2.1.1 Polar codes

Polar codes were firstly proposed by Arikan in 2009 [6]. The capacity achievability of polar codes can be proved with a specific realization.

Moreover, simple successive cancellation decoding is enough to achieve

(24)

6 | Background

capacity [7]. In 5G, control information is usually transmitted with a small mount of information bits and small block size, so low code rate with good performance in lower BLER is required. Polar codes can satisfy this requirement. The Polar codes used on 5G_lls have been finished by Pechetti [8] and Tobias Rosenqvist, Joël Sloof [9].

2.1.2 LDPC codes

Gallager inventedLDPC codes in 1962 [10]. LDPC codes are linear block codes based on sparse parity-check matrix. It is forgotten for dozens of years because of the limited computation ability. In recent years, LDPC codes attract more attention because of their efficient decoding algorithms, excellent error-correcting capability, and their performance close to the Shannon limit for large code lengths [11]. 5G needs to support high throughput up to 20 Gbps and a wide range of block sizes with different code rates for the data channels andhybrid automatic repeat request (HARQ).LDPCcodes can fulfil the requirements. The base graphs defined in3GPPTS 38.212 [1] are structured parity-check matrix, which can efficiently supportHARQand rate compatibility that can support arbitrary amount of transmitted information bits with variable code rates.

2.2 Telecommunication

2.2.1 3GPP

3GPPdefines kinds of standards for5G. In this project,3GPPTS 38.212 [1]

V16.4.0 release 16.0 is mainly used.3GPPTS 38.212 [1] specifies the coding, multiplexing and mapping to physical channels for5G NR. The specifications of LDPCcoding, which is also called LDPCencoding and decoding chain, will be implemented in this project. The details of LDPC encoding and decoding chain were explained in section3.2.

2.2.2 5G NR shared channel

The 5G NR shared channel, including Physical Downlink Shared Channel (PDSCH) and Physical Uplink Shared Channel (PUSCH) carrys the data information. The PDSCH is not only the main physical channel of data transmission, but also for transmission of, for example, paging information,

(25)

random-access response messages, and delivery of parts of the system information. PUSCHis the uplink counterpart to thePDSCH[12].

2.2.3 Modulation

In digital modulation, an analog carrier signal is modulated by a discrete signal. Digital modulation methods can be considered as digital to analog conversion and the corresponding demodulation or detection as analog to digital conversion [13]. In this project, Phase-shift keying (PSK) which conveys data by modulating the phase of a constant frequency reference signal (the carrier wave) [14] is used for modulation. Acording to 3GPP TS 38.214 [15], Binary phase-shift keying (BPSK), Quadrature phase-shift keying (QPSK), 16QAM, 64QAM, 256QAM are used for modulations. The details of different kinds ofPSK, 3GPP TS 38.211 [16] is recommended.

The modulation and demodulation modules exist on 5G_lls. In this project, BPSKwas used to test differentLDPCdecoding algorithms. QPSK modulation was used when the optimized LDPC decoding algorithms were implemented on 5G_lls.

2.2.4 SNR and Eb/N0

SNRis defined as the ratio of signal power to the noise power, often expressed in decibels [17]. Energy per bit to noise power spectral density ratio (Eb/N0) is a normalized SNR, also known as the "SNRper bit" [18]. The larger the value ofEb/N0orSNR, the stronger of the signal.Eb/N0andSNRare usually expressed in the form of decibel (dB). The relation between SNR and is shown in equation (2.1).

S NR= 2R(Eb/N0) (2.1)

Where R is the code rate.

2.2.5 Channel model

Additive White Gaussian noise (AWGN) is a basic channel model used in information theory to mimic the effect of many random processes that occur in nature [19].

(26)

8 | Background

• Additive: the noise is added to any intrinsic noise to the information

• White: because the noise simulates the colour white and has uniform power across the frequency band for the information system.

• Gaussian: the noise follows Gaussian distribution, and it has a normal distribution in the time domain with an average time-domain value of zero.

AWGNfollows property (2.2):

ni ∼ N(0, σ2) (2.2)

Where σ is the variance of the noise and ni is Additive White Gaussian noise.

σ =

r 1

S NR (2.3)

The input message to decoder yifollows equation (2.4)

yi = xi+ ni (2.4)

Where xi is the message before transmitted through the AWGN channel and xi is −1 or 1.

Pr(xi = +1) = Pr(xi = −1) = 1/2 (2.5) According to Bayes rule,

Pr(xi = x|y) = 1

1+ e− 2yx/σ2 (2.6)

Where x ∈ {±1}.

Extended Pedestrian A mode (EPA) is a multipath fading channel model [20]. EPA represents a low delay spread environment. Maximum Doppler frequency forEPAis 5 Hz.

(27)

Different channel models exist on 5G_lls, such as AWGN and EPA.

AWGNchannel was mainly used forLDPCdecoding algorithms implementation.

EPAchannel model was used as a comparison.

2.2.6 Block Error Rate

Block Error Rate (BLER) is a ratio of the number of erroneous blocks to the total number of blocks transmitted on a digital circuit. BLERis measured after channel decoding by evaluatingCyclic redundancy check (CRC)on each transport block [21]. For eachSNR, all the transportsCRCare checked, and if there is any error, the transport block error denoted as tbErr is set 1.

BLER =

Ntb

X

i= 1

tbErr = 1 Ntb

(2.7)

Where Ntbis the total number of transport blocks.

2.3 Related work

According to 3GPP TS 38.212 [1], there are two types of base graphs for LDPCwhose usage are determined by code rate and the size of information bits. Papers [22], [7], [23] invested the structure and features of the base graphs, which will be fully utilized to carry outLDPCencoding and decoding algorithms in this project. A circularly shifted identity matrix known as the permutation matrix can greatly reduce the memory requirement for implementation. Row orthogonality in 5G LDPC base graphs design can reduce decoding latency. 5G LDPCbase graphs design aims to provide row orthogonality for fast and reliable decoding [7]. For both two base graphs and all code rates, code bits corresponding to the first two circulant columns are punctured before the transmission. These two punctured blocks have relatively high column weight among all columns, which are usually called high-weight columns [23]. Puncturing can be considered as a performance- improving aspect [7].

2.3.1 LDPC channel coding chain

The detailed procedure of LDPC channel coding for both PUSCH and PDSCH is described in 3GPP TS 38.212 [1]. The LDPC channel coding chain includes transport blockCRCattachment,LDPCbase graph selection,

(28)

10 | Background

code block segmentation and code block CRC attachment, channel coding, rate matching and code block concatenation. Paper [22] analyzes the rate- matching algorithms forLDPCcodes in5G NRframework and discussesNR LDPC structure and its key features, followed by an in-depth investigation of rate-matching, and transmissions via different redundancy versions (RV) ordering selections. The results show that the NR LDPC design is flexible and robust.

2.3.2 LDPC encoding

Due to the structure and feature of base graphs according to3GPPTS 38.212 [1], there are many efficient LDPC encoding algorithms. A novel efficient encoding method and a high-throughput low-complexity encoder architecture for 5G NR LDPC was proposed in paper [24]. By storing the quantized value of the permutation information for each sub-matrix instead of the whole parity-check matrix, the required memory storage size is considerably reduced [24]. Several encoding algorithms that entirely use the sparseness of the parity-check matrix were studied [25]. The core of the algorithms is the diagonal sub-matrix in base graphs. The base graph 1 and base graph 2 in3GPPTS 38.212 [1] have the same structure which can be divided into 6 sub-matrices [22]. Sub-matrix B is a unique matrix that corresponds to the first set of parity bits, and the first column of sub-matrix B weights 3, while other columns of sub-matrix B have a double diagonal structure. Double diagonal structure [26] is useful inLDPCencoding, and it can work nicely and efficiently to compute the parity bits. In this project, for theLDPCencoding, double diagonal structure in base graphs was fully utilized.

2.3.3 LDPC decoding

The LDPCcodes are generally decoded by the message-passing algorithms such as the belief propagation (BP) algorithm, which iteratively exchanges the messages through the edges between variable nodes and check nodes.

The BP algorithm achieves near-optimal decoding performance but suffers from high computational complexity [27]. To find a better trade-off between performance and complexity, some efficient decoding algorithms are proposed using Min-Sum (MS) approximation [28], [29], [30], [31], [32]. A simple algorithm for implementation is the Min-Sum Algorithm (MSA), but the outputs from variable nodes in MSA decoding are overestimated compared to SPA [29]. There are many methods to optimize MSA [33], [34], [35],

(29)

[36], [37], including OMSA, linear approximation, self-corrected min-sum (SCMS)algorithms. A decoding scheme using the linear approximation and the modified message passing can achieve performance very close to that of theBPdecoding [30]. But it is difficult to hardware implementation because of heavy row weights. A hybrid algorithm for theLDPCcodes in5G, where theNMSAdecoding and the linear approximation are applied has only a slight increase in complexity concerning the NMSA and improved performance much closer to theBPdecoding, especially for the low rate codes [36].

The proponents of LDPC codes have highlighted that inflexible LDPC decoders can achieve throughputs of 20 Gbps with particularly attractive hardware and energy. Hybrid turbo/LDPC solution for 5G is proposed in paper [38]. A flexible turbo code provides channel coding for most use cases, but for 20 Gbps downlink use cases, such as fixed wireless broadband, the channel coding is supported by an inflexible LDPC code. This hybrid approach can meet all of the 5G requirements while offering hardware and energy efficiencies that are significantly better than those of anLDPConly.

Paper [39] proposed an adaptive LOMSA for the decoding of LDPC codes, which utilizes an adaptive offset factor to improve the accuracy of the soft information transferred during the iterative decoding process. The performed simulations showed that the layered offset min-sum decoding for LDPC codes could significantly improve the performance compared to the existing MS-based algorithm,OMSAandNMSAalgorithms.

In this project, several decoding algorithms mentioned above will be studied and implemented for 5G NR shared channels. Layered message passing algorithm will be used to optimize the implementation of LDPC decoding algorithms.

2.4 Summary

In this chapter, the background of state of the art technologies of telecommunication is presented. The reasons why Polar codes are selected for 5G NR control channel coding andLDPCcodes work for5G NRshared channel coding are explained. At last, some related work is presented, the main points of the related work are summarized as follows.

(30)

12 | Background

1. LDPCcoding chain defined in3GPPTS 38.212 [1] was studied in paper [22] and the features described in paper [22] will be fully applied in this thesis project.

2. Some papers studied efficient LDPC encoding methods based on 5G specifications. Storing the quantized value of permutation information for each sub-matrix and taking full advantage of the feature of sparse parity-check matrix,especially the diagonal sub-matrix in base graphs, can enable efficientLDPCencoding.

3. LDPC decoding algorithms have been studied in lots of papers. The main advantages and disadvantages among different LDPC decoding algorithms are summarized in table2.1.

Table 2.1: Pros and Cons ofLDPCdecoding algorithms in literature study

Algorithm Pros Cons Paper

BP near-optimal decoding performance

high computational complexity

[27]

NMSA simple implementation not good performance for low code rate

[29]

OMSA optimize with offset factor

– [33]

SCMS optimize with

self-corrected factor

– [35]

Hybrid turboa/LDPC

efficient and good performance

– [38]

LOMSA efficient and good performance

– [39]

(31)

Chapter 3 Methods

This chapter provides an overview of the research method used in this thesis project. Section 3.1 describes base graphs and parity-check matrix.

Section3.2 detailsLDPCencoding and decoding chain. Section3.3focuses onLDPCencoding. Section3.4explains severalLDPCdecoding algorithms.

Finally, section3.5describes the experimental design.

3.1 Base graphs and parity-check matrix

3.1.1 Base graphs analysis

In3GPPTS 38.212 [1] standard, there are two kinds of base graphs and their usage are determined by code rate and size of information bits, base graph 1 with 46 rows and 68 columns, base graph 2 with 42 rows and 52 columns for 5G NR.

For base graph 1,

K = 22Zc (3.1)

For base graph 2,

K = 10Zc (3.2)

Where K is the maximum number of information bits, and Zcis the lifting size shown in table3.1. There are 51 lifting sizes from 2 to 384 for each base graph.

(32)

14 | Methods

Both base graph 1 and base graph 2 have the same block structure shown in Figure 3.1 [26]. The columns include information columns, core parity columns, and extension parity columns. The rows are divided into core check rows and extension check rows.

For base graph 1,

A is a 4 × 22 matrix; E is a 4 × 4 matrix; 0 is 4 × 42 all zero matrix;

B is a 42 × 22 matrix; C is a 42 × 4 matrix; I is 42 × 42 identity matrix;

For base graph 2,

A is a 4 × 10 matrix; E is a 4 × 4 matrix; 0 is 4 × 38 all zero matrix;

B is a 38 × 10 matrix; C is a 38 × 4 matrix; I is 38 × 38 identity matrix;

Sub-matrix E is a double diagonal matrix that is benefit for encoding.

An example of base graph 1 with set index iLS = 1 in3GPPTS 38.212 [1]

standard is shown in Figure3.2. In order to distinguish with the number 1 in base graphs in3GPPTS 38.212 [1] standard, null value in the base graph will be replaced by -1.

Figure 3.1: Base graphs block structure

In3GPPTS 38.212 [1] standard, the base graphs correspond to maximum lifting size for each set index iLS shown in Table 3.1. For example, the

(33)

Figure 3.2: Base graph 1 with iLS = 1

base graph shown in Figure 3.2 is the base graph with lifting size 384 corresponding to index iLS = 1. The value of each element Pi, jalso known as circular shift value is from -1 to 383, which is a property of the base graph.

The property is that circular shift value Pi, jfor base graph with arbitrary lifting size Zcranges from −1 to Zc− 1.

Table 3.1: Sets ofLDPClifting size[1]

Set index (iLS) Set of lifting sizes ( Zc) 0 2, 4, 8, 16, 32, 64, 128, 256 1 3, 6, 12, 24, 48, 96, 192, 384 2 5, 10, 20, 40, 80, 160, 320 3 7, 14, 28, 56, 112, 224 4 9, 18, 36, 72, 144, 288 5 11, 22, 44, 88, 176, 352 6 13, 26, 52, 104, 208 7 15, 30, 60, 120, 240

3.1.2 Parity-check matrix calculation

The parity-check matrix H is obtained by replacing each element of base graph HBGwith a Zc× Zcmatrix, according to the following rules:

(34)

16 | Methods

1. Each element of value −1 in HBG is replaced by an all zero matrix of size Zc× Zc;

2. Each element of value 0 in HBGis replaced by an identity matrix of size Zc× Zc;

3. Each element of value from 1 to Zc − 1 in HBG which is denoted by Pi, j is replaced by a circular permutation matrix I

Pi, j

of size Zc× Zc, where i and j are the row and column indices of the element, and I

Pi, j is obtained by circularly shifting the identity matrix I of size Zc× Zc to the right Vi, jtimes [1].

The main advantage of using a circularly shifting identity matrix is that it can reduce the memory requirement for implementation while can also facilitate the use of a simple switch network for encoding and decoding [7].

To simplify, a small example was used to explain the principle how to get parity-check matrix H (Figure3.4). Assume that B (Figure3.3) is a base graph with lifting size 4.

Figure 3.3: Base graph B

Figure 3.4: Parity-check matrix H

(35)

3.2 LDPC encoding and decoding chains

3GPPTS 38.212 [1] standard defines theLDPCchannel coding chain before the encoded information bits transmitted through the channel model. In this project, it is called LDPC encoding chain including 6 parts for both PUSCH and PDSCH. Figure 3.5 shows the LDPC encoding chain, which includes transport block CRCattachment, LDPC base graph selection, code block segmentation and code block CRC attachment, LDPC encoding, rate matching and code block concatenation. The LDPC channel coding chain after the encoded information bits transmitted through the channel model is known as LDPCdecoding chain shown in Figure 3.6. The LDPCdecoding chain is the reverse process ofLDPCencoding chain.

Figure 3.5:LDPCencoding chain

Figure 3.6:LDPCdecoding chain

3.2.1 LDPC encoding chain

1. Transport blockCRCattachment

CRCis an error detection code used to measureBLERafter decoding. The entire transport block is used to calculate CRCparity bits. Assume that the transport message beforeCRCattachment is a1, a2, . . . , aA, where A is the size of the transport block message. Parity bits are p1, p2, . . . , pL, where L is the length of transport block attachedCRCbits. The parity bits are generated by the following rules. The message bits after attachingCRCare b1, b2, . . . , bB , Bis the size of transport block information withCRCbits and B= A + L.

(36)

18 | Methods

If A > 3824, the generator polynomial gCRC24A(D) is used.

gCRC24A(D)= [ D24+ D23+ D18+ D17+ D14+ D11+ D10

+D7+ D6+ D5+ D4+ D3+ D + 1 ] (3.3) The length of parity bits L is 24.

Otherwise, the generator polynomial gCRC16(D) is used.

gCRC16(D)=h

D16+ D12+ D5+ 1i

(3.4) The length of parity bits L is 16.

The message bits after attachingCRCcan be obtained by equation3.5.

bk =(bk = ak , f or k= 1, 2, . . . , A

pk−A+1, f or k = A + 1, A + 2, . . . , A + L (3.5)

2. LDPCbase graph selection

LDPCbase graph is selected based on the size of transport block message Aand transport block coding rate R. If A ≤ 292 , or if A ≤ 3824 and R ≤ 0.67 , or if R ≤ 0.25 ,LDPCbase graph 2 is used. Otherwise,LDPCbase graph 1 is used [1].

3. Code block segmentation and code blockCRCattachment

The input message to code block segmentation is transport message with CRCdenoted as b1, b2, . . . , bB, where B is the size of input message. Assume that the maximum code block size is Kcb, where Kcb = 8448 for base graph 1 and Kcb = 3840 for base graph 2. Code block segmentation is based on the following rules. Assume that C is the number of code blocks.

If B ≤ Kcb ,

C = 1, LcbCRC = 0 , B0 = B (3.6)

(37)

Otherwise,

C = [B/(Kcb− LcbCRC)], LcbCRC = 24, B0 = B + CL (3.7) Assume that the output of code block segmentation is cr1, cr2, . . . , crKr, where 1 ≤ r ≤ c is the code block number, and Kr = K is the number of bits for code block number r.

For base graph 1, K = 22Zc and for base graph 2, K = 10Zc, where Zc is lifting size that is the minimum value of Z in all sets of lifting sizes in Table 3.1which can meet formula3.8.

Kb• Zc ≥ K0 (3.8)

Where K0 is the number of information andCRCbits in a code block and K0 = B0/C. Kb is related with LDPC base graph type and the size of input message B, shown in Table3.2.

Table 3.2: Kb value [1]

Base graph B Kb

1 all 22

2 B> 640 10

2 560 < B <= 640 9 2 192 < B <= 560 8

2 B<= 192 6

The output of code block segmentation crk is calculated as following, If C= 1,

ck =

( bk, f or1 ≤ k ≤ B

NU LL, f or B + 1 ≤ k ≤ K (3.9) If C > 1, block code should be attached CRC using the generator polynomialgCRC24B(D), the length of parity bits L= 24.

gCRC24B(D) =h

D24+ D23+ D6+ D + 1i

(3.10)

(38)

20 | Methods

Assume thatCRCparity bits are pr1, pr2, . . . , prL.

ck =









bk, f or1 ≤ k ≤ K0− LcbCRC

pr(k+LcbCRC−K0), f or K0− LcbCRC+ 1 ≤ k ≤ K0

NU LL, f or K0+ 1 ≤ k ≤ K

(3.11)

Where 1 ≤ r ≤ C and K is the maximum number of information bits for base graphs.

4. LDPCencoding

The input message to LDPC encoder is cr1, cr2, . . . , crKr, and each code block message is encoded independently. The detailed LDPC encoding is explained in section3.3.

5. Rate matching

The purpose of rate matching is to adapt different code rates. Rate matching is based on redundancy version(RV) from 0 to 3 [1]. Each RV divides the base graph, excluding the first two columns, into four chunks at different positions. RV0 is well suited for the first transmission and has good self-decodability. When there is no explicitRV index signalling, RV0 is the best option for both base graph 1 and base graph 2 [22]. In this project,RV0 is used for rate matching.

Rate matching is carried out on each code block independently. Assume that the input message to the r_th code block is d1, d2, . . . , dN, where N = 66Zc for base graph 1 and N = 50Zc for base graph 2. Er is the length of rate matching output message of the r_th code block. The output message after rate matching of the r_th code block is e1, e2, . . . , eErwhich is calculated using equation3.12.

ek = dk, i f dk , NU LL, where 1 ≤ k ≤ Er (3.12)

6. Code block concatenation

The purpose of code block concatenation is to concatenate all code blocks message to a sequence of transport block message, which will be transmitted through the physical channel.

(39)

Assume that the output message of code block concatenation is g1, g2, . . . , gG, where G is the desired length of message of the transport block.

gk = er j, where 1 ≤ k ≤ G, 1 ≤ r ≤ C, 1 ≤ j ≤ Er (3.13)

3.2.2 LDPC decoding chain

1. Code block de-concatenation

Code block de-concatenation is used to break the transport block message into C numbers of code blocks message. Assume that the input message to code block de-concatenation is y1, y2, . . . , yG. The output message from code block de-concatenation is fr1, fr2, . . . , frEr.

fr j = yk, where 1 ≤ k ≤ G, 1 ≤ r ≤ C, 1 ≤ j ≤ Er (3.14)

2. Rate de-matching

The purpose of rate de-matching is to covert the code block message to the format that can be used for 5G LDPC parity-check matrix to process decoding. Rate de-matching is done on each code block independently.

Assume that the input message is f1, f2, . . . , fEr. The output message from rate de-matching is g1, g2, . . . , gN+2Zc, where N = 66Zc for base graph 1 and N = 50Zc for base graph 2.

gk =









0, f or1 ≤ k ≤ 2Zc

fk, f or2Zc+ 1 ≤ k ≤ Er

0, f or Er+ 1 ≤ k ≤ N + 2Zc

(3.15)

3. LDPC decoding

LDPC decoding is done on each code block independently,and many decoding algorithms can be used. Section 3.4 explains different LDPC decoding algorithms.

4. Code block de-segmentation

(40)

22 | Methods

Code Block De-segmentation is used to extract the message bits and transport block attachedCRC bits. Assume that the output from code block de-segmentation is ˆb1, ˆb2, . . . , ˆbB, where B is the size of original transport block information with attachedCRC bits. The input to the code block de- segmentation is hr1, hr2, . . . , hrN+2Zc.

ˆbk = hrs, where 1 ≤ k ≤ B, 1 ≤ r ≤ C, 1 ≤ s ≤ K0− LcbCRC (3.16)

Where K0is the number of information andCRCbits in a code block and LcbCRC is the length ofCRCbits in a code block.

5. CRCcheck

CRC check is used to extract the CRC bits in transport block after the information transmitted in5G NRshared channels. Then the extractedCRC bits will be checked with the original CRC bits attached to transport block information before transmitted.

3.3 LDPC encoding

LDPCEncoding aims to add redundant bits to the message from the sender to get codeword which will be transmitted to the receiver. Assume the message to be encoded is denoted by m1, m2, m3, ..., mK, where K is the number of message bits. The redundant bits are called parity bits denoted by p1, p2, p3, ..., pL, where L is the number of the parity bits. The encoded message is called codeword denoted by c1, c2, c3, ..., cN, where N is the number of encoded message bits. The procedure is shown in Figure3.7.

Figure 3.7:LDPCencoder

(41)

The message bits vector m , parity bits vector p and codeword bits vector c follow equation3.17and3.18.

cT ="mT pT

#

(3.17)

H × cT = 0 (3.18)

Where H is parity-check matrix, 0 is N × 1 zero vector.

3.4 LDPC decoding

LDPC decoding shown in Figure 3.8 tries to correct errors using message iterative algorithms. There are two kinds of decoding algorithms for LDPC decoding. One decoding algorithm is called hard decision decoding, in which the message passed contains the actual value of bits, such as Bit Flipping Algorithm. The other decoding algorithm is called soft decision decoding, in which the message passed is the probability value associated with the occurrence of a particular bit [40]. Soft decision decoding is based on the idea of belief propagation. For example, BPAlgorithm is soft decision decoding.

In this thesis project, soft decision decoding algorithms will be considered because soft decision decoding algorithms in the log domain provide better performance than hard decision decoding algorithms regardless of the SNR level [41].

Figure 3.8:LDPCdecoder

LDPC codes can be represented using either parity matrix H or Tanner graph introduced by Tanner [42]. There are two sections in the tanner graph:

variable nodes and check nodes corresponding to rows and columns in the parity-check matrix. An example is shown in Figure3.9.

Tanner graph is an excellent way to illustrate iterative message passing decoding that messages are passed from variable nodes to check nodes,

(42)

24 | Methods

(a) Parity-check matrix

(b) Tanner graph

Figure 3.9: Parity-check matrix and Tanner graph

then from check nodes to variable nodes in each iteration. The message passing decoding can be divided into variable nodes operation, also called row operation, and check nodes operation, also called column operation. A message passing algorithm [43] based on Pearl’s belief algorithm describes the iterative decoding steps. There are different iterative message passing algorithms due to varying types of passed messages or different computations at the nodes, such asSPAandMSA.

One iteration of message passing can be divided into two parts. One half-iteration is from variable nodes to check nodes shown in Figure3.10(a), in which all the information v1 has is sent to check node c3 except for the information that check node c3 has already possessed. In this case, the information check node c3 possesses is called extrinsic information. The other half-iteration is from check nodes to variable nodes, shown in Figure 3.10(b), in which check node c1 passes all information it has available to it to each of the variable nodes vi excluding the information the receiving node has already possessed. In this case, only information consistent with c1 + c3 + c4 + c5 = 0 is sent.The message probability passed between check nodes and variable nodes can be called belief, such as q13(b) in Figure3.10(a) and r15(b) in Figure3.10(b).

(43)

(a) Sub-graph v to c (b) Sub-graph c to v

Figure 3.10: Iteration between variable nodes and check nodes

The beliefs can be calculated using the following equations. Assume that a sequence of independently information bits are c = (c1, c2, ..., cN ). The probability of ck = 1 is defined in equation (3.19).

Pr(ck = 1) = pk (3.19)

The probability that information bits c contain an even number of 1s is calculated using equation (3.20).

1 2 + 1

2

N

Y

k=1

(1 − 2pk) (3.20)

The probability that information bits c contain an odd number of 1s is calculated using equation (3.21).

1 2 − 1

2

N

Y

k=1

(1 − 2pk) (3.21)

Assume that qi j(b) is the probability that ci = b , b ∈ {0, 1}, given extrinsic information from all check nodes, excluding check node cj and channel sample yi, shown in Figure 3.10(a), and rji(b) is the probability of the jth check equation being satisfied given ci = b and the other bits have separable distribution given byn

qi j0

o

j0 , j , shown in figure3.10(b)[44].

(44)

26 | Methods

rji(0)= 1 2 + 1

2 Y

i0∈Vj/i

(1 − 2qi0j(1)) (3.22)

rji(1)= 1 2 − 1

2 Y

i0∈Vj/i

(1 − 2qi0j(1)) (3.23)

qi j(0)= (1 − Pi) Y

j0∈Ci/ j

rj0i(0) (3.24)

qi j(1)= Pi

Y

j0∈Ci/ j

rj0i(0) (3.25)

Where Vj = {variable nodes connected to check node j}

Vj/i = {variable nodes connected to check node j} / {variable node i}

Ci = {check nodes connected to variable node i}

Ci/ j = {check nodes connected to variable node i} / {check node j}

Pi = Pr(ci = 1/yi) , yiis the channel sample at variable node i.

Message passing algorithm can be represented in probability domain and log domain that the probabilities are represented as Log-Likelihood Ratios (LLR). TheLLRdomain decoding algorithm can reduce the implementation complexity because multiplications in the probability domain can be expressed as additions in the log domain. Besides, many multiplications of probabilities involved could become numerically unstable, so log domain algorithm is preferred inLDPCdecoding [44].

3.4.1 Sum Product Algorithm (SPA)

Sum Product Algorithm which is also known as Belief Propagation Algorithm (BP) is a basic soft decision decoding with messages passed as probabilities.

(45)

The input to LDPC decoder using log-likelihood ratios (LLR) value, the following sum product decoding algorithm is based on the decoding algorithm presented in [10].

L(ci)= logPr(ci = 0|yi)

Pr(ci = 1|yi) = logPr(xi = +1|yi)

Pr(xi = −1|yi) (3.26) Where L(ci) is the inputLLRto the decoder.

The variable nodes operation is shown in equation (3.27).

L(rji)= logrji(0)

rji(1) = 2tanh−1(Y

i0∈Vj/i

tanh(1

2L(qi0j)))

= (Y

i0∈Vj/i

ai j) ϕ(X

i0∈Vj/i

ϕ(βi0j))

(3.27)

Where αi j ≡ sign(L(qi0j)) and βi0j ≡ |L(qi0j)| and ϕ(x) ≡ logeexx+1−1

The check nodes operation is shown in equation (3.28).

L(qi j)= L(ci) + X

j0∈Ci/ j

L(rj0i) (3.28)

L(Qi)= L(ci) + X

j0∈Ci

L(rj0i) (3.29)

Where L(Qi) is the outputLLRfrom the decoder and can be used to make decision.

3.4.2 Min-Sum Algorithm (MSA)

Min-Sum Algorithm(MSA) for LDPC decoding is a reduced complexity decoding algorithm with min-sum approximation compared to Sum Product Algorithm(SPA). The operation on check nodes is the same for both Min- Sum algorithm and Sum Product Algorithm. The difference is the operation on variable nodes.

Considering equation (3.27) in section 3.4.1 and the plot of ϕ(x) ≡ logeexx+1−1is shown in Figure3.11, the value of ϕ(x) decreases sharply to almost

(46)

28 | Methods

zero when x increases. So the smallest βi0 j value dominates the summation P

i0∈Vj/iϕ(βi0j).

X

i0∈Vj/i

ϕ(βi0j) ≈ ϕ(mini0i0 j)) (3.30)

An approximation which is shown in equation (3.30) is used for Min- Sum Algorithm. Equation (3.31) is the variable nodes operation for Min-Sum Algorithm [44]. For Min-Sum Algorithm, other computations are the same withSPAin section3.4.1except L(rji).

L(rji) = Y

i0∈Vj/i

ai j • mini0∈Vj/ii0 j)) (3.31)

Figure 3.11: Shape of ϕ(x)

3.4.3 Optimized Min-Sum Decoding Algorithm

It is shown that the magnitude of ϕ(mini0i0 j)) obtained in MSA is always greater than the magnitude of P

i0∈Vj/iϕ(βi0j) obtained in SPA [29]. So the outputs from variable nodes inMSAdecoding are overestimated compared to SPA due to the approximation defined in equation (3.30). There are several methods to optimize Min-Sum Algorithms(MSA) to make the approximation more accurate. The two most popular methods are Normalized Min-Sum Algorithm(NMSA) and Offset Min-Sum Algorithm(OMSA) [29]. The idea behind NMSA and OMSA is to reduce the magnitude of variable node

(47)

outputs.

Assume that the magnitudes of variable nodes output ofMSA,NMSAand OMSAare LMS A, LN MS Aand LOMS A , respectively.

For Normalized Min-Sum Algorithm,

LN MS A = αLMS A (3.32)

Where α is called normalization factor and 0 < α < 1.

For Offset Min-Sum Algorithm,

LOMS A = max (LMS A−β , 0) (3.33)

Where β is called offset factor and β > 0.

3.4.4 Layered Message Passing Algorithm

Suppose the parity check matrix H can be grouped into several subsets, and each subset follows the property that the column weight of each subset is at most 1 and one subset after another. In that case, layered decoding can be used [45]. Layered message passing decoding can expedite convergence time. Because the check nodes operations can be processed when the variable nodes operations in one layer are done instead of waiting for all variable nodes operations in the whole parity-check matrix done.

The layered message passing can be illustrated using Figure3.12. Each layer processes variable nodes operation and check nodes operation independently.

The inputLLRof the current layer is the output of previousLLR. Figure3.12 shows layered message passing procedure of three layers. The initial LLR is assigned to Layer1. LLR1 is the outputLLR of Layer1 and inputLLRof Layer2. LLR2 is the output LLRof Layer2 and input LLRof Layer3. The outputLLRof the last layer is the outputLLRof the decoding algorithm and will be used to make the decision.

The variable nodes operation and check nodes operation in each layer are the same withSPAorMSA. The difference is the updatedLLRfor each layer.

The current layer input LLR can be updated via equation (3.34).

(48)

30 | Methods

llayerk+1, i = Llayerk,i− llayerk+1,i0 (3.34) Where llayerk+1, iis the updated inputLLRof layer k+1, Llayerk,iis the output LLRof previous layer , llayerk+1,i0 is the old inputLLRof layer k+ 1.

Figure 3.12: Layered message passing example

3.5 Test design

3.5.1 Software Tools

TheLDPCencoding and decoding chains were developed using MATLAB in order to be compatible with TietoEVRY 5G link level simulator.

MATLAB is a matrix-based programming language, which is suitable for computational mathematics. LDPCencoding and decoding chain, especially forLDPC encoding and decoding algorithms strongly rely on mathematical computation.

3.5.2 Test environment

In this thesis work, two types of test environment were used. One is standalone MATLAB simulator dedicated toLDPC(LDPC_sa) and the other one is TietoEVRY 5G link level simulator (5G_lls). The test environment overview is shown in Figure3.13. The encoding chain and decoding chain

(49)

are the same for both test environment. The differences between LDPC_sa and 5G_lls are modulation, channel model and demodulation.

1. LDPC_sa was developed in this thesis. LDPC_sa is a simple simulator where BPSK is used for modulation and AWGN is used for channel model. TheLDPCencoding algorithm and decoding algorithms can be tested easily via LDPC_sa test environment.

2. 5G_lls test environment is more complex and can simulate the general 5G NR. There are different modulations and channel models existing on 5G_lls.

Figure 3.13: Test environment overview

3.5.3 Test cases

In this project, the test cases are chosen based onLDPCdecoding algorithms and transport block (G, A), where G is the transport block size and A is the length of transport block information bits. The LDPC decoding algorithms includeSPA,LSPA,MSA,LMSA,LNMSAandLOMSA. The test cases can test different transport blocks with varying code rates using different base graphs. All the test cases are divided into five groups shown in Table3.3.

The transport blocks are obtained from 5G_lls. Group 1 to Group 4 test cases were implemented via LDPC_sa test environment using BPSK modulation andAWGNchannel model. Group 5 test cases were implemented via 5G_lls test environment using QPSK modulation and channel models AWGN and EPA. Because BPSK modulation is the simplest modulation, and AWGN channel model is the basic channel model, so LDPC_sa test environment can make the first four groups test cases easier to explore different LDPC decoding algorithms with kinds of transport blocks with

(50)

32 | Methods

Table 3.3: Test cases

Group Transport blocks Decoding algorithms Test Environment

1 (2400,872) SPA, LSPA,

MSA and LMSA LDPC_sa

2

(2400,872) (2400,1608) (2400,1992)

LMSA LDPC_sa

3

(2400,872) (2400,1608) (2400,1992)

LNMSA and LOMSA LDPC_sa

4

(2400,1992) (7200,4824) (14794,9912)

LNMSA and LOMSA LDPC_sa

5 (2400,872)

(2400,1992) LNMSA 5G_lls

varying code rates. For5G NR,PUSCHcan supportBPSK,QPSK, 16QAM, 64QAM and 256QAM modulation, butPDSCHonly supportQPSK, 16QAM, 64QAM and 256QAM [15]. TietoEVRY 5G link level simulator (5G_lls) includes PUSCH and PDSCH, so when the encoding and decoding chains were implemented on 5Glink-level simulator, QPSKmodulation was used.

EPA channel model can make the decoding algorithm work harder, soEPA channel model was used for Group 5 test cases as a comparison withAWGN channel model.

• Group 1 can explore the difference of theLDPCdecoding algorithms.

• Group 2 can test the effect of different code rates usingLMSA.

• Group 3 can explore the impact of optimized Min-Sum Algorithm LNMSAandLOMSA.

• Group 4 can test different transport blocks with the same code rate for the optimizedLDPCdecoding algorithms:LNMSAandLOMSA.

• Group 5 test cases were implemented on5G_lls to test the LDPC efficient algorithm using different channel models.

(51)

Chapter 4

Implementation and optimization

4.1 LDPC encoding and decoding chains

TheLDPCencoding and decoding chains are shown in Figure4.1. Parameters, used inLDPCcoding chain, were calculated based on transport block size and the length of transport block information bits according to 3GPPTS 38.212 [1] specifications. The LDPC encoding chain is processed following the steps described in section 3.2.1. If there is NU LL value in the information bits when doing LDPC encoding, the NU LL value is treated as 0 to calculate the parity bits. After the LDPC encoding chain, the encoded message is modulated before transmitting through the noise channel. Then, the message is demodulated before going to LDPCdecoding chain, which is carried out following the steps in section 3.2.2. If there is NU LL value in message bits beforeLDPCdecoding, the NU LL value is replaced by in f , which was done during rate de-matching. The NU LL value is replaced by 0 for encoding, and the NU LL value is replaced by in f for decoding because MATLAB is used to develop the coding chain, and NU LL stays NU LL no matter what operation used in MATLAB. 0 in information bits does not contribute to calculating parity bits, and in f almost does not influence decoding.

4.2 LDPC encoding

As described in section 3.1, base graphs defined in 3GPP Ts 38.212 [1]

are structured and sub-matrix E is a double diagonal structure matrix which can be fully utilized to process LDPC encoding. The main point of LDPC encoding is to calculate parity bits. In this thesis project, parity bits were calculated based on the double diagonal structure.

(52)

34 | Implementation and optimization

Figure 4.1: LDPC encoding and decoding chains

To simplify, a toy example was used to illustrate the double diagonal structure and the procedure of computing parity bits. Assume that H is parity check matrix, Ik is the identity matrix circularly shifting right k times.

Message bits m= h

m1 m2 m3 m4i

. Parity bits p= h

p1 p2 p3 p4i .

H =















I1 0 I3 I1 I2 I 0 I3 0 I1 I2 I I3 I1 I 0

I2 I 0 0 0 I I 0 I1 0 I I I2 0 0 I















(4.1)

H ×"mT pT

#

= 0 (4.2)

Combine equation (4.1) and (4.2):

I1m1+ I3m3+ I1m4+ I2p1+ Ip2= 0 (4.3)

I2m1+ Im2+ I3m4+ Ip2+ Ip3= 0 (4.4)

I1m2+ I2m3+ Im4+ I1p1 + Ip3+ Ip4 = 0 (4.5)

I3m1+ I1m2+ Im3+ I2p1 + Ip4 = 0 (4.6)

References

Related documents

erp4students offers participants of the course „Integrated Business Processes with SAP ERP (TERP10)“ to take the official SAP certification exam after all case studies

At both immunization sites, immunization with α‑toxoid in Alum–Saponin–Oil resulted in higher specific antibody titers in milk and serum as compared with Alum–Oil

Model 2 captures the effects of entrepreneurial orientation, including innovativeness and proactiveness strategy and risk-taking strategy, on dynamic capabilities, which

First, in order to better describe the long-term motion information for action representation, a novel edge-based trajectory extracting strategy is introduced by tracking edge

(4) 2015 earnings guidance based on expected average outstanding shares of ~866M. Refer to Appendix for a reconciliation of adjusted non-GAAP operating EPS guidance to GAAP EPS..

algorithm GRASP-CVC (Greedy Randomized Adaptive Search Procedure for Connected Vertex 5.. Cover) for CVC in

analytical cost models, surveys of market players as well as an international (or in the case of TSOs (gas) also a national) comparison of the efficiency of capital costs

Estimation of the temperature gradient across the sample depth, by solving the heat equation for the steady-state regime (i.e. constant surface temperature)