comm.DQPSKModulator

Modulate using DQPSK method

Description

The `DQPSKModulator` object 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. See Construction.

2. Call `step` to modulate a signal according to the properties of `comm.DQPSKModulator`. The behavior of `step` is specific to each object in the toolbox.

Note

Starting in R2016b, instead of using the `step` method 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)``` and `y = obj(x)` perform equivalent operations.

Construction

`H = comm.DQPSKModulator` creates 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 the `PhaseRotation` property set to `PHASE` and 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 is `pi/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 is `false`. 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 between `0` and `3`. When you set this property to `false`, the `step` method input must be a column vector of integer symbol values between `0` and `3`. `SymbolMapping` Constellation encoding Specify how the object maps an integer or group of two input bits to the corresponding symbol as one of `Binary` | `Gray`. The default is `Gray`. When you set this property to `Gray`, the object uses a Gray-encoded signal constellation. When you set this property to `Binary`, the input integer m, between $0\le m\le 3$ shifts the output phase. This shift is (`PhaseRotation` + $2×\pi ×m}{4}$) radians from the previous output phase. The output symbol is exp(j$×$`PhaseRotation` + j$×$$2×\pi ×m}{4}$)$×$(previously modulated symbol). `OutputDataType` Data type of output Specify output data type as one of `double` | `single`. The default is `double`.

Methods

 reset Reset states of DQPSK modulator object step Modulate using DQPSK method
Common to All System Objects
`release`

Allow System object property value changes

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 the `ComputationDelay` property to `1` to 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

```for counter = 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 the DQPSK Modulator Baseband block reference page. The object properties correspond to the block parameters.