1. Introduction

Quasi-cyclic Low Density Parity Check codes are amongst the most advanced and high performance Forward Error Correcting (FEC) codes, which were considered in structure of globally standardised transmission systems. The parity check matrix of a basic binary QC-LDPC code is formed by combination of number of binary circulant matrices, whose constituent elements are either 1 or 0. This is generally expressed by H=[H1 H2 H3 … Ht], where H1,H2,H3,…,Ht are t different ?? × ?? circulants. In circulant matrices, every row (or column) of the matrix is the cyclic shift (either left or right shift) of its previous row (or column).Based on the above definition, the generator matrix of the systematic QC-LDPC codes is given by

(?? ?? )

? ?

?? = ? ?? ( ) (?? ?? ) ?

? ? ?

? (?? ?? ) ?

Where Ic(t-1) is ?? × (?? - 1) Identity matrix and (A)T denotes transpose of A .

This concludes codes with rate ((t-1)*c)/(t*c) or (t-1)/t . Indeed, number of circulant s is decided on the basis of the rate of code. Note that in the above H, at least one of constituent circulants would be a full rank matrix to apply its inversion in construction of G.

2. Basic structure of a QC-LDPC encoding/decoding

In this section, we investigate performance of (117,78) QC-LDPC code with rate 2/3. Position of 1s of each 39× 39 circulant is given in Table 1.

Table 1. Positions of 1s in circulants applied in (117,78) QC-LDPC code.

H1 H2 H3

Positions of 1s 1,2,4 1,5,10 1,7,14

a) Generate 10 (ten) random bitstreams of length 78 as the message for the encoder of (117 ,78) QC-LDPC code.

b) Determine codewords obtained from messages generated in part (a).

c) Modulate codewords formed from part (b) by BPSK and transmit them through the AWGN channel having zero mean and variance 1.

d) The noisy information obtained from part (c) are passed through the two-level quantizer and entered to the QC-LDPC decoder. Figure 1 shows a block diagram of the encoding and decoding of FEC codes, which can also be applied for the mentioned QC-LDPC code. In this figure, ?? = 2?? , where R is the code

rate and Eb/N0 is the energy per bit per bit. For Eb/N0=4.0 dB, apply the bit-flipping algorithm and decode the noisy codewords generated in part (c). Express the decoded messages and compare them with the original ones. Note that in ? calculation, Eb/N0 is not a dB value.

Figure 1. Block diagram of FEC encoding/Decoding.

3. Analysis of a QC-LDPC code

In this section, we extend results of Section 2 to verify performance of constructed (117,78) QC-LDPC code based on different signal to noise ratios per bit. This requires calculation of the Bit Error Rate (BER) of the code obtained from different Eb /N0s. For this purpose, by running number of simulations, complete Table 2 and draw a graph expressing performance of the code by calculating average of BERs in terms of Eb/N0s.

Note:

a) Use “randn” command of Matlab for generation of noise.

b) In Matlab, BER is calculated by “biterr” command.

c) In order to achieve inverse of a binary matrix, use “B_inv_bin=inv(gf (B))”, where B is a binary matrix and “B_inv_bin” is the inverse of B. The output of this matrix is in binary mode. In order to convert it to the general mode (decimal mode), use “B_inv=double(B_inv_bin.x)” command, where “B_inv” is the inverse of binary matrix “B” represented in decimal mode.

d) In Table 2, number of simulations written for each Eb/N0 is an estimated value for obtaining a smooth graph. If necessary, you can increase number of Eb/N0s and number of simulations (for each value of Eb/N0) to achieve a smooth of BER graph.

e) In your report provide aims and conclusion of conducted project.

Table 2.

Number of simulations (dB) BER

100 3.0

100 3.5

1000 3.75

1000 4.0

100000 4.25

10000 4.5

10000 4.75

100000 5.0

100000 5.25

100000 5.5

100000 5.75

Quasi-cyclic Low Density Parity Check codes are amongst the most advanced and high performance Forward Error Correcting (FEC) codes, which were considered in structure of globally standardised transmission systems. The parity check matrix of a basic binary QC-LDPC code is formed by combination of number of binary circulant matrices, whose constituent elements are either 1 or 0. This is generally expressed by H=[H1 H2 H3 … Ht], where H1,H2,H3,…,Ht are t different ?? × ?? circulants. In circulant matrices, every row (or column) of the matrix is the cyclic shift (either left or right shift) of its previous row (or column).Based on the above definition, the generator matrix of the systematic QC-LDPC codes is given by

