] Irregular Gallager Code (R = 0.2552485), {G * N_{g}} = {12 * 42}, 96 Subchannels, Distinct 8-MC G, {l_{i}} = {1,1,2,6,8,8,8,8} <=> {BPSK, PI/2 BPSK, QPSK, 64-QAM, 256-QAM, 256-QAM, 256-QAM, 256-QAM} for 1,000,125 Equal probable i.i.d. Information (Info) Bits.

Note that Gray-coded Square signal constellation for QPSK, 16-QAM, 64-QAM and 256-QAM Signaling is used.

The following table shows the number of Input Channel Symbols transmitted per each CodeWord (Frame) and the total number of transmitted Frames for each Gallager code.
Code N BPSK PI/2 BPSK QPSK 16-QAM 64-QAM 256-QAM No. of Frames
1) Regular 504 12 12 12 12 48 7813
2) Irregular 507 26 13 13 52 7634
3) Irregular 492 24 12 12 48 8621
4) Irregular 506 11 11 22 44 7693
5) Irregular 503 12 12 12 12 48 7875

Note for the N = 503 Irregular Gallager Code, one of 96 Subchannels (Subchannel 0: BPSK) carries no Information. Thus, the Output Channel Symbols of the 95 subchannels is used by the SPA Decoding process. For the rest of the Gallager Codes, all of the Output Channel Symbols (corrupted Input Channel Symbols) are used by the SPA Decoding process.

**Figure 1** displays the BER versus E_{b}/N_{0} for the Maximum Number of Iterations per Block (Imax) of 50 for the five above described Gallager LDPC Coding Systems for Signaling over a Discrete-Time Waveform AWGN PMC (Non Distorting, UnRestricted Bandwidth) and using SPA Decoding.

**Figure 2** displays the BER versus E_{b}/N_{0} for the Maximum Number of Iterations per Block (Imax) of 50 for the five above described Gallager LDPC Coding Systems for Signaling over Discrete-Time Waveform DMT PMC of LDPC Coded FFT-based DMT Discrete Time Waveform AWGN Modulation Channel Type 0 (MultiCarrier Signal transmitted over a Single Channel).

**Figure 3** displays the BER versus E_{b}/N_{0} for the Maximum Number of Iterations per Block (Imax) of 50 for the five above described Gallager LDPC Coding Systems for Signaling over Discrete-Time Waveform DMT PMC of LDPC Coded FFT-based DMT Discrete Time Waveform AWGN Modulation Channel Type 1 (MultiCarrier Signal transmitted over a MultiChannel (MC) SubChannel).

There are a number of important conclusions that can be drawn from the below displayed simulated Iterative LDPC Code SPA Decoding BER results in **Figure 1, 2, and 3**. It appears that __T1 is correctly modeling and simulating LDPC Coded Signaling over a Parallel MultiChannel/MultiCarrier Channel with AWGN with SPA Decoding for the selected Regular and Irregular Gallager Codes__.

**Figure 1** clearly shows that the reduction in BER as the SNR is increased for the Gallager Coded Signaling over an AWGN PMC based on Distinct 8-MC Group with SPA Decoding as compared to the UnCoded Signaling over a Distinct 8-MC AWGN PMC. Each Gallager Code BER curve exhibits the expected behavior as compared to the UC BER curve (i.e. a SNR region where the Gallager Code BER is greater than the UC BER, BER is equal to each other, and, then, a SNR region where the Gallager Code BER is less than the UC BER). Each Gallager Code BER curve exhibits a montonically decreasing curve with no fluctuations or error floor floor except for the N = 492 Irregular Gallager Code's BER curve where it begins to flatten out at SNR of 9.0 dB.

To judge the best Gallager Code's BER performance, the ranking will be based on Minimization of SNR at a BER of 10^{-5}.
Rank Code N Rate {l_{i}} l^{eff} (Average value of {l_{i}})
Best Regular 504 0.253968 {1,1,2,6,8,8,8,8} 5.25
Irregular 503 0.255248 {1,1,2,6,8,8,8,8} 5.25
Irregular 506 0.256917 {1,1,6,6,8,8,8.8} 5.75
Irregular 507 0.258383 {1,1,1,4,8,8,8,8} 4.875
Worst Irregular 492 0.235772 {1,1,1,6,8,8,8,8} 5.125

