Engee documentation

M-PSK Modulator Baseband

Page in progress.

Modulates data using the M-PSK method.

m psk modulator baseband

Description

The M-PSK Modulator Baseband block modulates the input signal using M-point phase shift keying (M-PSK) and returns a complex baseband signal at the output. The modulation order, , which is equivalent to the number of points in the signal constellation, is determined by the M-ary number parameters. The block accepts scalars or vector columns as input.

Ports

Input

# In — input signal
scalar | vector

Details

An input signal specified as an integer scalar, integer vector or binary vector.

  • If the Input type parameters are set to Integer, specify the input signal elements as integers from to .

  • If the Input type parameters are set to Bit, specify the input signal as a binary vector in which the number of elements is an integer multiple of the number of bits per character. The number of bits per character is .

Data types

Float64 | Single | Int8 | Int16 | Int32 | Uint8 | Uint16 | Uint32 | Boolean

Complex numbers support

No

Output

# Out — M-PSK modulated output signal
complex scalar | complex vector

Details

The output signal returned as a complex scalar or vector. The output signal is a complex baseband representation of the PSK modulated signal.

Data types

Float64 | Single.

Complex numbers support

Yes

Parameters

Parameters

# M-ary number — modulation order of the signal PSK constellation
Real number

Details

The modulation order given as a positive integer that is a power of two.

Example: 2 | 4 | 8

Default value

8

Program usage name

M

Tunable

No

Evaluatable

Yes

# Input type — input signal type
Bit | Integer

Details

Input signal elements specified as integers or bits.

  • If the Input type parameters are set to Bit, the number of samples in the frame must be an integer multiple of the number of bits per character. The number of bits per character is equal to .

Values

Bit | Integer

Default value

Integer

Program usage name

InputType

Tunable

No

Evaluatable

No

# Constellation ordering — character display
Binary | Gray | User-defined

Details

Character mapping of integers or groups of bit inputs specified as Gray, Binary or User-defined.

  • Gray - the input signal is mapped to output symbols using a Gray-encoded signal constellation.

  • Binary - the modulated symbol will be , where is the phase shift in radians, is an integer input such that , and is the modulation order.

  • User-defined is a vector of size , which has unique integer values in the range, ]. The first element of this vector corresponds to a signal constellation point having the value , and subsequent elements go anti-clockwise.

Example: [0 3 2 1 1].

Values

Binary | Gray | User-defined

Default value

Gray

Program usage name

ConstellationOrdering

Tunable

No

Evaluatable

No

# Constellation mapping — custom character display
Array of real numbers

Details

A user-defined character mapping specified as a -element vector having unique integer values in the range ]. Use this parameters to specify a user-defined mapping of input integers to output integers.

The first element of this vector corresponds to a signal constellation point at , and subsequent elements go counterclockwise. The last element corresponds to a signal constellation point . - is the phase shift value (parameter (Phase offset (rad)), and is the modulation order (parameter M-ary number).

Dependencies

To use this parameter, set the Constellation ordering parameter to User-defined.

Default value

collect(0:7)

Program usage name

ConstellationMapping

Tunable

No

Evaluatable

Yes

# Phase offset (rad) — phase shift
Real number

Details

The phase offset of the initial signal constellation in radians as a real scalar.

Example: pi/2

Default value

pi/8

Program usage name

PhaseOffset

Tunable

No

Evaluatable

Yes

Data Type

# Output data type — output data type
Float64 | Float32 | Float16 | Fixed-point

Details

The data type of the modulated output signal type. Defined as:

  • Float64.

  • Float32

  • Float16

  • Fixed-point

Values

Float64 | Float32 | Float16 | Fixed-point

Default value

Float64

Program usage name

OutDataTypeStr

Tunable

No

Evaluatable

No

# Output fixed-point type — fixed-point vector of values
Data type

Details

Fixed point vector of output signal values.

Dependencies

To use this parameter, set the Output data type parameter to Fixed-point.

Default value

fixdt(1, 16, 0)

Program usage name

OutDataTypeStrFixed

Tunable

No

Evaluatable

Yes

Algorithms

For higher-order PSK signal constellations, the complex baseband form for the M-PSK signal usage of binary-ordered symbol mapping looks like:

When the input is set to bits, groups of bits represent complex characters for a customised character display. The mapping can be binary, Gray-encoded, or user-defined.

The advantage of Gray encoding is that only one bit changes between neighbouring points in the signal constellation, resulting in an improved error rate.

This 8-PSK signalling constellation uses Gray symbol coding.

m psk modulator baseband 2

Literature

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