This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.


Differential phase shift keying modulation


y = dpskmod(x,M)
y = dpskmod(x,M,phaserot)
y = dpskmod(x,M,phaserot,symorder)



y = dpskmod(x,M) modulates the input signal using differential phase shift keying (DPSK) with modulation order M.

y = dpskmod(x,M,phaserot) specifies the phase rotation of the DPSK modulation.

y = dpskmod(x,M,phaserot,symorder) also specifies the symbol order.


collapse all

Plot the output of the dspkmod function to view the possible transitions between DPSK symbols.

Set the modulation order to 4 to model DQPSK modulation.

M = 4;

Generate a sequence of 4-ary random symbols.

x = randi([0 M-1],500,1);

Apply DQPSK modulation to the input symbols.

y = dpskmod(x,M,pi/8);

Specify a constellation diagram object to display a signal trajectory diagram and without displaying the corresponding reference constellation. Display the trajectory.

cd = comm.ConstellationDiagram('ShowTrajectory',true,'ShowReferenceConstellation',false);

Input Arguments

collapse all

Input signal, specified as a vector or matrix of positive integers. The elements of x must have values in the range of [0, M – 1].

Data Types: double | single

Modulation order, specified as an integer power of two.

Example: 2 | 4 | 16

Data Types: double | single

Phase rotation of the DPSK modulation, specified in radians as a real scalar. The total phase shift per symbol is the sum of phaserot and the phase generated by the differential modulation.

If you specify phaserot as empty, then dpskmod uses a phase rotation of 0 degrees.

Example: pi/4

Data Types: double | single

Symbol order, specified as 'bin' or 'gray'. This argument specifies how the function assigns binary vectors to corresponding integers.

  • If symorder is 'bin', the function uses a natural binary-coded ordering.

  • If symorder is 'gray', the function uses a Gray-coded ordering.

Data Types: char

Output Arguments

collapse all

Complex baseband representation of a DPSK-modulated output signal, returned as vector or matrix. The columns represent independent channels.


An initial phase rotation of 0 is used in determining the first element of the output y (or the first row of y if it is a matrix with multiple rows), because two successive elements are required for a differential algorithm.

Data Types: double | single
Complex Number Support: Yes

Extended Capabilities

C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.

Introduced before R2006a