**Figure 2** clearly shows that the reduction in BER as the SNR is increased for the Gallager Coded Signaling over a DMT PMC Type 0 based on Distinct 8-MC Group with SPA Decoding as compared to the UnCoded Signaling over a Distinct 8-MC DMT PMC. Each Gallager Code BER curve exhibits the expected behavior as compared to the UC BER curve (i.e. a SNR region where the Gallager Code BER is greater than the UC BER, BER is equal to each other, and, then, a SNR region where the Gallager Code BER is less than the UC BER). Each Gallager Code BER curve exhibits a montonically decreasing curve with no fluctuations or error floor except for the N = 492 and N = 503 Gallager Code BER curves where they begin to flatten out at SNR of 9.0 dB.

To judge the best Gallager Code's BER performance, the ranking will be based on Minimization of SNR at a BER of 10^{-5}.
Rank Code N Rate {l_{i}} l^{eff} (Average value of {l_{i}})
Best Regular 504 0.253968 {1,1,2,6,8,8,8,8} 5.25
Irregular 507 0.258383 {1,1,1,4,8,8,8,8} 4.875
Irregular 506 0.256917 {1,1,6,6,8,8,8.8} 5.75
Irregular 503 0.255248 {1,1,2,6,8,8,8,8} 5.25
Worst Irregular 492 0.235772 {1,1,1,6,8,8,8,8} 5.125

**Figure 3** clearly shows that the reduction in BER as the SNR is increased for the Gallager Coded Signaling over a DMT PMC Type 1 based on Distinct 8-MC Group with SPA Decoding as compared to the UnCoded Signaling over a Distinct 8-MC DMT PMC. Each Gallager Code BER curve exhibits the expected behavior as compared to the UC BER curve (i.e. a SNR region where the Gallager Code BER is greater than the UC BER, BER is equal to each other, and, then, a SNR region where the Gallager Code BER is less than the UC BER). Each Gallager Code BER curve exhibits a montonically decreasing curve with no fluctuations or error floor.

To judge the best Gallager Code's BER performance, the ranking will be based on Minimization of SNR at a BER of 10^{-5}.
Rank Code N Rate {l_{i}} l^{eff} (Average value of {l_{i}})
Best Irregular 507 0.258383 {1,1,1,4,8,8,8,8} 4.875
Regular 504 0.253968 {1,1,2,6,8,8,8,8} 5.25
Irregular 506 0.256917 {1,1,6,6,8,8,8.8} 5.75
Irregular 503 0.255248 {1,1,2,6,8,8,8,8} 5.25
Worst Irregular 492 0.235772 {1,1,1,6,8,8,8,8} 5.125

Next, we attempt to answer the question: can an Irregular Gallager LDPC code's BER performance exceed the BER performance of a Regular Gallager LDPC code (RGC) when signaling over an AWGN PMC, DMT PMC Type 0, or DMT PMC Type 1 and using Sum-Product Algorithm Decoding?

We observe that in only one PMC application, DMT PMC Type 1 (as shown in **Figure 3**) that an Irregular Gallager LDPC Code's Simulated BER performance exceeds the simulated BER performance of its parent Regular Gallager LDPC Code.

One Million plus Info Bits for each Regular and Irregular Gallager Coded Signaling and SPA Decoding system **T1V2** simulation was chosen to allow for reasonable simulation time to generate simulated BER results that can be use to make a 1st order comparison of BER performance between j = 3 Gallager Coded Signaling over a Parallel MultiChannel and SPA Decoding. Still, it must be realized that to obtain high confident BER results for long block code lengths, simulation time could take many hours or days (depending on the User's computer). Note that Dr. Gallager discusses this issue in his 1962 paper **[1]** and 1963 book **[2]**.

Let us look at the validity of our **T1 V2** simulated results for AWGN PMC, DMT PMC Type 0, and DMT PMC Type 1 by comparing the degree of AWGN corruption of the Input Channel Symbols [via Gaussian Random Number (GRN) generation and addition] per each simulation:

I) AWGN PMC
Code N No. of GRNs GRN Mean GRN Variance Minimum GRN Value Maximum GRN Value
1) RGC 504 11,250,720 0.000188 0.499752 -3.591052 3.902831
2) IRRGC 507 11,115,104 0.000127 0.499974 -3.688250 3.777928
3) IRRGC 492 11,586,624 0.000221 0.499844 -3.597991 3.902831
4) IRRGC 506 10,154,760 0.000149 0.499844 -3.597991 3.902831
5) IRRGC 503 11,340,000 0.000180 0.499731 -3.688250 3.902831

