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.
Seleziona un sito web
Seleziona un sito web per visualizzare contenuto tradotto dove disponibile e vedere eventi e offerte locali. In base alla tua area geografica, ti consigliamo di selezionare: .
Puoi anche selezionare un sito web dal seguente elenco:
Come ottenere le migliori prestazioni del sito
Per ottenere le migliori prestazioni del sito, seleziona il sito cinese (in cinese o in inglese). I siti MathWorks per gli altri paesi non sono ottimizzati per essere visitati dalla tua area geografica.