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.
DPSK-modulated input signal, specified as a real or complex
vector or matrix. If y is a matrix, the function
processes the columns independently.
Data Types: double Complex Number Support: Yes
Modulation order, specified as an integer power of two.
Example: 2 | 4 | 16
Data Types: double
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 dspkdemod uses
a phase rotation of 0 degrees.
Example: pi/4
Data Types: double
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 binary-coded ordering.
If symorder is 'gray',
the function uses a Gray-coded ordering.
DPSK-demodulated output signal, returned as a vector or matrix
having the same number of columns as input signal y.
Note
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 z,
the function uses an initial phase rotation of 0.
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window.
Web browsers do not support MATLAB commands.
Website auswählen
Wählen Sie eine Website aus, um übersetzte Inhalte (sofern verfügbar) sowie lokale Veranstaltungen und Angebote anzuzeigen. Auf der Grundlage Ihres Standorts empfehlen wir Ihnen die folgende Auswahl: .
Sie können auch eine Website aus der folgenden Liste auswählen:
So erhalten Sie die bestmögliche Leistung auf der Website
Wählen Sie für die bestmögliche Website-Leistung die Website für China (auf Chinesisch oder Englisch). Andere landesspezifische Websites von MathWorks sind für Besuche von Ihrem Standort aus nicht optimiert.