Further, the generated minimum and maximum Gaussian RN values exceed 5 standard deviations.

II) DMT PMC Type 0
Code N No. of GRNs GRN Mean GRN Variance Minimum GRN Value Maximum GRN Value
1) RGC 504 4,000,256 -0.000128 0.499338 -3.478670 3.774967
2) IRRGC 507 3,908,608 -0.000137 0.499345 -3.478670 3.774967
3) IRRGC 492 4,413,952 -0.000125 0.499446 -3.478670 3.774967
4) IRRGC 506 3,938,816 -0.000198 0.499342 -3.478670 3.774967
5) IRRGC 503 4,032,000 -0.000203 0.499976 -3.688250 3.777928

Further, the generated minimum and maximum Gaussian RN values exceed 4.9 standard deviations.

III) DMT PMC Type 1
Code N No. of GRNs GRN Mean GRN Variance Minimum GRN Value Maximum GRN Value
1) RGC 504 3,000,192 -0.000525 0.499456 -3.478670 3.774967
2) IRRGC 507 3,175,744 -0.000113 0.499524 -3.441514 3.774967
3) IRRGC 492 3,310,464 0.000082 0.499331 -3.478670 3.774967
4) IRRGC 506 2,707,936 -0.000617 0.499881 -3.372414 3.774967
5) IRRGC 503 3,024,000 -0.000185 0.499905 -3.688250 3.774967

Further, the generated minimum and maximum Gaussian RN values exceed 4.7 standard deviations.

It appears from these Gaussian Random Number (RN) results for the five Gallager Codes and the three simulated PMC channel types, the Gaussian RN values generated by **T1 V2** are an excellent model for baseband AWGN.

And, thus, the conclusions derived from **Figure 1, 2, and 3** may be valid. It was found that in only one PMC set of simulations (DMT PMC Type 1) did an Irregular Gallager LDPC Code's Simulated BER performance exceed the simulated BER performance of its parent Regular Gallager LDPC Code (as shown in **Figure 3**). To investigate these conclusions further, each Gallager Coding System simulation would be rerun with the initial number of Information (Info) Bits increased from 1 Million Info Bits to 10 Million Info Bits to obtain more reliable simulated BER results.

One must note that the analysis of BER performance of Gallager Codes (Parent Regular & Children Irregular) when used to signal over AWGN PMC, DMT PMC Type 0, and DMT PMC Type 1 channel is a very complex matter because of the diversity of 1-D & 2-D signaling schemes that can used. And for the family of Gallager Codes, the number of Frames used for each code will not agree with the rest of codes' number of Frames.

Plus, when we add in the complexity of the Iterative Message-Passing Channel Decoding (Sum-Product Algorithm) the analysis becomes unmanageable. One must realize that for each Frame (transmission of a CodeWord & decoding of a Corrupted CodeWord), the SPA Decoder begins by receiving the CodeBits' Reliability (Belief) data and then starts the Iterative process of Message-Passing (Belief Propagation) and SPA processing of the received beliefs.

But how does one do this analytically for the possible Gallager Coded Modulation choices and Parity-Check Matrix choices for possible PMC choices? A Gallager Code's parity-check matrix can be translated into the Tanner Graph that can be used to visualize the structure of this message-passing of beliefs along the edges of the Tanner Graph. It has been suggested that if one can compare the edge structure of each Gallager code, one might be able to compare qualitatively the BER performance of the codes **[3]**]: there might be an improvement in BER performance and bit node degree profile differences. Also, there might be a relationship between check node degree profile and BER performance improvement.

Let us look at the Edge structure of the five Gallager Code's Tanner Graphs:
Code N No. of Bit Nodes with 3 Edges Check Node Edges (Degree)
1) RGC 504 504 No. of Check Nodes with Degree 4 = 504

2) IRRGC 507 507 No. of Check Nodes with Degree 3 = 120
No. of Check Nodes with Degree 4 = 129
No. of Check Nodes with Degree 5 = 129

3) IRRGC 492 492 No. of Check Nodes with Degree 2 = 93
No. of Check Nodes with Degree 3 = 69
No. of Check Nodes with Degree 4 = 81
No. of Check Nodes with Degree 5 = 51
No. of Check Nodes with Degree 6 = 84

4) IRRGC 506 506 No. of Check Nodes with Degree 3 = 117
No. of Check Nodes with Degree 4 = 138
No. of Check Nodes with Degree 5 = 123

