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.
Sélectionner un site web
Choisissez un site web pour accéder au contenu traduit dans votre langue (lorsqu'il est disponible) et voir les événements et les offres locales. D’après votre position, nous vous recommandons de sélectionner la région suivante : .
Vous pouvez également sélectionner un site web dans la liste suivante :
Comment optimiser les performances du site
Pour optimiser les performances du site, sélectionnez la région Chine (en chinois ou en anglais). Les sites de MathWorks pour les autres pays ne sont pas optimisés pour les visites provenant de votre région.