# Documentation

### This is machine translation

Translated by
Mouseover text to see original. Click the button below to return to the English version of the page.

To view all translated materials including this page, select Japan from the country navigator on the bottom of this page.

# dvbs2ldpc

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

## Syntax

```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

collapse all

Create an LDPC parity check matrix for a code rate of 3/5 from the DVB-S.2 standard.

`p = dvbs2ldpc(3/5);`

Create an LDPC encoder object from the parity check matrix `p`.

`enc = comm.LDPCEncoder(p);`

The parity check matrix has dimensions of (N-K)-by-N. Determine the length of the input message.

`msgLength = size(p,2) - size(p,1)`
```msgLength = 38880 ```