Accelerating the pace of engineering and science

# dvbs2ldpc

Low-density parity-check codes from DVB-S.2 standard

H = dvbs2ldpc(r)

## Description

H = dvbs2ldpc(r) returns the parity-check matrix of the LDPC code with code rate r from the DVB-S.2 standard. H is a sparse logical matrix.

Possible values for r are 1/4, 1/3, 2/5, 1/2, 3/5, 2/3, 3/4, 4/5, 5/6, 8/9, and 9/10. The block length of the code is 64800.

The default parity-check matrix (32400-by-64800) corresponds to an irregular LDPC code with the structure shown in the following table.

RowNumber of 1s Per Row
16
2 to 324007

ColumnNumber of 1s Per Column
1 to 129608
12961 to 324003

Columns 32401 to 64800 form a lower triangular matrix. Only the elements on its main diagonal and the subdiagonal immediately below are 1s. This LDPC code is used in conjunction with a BCH code in the Digital Video Broadcasting standard DVB-S.2 to achieve a packet error rate below ${10}^{-7}$ at about 0.7 dB to 1 dB from the Shannon limit.

## Examples

```H = dvbs2ldpc(3/5);
spy(H);   % Visualize the location of nonzero elements in H.
henc = comm.LDPCEncoder(H);
hdec = comm.LDPCDecoder(H);```