5) IRRGC 503 503 No. of Check Nodes with Degree 2 = 75
No. of Check Nodes with Degree 3 = 69
No. of Check Nodes with Degree 4 = 87
No. of Check Nodes with Degree 5 = 78
No. of Check Nodes with Degree 6 = 69

From the above results, it is observed that the number of Edges for each Gallager Code's Bit Node is equal to three. And this is true for all five Gallager Codes. This approach does not help us here in the attempt to explain the Gallager Codes' BER Performance ranking. Also, the Check Node Degree distribution does not provide any insight into this matter either.

Thus, using **T1 V2** capabilities for simulating Gallager Codes, Coded Modulated PMC Signaling, and SPA Decoding, one may be able to investigate the BER performance of these complex Coding structures.

**T1 Professional (T1 V2) now offers the LDPC Code (Gallager, Array, and Repeat-Accumulate) construction and LDPC Channel Coding and LDPC Channel Decoding (Iterative; based on the 'Symbol-by-Symbol' MAP Belief Propagation algorithm) for Parallel MultiChannel (PMC) features to the User.** The User can choose the simulated Signaling Channel as Additive White Gaussian Noise (AWGN) PMC with AWGN, Crosstalk (XTALK) PMC, or Discrete MultiTone (DMT) Modulation PMC with AWGN. Further, the user can choose the simulated PMC to possess a NonDistorting, UnRestricted Bandwidth or a Distorting, Restricted Bandwidth.

An important note to be recognized is that the DMT PMC is also known as Orthogonal frequency-division Multiplexing (OFDM). **T1 V2's** OFDM implementation is FFT-Based.

Also, it is important to realize that New Radio (NR), a Fifth-Generation (5G) Telecommunications Technologies,
has been proposed to use LDPC Channel Codes **[4]** & Cyclic Prefix (CP) OFDM (FFT-based)-based waveforms.

**T1 Professional** will provide the User the introductory opportunity to study the complexity of BER performance of the Low-Density Parity-Check Coded M-ary Signal over an OFDM (FFT-based) MultiCarrier/MultiChannel (with CP for Distorting, Restricted Bandwidth PMC or No CP for a NonDistorting, UnRestricted Bandwidth PMC) and Soft-Decision Decoding using the Sum-Product Algorithm.

In conclusion, __the User via __**T1 V2** can get experience with the Generation of LDPC codes and the Sum-Product and Bit Flipping algorithms as applied to Iterative Decoding in simulated digital communication systems for Spacecraft and Mobile Communications and Digital Storage Systems LDPC Coding applications.

__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]** Daniel J. Costello, Jr., "An Introduction to Low-Density Parity Check Codes," https://my.ece.utah.edu/~rchen/courses/Costello-3.pdf, pp. 64-67, August 10, 2009.

**[4]** Tom Richardson and Shrinivas Kudekar,"Design of Low-Density Parity Check Codes for 5G New Radio," IEEE Communications Magazine, pp. 28-34, March 2018.

**Figure 1.** Bit Error Probability for UnCoded, Regular, and Irregular Gallager
Coded Signaling over a Discrete-Time Waveform Additive White Gaussian Noise
(AWGN) Parallel MultiChannel (PMC) with AWGN:

Equal probable i.i.d. Source for 10,000,032, 1,000,064, 1,000,054, 1,000,036,
1,000,090 and 1,000,125 Information (Info) Bits for UnCoded; N = 504, k = 4
Regular Gallager Coded; N = 507, N = 492, N = 506, N = 503 Irregular Gallager
Coded Signaling respectively over a Discrete-Time Waveform (DTW) PMC Channel;

N = 504, j = 3, k = 4, L = 128, Rate = 0.253968 Regular Gallager Code (RGC)
(T1 V2 Computer-generated);

N = 507, j = 3, L = 131, Rate = 0.258383 Irregular Gallager Code (IRRGC)
(T1 V2 Computer-generated);
N = 492, j = 3, , L = 116, Rate = 0.235772 IRRGC (T1 V2 Computer-generated);
N = 506, j = 3, , L = 130, Rate = 0.256917 IRRGC (T1 V2 Computer-generated);
N = 503, j = 3, , L = 127, Rate = 0.255248 IRRGC (T1 V2 Computer-generated);

For each simulated P_{b} value, E_{b}/N_{0} = E_{b}/N_{0}^{(1)} = E_{b}/N_{0}^{(2)} = … = E_{b}/N_{0}^{(K)}, for 1
through K Signaling Schemes;

