NOTE: This section is Under-Edit if necessary: Construction began on February 1, 2024 was finished on February 8, 2024.
Low-Density Parity-Check (LDPC) Binary Codes:
Addition of Protograph-Based Codes and Enhanced SPA Decoder Features (Layered Scheduling, Offset Min-Sum Check Message Passing, & Message Quantization)
by Darrell A. Nolta
February 1, 2024
The
AdvDCSMT1DCSS (T1) Professional (T1 Version 2) system tool has been used to investigate the Bit Error Rate (BER) performance for Sum-Product Algorithm (SPA) Decoding of Protograph-Based Low-Density Parity-Check (LDPC) Coded Signaling over a Coherent Memoryless Channel with Additive White Gaussian Noise (AWGN). This SPA Decoding is selected to use Flooding or Layered Scheduling (Decoder Node Message Update Order Method) and Theoretical or Offset Min-Sum (OMS) Check Message Implementation.
Note: Protograph-Based Codes (PGC) are Structured LDPC Binary Codes that can exist in a Permutation (P) or Quasi-Cyclic (QC) form. The PGC LDPC codes are characterized by their Parity-Check Matrices being sparse. A Protograph-Based Code can be structured to be 'Regular' or either Row or Column 'Irregular.'
Note that
Sum-Product Algorithm is a Multiple Iteration Soft Input/Soft-Decision Output (SISO) LDPC Code Channel Decoding algorithm that can be designed to operate with floating point or finite precision message processing.Also, BER performance is studied for Quantized SPA Decoding of Regular Gallager Coded Signaling over a Coherent Memoryless Channel with AWGN.
T1 Version 2 has been revised to support the following new features:
1) Permutation or Quasi-Cyclic Protograph-Based LDPC Code Computer-Based Generation and BER Performance Simulation;
2) Layered Scheduling SPA Decoding in addition to Flooding Scheduling;
3) Offset Min-Sum (OMS) Check Message Implementation SPA Decoding; &
4) Quantized SPA Message Processing for Flooding or Layered Scheduling SPA Decoding.
Note that the subjects of PGC LDPC Codes, Layered SPA Decoding, OMS Check Message Implementation, and Quantized SPA Messaging are quite complicated and require careful study. A number of references have been used to
implement the topics of this paper: they include Dr. Gallager's work on LDPC Codes (1962 paper
[1] and 1963 book
[2]); Protograph-Based LDPC codes (2018 paper
[3], 2019 paper
[4], 2008 book
[5], 2011 paper
[6], 2012 paper
[7], 2010 paper
[8], 2018 paper
[9]); and SPA Decoding & Scheduling {Ph.D. thesis
[10], presentation
[11], 2004 paper
[12], 2007 paper
[13], Quantization (2008 paper
[14], 2010 paper
[15], 2008 paper
[16], 2021 paper
[17], 2020 paper
[18], 2005 paper
[19], 2020 paper
[20], 2021 paper
[21])}.
This investigation/experiment can easily be conducted by
AdvDCSMT1DCSS (T1) Professional (T1 V2) because of the capabilities of
T1V2 that now include the above described features.
The
T1 V2 PGC LDPC Binary Codes capabilities/configuration for User Specified LDPC Codes is as follows:
Permutation (P) Protograph-Based Codes (PGC) using Single-Edge (SE) Base Graphs (BG): N = 4608 MAX; Base Graph (Matrix) (H
b) Size 8 x 12 MAX; &
Quasi-Cyclic (QC) Protograph-Based Codes (PGC) using Single-Edge (SE) or Multi-Edge (ME) Base Graph (BG): N = 4608 MAX; Base Graph (Matrix (H
b) Size 8 x 12 MAX.
The structural construction of a Permutation Protograph-Based code [a derivative of a Z Graph (Matrix)] is a function of a Single-Edge (SE) Base Graph (Matrix); the Lifting Size (Z); and the chosen method of determining the set of Permutation Matrices and specification of these Permutation Matrices. The output of this function is a Z Graph (Matrix). This function requires the design of a Single-Edge (SE) Base Graph that involves selection of the Base Graph (ALL-ONES containing MATRIX or ZEROS and ONES containing MATRIX); the input of the number of the BG Check Nodes and the number of the BG Bit Nodes; and the assignment of BG edges for the '0' & '1' containing BG. A SE BG edge is represented by a '1' (Single Check Node & Bit Node Connection). And a Non-Edge is denoted by a '0' for a given Check Node & Bit Node pair in the SE Base Graph (Matrix). Next, the User will specify the Permutation Protograph-Based LDPC Code LIFTING SIZE (Z), Minimum Z is one, where the Maximum Z is 384.
Note let P denote a group (set) of all of the possible Z x Z Permutation Matrices (actually a submatrix from the Z Matrix viewpoint) where a matrix's row can consist of more than '1'. Also, this group includes a Z x Z zero matrix. From this group, a member of this group (P) (excluding the zero matrix) is substituted for a particular '1' location of a SE BG while the zero matrix is inserted for a particular '0' location of a SE BG.
Then, for the Permutation PGC derived from a SE BG, the selection of the METHOD SPECIFYING ALL of Z GRAPH'S EDGES [EDGE: CHECK NODE (BASE GRAPH CK NODE, zj), BIT NODE (BASE GRAPH BIT NODE, zi)] where zj, an element of the set {1,2,...,Z) & zi, an element of the set {1,2,...,Z) is made from:
1) USER INPUT of BIT NODE'S zi; or
2) RANDOM NUMBER GENERATION of BIT NODE'S zi ASSIGNMENT.
Next, the CHECK NODE & BIT NODE ORDERING SCHEME for a LIFTED GRAPH (Z GRAPH) as identified by its NODES' IDENTIFIERS (composite number) ASSIGNMENT is selected from:
1) NON-ORDERED NODES of LIFTING GRAPH & PARITY-CHECK MATRIX; or
2) ORDERED NODES of LIFTING GRAPH & PARITY-CHECK MATRIX.
The Single-Edge Z Graph/Matrix for a Permutation PGC is then created after the User has successful inputted the User's Permutation design data or Random Number Generation parameters (SEED S for a RANDOM NUMBER GENERATOR, S = Seed, where Seed > 0 & amount of Randomization) for a particular Z Graph's Edges assignment.
The structural construction of a Quasi-Cyclic Protograph-Based code (a derivative of Z Graph (Matrix) is a function of a Single-Edge (SE) or Multi-Edge Base Graph (Matrix); the Lifting Size (Z); and the chosen method of determining the set of Cyclic Permutation (CP) Matrices and specification of these Cyclic Permutation Matrices. The output of this function is a Z Graph (Matrix). This function requires the design of a Single-Edge (SE) Base Graph that involves selection of the Base Graph (ALL-ONES containing MATRIX or ZEROS and ONES containing MATRIX) or a Multi-Edge Base Graph (ALL-TWOS containing MATRIX or ZEROS, ONES, & TWOS containing MATRIX); input of the number of BG Check Nodes and the number of BG Bit Nodes; and the assignment of BG edges for the '0' & '1' containing SE BG or the '0', '1', & '2' containing ME BG. A SE BG edge is represented by a '1' (Single Check Node & Bit Node Connection). A ME BG edge is represented by a '2' {Repeated [Multiple (2)] Check Node & Bit Node Connection} or '1' (Single Check Node & Bit Node Connection). And a Non-Edge is denoted by a '0' for a given Check Node & Bit Node pair in the SE or ME Base Graph (Matrix). Next, the User will specify the Quasi-Cyclic Protograph-Based LDPC Code LIFTING SIZE (Z); Minimum Z is one, where the Maximum Z is 384.
Note let Q denote a group (set) of all of the possible Z x Z Cyclic Permutation (CP) Matrices (actually a submatrix from the Z Matrix viewpoint) plus the Z x Z zero matrix where a Cyclic Permutation Matrix where a matrix's row can only consist of one '1'. These CP Matrices exist as the Identity or Shifted Version of the Identify Matrix. These CP Matrices are represented as P
k where k is a power and the number of shifts of the members of the Identity matrix is equal to (k-1), known as the cyclic shift number.
For a '1' location of the SE BG or ME BG for a given QC PGC, a P
k CP matrix is assigned while for a '0' location, a Z x Z zero matrix is assigned. For a '2' location of the ME BG for a given QC PGC, a 1 x Z vector is used where a kth location (k = 1,...,Z) contains a '1' that corresponds to the kth power of a P
k CP Matrix. For this ME BG case, these non-zero vectors will contain two '1s.'
Then, for the Quasi-Cyclic PGC derived from a SE BG, the selection of the METHOD SPECIFYING ALL of Z GRAPH'S EDGES [EDGE: CHECK NODE (BASE GRAPH CK NODE, zj), BIT NODE (BASE GRAPH BIT NODE, zi)] where zj, an element of the set {1,2,...,Z) & zi, an element of the set of {1,2,...,Z) is made from:
1) USER INPUT of BIT NODE'S zi;
2) USER ASSIGNMENT of CYCLIC PERMUTATION (CP) MATRICES; or
3) RANDOM NUMBER GENERATION of CYCLIC PERMUTATION MATRICES ASSIGNMENT.
For the Quasi-Cyclic PGC derived from a ME BG, the selection of the METHOD SPECIFYING ALL of Z GRAPH'S EDGES[EDGE: CHECK NODE (BASE GRAPH CK NODE, zj), BIT NODE (BASE GRAPH BIT NODE, zi)] where zj, an element of the set {1,2,...,Z) & zi, an element of the set of {1,2,...,Z) is made from:
1) USER ASSIGNMENT of CYCLIC PERMUTATION (CP) MATRICES; or
2) RANDOM NUMBER GENERATION of CYCLIC PERMUTATION MATRICES ASSIGNMENT.
Next, the CHECK NODE & BIT NODE ORDERING SCHEME for a LIFTED GRAPH (Z GRAPH) as identified by its NODES' IDENTIFIERS (composite number) ASSIGNMENT is selected from:
1) NON-ORDERED NODES of LIFTING GRAPH & PARITY-CHECK MATRIX; or
2) ORDERED NODES of LIFTING GRAPH & PARITY-CHECK MATRIX.
If for the QC PGC (SE BG) case's Z Graph's edges input query, the option 2 [USER ASSIGNMENT of CYCLIC PERMUTATION (CP) MATRICES] has been selected, the following input query is presented to the User:
USER ASSIGNMENT of CYCLIC PERMUTATION (CP) MATRICES METHOD?:
1) SEQUENTIAL CP MATRICES INPUT
2) or NON-SEQUENTIAL CP MATRICES INPUT (VIA BASE MATRIX VISUAL BUILDER).
For option 2, the User Input that is selected from the Group of Cyclic Permutation (CP) Matrices (P) via a Base Matrix Visual Builder Dialog [specifying the cyclic shift number assignment via P
k where (k-1) number of shifts for Single-Edge Base Graph/Matrix (BG)] is made.
The Single-Edge Z Graph/Matrix for a Quasi-Cyclic PGC is then created after the User has successful inputted the User's Cyclic Permutation Matrices design data or Random Number Generation parameters (SEED S for a RANDOM NUMBER GENERATOR, S = Seed, where Seed > 0 & amount of Randomization) for a particular Z Graph's Edges assignment.
After Matrix Z is formed and mapped to the Matrix A, a Generator Matrix G and Parity-Check Matrix H is produced and validated by the same procedure used in the Gallager or Array Code case.
The Permutation or Quasi-Cyclic Protograph-Based Code (PGC) input parameters, Base Graph, Matrix Z (via its non-zero elements' indices 2-D array), Generator Matrix G, and Parity-Check Matrix H (via its non-zero elements indices 2-D array) can be stored in a User-named Data File. This Data File can be used to retrieve the Permutation or Quasi-Cyclic PGC parameters for a Protograph-Based Coded Signaling Simulation or Protograph-Based Code Parity-Check Matrix H Encoding Validation.
The Sum-Product Algorithm (SPA) Channel Decoder is based on:
Message Update Schedule Model:
1) FLOODING Schedule; or
2) LAYERED Schedule.
FLOODING SPA Channel Decoder Model, based on Soft Decision Message-Passing (Bit & Check Messages) Algorithm:
1) MODEL 1 (Bit Messages then Check Messages Iteration Processing); or
2) MODEL 2 (Check Messages then Bit Messages Iteration Processing).
Model 1 or Model 2 FLOODING Update Schedule SPA Decoder IMPLEMENTATION Type, Check Message (Check Node to Bit Node Message) Calculation can be chosen to be:
1) Theoretical SPA;
2) Replace SPA Product Term by Sum;
3) Replace SPA Product Term by MIN-SUM; or
4) Replace SPA Product Term by OFFSET MIN-SUM.
For the MIN-SUM OFFSET FLOODING Update Schedule SPA Decoding & 'Replace SPA Product Term by OFFSET
MIN-SUM' Implementation, the OFFSET VALUE is chosen to be Greater than 0.0.
LAYERED SPA Channel Decoder Model based on Soft Decision Message-Passing (Bit & Check Messages) Algorithm:
1) MODEL 1 (Layered Bit Node & its Check Nodes Iteration Processing); or
2) MODEL 2 (Layered Check Node & its Bit Nodes Iteration Processing).
Model 1 or Model 2 LAYERED Update Schedule SPA Decoder IMPLEMENTATION Type, Check Message (Check Node to Bit Node Message) Calculation can be chosen to be:
1) Theoretical SPA;
2) Replace SPA Product Term by Sum;
3) Replace SPA Product Term by MIN-SUM; or
4) Replace SPA Product Term by OFFSET MIN-SUM.
For the MIN-SUM OFFSET LAYERED Update Schedule SPA Decoding & 'Replace SPA Product Term by OFFSET MIN-SUM' Implementation, the OFFSET VALUE is chosen to be Greater than 0.0.
FLOODING or LAYERED SPA Decoder Channel, Variable (VAR) Node to Check (CK) Node Message & Check (CK) Node to Variable (VAR) Node Message, and Bit A Posteriori Probabilities (APP) LLRs QUANTIZATION can be chosen to be:
1) UNQUANTIZED Channel, Messages, & Bit APP LLRs; or
2) QUANTIZED (Mid-Tread Based) Channel, Messages, & Bit APP LLRs.
For LDPC Coded Signaling over an AWGN Memoryless Channel with a Channel Synchronization, Phase Coherency Model: 1) Coherent Signaling & Demodulation; 2) NonCoherent Signaling & Demodulation; or 3) Actual Coherent Signaling & Demodulation [Phase-Lock Loop (PLL) Based], UNQUANTIZED or QUANTIZED Channel, Messages, & Bit APP LLRs will be used.
For LDPC Coded Signaling over a Memory or Parallel MultiChannel Channel simulation, only UNQUANTIZED Channel, Messages, & Bit APP LLRs will be used.
For Quantized Offset Min-Sum Flooding or Layered SPA Decoder Model 1 or 2, the Offset Value is an Integer where one (1) is the Minimum value with a Maximum value determined by the upper saturation value of the Message LLR Quantizer.
The SPA Decoder Quantizer consists of four Mid-Tread sub-quantizers, one for the Channel LLRs, one for the Variable (VAR)-to-Check (CK) Node Messages, one for the Check-to-Variable Node Messages & one for the Bit APP LLRs.
The User will specify the number of bits for the QUANTIZATION of CHANNEL LLRs sub-quantizer, for the QUANTIZATION of VAR-to-CK Messages LLRs sub-quantizer, for the QUANTIZATION of CK-to-VAR MESSAGE LLRs sub-quantizer, and for the QUANTIZATION of BIT APP LLRs. For each sub-quantizer, a range (MIN & MAX) of bits is presented to the User for each sub-quantizer's number of bits. Each sub-quantizer number of bits range is dependent on the structure of the Tanner Graph of the chosen LDPC Code (Check Node & Bit Node degrees), and AWGN Memoryless channel characteristics.
Critical to the design of the SPA Quantizer is the specification of the integral number of AWGN Standard Deviations where the Minimum value is four (4). This parameter is used in the calculation of the LLR dynamic range for each sub-quantizer starting with the Channel LLR sub-quantizer.
Consider the UnQuantized Flooding or Layered Scheduling SPA Decoding Algorithm Bit Error Rate (BER) or Bit Error Probability P
b performance simulation results for Regular Gallager Coded (RGC) or Protograph-Based Coded (PGC) Generator-based Encoding and Signaling that were produced by
T1 V2 that are displayed below in
Figure 1 through 10 plots for BPSK Modulation. Further consider
Figure 11, 12, 13, and 14 plots that show the simulated BER results for the Quantized Flooding SPA Decoding of RGC Generator-based Encoding and Signaling that were produced by
T1 V2.
For comparison purposes, simulated BER results for UnCoded BPSK Signaling is included in
Figures 1 through 12.
Each figure's BER plot displays a number of curves where a curve is constructed from the set of simulated P
b values that correspond to a set of E
b/N
0 [Signal-to-Noise Ratio (SNR)] values. Thus, a BER curve is represented as {(E
b/N
0, P
b)} for a number of
T1 V2 computer-based simulations. Each RGC or PGC curve displays the BER performance behavior of a Regular Gallager Coding or P or QC Protograph-based Coding and SPA Iterative Decoding system example, respectively, that was used for a
T1 V2 computer-based simulation.
Figure 1 displays BER versus E
b/N
0 values for UnQuantized Flooding SPA Decoding using Theoretical or Offset Min-Sum (OMS) Check Messages for (N = 504, column weight (j) = 3, row weight (k) = 6, L = 254, Rate (R) = 0.503968) Regular Gallager Coded BPSK Signaling over a Coherent Vector Memoryless Channel (MLC) with AWGN; for Regular Gallager Codes I & II; and for 1,000,252 Equal Probable Independent and Identical Distributed (I.I.D.) Information Bits.
Figure 2 displays BER versus E
b/N
0 values for UnQuantized Layered SPA Decoding using Theoretical or OMS Check Messages for (N = 504, j = 3, k = 6, L = 254, R = 0.503968) Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC with AWGN; for Regular Gallager Codes I & II; and for 1,000,252 Equal Probable I.I.D. Information Bits.
Figure 3 displays BER versus E
b/N
0 values for UnQuantized Flooding or Layered SPA Decoding using OMS Check Messages for (N = 504, j = 3, k = 6, L = 254, R = 0.503968) Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC with AWGN; for Regular Gallager Codes I & II; and for 1,000,252 Equal Probable I.I.D. Information Bits.
Figure 4 displays BER versus E
b/N
0 values for UnQuantized Flooding or SPA Decoding using Theoretical Check Messages for N = 504, L = 169, R = 0.335317 Permutation (P) Protograph-Based Code (PGC) I (2x3 Base Graph, All-Ones, Lifting Size, Z = 168), N = 504, L = 169, R = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) , N = 504, L = 169, Rate = 0.335317 Quasi-Cyclic (QC) PGC I (2x3 Base Graph, All-Ones, Lifting Size, Z = 168), N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) and RGC II BPSK Signaling over a Coherent Vector MLC with AWGN; and for 1,000,142 and 1,000,252 Equal Probable I.I.D. Information Bits, respectively.
Figure 5 displays BER versus E
b/N
0 values for UnQuantized Layered or SPA Decoding using Theoretical Check Messages for N = 504, L = 169, R = 0.335317 Permutation (P) PGC I (2x3 Base Graph, All-Ones, Lifting Size, Z = 168), N = 504, L = 169, R = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) , N = 504, L = 169, Rate = 0.335317 Quasi-Cyclic (QC) PGC I (2x3 Base Graph, All-Ones, Lifting Size, Z = 168), N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) and RGC II BPSK Signaling over a Coherent Vector MLC with AWGN; and for 1,000,142 and 1,000,252 Equal Probable I.I.D. Information Bits, respectively.
Figure 6 displays BER versus E
b/N
0 values for UnQuantized Flooding or SPA Decoding using OMS Check Messages for N = 504, L = 169, R = 0.335317 Permutation (P) Protograph-Based Code (PGC) I (2x3 Base Graph, All-Ones, Lifting Size, Z = 168), N = 504, L = 169, R = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) , N = 504, L = 169, Rate = 0.335317 Quasi-Cyclic (QC) PGC I (2x3 Base Graph, All-Ones, Lifting Size, Z = 168), N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) and RGC II BPSK Signaling over a Coherent Vector MLC with AWGN; and for 1,000,142 and 1,000,252 Equal Probable I.I.D. Information Bits, respectively.
Figure 7 displays BER versus E
b/N
0 values for UnQuantized Layered SPA Decoding using OMS Check Messages for N = 504, L = 169, R = 0.335317 Permutation (P) PGC I (2x3 Base Graph, All-Ones, Lifting Size, Z = 168), N = 504, L = 169, R = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) , N = 504, L = 169, Rate = 0.335317 Quasi-Cyclic (QC) PGC I (2x3 Base Graph, All-Ones, Lifting Size, Z = 168), N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) and RGC II BPSK Signaling over a Coherent Vector MLC with AWGN; and for 1,000,142 and 1,000,252 Equal Probable I.I.D. Information Bits, respectively.
Figure 8 displays BER versus E
b/N
0 values for UnQuantized Flooding or Layered SPA Decoding using Theoretical Check Messages for N = 504, L = 169, R = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) , N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) BPSK Signaling over a Coherent Vector MLC with AWGN; and for 1,000,142 Equal Probable I.I.D. Information Bits.
Figure 9 displays BER versus E
b/N
0 values for UnQuantized Flooding or Layered SPA Decoding using OMS Check Messages for N = 504, L = 169, R = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) , N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) BPSK Signaling over a Coherent Vector MLC with AWGN; and for 1,000,142 Equal Probable I.I.D. Information Bits.
Figure 10 displays BER versus E
b/N
0 values for UnQuantized Flooding or Layered SPA Decoding using Theoretical or OMS Check Messages for N = 504, L = 169, R = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting Size, Z = 84) BPSK Signaling over a Coherent Vector MLC with AWGN; and for 1,000,142 Equal Probable I.I.D. Information Bits.
Figure 11 displays BER versus E
b/N
0 values for UnQuantized and Uniform Quantized Flooding SPA Decoding using Offset Min-Sum (OMS) Check Messages for (N = 504, j = 3, k = 6, L = 254, R = 0.503968) Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC with AWGN; for T1 V2 Generated Regular Gallager Code I [3,13d]; and for 1,000,252 Equal Probable I.I.D. Information Bits.
Uniform Quantized Messages where its Quantizer consists of four SubQuantizers: Channel LLR Bits (q
ch), Check Message Bits (q
ck), Variable Message Bits (q
var), Bit APP Bits (q
app) & the Channel LLR SubQuantizer is based on 6 times Sigma (AWGN standard deviation)
Uniform Quantized SPA Decoder Simulations correspond to (3,3,3,3) , (4,4,4,4), (5,5,5,5), or (6,6,6,6) cases.
Figure 12 displays BER versus E
b/N
0 values for UnQuantized and Non-Uniform Quantized Flooding SPA Decoding using Offset Min-Sum (OMS) Check Messages for (N = 504, j = 3, k = 6, L = 254, R = 0.503968) Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC with AWGN; for Regular Gallager Code I; and for 1,000,252 Equal Probable I.I.D. Information Bits.
Non-Uniform Quantized SPA Decoder Simulations correspond to (3,9,10,10) , (4,9,10,10), (5,9,10,10), or (6,9,10,10) cases.
Figure 13 displays BER versus E
b/N
0 values for UnQuantized and Uniform or Non-Uniform Quantized Flooding SPA Decoding using Offset Min-Sum (OMS) Check Messages for (N = 504, j = 3, k = 6, L = 254, R = 0.503968) Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC with AWGN; for Regular Gallager Code I; and for 1,000,252 Equal Probable I.I.D. Information Bits.
Uniform or Non-Uniform Quantized SPA Decoder Simulations correspond to (3,3,3,3), (4,4,4,4), (5,5,5,5), (5,9,10,10), (6,6,6,6), or (6,9,10,10) cases.
Figure 14 displays BER versus E
b/N
0 values for UnQuantized and Uniform or Non-Uniform Quantized Flooding SPA Decoding using Offset Min-Sum (OMS) Check Messages for (N = 504, j = 3, k = 6, L = 254, R = 0.503968) Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC with AWGN; for Regular Gallager Code I; for 1,000,252 Equal Probable I.I.D. Information Bits.
Uniform or Non-Uniform Quantized SPA Decoder Simulations correspond to (3,3,3,3) ), (3,9,10,10), (4,4,4,4), (4,9,10,10), (5,5,5,5) or (6,6,6,6) cases.
The Regular Gallager Codes (I & II), Permutation Protograph-Based Codes (I & II), and Quasi-Cyclic Protograph-Based Codes (I & II) were generated individually by
T1 V2 prior to use in a BER performance
T1 V2 computer-based simulation.
T1 V2 uses a unique Random Number Generation based algorithm for each LDPC code type that is dependent on User-Specified Random Number Seed (s) and Randomization parameter (number of random numbers generated prior to code generation).
The RGC I & II were produced by a RANDOM NUMBER GENERATION process.
RGC I is based on the use of a pair of Random Number Generator seeds [3, 13] and a Default (d) Randomization process {One Million Random numbers are generated prior to the start of RGC generation}.
RGC II is based on the use of a pair of Random Number Generator seeds [37, 37] and a Default Randomization process.
The P PGC I & II were produced by a RANDOM NUMBER GENERATION of BIT NODE'S zi ASSIGNMENT.
P PGC I & P PGC II are based on the use of a Random Number Generator seed 37 and a Default Randomization process.
The QC PGC I & II were produced by a RANDOM NUMBER GENERATION of CYCLIC PERMUTATION MATRICES ASSIGNMENT.
QC PGC I & QC PGC II are based on the use of a Random Number Generator seed 37 and Default Randomization process.
Next, as a reminder, the 2x3 Base Graph/Matrix for the P PGC I & QC PGC I codes consists of All Ones. And the 4x6 Base Graph/Matrix for the P PGC II & QC PGC II codes consists of Ones and Zeros as configured as
[1 0 1 0 1 0]
[0 1 0 1 0 1]
[1 0 1 0 0 1]
[0 1 0 1 1 0].
For the QC PGC I code, the Lifted Graph/Matrix (Z Graph/Matrix) is
[33 14 87]
[23 54 138] for a Lifting Size (Z) of 168.
For QC PGC II code, the Lift Graph/Matrix (Z Graph/Matrix) is
[17 0 7 0 44 0]
[0 12 0 27 0 69]
[11 0 48 0 0 41]
[0 75 0 53 34 0] for a Lifting Size (Z) of 84.
There are a number of important conclusions that can be drawn from the below displayed simulated SPA Iterative Decoding of Protograph-Based LDPC Coded BPSK Signaling BER results. It appears that
T1 V2 is correctly modeling and simulating Protograph-Based LDPC Coded Signaling over a Coherent AWGN Memoryless Channel with Flooding (F) or Layered (L) SPA Decoding using UnQuantized (UnQ) Theoretical (T) or OMS Check Messages for the selected
T1 V2 generated Permutation (P) and Quasi-Cyclic (QC) Protograph-Based Codes (PGC). Also, it appears that the Quantization (Q) of the SPA Decoding process is being modeled and simulated correctly for Flooding Schedule SPA decoding using OMS Check Messages.
Note that in a figure's plot displaying the BER Performance for both Flooding and Layered Scheduling SPA decoding, the E
b/N
0 domains do not overlap at the low end of the E
b/N
0 domain. The
T1 V2 simulated P
b values corresponding to certain E
b/N
0 values in the low end of the E
b/N
0 domain were not obtained for Layered SPA Decoding. This is because the time for a particular LDPC Code, Modulation Scheme and Layered SPA Decoder system computer-based simulation is longer significantly as compared to the use of Flooding SPA Decoding for the same LDPC Code and Modulation Scheme.
First, let us look at the Non-Erronous E
b/N
0 region of a BER (P
b) vs. E
b/N
0 plot in each figure (
Figures 1 through 10). One can clearly observed that the
T1 V2 simulated BER performance for Flooding or Layered Scheduling SPA Decoding of LDPC Coded BPSK Signaling over an AWGN MLC is much better as compared to Maximum Likelihood (ML) Demodulation of UnCoded (UC) BPSK Signaling. There is an exception to this statement: P PGC I & F T, P PGC I L & T, P PGC I & F OMS, P PGC I & L OMS BER performance is almost equal to the BER performance of ML Demodulation of UC BPSK Signaling at E
b/N
0.of 10 dB as seen in
Figure 4, 5, 6, and 7, respectively.
Second, one can observe a variety of LDPC Code (RGC, P & QC PGC) and SPA decoding method BER Performance curve behaviors in one or more figures in
Figures 1 through 14. They are 1) the 'wavefall' (a sharp reduction of P
b, i.e. a steep negative slope over a relatively small E
b/N
0 region of interest); 2) a gradual reduction of P
b over a relatively large E
b/N
0 region of interest; 3) a compound curve (reverse curve) reduction of P
b without flattening; 4) curve's fluctuations at largest end of curve's E
b/N
0 region; 5a) curve begins to flatten at the largest end of curve's E
b/N
0 region but does not flatten; 5b) 'error floor' (curve flatten at largest end of curve's E
b/N
0 region); and 6) the difference between curve's P
b value and the UnCoded BPSK curve 's P
b is small at a large E
b/N
0 value.
Consider the following
T1 V2 generated simulated BER curve behavior examples:
Specifically, the curve behavior 1 ('wavefall' behavior) is observe in
Figure 1 (RGC I & II: F T & OMS curves),
Figure 2 (RGC I & II: L T & OMS curves),
Figure 3 (RGC I & II: F & L OMS curves),
Figures 4 (RGC II: F T curve),
Figure 5 (RGC I: L T curve),
Figure 6 (RGC II: F OMS curve),
Figure 7 (RGC II: L OMS curve), and
Figures 11 through 14 (RGC I: F OMS UnQ & Q curves).
The curve behavior 2 (gradual P
b reduction) is observed in
Figure 4 (PGC I & II: F T curves),
Figure 5 (P PGC I & II, QC PGC I & II: L T curves),
Figure 6 (QC PGC I & II: F OMS curves),
Figure 7 (P PGC I & II, QC PGC I & II: L OMS curves),
Figure 8 (P PGC II & QC PGC II: F & L T curves),
Figure 9 (P PGC II & QC PGC II: F & L OMS curves), and
Figure 10 (P PGC II: F & L T, P PGC II L OMS curves).
The curve behavior 3 [a compound curve (reverse curve) reduction of P
b without flattening] is observed in
Figure 4 (P PGC I & II: F T curves),
Figure 6 (P PGC I & II: F OMS curves),
Figure 10 (P PGC II: F OMS curve), and
Figure 11 [RGC I: F OMS Q (3,3,3,3) curve],
Figure 13 [RGC I: F OMS Q (3,3,3,3) curve], and
Figure 14 [RGC I: F OMS Q (3,3,3,3) curve].
The curve behavior 4 (curve's fluctuations at largest end of curve's E
b/N
0 region) is observed in
Figure 1 (RGC I: F T curve).
The curve behavior 5a (curve begins to flatten at the largest end of curve's E
b/N
0 region but does not flatten) is observed in
Figure 1 (RGC II: F T curve),
Figure 2 (RGC II: L T curve),
Figure 4 (RGC II: F T curve),
Figure 5 (P PGC II: L T curve),
Figure 6 (P PGC I: F OMS curve),
Figure 7 (P PGC I, P PGC II: L OMS curves),
Figure 8 (P PGC II: F & L T curves, QC PGC II: L T curve),
Figure 9 (P PGC II: F & L OMS curves),
Figure 10 (P PGC II: F & L T curves, P PPG F OMS curve),
Figure 11 [RGC I: F OMS Q (4,4,4,4) curve],
Figure 13 [RGC I: F OMS Q (4,4,4,4) curve], and
Figure 14 [RGC I: F OMS Q (4,4,4,4) curve].
The curve behavior 5b ['error floor' (curve flatten at largest end of curve's E
b/N
0 region)] is observed in
Figure 2 (RGC I: L OMS curve), and
Figure 3 (RGC I: L OMS curve).
The curve behavior 6 (the difference between the curve's P
b value and the UnCoded BPSK curve at largest E
b/N
0 value is small) is observed in
Figure 5 (P PGC I: L T curve),
Figure 6 (P PGC I: F OMS curve), and
Figure 7 (P PGC I: L OMS curve).
Next, we determine for each figure the BER Performance curves' E
b/N
0 order of the LDPC Code & SPA decoding method that is based on the figure's code & SPA decoding method curve's E
b/N
0 at a P
b of 1x10
-4 value. This ranking is based on the smallest to largest E
b/N
0 values for a particular figure. They are:
Figure 1: RGC II & F T, RGC I & F T, RGC I & F OMS & RGC II & F OMS;
Figure 2: RGC II & L OMS, RGC I & L OMS, RGC I & L T, RGC II & L T;
Figure 3: RGC I & F OMS & RGC II & F OMS, RGC II & L OMS, RGC I L OMS;
Figure 4: RGC II & F T, P PGC II & F T, QC PGC II & F T & QC PGC I & F T, P PGC I & F T;
Figure 5: RGC I & L T, P PGC II & L T, QC PGC II & L T & QC PGC I & L T, P PGC I & L T;
Figure 6: RGC II & F OMS, P PGC II & F OMS, QC PGC II & F OMS & QC PGC I & F OMS, P PGC I & F OMS;
Figure 7: RGC II & L OMS, P PGC II & L OMS, QC PGC II & L OMS & QC PGC I & L OMS, P PGC I & L OMS;
Figure 8: P PGC II & F T, P PGC II & L T, QC PGC II & F T & QC PGC II & L T;
Figure 9: P PGC II & L OMS, P PGC II & F OMS, QC PGC II & L OMS, QC PGC II F OMS;
Figure 10: P PGC II & F T, P PGC II & L OMS, P PGC II & L T, P PGC II & F OMS;
Figure 11: RGC I & UnQ F T, Q (4,4,4,4) & Q (5,5,5,5) & Q (6,6,6,6), Q (3,3,3,3);
Figure 12: RGC I & UnQ F T, Q (4,9,10,10) & Q (5,9,10,10) & Q (6,9,10,10), Q (3,9,10,10);
Figure 13: RGC I & UnQ F T, Q (4,4,4,4) & Q (5,5,5,5) & Q (5,9,10,10) & Q (6,6,6,6) & Q (6,9,10,10), Q (3,3,3,3);
Figure 14: RGC I & UnQ F T, Q (4,4,4,4) & (4,9,10,10) & Q (5,5,5,5) & Q (6,6,6,6) & Q (6,9,10,10), Q (3,9,10,10), Q (3,3,3,3);
Using an alternative criteria, we determine for
Figure 1, 2, 3, 5 and 7 the best LDPC Code & SPA decoding method that is based on figure's curve with smallest E
b/N
0 for P
b = 0. They are:
Figure 1: RGC II & Flooding SPA using OMS Ck Messages;
Figure 2: RGC II & Layered SPA using OMS Ck Messages;
Figure 3: RGC I & Flooding SPA using OMS Ck Messages & RGC II & Flooding SPA using OMS Ck Messages;
Figure 5: RGC I & Layered SPA using T Ck Messages; &
Figure 7: RGC II & Layered SPA using OMS Messages.
Let us summarize the above determinations derived from
Figures 1 through 14. They are:
Figure 1: Determine the best Check (Ck) Message type for the two Regular Gallager (RG) Codes (I & II) & Flooding (F) SPA decoding by comparing the two RG Codes' BER Performance for Flooding SPA using Theoretical (T) or Offset Min-Sum (OMS) Ck Messages. => OMS Ck Message.
Figure 2: Determine the best Ck Message type for the two RG Codes (I & II) & Layered SPA decoding by comparing the two RG Codes' BER Performance for Layered (L) SPA using T or OMS Ck Messages. => OMS Ck Message.
Figure 3: Determine the best SPA Scheduling Decoding method for the two RG Codes (I & II) using OMS Ck Messages by comparing the two RG Codes' BER Performance for Flooding or Layered SPA using OMS Check Messages.
=> Flooding SPA using OMS Ck Messages for each RGC (I & II).
Figure 4: Determine the best LDPC Code & Prototgraph-based code by comparing LDPC Codes (Best RGC (II), P PPGC I, P PGC II, QC PGC I, & QC PGC II) for Flooding SPA using T Ck Messages. => RGC II, P PGC II & QC PGC II.
Figure 5: Determine the best LDPC Code & Prototgraph-based code by comparing LDPC Codes (Best RGC (I), P PPGC I, P PGC II, QC PGC I, & QC PGC II) for Layered SPA using T Ck Messages. => RGC II, P PGC II & QC PGC II.
Figure 6: Determine the best LDPC Code & Prototgraph-based code by comparing LDPC Codes (Best RGC (II), P PPGC I, P PGC II, QC PGC I, & QC PGC II) for Flooding SPA using OMS Ck Messages. => RGC II, P PGC II & QC PGC II.
Figure 7: Determine the best LDPC Code & Prototgraph-based code by comparing LDPC Codes (Best RGC (II), P PPGC I, P PGC II, QC PGC I, & QC PGC II) for Layered SPA using OMS Ck Messages. => RGC II, P PGC II & QC PGC II.
Figure 8: Determine the best Protograph-based Code (P PGC II & QC PGC II) and SPA Scheme (Flooding SPA using T Ck Messages and Layered SPA using T Ck Messages). => P PGC II & Flooding using T Ck Messages (QC PGC II & Flooding using T Ck Messages at Eb/N0 of 7 dB).
Figure 9: Determine the best Protograph-based Code (P PGC II & QC PGC II) and SPA Scheme (Flooding SPA using OMS Ck Messages and Layered SPA using OMS Ck Messages). => P PGC II & Layered SPA using OMS (QC PGC II Flooding & Layered using OMS Ck Messages at Eb/N0 of 7 dB).
Figure 10: Determine the best SPA Scheme (Flooding T & OMS, Layered T & OMS) for Protograph-based Code (P PGC II). => Flooding using T Ck Messages (Flooding using T Ck Messages & Layered using T Ck Messages at Eb/N0 of 7 dB).
Figure 11: Determine the best Quantized (Q) Messages (qch,qck, qvar,qapp) out of (3,3,3,3), (4,4,4,4),(5,5,5,5), (6,6,6,6) for RGC I & Flooding SPA & OMS Ck Messages. => Q (4,4,4,4) & Q (5,5,5,5) & Q (6,6,6,6).
Figure 12: Determine the best Quantized (Q) Messages (qch,qck, qvar,qapp) out of (3,9,10,10), (4,9,10,10), (5,9,10,10), (6,9,10,10) for RGC I & Flooding SPA & OMS Ck Messages. => Q (4,9,10,10) & Q (5,9,10,10) & Q (6,9,10,10).
Figure 13: Determine the best Quantized (Q) Messages (qch,qck, qvar,qapp) out of (3,3,3,3), (4,4,4,4), (5,5,5,5), (5,9,10,10), (6,6,6,6), (6,9,10,10) for RGC I & Flooding SPA & OMS Check Messages => Q (5,5,5,5) & Q (5,9,10,10) & (6,6,6,6,6) & Q (6,9,10,10).
Figure 14: Determine the best Quantized (Q) Messages (qch,qck, qvar,qapp) out of (3,3,3,3), (3,9,10,10),(4,4,4,4), (4,9,10,10), (5,5,5,5), (6,6,6,6) for RGC I & Flooding SPA & OMS Check Messages => Q (4,9,10,10) & Q (5,5,5,5) & (6,6,6,6,6).
Finally, based on the above described results, we can say that the Regular Gallager Codes (I & II) outperforms the four Protograph-Based Codes (P PGC I & II and QC PGC I & II) in regards to BER performance. It appears that P PGC II code is the best Protograph-Based code in regards to BER performance for Flooding and Layered SPA decoding using Theoretical or OMS Ck Messages.
For the RGC (I & II) and BPSK Signaling, the Flooding SPA OMS Ck Message decoding outperforms the Layered SPA OMS Ck Message decoding in regards to BER performance.
For the P PGC II and BPSK signaling, the BER Performances for the Flooding SPA T Ck Message and Layered SPA OMS Ck Message decoding are almost equivalent at P
b of 1x10
-4 for E
b/N
0 of ~ 5 dB. And the BER Performances for Flooding SPA OMS Ck Message and Layered SPA T Ck Message decoding are almost equivalent at Pb of 1x10
-4 for Eb/N0 of ~ 5 dB. Further, the BER Performances at E
b/N
0 at 7 dB for Flooding and Layered SPA T Ck Message decoding are equal and for Flooding and Layered SPA OMS Ck Message decoding are equal.
Note: the Flooding and Layered Sum-Product Algorithms are implemented in
T1 V2 as sequential algorithms and not parallel algorithms. The reason why the simulation time for the Layered SPA is significantly longer than for the Flooding SPA is due to the nature of the Layered Sum-Product Algorithm in terms of the order of processing the Check and Variable Nodes of a particular LDPC code's Tanner Graph.
T1 Professional (T1 V2) now offers the Structured LDPC Code (Permutation and Quasi-Cyclic Protograph-Based) construction along with the Gallager, Array, and Repeat-Accumulate (RA) LDPC codes construction.
T1 V2 supports Gallager, Array, RA, and Protograph-Based LDPC Channel Coding for Signaling over a Memoryless, Memory, or Parallel Multichannel. Also, the Layered Sum-Product Algorithm (SPA) and the OMS Check Message scheme have been added to
T1 V2 in addition to the Flooding SPA and the Theoretical Check Message scheme. And,
T1 V2 now supports the Quantization of SPA Channel Decoder Messages.
Also, it is important to realize that New Radio (NR), a Fifth-Generation (5G) Telecommunications Technologies, has been proposed to use (technology standards have been released) Structured LDPC Channel Codes (Protograph-based). Consult Tom Richardson & Shrinivas Kudekar 's 2018 paper 'Design of Low-Density Parity Check Codes for 5G New Radio'
[3] and J.H. Bae, A. Abotabi, H. Lin, K. Song & J. Lee's 2019 paper 'An overview of channel coding for 5G NR cellular communications'
[4].
In conclusion,
the User via T1 V2 can get experience with the Generation of Protograph-based (Permutation and Quasi-Cyclic) and Gallager, Array and Repeat-Accumulate LDPC codes and the Sum-Product Algorithm as applied to Iterative Decoding in simulated digital communication systems for Spacecraft and Mobile Communications and Digital Storage Systems LDPC Coding applications.
FIGURE 1. Bit Error Probability for Flooding Sum-Product Algorithm Decoding of
(N = 504, j = 3, k = 6) Regular Gallager Coded BPSK Signaling over a Coherent
Memoryless Channel with Additive White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million and 1,000,252 Information (Info) Bits
for UnCoded and Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC,
respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code (RGC) I (T1 V2
Computer-generated {3,13d});
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 RGC II (T1 V2 Computer-generated
{37,37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Flooding Scheduling (F); Model 2
(Check Messages then Bit Messages Iteration Processing); Theoretical (T) or Offset
Min Sum [OMS, (Offset equal to 1)] Check Message Implementation Type; UnQuantized
Messages; & Maximum Number of Iterations per Block (Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
RGC I & F SPA T {3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11};
RGC II & F SPA T {3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11};
RGC I & F SPA OMS {3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11}; &
RGC II & F SPA OMS {3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11}.
FIGURE 2. Bit Error Probability for Layered Sum-Product Algorithm Decoding of
(N = 504, j = 3, k = 6) Regular Gallager Coded BPSK Signaling over a Coherent
Memoryless Channel with Additive White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million and 1,000,252 Information (Info) Bits
for UnCoded and Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC,
respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code (RGC) I (T1 V2
Computer-generated {3,13d});
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 RGC II (T1 V2 Computer-generated
{37,37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Layered Scheduling (L); Model 2
(Check Messages then Bit Messages Iteration Processing); Theoretical (T) or Offset
Min Sum [OMS, (Offset equal to 1)] Check Message Implementation Type; UnQuantized
Messages; & Maximum Number of Iterations per Block (Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
RGC I & L SPA T {5.5, 6, 7, 8, 9, 10, 11},
RGC II & L SPA T {5.5, 6 , 7, 8, 9, 10, 11},
RGC I & L SPA OMS {5.5, 6, 7, 8, 9, 10, 11}, &
RGC II & L SPA OMS {4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11}.
FIGURE 3. Bit Error Probability for Flooding and Layered Sum-Product Algorithm
Decoding of (N = 504, j = 3, k = 6) Regular Gallager Coded BPSK Signaling over a
Coherent Memoryless Channel with Additive White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million and 1,000,252 Information (Info) Bits
for UnCoded and Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC,
respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code (RGC) I (T1 V2
Computer-generated {3,13d});
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 RGC II (T1 V2 Computer-generated
{37,37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Flooding (F) or Layered (L)
Scheduling; Model 2 (Check Messages then Bit Messages Iteration Processing);
Theoretical (T) or Offset Min Sum [OMS, (Offset equal to 1)] Check Message
Implementation Type; UnQuantized Messages; & Maximum Number of Iterations per Block
(Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
RGC I & F SPA OMS {3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11},
RGC II & F SPA OMS {3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11},
RGC I & L SPA OMS {5.5, 6, 7, 8, 9, 10, 11}, &
RGC II & L SPA OMS {4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11}.
FIGURE 4. Bit Error Probability for Flooding Sum-Product Algorithm Decoding of
(N = 504, j = 3, k = 6) Regular Gallager and (N = 504) Protograph-Based (Permutation
& Quasi-Cyclic) Coded BPSK Signaling over a Coherent Memoryless Channel with Additive
White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million, 1,000,252, and 1,000,142 Information
(Info) Bits for UnCoded, Regular Gallager Coded, Permutation (P) and Quasi-Cyclic
(QC) Protograph-Based Coded BPSK Signaling over a Coherent Vector MLC, respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code II (T1 V2
Computer-generated CG {37,37d});
N = 504, L = 169, Rate = 0.335317 P Protograph-Based Code (PGC) I (2x3 Base Graph,
All-Ones, Lifting Size, Z = 168) (T1 V2 CG {37d})
N = 504, L = 169, Rate = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC I (2x3 Base Graph, All-Ones, Lifting Size,
Z = 168) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 CG {37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Flooding Scheduling (F); Model 2
(Check Messages then Bit Messages Iteration Processing); Theoretical (T) Check
Message Implementation Type; UnQuantized Messages; & Maximum Number of Iterations
per Block (Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error): RGC II & F SPA T
{3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11}, P PGC I & F SPA T {11},
P PGC II & F SPA T {8, 9, 10, 11}, QC PGC I & F SPA T {8, 9, 10, 11}, & QC PGC II & F
SPA T {8, 9, 10, 11}.
FIGURE 5. Bit Error Probability for Layered Sum-Product Algorithm Decoding of
(N = 504, j = 3, k = 6) Regular Gallager and (N = 504) Protograph-Based (Permutation
& Quasi-Cyclic) Coded BPSK Signaling over a Coherent Memoryless Channel with
Additive White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million, 1,000,252, and 1,000,142 Information
(Info) Bits for UnCoded, Regular Gallager Coded, Permutation (P) and Quasi-Cyclic
(QC) Protograph-Based Coded BPSK Signaling over a Coherent Vector MLC, respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code I (T1 V2
Computer-generated GC {3,13d});
N = 504, L = 169, Rate = 0.335317 P Protograph-Based Code (PGC) I (2x3 Base Graph,
All-Ones, Lifting Size, Z = 168) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC I (2x3 Base Graph, All-Ones, Lifting Size,
Z = 168) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 CG {37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Layered Scheduling (L); Model 2
(Check Messages then Bit Messages Iteration Processing); Theoretical (T) Check
Message Implementation Type; UnQuantized Messages; & Maximum Number of Iterations
per Block (Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error): RGC I & L SPA T
{5.5, 6, 7, 8 9, 10, 11}, P PGC I & L SPA T {11}, P PGC II & L SPA T {8, 9, 10, 11},
QC PGC I & L SPA T {8, 9, 10, 11}, & QC PGC II & L SPA & T {8, 9, 10, 11}.
FIGURE 6. Bit Error Probability for Flooding Sum-Product Algorithm Decoding of
(N = 504, j = 3, k = 6) Regular Gallager and (N = 504) Protograph-Based (Permutation
& Quasi-Cyclic) Coded BPSK Signaling over a Coherent Memoryless Channel with
Additive White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million, 1,000,252, and 1,000,142 Information
(Info) Bits for UnCoded, Regular Gallager Coded, Permutation (P) and Quasi-Cyclic
(QC) Protograph-Based Coded BPSK Signaling over a Coherent Vector MLC,
respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code II (T1 V2
Computer-generated GC {37,37d});
N = 504, L = 169, Rate = 0.335317 P Protograph-Based Code (PGC) I (2x3 Base Graph,
All-Ones, Lifting Size, Z = 168) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC I (2x3 Base Graph, All-Ones, Lifting Size,
Z = 168) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 CG {37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Flooding Scheduling (F); Model 2
(Check Messages then Bit Messages Iteration Processing); Offset Min Sum [OMS,
(Offset equal to 1)] Check Message Implementation Type; UnQuantized Messages; &
Maximum Number of Iterations per Block (Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error): RGC II & F SPA OMS
{3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11}, P PGC I & F SPA OMS
{11}, P PGC II & F SPA OMS {8, 9, 10, 11}, QC PGC I & F SPA OMS {8, 9, 10, 11}, &
QC PGC II & F SPA OMS {8, 9, 10, 11}.
FIGURE 7. Bit Error Probability for Layered Sum-Product Algorithm Decoding of
(N = 504, j = 3, k = 6) Regular Gallager and (N = 504) Protograph-Based (Permutation
& Quasi-Cyclic) Coded BPSK Signaling over a Coherent Memoryless Channel with
Additive White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million, 1,000,252, and 1,000,142 Information
(Info) Bits for UnCoded, Regular Gallager Coded, Permutation (P) and
Quasi-Cyclic (QC) Protograph-Based Coded BPSK Signaling over a Coheent Vector MLC,
respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code II (T1 V2
Computer-generated GC {37,37d});
N = 504, L = 169, Rate = 0.335317 P Protograph-Based Code (PGC) I (2x3 Base Graph,
All-Ones, Lifting Size, Z = 168) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC I (2x3 Base Graph, All-Ones,
Lifting Size, Z = 168) (T1 V2 CG {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 CG {37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Layered Scheduling (L); Model 2
(Check Messages then Bit Messages Iteration Processing); Offset Min Sum [OMS,
(Offset equal to 1)] Check Message Implementation Type; UnQuantized Messages; &
Maximum Number of Iterations per Block (Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error): RGC II & L SPA OMS
{4, 4.5, 5, 5.5, 6, 7, 8, 9, 10, 11}, P PGC I & L SPA OMS {11}, P PGC II & L SPA OMS
{8, 9, 10, 11}, QC PGC I & L SPA OMS {8, 9, 10, 11}, & QC PGC II & L SPA OMS
{8, 9, 10, 11}.
FIGURE 8. Bit Error Probability for Flooding and Layered Sum-Product Algorithm
(Theoretical Check Message Implementation) Decoding of (N = 504) Protograph-Based
Coded (Permutation II & Quasi-Cyclic II) BPSK Signaling over a Coherent Memoryless
Channel with Additive White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million and 1,000,142 Information (Info) Bits
for UnCoded and Permutation (P) and Quasi-Cyclic (QC) Protograph-Based Coded
BPSK Signaling over a Coherent Vector MLC, respectively;
N = 504, L = 169, Rate = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 Computer-generated {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 Computer-generated {37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Flooding (F) or Layered (L)
Scheduling; Model 2 (Check Messages then Bit Messages Iteration Processing);
Theoretical (T) Check Message Implementation Type; UnQuantized Messages; &
Maximum Number of Iterations per Block (Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
P PGC II & F SPA T {8, 9, 10, 11}, P PGC II & L SPA T {8, 9, 10, 11},
QC PGC II & F SPA T {8, 9, 10, 11}, & QC PGC II & L SPA T {8, 9, 10, 11}.
FIGURE 9. Bit Error Probability for Flooding and Layered Sum-Product Algorithm
(Offset Min Sum [OMS, {Offset equal to 1]} Check Message Implementation) Decoding of
(N = 504) Protograph-Based Coded (Permutation II & Quasi-Cyclic II) BPSK Signaling
over a Coherent Memoryless Channel with Additive White Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 10 Million and 1,000,142 Information Info) Bits for
UnCoded, and Permutation (P) and Quasi-Cyclic (QC) Protograph-Based Coded
BPSK Signaling over a Coherent Vector MLC, respectively;
N = 504, L = 169, Rate = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 Computer-generated {37d});
N = 504, L = 169, Rate = 0.335317 QC PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 Computer-generated {37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Flooding (F) or Layered (L)
Scheduling; Model 2 (Check Messages then Bit Messages Iteration Processing);
Offset Min Sum [OMS, (Offset equal to 1)] Check Message Implementation Type;
UnQuantized Messages; & Maximum Number of Iterations per Block (Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
P PGC II & F SPA OMS {8, 9, 10, 11}, P PGC II & L SPA OMS {8, 9, 10, 11},
QC PGC II & F SPA OMS {8, 9, 10, 11}, & QC PGC II & L SPA OMS {8, 9, 10, 11}.
FIGURE 10. Bit Error Probability for Flooding and Layered Sum-Product Algorithm
(Theoretical and Offset Min Sum [OMS, {Offset equal to 1}] Check Message
Implementation) Decoding of (N = 504) Protograph-Based Coded (Permutation II)
BPSK Signaling over a Coherent Memoryless Channel with Additive White Gaussian Noise
(AWGN):
Equal probable I.I.D. Source for 10 Million and 1,000,142 Information (Info) Bits
for UnCoded and Permutation (P) Protograph-Based Coded BPSK Signaling over a Coherent
Vector MLC, respectively;
N = 504, L = 169, Rate = 0.335317 P PGC II (4x6 Base Graph, Zeros & Ones, Lifting
Size, Z = 84) (T1 V2 Computer-generated {37d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder using Flooding (F) or Layered (L)
Scheduling; Model 2 (Check Messages then Bit Messages Iteration Processing);
Theoretical (T) or Offset Min Sum [OMS, (Offset equal to 1)] Check Message
Implementation Type; UnQuantized Messages; & Maximum Number of Iterations per Block
(Imax) = 50.
Note: BER curve's Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
P PGC II & F SPA T {8, 9, 10, 11}, P PGCII & L SPA T {8, 9, 10, 11},
P PGC II & F SPA OMS {8, 9, 10, 11}, & P PGC II & L SPA OMS {8, 9, 10, 11},
FIGURE 11. Bit Error Probability for Quantized (Uniform Message Bits) Flooding
Sum-Product Algorithm Decoding of (N = 504, j = 3, k = 6) Regular Gallager Coded
BPSK Signaling over a Coherent Memoryless Channel with Additive White Gaussian Noise
(AWGN):
Equal probable I.I.D. Source for 10 Million and 1,000,252 Information (Info) Bits
for UnCoded and Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC,
respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code I (T1 V2
Computer-generated {3,13d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder: Flooding Scheduling (F); Model 2
(Check Messages then Bit Messages Iteration Processing); Offset Min Sum [OMS,
(Offset equal to 1)] Check Message Implementation Type;
SPA Channel Decoder using UnQuantized (UQ) or Uniform Quantized (Q) Messages where
its Quantizer consists of four SubQuantizers: Channel LLR Bits (qch), Check Message
Bits (qck), Variable Message Bits (qvar), Bit APP Bits (qapp) & the Channel LLR
SubQuantizer is based on 6 times Sigma (AWGN standard deviation);
Uniform Quantized SPA Decoder Simulations correspond to (3,3,3,3), (4,4,4,4),
(5,5,5,5), or (6,6,6,6) Bits cases; &
Maximum Number of Iterations per Block (Imax) = 50.
Note: Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
RGC I & F SPA OMS UQ {3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (3,3,3,3) {5.5, 6},
RGC I & F SPA OMS Q (4,4,4,4) {4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (5,5,5,5) {3.5, 4, 4.5, 5, 5.5, 6}, &
RGC I & F SPA OMS Q (6,6,6,6) {3.5, 4, 4.5, 5, 5.5, 6}.
FIGURE 12. Bit Error Probability for Quantized (Non-Uniform Message Bits) Flooding
Sum-Product Algorithm Decoding of (N = 504, j = 3, k = 6) Regular Gallager Coded
BPSK Signaling over a Coherent Memoryless Channel with Additive White Gaussian Noise
(AWGN):
Equal probable I.I.D. Source for 10 Million and 1,000,252 Information (Info) Bits
for UnCoded and Regular Gallager Coded BPSK Signaling over a Coherent Vector MLC,
respectively;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code I (T1 V2
Computer-generated {3,13d});
Maximum Likelihood (ML) Demodulation for UnCoded BPSK Signaling; &
Sum-Product Algorithm (SPA) Iterative Decoder: Flooding Scheduling (F); Model 2
(Check Messages then Bit Messages Iteration Processing); Offset Min Sum [OMS,
(Offset equal to 1)] Check Message Implementation Type;
SPA Channel Decoder using UnQuantized (UQ) or Non-Uniform Quantized (Q) Messages
where its Quantizer consists of four SubQuantizers: Channel LLR Bits (qch),
Check Message Bits (qck), Variable Message Bits (qvar), Bit APP Bits (qapp) & the
Channel LLR SubQuantizer is based on 6 times Sigma (AWGN standard deviation);
Non-Uniform Quantized SPA Decoder Simulations correspond to (3,9,10,10), (4,9,10,10),
(5,9,10,10), or (6,9,10,10) Bits cases; &
Maximum Number of Iterations per Block (Imax) = 50.
Note: Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
RGC I & F SPA OMS UQ {3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (3,9,10,10) {4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (4,9,10,10) {3.5, 4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (5,9,10,10) {3.5, 4, 4.5, 5, 5.5, 6}, &
RGC I & F SPA OMS Q (6,9,10,10) {3.5, 4, 4.5, 5, 5.5, 6}.
FIGURE 13. Bit Error Probability for Quantized (Uniform or Non-Uniform Message Bits)
Flooding Sum-Product Algorithm Decoding of (N = 504, j = 3, k = 6) Regular Gallager
Coded BPSK Signaling over a Coherent Memoryless Channel with Additive White
Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 1,000,252 Information (Info) Bits for Regular
Gallager Coded BPSK Signaling over a Coherent Vector MLC;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code I (T1 V2
Computer-generated {3,13d});
Sum-Product Algorithm (SPA) Iterative Decoder: Flooding Scheduling (F); Model 2
(Check Messages then Bit Messages Iteration Processing); Offset Min Sum [OMS,
(Offset equal to 1)] Check Message Implementation Type;
SPA Channel Decoder using UnQuantized (UQ) or Uniform or Non-Uniform Quantized
(Q) Messages where its Quantizer consists of four SubQuantizers: Channel LLR Bits
(qch), Check Message Bits (qck), Variable Message Bits (qvar), Bit APP Bits (qapp) &
the Channel LLR SubQuantizer is based on 6 times Sigma (AWGN standard deviation);
Uniform or Non-Uniform Quantized SPA Decoder Simulations correspond to (3,3,3,3),
(4,4,4,4), (5,5,5,5), (5,9,10,10), (6,6,6,6), or (6,9,10,10) Bits cases; &
Maximum Number of Iterations per Block (Imax) = 50.
Note: Eb/N0< dB Values for Pb< = 0.0 (Zero Info Bit Error):
RGC I & F SPA OMS UQ {3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (3,3,3,3) {5.5, 6},
RGC I & F SPA OMS Q (4,4,4,4) {4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (5,5,5,5) {3.5, 4, 4.5, 5, 5.5, 6},
RGC II & F SPA OMS Q (5,9,10,10) {3.5, 4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (6,6,6,6) {3.5, 4, 4.5, 5, 5.5, 6}, &
RGC I & F SPA OMS Q (6,9,10,10) {3.5, 4, 4.5, 5, 5.5, 6}.
FIGURE 14. Bit Error Probability for Quantized (Uniform or Non-Uniform Message Bits)
Flooding Sum-Product Algorithm Decoding of (N = 504, j = 3, k = 6) Regular Gallager
Coded BPSK Signaling over a Coherent Memoryless Channel with Additive White
Gaussian Noise (AWGN):
Equal probable I.I.D. Source for 1,000,252 Information (Info) Bits for Regular
Gallager Coded BPSK Signaling over a Coherent Vector MLC;
N = 504, j = 3, j = 6, L = 254, Rate = 0.503968 Regular Gallager Code I (T1 V2
Computer-generated {3,13d});
Sum-Product Algorithm (SPA) Iterative Decoder: Flooding Scheduling; Model 2
Check Messages then Bit Messages Iteration Processing); Offset Min Sum (OMS,
[Offset equal to 1]) Check Message Implementation Type;
SPA Channel Decoder using UnQuantized (UQ) or Uniform or Non-Uniform Quantized
(Q) Messages where its Quantizer consists of four SubQuantizers: Channel LLR Bits
(qch), Check Message Bits (qck), Variable Message Bits (qvar), Bit APP Bits (qapp) &
the Channel LLR SubQuantizer is based on 6 times Sigma (AWGN standard deviation);
Uniform or Non-Uniform Quantized SPA Decoder Simulations correspond to (3,3,3,3),
(3,9,10,10), (4,4,4,4), (4,9,10,10), (5,5,5,5), or (6,6,6,6) Bits cases; &
Maximum Number of Iterations per Block (Imax) = 50.
Note: Eb/N0 dB Values for Pb = 0.0 (Zero Info Bit Error):
RGC I & F SPA OMS UQ {3.1, 3.2, 3.3, 3.4, 3.5, 4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (3,3,3,3) {5.5, 6},
RGC I & F SPA OMS Q (3,9,10,10) {4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (4,4,4,4) {4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (4,9,10,10) {3.5, 4, 4.5, 5, 5.5, 6},
RGC I & F SPA OMS Q (5,5,5,5) {3.5, 4, 4.5, 5, 5.5, 6}, &
RGC I & F SPA OMS Q (6,6,6,6) {3.5, 4, 4.5, 5, 5.5, 6}.
References:[1] Robert G. Gallager, "Low-Density Parity-Check Codes,"
IRE Transactions on Information Theory, Vol. IT-8, pp. 21-28, January 1962.
[2] Robert G. Gallager,
Low-Density Parity-Check Codes, Number 21 of the M.I.T. Press Research Monographs, M.I.T. Press, Cambridge, Massachusetts, 1963.
[3] Tom Richardson and Shrinivas Kudekar,"Design of Low-Density Parity Check Codes for 5G New Radio,"
IEEE Communications Magazine, pp. 28-34, March 2018.
[4] Jung Hyun Bae, Ahmed Abotabl, Hsien-Ping Lin, Kee-Bong Song and Jungwon Lee, "An Overview of channel coding for 5G NR cellular communication," SIP (2019), Vol 8, e17, 14 pages, Open Access Article.
[5] Tom Richardson and Rudiger Urbanke,
Modern Coding Theory, Cambridge University Press, Cambridge etc., 2008.
[6] David G. M. Mitchell, Roxana Smarandache, and Daniel J. Costell, Jr,, "Quasi-Cyclic LDPC Codes Based on Pre-Lifted Protographs,"
2011 IEEE Information Theory Workshop (Paraty, Brazil), pp. 350-354, October 16-20, 2011
[7] David G. M. Mitchell, Roxana Smarandache, and Daniel J. Costell, Jr,, "Constructing Good QC-LDPC Codes by
Pre-lifting Protographs,"
2012 IEEE Information Theory Workshop (Lausanne, Switzerland), pp. 202-206, September 3-7, 2012.
[8] David G. M. Mitchell, Roxana Smarandache, Michael Lentmaier,and Daniel J. Costell, Jr,, " Quasi-Cyclic Asymptotically Regular LDPC Codes,"
2010 IEEE Information Theory Workshop (Dublin, Ireland), 5 pages, August 30 - September 3, 2010.
[9] Hai Zhu, Liqun Pu, Hengzhou Xu, and Bo Zhang, "Construction of Quasi-Cyclic LDPC Codes Based on Fundamental Theorem of Arithmetic,"
Wiley Hindawl Wireless Communications and Mobile Computing, Vol. 2018, Article ID 5264724, 9 pages, https://doi.org/10.1155/2018/5264724.
[10] C.T. Healy, "Short-length Low-density Parity-check Codes: Construction and Decoding Algorithms," Ph.D. Thesis, Department of Electronics, University of York, York, England, UK, July 2014.
[11] Oana Boncalo, Alexandru Amaricai, Valentin Savin, "Cost efficient FPGA implementation of Min-Sum and Self-Corrected-Min-Sum decoders,", Leti, Laboratoire D'Electronique ET De Technologies De L' Information, ValentinSavin_GdR_ISIS_SCMS.pdf, 30 pages.
[12] Eran Sharon, Simon Litsyn, and Jacob Goldberger, "An Efficient Message-Passing Schedule for LDPC Decoding,"
2004 23rd IEEE Convention of Electrical & Electronics Engineers in Israel (Tel-Aviv, Israel), 4 pages, September 6-7, 2004.
[13] Eran Sharon, Simon Litsyn, and Jacob Goldberger, "An Efficient Message-Passing Schedule for LDPC Decoding,"
IEEE Transactions on Information Theory," Vol. 53, No. 11, pp. 4076-4091, November 2007.
[14] C. Studer, N. Preyss, C. Roth, and A. Burg, "Configurable High-Throughput Decoder Architecture for Quasi-Cyclic LDPC Codes,"
2008 42nd Asilomar Conference on Signals, Systems, and Computers (Pacific Grove, California) 6 pages, October 26-29, 2008.
[15] C. Roth, P. Meinerzhagen, C. Studer, and A. Burg, "A 15.8 pJ/bit/iter Quasi-Cyclic LDPC Decoder for IEEE 802.11n in 90 nm CMOS,"
2010 IEEE Asian Solid-State Circuits Conference (Beijing, China), 4 pages, November 8-10, 2010.
[16] Yuan-Mao Chang, Andres I. Vila Casado, Mau-Chung Frank Chang, and Richard D. Wesel, "Lower-Complexity Layered Belief-Propagation Decoding of LDPC Codes, "
2008 IEEE International Conference on Communications (Beijing, China), 6 pages, May 19-23, 2008.
[17] Caleb Terrill, Linfang Wang, Sean Chen, Chester Hulse, Calvin Kuo, Richard Wesel, and Dariush Divsalar, "FPGA Implementations of Layered MinSum LDPC Decoders Using RCQ Message Passing,"
arXiv:2104.09480v1 [eess.SP] 19 Apr 2021, 6 pages.
[18] Jeremy Nadal, Mickael Fiorentino, Elsa Dupraz, and Francois Leduc-Primeau, "A Deeply Pipelined, Highly Parallel and Flexible LDPC Decoder,"
2020 18th IEEE International New Circuits & Systems Conference (NEWCAS) (Montreal, QC, Canada), 4 pages, June 16-19, 2020.
[19] Jinghu Chen, Ajay Dholakia, Evangelos Eleftherious, Marc P.C. Fossorier, and Xiao-Yu Hu, "Reduced-Compexity Decoding of LDPC Codes,"
IEEE Transactions on Communications, Vol. 53, No. 8, August 2005.
[20] Vladimir L. Petrovic, and Dragomir M. El Mezeni, "Reduced-Complexity Offset Min-Sum Based Layered Decoding for 5G LDPC Codes,"
2020 28th Telecommunications Forum (TELFOR) (Belgrade, Serbia), 4 pages, November 24-25, 2020.
[21] F. Cochachin, E. Boutillon, and D. Declercq, "Sign-Preserving Min-Sum Decoders,"
IEEE Transactions on Communication, Vol. 69, Issue: 10, pp. 6439 - 6454, October 2021.
BUY T1 Version 2 (ADVDCSMT1DCSS Professional software system tool)NOW.