Differential phase shift keying demodulation
z = dpskdemod(y,M)
z = dpskdemod(y,M,phaserot)
z = dpskdemod(y,M,phaserot,symorder)
Demodulate DPSK data in a communication channel in which a phase shift is introduced.
Generate a 4-ary data vector and modulate it using DPSK.
M = 4; % Alphabet size dataIn = randi([0 M-1],1000,1); % Random message txSig = dpskmod(dataIn,M); % Modulate
Apply the random phase shift resulting from the transmission process.
rxSig = txSig*exp(2i*pi*rand());
Demodulate the received signal.
dataOut = dpskdemod(rxSig,M);
The modulator and demodulator have the same initial condition. However, only the received signal experiences a phase shift. As a result, the first demodulated symbol is likely to be in error. Therefore, you should always discard the first symbol when using DPSK.
Find the number of symbol errors.
errs = symerr(dataIn,dataOut)
errs = 1
One symbol is in error. Repeat the error calculation after discarding the first symbol.
errs = symerr(dataIn(2:end),dataIn(2:end))
errs = 0
y— DPSK-modulated input signal
DPSK-modulated input signal, specified as a real or complex
vector or matrix. If
y is a matrix, the function
processes the columns independently.
Complex Number Support: Yes
M— Modulation order
Modulation order, specified as an integer power of two.
phaserot— Phase rotation
Phase rotation of the DPSK modulation, specified in radians
as a real scalar. The total phase shift per symbol is the sum of
the phase generated by the differential modulation.
If you specify
phaserot as empty, then
a phase rotation of 0 degrees.
symorder— Symbol order
Symbol order, specified as
This argument specifies how the function assigns binary vectors to
the function uses a natural binary-coded ordering.
the function uses a Gray-coded ordering.
z— DPSK-demodulated output signal
DPSK-demodulated output signal, returned as a vector or matrix
having the same number of columns as input signal
The differential algorithm used in this function compares two
successive elements of a modulated signal. To determine the first
element of vector
z, or the first row of matrix
the function uses an initial phase rotation of