(?? ?? )

? ?

?? = ? ?? ( ) (?? ?? ) ?

? ? ?

? (?? ?? ) ?

Where Ic(t-1) is ?? × (?? - 1) Identity matrix and (A)T denotes transpose of A .

This concludes codes with rate ((t-1)*c)/(t*c) or (t-1)/t . Indeed, number of circulant s is decided on the basis of the rate of code. Note that in the above H, at least one of constituent circulants would be a full rank matrix to apply its inversion in construction of G.

2. Basic structure of a QC-LDPC encoding/decoding

In this section, we investigate performance of (117,78) QC-LDPC code with rate 2/3. Position of 1s of each 39× 39 circulant is given in Table 1.

Table 1. Positions of 1s in circulants applied in (117,78) QC-LDPC code.

H1 H2 H3

Positions of 1s 1,2,4 1,5,10 1,7,14

a) Generate 10 (ten) random bitstreams of length 78 as the message for the encoder of (117 ,78) QC-LDPC code.

b) Determine codewords obtained from messages generated in part (a).

c) Modulate codewords formed from part (b) by BPSK and transmit them through the AWGN channel having zero mean and variance 1.

d) The noisy information obtained from part (c) are passed through the two-level quantizer and entered to the QC-LDPC decoder. Figure 1 shows a block diagram of the encoding and decoding of FEC codes, which can also be applied for the mentioned QC-LDPC code. In this figure, ?? = 2?? , where R is the code

rate and Eb/N0 is the energy per bit per bit. For Eb/N0=4.0 dB, apply the bit-flipping algorithm and decode the noisy codewords generated in part (c). Express the decoded messages and compare them with the original ones. Note that in ? calculation, Eb/N0 is not a dB value.

Figure 1. Block diagram of FEC encoding/Decoding.

3. Analysis of a QC-LDPC code

In this section, we extend results of Section 2 to verify performance of constructed (117,78) QC-LDPC code based on different signal to noise ratios per bit. This requires calculation of the Bit Error Rate (BER) of the code obtained from different Eb /N0s. For this purpose, by running number of simulations, complete Table 2 and draw a graph expressing performance of the code by calculating average of BERs in terms of Eb/N0s.

Note:

a) Use “randn” command of Matlab for generation of noise.

b) In Matlab, BER is calculated by “biterr” command.

c) In order to achieve inverse of a binary matrix, use “B_inv_bin=inv(gf (B))”, where B is a binary matrix and “B_inv_bin” is the inverse of B. The output of this matrix is in binary mode. In order to convert it to the general mode (decimal mode), use “B_inv=double(B_inv_bin.x)” command, where “B_inv” is the inverse of binary matrix “B” represented in decimal mode.

d) In Table 2, number of simulations written for each Eb/N0 is an estimated value for obtaining a smooth graph. If necessary, you can increase number of Eb/N0s and number of simulations (for each value of Eb/N0) to achieve a smooth of BER graph.

e) In your report provide aims and conclusion of conducted project.

Table 2.

Number of simulations (dB) BER

100 3.0

100 3.5

1000 3.75

1000 4.0

100000 4.25

10000 4.5

10000 4.75

100000 5.0

100000 5.25

100000 5.5

100000 5.75

Please can you tell me how much it would be to assist with this MSc Psychology and Islamic Counselling assignment:Write a Research Paper of 3000 to 3500 words on How the understanding of Quran and Hadith...Assessment task 3: Take Home ExaminationAssessment SummaryTask type: Take home exam/ written assignmentTask length: 2000 words (+/-10%)Weighting: 40%Due Date/Time: Multiple due datesA penalty of 10% per...Assignment Details :N8002-Professional Reflection in Nursing-G...PurposeSynthesize knowledge from the literature to develop strategies that improve a particular issue in your specialty practice.Task detailsStudents...How much for paraphrasing of the attached and additional conclusion?Page 1 Kaplan Business School Assessment Outline 2024 T1Assessment 3 InformationSubject Code: ACCM4400Subject Name: Auditing and AssuranceAssessment Title: Case StudyAssessment Type: Individual Written...Undergraduate Modular Scheme Open Book ExaminationModule Name Managing DataModule Code BMA4003-20 Level 4Submission Deadline Exam paper release date and time: Sunday 9th June 2024 at 23:59Submission cut-off...New assignments(Write a paper based on critical reflection on specific issues?Please use Gibbs reflection cycle as a framework for there reflection. Examples of clinical situations that students can reflect...**Show All Questions**