Main Content

comm.DQPSKModulator

Modulate using DQPSK method

Description

TheDQPSKModulatorobject modulates using the differential quadrature phase shift keying method. The output is a baseband representation of the modulated signal.

To modulate a signal using differential quadrature phase shift keying:

  1. Define and set up your DQPSK modulator object. SeeConstruction.

  2. Callstepto modulate a signal according to the properties ofcomm.DQPSKModulator. The behavior ofstepis specific to each object in the toolbox.

Note

Starting in R2016b, instead of using thestepmethod to perform the operation defined by the System object™, you can call the object with arguments, as if it were a function. For example,y = step(obj,x)andy = obj(x)perform equivalent operations.

Construction

H = comm.DQPSKModulatorcreates a modulator System object,H. This object modulates the input signal using the differential quadrature phase shift keying (DQPSK) method.

H = comm.DQPSKModulator(Name,Value)creates a DQPSK modulator object,H, with each specified property set to the specified value. You can specify additional name-value pair arguments in any order as (Name1,Value1,...,NameN,ValueN).

H = comm.DQPSKModulator(PHASE,Name,Value)creates a DQPSK modulator object,H. This object has thePhaseRotationproperty set toPHASEand the other specified properties set to the specified values.

Properties

PhaseRotation

Additional phase shift

Specify the additional phase difference between previous and current modulated symbols in radians as a real scalar value. The default ispi/4. This value corresponds to the phase difference between previous and current modulated symbols when the input is zero.

BitInput

Assume bit inputs

Specify whether the input is bits or integers. The default isfalse. When you set this property to true, the step method input must be a column vector of bit values. The length of this vector is an integer multiple of two. This vector contains bit representations of integers between0and3. When you set this property tofalse,stepmethod input must be a column vector of integer symbol values between0and3.

SymbolMapping

星座编码

Specify how the object maps an integer or group of two input bits to the corresponding symbol as one ofBinary|Gray. The default isGray. When you set this property toGray,object uses a Gray-encoded signal constellation. When you set this property toBinary,input integerm, between 0 m 3 shifts the output phase. This shift is (PhaseRotation+ 2 × π × m 4 ) radians from the previous output phase. The output symbol isexp(j × PhaseRotation+j × 2 × π × m 4 ) × (previously modulated symbol).

OutputDataType

Data type of output

Specify output data type as one ofdouble|single. The default isdouble.

Methods

step Modulate using DQPSK method
Common to All System Objects
release

Allow System object property value changes

reset

Reset internal states of System object

Examples

collapse all

Create a DQPSK modulator and demodulator pair. Create an AWGN channel object having two bits per symbol.

dqpskmod = comm.DQPSKModulator('BitInput',true); dqpskdemod = comm.DQPSKDemodulator('BitOutput',true); channel = comm.AWGNChannel('EbNo',6,'BitsPerSymbol',2);

Create an error rate calculator. Set theComputationDelayproperty to1to account for the one bit transient caused by the differential modulation

errorRate = comm.ErrorRate('ComputationDelay',1);

Main processing loop steps:

  • Generate 50 2-bit frames

  • 8-DPSK modulate

  • Pass through AWGN channel

  • 8-DPSK demodulate

  • Collect error statistics

forcounter = 1:100 txData = randi([0 1],100,1); modSig = dqpskmod(txData); rxSig = channel(modSig); rxData = dqpskdemod(rxSig); errorStats = errorRate(txData,rxData);end

Display the error statistics.

ber = errorStats(1)
ber = 0.0170
numErrors = errorStats(2)
numErrors = 170
numBits = errorStats(3)
numBits = 9999

Algorithms

This object implements the algorithm, inputs, and outputs described on theDQPSK Modulator Basebandblock reference page. The object properties correspond to the block parameters.

Extended Capabilities

版本History

Introduced in R2012a