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

long answer with 3,000 words, quotation reference in negative characters (in response to the text, main task and page number) quotation reference does not count towards the 3,000 wordsThe Ottoman Empire...College of Health and BiomedicineASSIGNMENT COVER SHEETFamily Name: First Name: Student ID Number:Unit Code: Unit Title:Assignment Title / Reference:Name of Lecturer / Tutor: Tutorial Group (Day &...Project AssessmentCriteriaUnit code and nameCHCMGT003 | Lead the work teamQualification/Course code and nameCHC50121 Diploma of Early Childhood Education and Care CHC50221 Diploma of School Age Education...INTERPERSONAL COMMUNICATION - Assessment 1: Reflective EssaySession due: Session 6Date 23 OctoberLength: 1200 words maximumMarks: 100 (40%)What is a Reflective Essay?Reflection exercises offer the student...BSBESB301 Investigate Business OpportunitiesTask 2 Investigating a Business Opportunity.1. Students are to identify a small business they are interested in starting or a new aspect business opportunity...NRS162ASSESSMENT 3THEORY OF CARING ANDMINDFULNESS COMMUNICATIONOVERVIEWASSESSMENT DETAILSValue: 50%Due Date: Wednesday 11th October by 11.59pmReturn Date: 1-Nov-2023Length: 1200 wordsSubmission method...Our project is about Maximum Power Point Tracking by using Fuzzy logic. We have done that through Matlab simulation. We use PV array which diameters are below,Parallel String 2, Series connected per string...**Show All Questions**