Engee documentation

EngeeComms.RectangularQAMModulatorBaseband

Modulation using rectangular quadrature amplitude modulation.

Library

EngeeComms.

Block

Rectangular QAM Modulator Baseband

Description

The system object EngeeComms.RectangularQAMModulatorBaseband modulates the input signal using quadrature amplitude modulation with constellation on a rectangular grid. The output is a basic representation of the modulated signal.

All power values assume a nominal impedance of 1 ohm.

To modulate the input signal using quadrature amplitude modulation with constellation on a rectangular array, follow the steps below:

  1. Create an object EngeeComms.RectangularQAMModulatorBaseband and set its properties.

  2. Call the object with arguments as if it were a function.

To learn more about how to work with system objects, see Engee system objects.

Syntax

Creation

  • rectcqammod = EngeeComms.RectangularQAMModulatorBaseband() creates a system object to modulate the input signal using quadrature amplitude modulation with constellation on a rectangular grid rectcqammod with by default properties.

    Example:

    rectcqammod = EngeeComms.RectangularQAMModulatorBaseband()
  • rectcqammod = EngeeComms.RectangularQAMModulatorBaseband(Name=Value) creates a system object to modulate an input signal using quadrature amplitude modulation with a constellation on a rectangular grid rectcqammod with the specified property Name set to the specified value Value. You can specify additional arguments as a name-value pair in any order (Name1=Value1,…​,NameN=ValueN).

    Example:

    rectcqammod = EngeeComms.RectangularQAMModulatorBaseband(InputType=Bit)

Usage

  • outsignal = rectcqammod(insignal) modulates the input signal using quadrature amplitude modulation with a constellation on a rectangular grid, as specified by rectcqammod, to the input signal. The result is returned in outsignal.

Arguments

Input arguments

In - input signal
vector | scalar

Details

Input signal as a scalar or vector with element values in the value range , where is the modulation order.

Типы данных

Float16, Float32, Float64, Int8, Int16, Int32, Int64, UInt8, UInt16, UInt32, UInt64, Bool

Output arguments

Out - modulated signal
vector | scalar

Details

A rectangular modulated main-band modulated signal.

Типы данных

Float64, ComplexF64

Properties

# PhaseOffset — signal constellation rotation
Real number

Details

The rotation of the signal constellation defined as a scalar.

# NormalizationFactor — scaling condition
Real number

Details

This parameter defines the scaling condition and its value depends on the value of the * property.Normalization*.

Property value Normalization Property value NormalizationFactor

Min. distance between symbols

Specifies the distance between the two closest points of the constellation as a positive scalar.

Average Power

Specifies the average or maximum power of the symbols in the constellation in watts as a positive scalar. Power values assume a nominal impedance of 1 ohm.

Peak Power

Specifies the maximum power of the symbols in the constellation in watts as a positive scalar. Power values assume a nominal impedance of 1 ohm.

For example, if the property Normalization is set to Peak Power, the value NormalizationFactor will define the maximum power of the symbols in the constellation in W as a positive scalar.

# Normalization — constellation scaling method
String

Details

The constellation scaling method, specified as Min. distance between symbols, Average Power or Peak Power.

# MNumber — modulation order
Real number

Details

The modulation order given as a positive integer equal to a power of two. The modulation order determines the number of points in the signal constellation.

# InputType — input type
String

Details

Input type, specified as Integer or Bit to indicate whether the input signal consists of integers or groups of bits.

  • Integer - the input signal must consist of integers in the range , where is the modulation order, the value of the property MNumber.

  • Bit - the input signal must contain binary values and the number of lines must be an integer multiple of .

# ConstellationType — character order
String

Details

Determines how the system object maps each character to an output bit group or integer.

The options to select are Gray or Binary.

Methods

Common for all system objects

step!

Start the system object’s operating algorithm

release!

Allow the value of the system object property to be changed

Algorithms

Signals with integer values and signals with binary values

If the property InputType is set to Integer, the system object accepts integer values in the range , where is the modulation order specified by the system object property MNumber.

If the property * InputType is set to Bit, then the system object accepts binary values representing integers. The system object assembles binary digit signals into groups of bits, where is the number of bits per character and is the modulation order.

The length of the input vector must be an integer multiple of . In this configuration, the system object takes a group of bits and maps it to a symbol at the output of the system object. The system object outputs one modulated symbol for each group of bits.

The * property ConstellationType specifies how the system object assigns binary words to the points of the signal constellation. Such assignments are applied independently to the in-phase and quadrature components of the input signal:

  • If the property ConstellationType property is set to Binary, the system object uses a binary-encoded constellation.

  • If the property ConstellationType * is set to Gray and is even, the system object uses a constellation encoded with Gray code.

  • If the property ConstellationType * is set to Gray and is odd, the system object encodes the constellation so that pairs of nearest points differ by one or two bits. The constellation is cross-shaped, and the diagram below shows which pairs of points differ by two bits. The diagram uses , but assumes the general case.

rectangular qam modulator baseband 1

Since the in-phase and quadrature components are assigned independently, the Gray code order and binary order are the same at .

Constellation size and scaling

A signal constellation consists of points, where is the value of the property MNumber. The value of must be equal to for some positive integer . The system object scales the signal constellation depending on what value is set for the property * .Normalization.

The value of the property Normalization Scaling condition

Min. distance between symbols

Distance between the two closest points of the constellation.

Average Power

Average power of symbols in the constellation.

Peak Power

Maximum power of symbols in the constellation.

Literature

  1. Smith, J. G., "Odd-Bit Quadrature Amplitude-Shift Keying," IEEE Transactions on Communications, Vol. COM-23, March 1975, pp. 385-389.

  2. Proakis, John G. Digital Communications. 4th ed. New York: McGraw Hill, 2001.