Each UnCoded or Gallager Coded DTW AWGN PMC subchannel consists of half-cosine
orthonormal baseband shaping pulse, 8 symbols per symbol period, and half-cosine
matched filter demodulator front-end;

These DTW subchannels possess a NonDistorting, UnRestricted Bandwidth; &

**Sum-Product Algorithm Iterative Decoder** using Model 2 (Check Messages then
Bit Messages Iteration Processing), Theoretical SPA Implementation Type, and
Maximum Number of Iterations per Block (Imax) = 50.

**Figure 2.** Bit Error Probability for UnCoded, Regular, and Irregular Gallager
Coded Signaling over a Discrete-Time Discrete MultiTone (DMT) Modulation Parallel
MultiCarrier/MultiChannel (PMC) Type 0 with Additive White Gaussian Noise (AWGN):

Equal probable i.i.d. Source for 10,000,032, 1,000,064, 1,000,054, 1,000,036,
1,000,090 and 1,000,125 Information (Info) Bits for UnCoded; N = 504, k = 4
Regular Gallager Coded; N = 507; N = 492, N = 506, N = 503 Irregular Gallager
Coded Signaling respectively over a Discrete-Time (DT) DMT PMC Channel Type 0;

N = 504, j = 3, k = 4, L = 128, Rate = 0.253968 Regular Gallager Code (RGC)
(T1 V2 Computer-generated);

N = 507, j = 3, L = 131, Rate = 0.258383 Irregular Gallager Code (IRRGC)
(T1 V2 Computer-generated);
N = 492, j = 3, , L = 116, Rate = 0.235772 IRRGC (T1 V2 Computer-generated);
N = 506, j = 3, , L = 130, Rate = 0.256917 IRRGC (T1 V2 Computer-generated);
N = 503, j = 3, , L = 127, Rate = 0.255248 IRRGC (T1 V2 Computer-generated);

For each simulated P_{b} value, E_{b}/N_{0} = E_{b}/N_{0}^{(1)} = E_{b}/N_{0}^{(2)} = … = E_{b}/N_{0}^{(K)}, for 1
through K Signaling Schemes;

These DT DMT PMC Type 0 channels possess a NonDistorting, UnRestricted Bandwidth; &

**Sum-Product Algorithm Iterative Decoder** using Model 2 (Check Messages then
Bit Messages Iteration Processing), Theoretical SPA Implementation Type, and
Maximum Number of Iterations per Block (Imax) = 50.

**Figure 3.** Bit Error Probability for UnCoded, Regular, and Irregular Gallager
Coded Signaling over a Discrete-Time Discrete MultiTone (DMT) Modulation Parallel
MultiCarrier/MultiChannel (PMC) Type 1 with Additive White Gaussian Noise (AWGN):

Equal probable i.i.d. Source for 10,000,032, 1,000,064, 1,000,054, 1,000,036,
1,000,090 and 1,000,125 Information (Info) Bits for UnCoded; N = 504, k = 4
Regular Gallager Coded; N = 507; N = 492, N = 506, N = 503 Irregular Gallager
Coded Signaling respectively over a Discrete-Time (DT) DMT PMC Channel Type 1;

N = 504, j = 3, k = 4, L = 128, Rate = 0.253968 Regular Gallager Code (RGC)
(T1 V2 Computer-generated);

N = 507, j = 3, L = 131, Rate = 0.258383 Irregular Gallager Code (IRRGC)
(T1 V2 Computer-generated);
N = 492, j = 3, , L = 116, Rate = 0.235772 IRRGC (T1 V2 Computer-generated);
N = 506, j = 3, , L = 130, Rate = 0.256917 IRRGC (T1 V2 Computer-generated);
N = 503, j = 3, , L = 127, Rate = 0.255248 IRRGC (T1 V2 Computer-generated);

For each simulated P_{b} value, E_{b}/N_{0} = E_{b}/N_{0}^{(1)} = E_{b}/N_{0}^{(2)} = … = E_{b}/N_{0}^{(K)}, for 1
through K Signaling Schemes;

These DT DMT PMC Type 0 channels possess a NonDistorting, UnRestricted Bandwidth; &

**Sum-Product Algorithm Iterative Decoder** using Model 2 (Check Messages then
Bit Messages Iteration Processing), Theoretical SPA Implementation Type, and
Maximum Number of Iterations per Block (Imax) = 50.

BUY T1 Version 2 (ADVDCSMT1DCSS Professional software system tool)NOW.