Main Content

DVB-S2 Symbol Modulator

Modulate data bits to complex constellation symbols according to DVB-S2 standard

  • Library:
  • Wireless HDL Toolbox / Modulation

  • DVB-S2 Symbol Modulator block

Description

The DVB-S2 Symbol Modulator block modulates data bits to complex data symbols based on the modulation types supported by the Digital Video Broadcast Satellite Second Generation (DVB-S2) standard [1]. The block accepts data bits and a valid signal and outputs modulated complex constellation symbols and a valid signal.

Each complex output symbol comprises a standard number of data bits based on the modulation type, as this table shows. If you provide input data bits with a nonmultiple of the number of data bits per symbol, the block ignores the output symbol with insufficient or excess bits.

Modulation TypeNumber of Data Bits Per Symbol
π/2-BPSK1
QPSK2
8-PSK3
16-APSK4
32-APSK5

The block provides an architecture suitable for HDL code generation and hardware deployment. You can use this block in the development of a DVB-S2 transmitter.

Ports

Input

expand all

Input data bits, specified as a Boolean or real scalar. The block accepts Boolean or ufix1 data bits.

Data Types: Boolean | fixdt(0,1,0)

Control signal that indicates whether the input data is valid. When this value is 1, the block accepts the values on the data input port. When this value is 0, the block ignores the values on the data input port.

Data Types: Boolean

Modulation index, specified as 0, 1, 2, 3, or 4. Each value represents a specific modulation type, as table shows.

Modulation IndexModulation Type
0 QPSK
18-PSK
216-APSK
332-APSK
4 π/2-BPSK

For HDL code generation, specify this value in fixdt(0,3,0) format.

If you specify a value other than one listed in this table, the block displays a warning message and:

  • Applies QPSK modulation when load is 1.

  • Continues with the current modulation when load is 0.

Dependencies

To enable this port, set the Modulation source parameter to Input port.

Data Types: single | double | fixdt(0,3,0)

Code rate index, specified as 5, 6, 7, 8, 9, or 10. Each value represents a specific code rate, as this table shows.

Code Rate IndexCode Rate
5 2/3
63/4
74/5
85/6
9 8/9
109/10

If you specify a value other than 5, 6, 7, 8, 9, or 10 for 16-APSK and other than 6, 7, 8, 9, or 10 for 32-APSK, the block displays a warning message and applies the code rate 3/4. For HDL code generation, specify this value in fixdt(0,4,0) format.

The code rates in this table apply to the modIdx input port values 2 and 3, which indicate 16-APSK and 32-APSK modulation, respectively. When you set the modIdx port value to 0, 1, or 4, the block ignores the codeRateIdx input port values.

Dependencies

To enable this port, set the Modulation source parameter to Input port.

Data Types: single | double | fixdt(0,4,0)

Modulation and code rate control, specified as a Boolean scalar.

When this value is 1, the block samples the modIdx and codeRateIdx values. When this value is 0, the block ignores any changes in the modIdx and codeRateIdx and continues with the current modulation index and code rate until load changes to 1.

If the load value changes to 1 during block operation, the block resynchronizes and restarts modulation using the current value of modIdx. This restart occurs regardless of whether the modIdx value changes.

If you do not specify the load value as 1 at the start of block operation, by default, the block operates with QPSK modulation.

Dependencies

To enable this port, set the Modulation source parameter to Input port.

Data Types: Boolean

Output

expand all

Modulated constellation data symbols, returned as a complex scalar.

The block supports double and single data types for simulation, but not for HDL code generation.

For HDL code generation, set the Output data type parameter to Custom and specify the word length.

Data Types: single | double | fixdt(1,wordlength,wordlength-2)
Complex Number Support: Yes

Control signal that indicates whether the data from the data output port is valid. When this value is 1, the block returns valid data on the data output port. When this value is 0, the values on the data output port are not valid.

Data Types: Boolean

Parameters

expand all

Main

To specify the modulation type using the Modulation parameter, select Property. To specify the modulation using the modIdx port during run time, select Input port.

Select the modulation type.

Dependencies

To enable this parameter, set the Modulation source parameter to Property.

Select the code rate.

Dependencies

To enable this parameter set the Modulation source parameter to Property and the Modulation parameter to 16-APSK or 32-APSK.

Select this parameter to perform symbol modulation with a normalized constellation. Clear this parameter to perform symbol modulation using the constellation defined in the standard [1].

When you specify 0, 1, or 4 in the modIdx input port or set the Modulation parameter to QPSK, 8-PSK, or pi/2-BPSK, the block ignores this parameter during its operation.

Dependencies

To enable this parameter, set the Modulation source parameter to Input port or set the Modulation source to Property and the Modulation parameter to 16-APSK or 32-APSK.

Data Types

Specify the data type for the output data.

The block supports double and single data types for simulation.

For simulation and HDL code generation, set this value to Custom.

Specify the output word length. This value must be an integer in the range [3, 32].

Dependencies

To enable this parameter, set the Output data type parameter to Custom.

Algorithms

expand all

References

[1] ETSI Standard EN 302 307 V1.4.1: Digital Video Broadcasting (DVB); Second generation framing structure, channel coding and modulation systems for Broadcasting, Interactive Services, News Gathering and other broadband satellite applications (DVB-S2), European Telecommunications Standards Institute, Valbonne, France, 2005-03.

[2] Viterbi, A.J. “An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes.” IEEE Journal on Selected Areas in Communications 16, no. 2 (February 1998): 260–64. https://doi.org/10.1109/49.661114.

[3] Sebesta, J. “Efficient Method for APSK Demodulation.” Selected Topics on Applied Mathematics, Circuits, Systems, and Signals (P. Pardalos, N. Mastorakis, V. Mladenov, and Z. Bojkovic, eds.). Vouliagmeni, Athens, Greece: WSEAS Press, 2009.

Extended Capabilities

Version History

Introduced in R2022b