Main Content

DBPSK Demodulator Baseband

Demodulate DBPSK-modulated data

  • DBPSK Demodulator Baseband block

Libraries:
Communications Toolbox / Modulation / Digital Baseband Modulation / PSK

Description

The DBPSK Demodulator Baseband block demodulates a signal that was modulated using the differential binary phase shift keying (DBPSK) method. The input is a baseband representation of the modulated signal. For more information, see Algorithms.

Examples

expand all

Pass a DBPSK-modulated signal through an additive white Gaussian noise (AWGN) channel. Demodulate the received signal and calculate the symbol error rate (SER).

The cm_dbpsk_mod_demod model DBPSK-modulates a random data signal, applies AWGN, and then DBPSK-demodulates the signal. An Error Rate Calculation block computes the SER. In the Error Rate Calculation block, a setting of 1 for the Computation delay parameter accounts for a 1-bit transient introduced by the differential modulation.

Display the computed SER with Es/N0 set to 10.

With EsN0 set to 10, SER = 0.000000

Ports

Input

expand all

DBPSK-modulated baseband signal, specified as a complex-valued scalar or vector. For more information, see Supported Data Types.

This port is unnamed on the block.

Data Types: double | single
Complex Number Support: Yes

Noise variance, specified as a positive scalar or vector of positive values.

Dependencies

To enable this input, set Noise variance source to Input port.

Data Types: double | single

Output

expand all

Output signal, returned as a scalar or column vector with element values of 0 or 1.

This port is unnamed on the block.

Data Types: double | single | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

Parameters

expand all

To edit block parameters interactively, use the Property Inspector. From the Simulink® Toolstrip, on the Simulation tab, in the Prepare gallery, select Property Inspector.

Main

Additional phase shift in radians between previous and current modulated symbols, specified as a scalar. This value corresponds to the phase difference between previous and current modulated symbols when the input is zero.

Example: pi/4

Since R2024b

Decision method for the demodulation, specified as Hard decision or Approximate log-likelihood ratio. When set to Hard decision, the demodulator outputs a column vector of bit values. When set to Approximate log-likelihood ratio, the demodulator generates positive values for 0s and negative values for 1s.

Since R2024b

Source of the noise variance, specified as Property or Input port.

Dependencies

To enable this parameter, set the Decision type parameter to Approximate log-likelihood ratio.

Since R2024b

Variance of the noise, specified as a nonnegative scalar.

Dependencies

To enable this parameter, set the Noise variance source parameter to Property.

Output data type, specified as Inherit via internal, Smallest unsigned integer, double, single, int8, uint8, int16, uint16, int32, uint32, or boolean.

Setting this parameter to Inherit via internal rule sets the output data type from the input port. The output data type is the same as the input data type if the input is of type single or double.

When you set the Decision type parameter to Approximate log-likelihood ratio, the output data type matches the input data type. The input data type must be either double or single.

For more information, see Supported Data Types.

Block Characteristics

Data Types

Boolean | double | integer | single

Multidimensional Signals

no

Variable-Size Signals

no

More About

expand all

Algorithms

The DBPSK demodulator compares the current symbol to the previous symbol. It maps phase differences of ϕ and π+ϕ to outputs of 0 and 1, respectively, where ϕ is the Phase rotation parameter. The first element output from the block is the initial condition of zero because the demodulator has no previous symbol to compare with the first symbol. This initial condition causes a 1-bit transient delay at the output of the block.

Extended Capabilities

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

Version History

Introduced before R2006a

expand all