Page tree
Skip to end of metadata
Go to start of metadata

Where To Find This Example

AWR Version 14

Select Help > Open Examples... from the menus and type either the example name listed above or one of the keywords below.

Or you can open the project directly from this page using this button. Make sure to select the Enable Guided Help before clicking this button.

AWR Version 13

This example is not available for AWR Version 13 or earlier.

Design Notes

DVB LDPC Encoder and Decoder BER Testbench

This example shows how to use the VSS DVB-S2 LDPC encoder and decoder and obtain the BER performance curves. The BER simulation is automatically configured by selecting the desired FECFRAME_Format in the equation and the code rate at the encoder. The BERSwpStart vector defines where the BER sweep starts for a given RATE index. Thus different BER curves are obatined by simply selecting the RATE at the encoder.

LDPC_DVB_ENC is a DVB-S2 LDPC encoder that supports all the DVB-S2 code rates for long and short frames. Appropriate frame length (N) and code rate (RATE) can be selected. Note that rate 9/10 is not defined for N=16200. The encoder block will return an error if selected.

LDPC_DVB_DEC implements sum-product algorithm (SPA) with log-likelihood ratio (LLR) messages. The frame length (N) and rate (RATE) parameters can be configured automatically using the propagated parameters from the encoder.

Additionally, the decoder has a parameter for number of iterations (NUMITER) and noise variance (NVAR). The NUMITER parameter sets how many times the SPA is performed to improve the decoded estimates. Generally 10-20 iterations are sufficient but more iterations can be performed to improve the BER curve at the expense of simulation time. The numItr vector includes the NUMITER parameter used to obtain the reference curves included in this project. The NVAR parameter sets the assumed noise variance used in LLR calculation. The SPA assumes that the data was impaired by additive white Gaussian noise. 

For short frame format, N=16200 or FECFRAME_Format=1, the code rate identifier used for RATE (and in DVB-S2 standard) may not always be the same as the effective code rate due to the code construction. Thus care must be taken when interpreting # of samples and/or sample rates for N=16200. The code rate identifier and effective rates are listed below.

For N=16200

Code rate identifier              Effective code rate

1/4                                           1/5

1/3                                           1/3

2/5                                           2/5

1/2                                           4/9

3/5                                           3/5

2/3                                           2/3

3/4                                           11/15

4/5                                           7/9

5/6                                           37/45

8/9                                           8/9

9/10                                        N/A

To help select the best configuration parameters for each code rate and block length, the appropriate values for the start of Eb/N0 sweep and the number of iterations are pre-calculated and stored in the vectors BERSwpStart adn numItr. Use can set up the simulation by setting the parameter FECFRAME_Format to either 0 or 1 and selecting the LDPC code rate thru parameter RATE in the LDPC_DVB_ENC block. The simulation will be then configured automatically.

System Diagram - DVB LDPC BPSK BER Test

Graph - BER BPSK Short FECFRAME 16200

Graph - BER BPSK Normal FECFRAME 64800