Documentation

This is machine translation

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

Note: This page has been translated by MathWorks. Please click here
To view all translated materals 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 107 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

Extended Capabilities

Introduced in R2007a

Was this topic helpful?