Main Content

NR Symbol Modulator

Modulate data bits to complex NR data symbols

  • NR Symbol Modulator block

Libraries:
Wireless HDL Toolbox / Modulation

Description

The NR Symbol Modulator block maps a group of data bits to complex data symbols by using the modulation types supported by NR standard TS 38.211 [1]. The block provides an architecture suitable for HDL code generation and hardware deployment.

The block accepts 1-bit of data at a time, along with control signals, and outputs a modulated complex symbol with a valid signal. Each complex symbol comprises a standard number of bits based on the modulation type, as shown in this following table. If you provide a nonmultiple of modulation-order bits as an input, the block ignores the output symbol with insufficient or excessive bits. The modulation order is the number of bits per symbol.

Modulation Type Modulation Order - Number of Bits per Symbol
BPSK1
QPSK2
16-QAM4
64-QAM6
256-QAM8
pi/2-BPSK1

Examples

Ports

Input

expand all

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

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

Control signal that indicates if the input data is valid. When this value is 1 (true), the block accepts the values on the data input port. When this value is 0 (false), the block ignores the values on the data input port.

Data Types: Boolean

Select the modulation type by specifying its corresponding value shown in this table.

The modSel values are from 0 to 5. Each value represents a specific modulation type.

ValueModulation Type
0 BPSK
1QPSK
216-QAM
364-QAM
4 256-QAM
5pi/2-BPSK

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 (true).

  • Continues with the current modulation when load is 0 (false).

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

Dependencies

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

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

Control signal to sample modulation.

When this value is 1 (true), the block applies the modulation based on the modSel value. When this value is 0 (false), the block ignores any changes in the modSel value and continues with the current modulation until load changes to 1 (true).

If the load value changes to 1 (true) during the block operation, the block resynchronizes and restarts modulation using the current value of modSel. This restart occurs whether or not the modSel value has changed. For example, if the block is operating in 256-QAM mode and the load value changes to 1 (true) after four of the eight required input bits are sent into the block, the block discards those first four bits and restarts its operation from the fifth bit.

If you do not apply the load value as 1 (true) 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 complex data symbols, returned as a scalar.

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

Control signal that indicates if data from the data output port is valid. When this value is 1 (true), the block returns valid data on the data output port. When this value is 0 (false), the block ignores values on the data output port.

Data Types: Boolean

Parameters

expand all

Main

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

Select the modulation type.

Dependencies

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

Data Types

Specify the data type for the output data.

double and single data types are supported 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] 3GPP TS 38.211. "NR; Physical channels and modulation." 3rd Generation Partnership Project; Technical Specification Group Radio Access Network. URL: https://www.3gpp.org.

Extended Capabilities

Version History

Introduced in R2019a

expand all

See Also

Blocks

Functions