comm.OSTBCEncoder System object

Package: comm

Encode input using orthogonal space-time block code

Description

The OSTBCEncoder object encodes an input symbol sequence using orthogonal space-time block code (OSTBC). The block maps the input symbols block-wise and concatenates the output codeword matrices in the time domain.

To encode an input symbol sequence using an orthogonal space-time block code:

  1. Define and set up your OSTBC encoder object. See Construction.

  2. Call step to encode an input symbol sequence according to the properties of comm.OSTBCEncoder. The behavior of step is specific to each object in the toolbox.

Construction

H = comm.OSTBCEncoder creates an orthogonal space-time block code (OSTBC) encoder System object™, H. This object maps the input symbols block-wise and concatenates the output codeword matrices in the time domain.

H = comm.OSTBCEncoder(Name,Value) creates an OSTBC encoder 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.OSTBCEncoder(N,Name,Value) creates an OSTBC encoder object, H. This object has the NumTransmitAntennas property set to N, and the other specified properties set to the specified values.

Properties

NumTransmitAntennas

Number of transmit antennas

Specify the number of antennas at the transmitter as 2 | 3 | 4. The default is 2.

SymbolRate

Symbol rate of code

Specify the symbol rate of the code as one of 3/4 | 1/2. The default is 3/4. This property applies when you set the NumTransmitAntennas property to greater than 2. For 2 transmit antennas, the symbol rate defaults to 1.

 Fixed-Point Properties

Methods

cloneCreate OSTBC encoder object with same property values
getNumInputsNumber of expected inputs to step method
getNumOutputsNumber of outputs from step method
isLockedLocked status for input attributes and nontunable properties
releaseAllow property value and input characteristics changes
stepEncode input using orthogonal space-time block code

Examples

expand all

Encode BPSK Modulated Data with OSTBC

Generate random binary data, modulate using the BPSK modulation scheme, and encode the modulated data using OSTBC.

Generate an 8-by-1 vector of random binary data.

data = randi([0 1],8,1);

Create BPSK Modulator System object and modulated the data using the step function.

hMod = comm.BPSKModulator;
modData = step(hMod,data);

Create an OSTBC Encoder and encode the modulated signal. As the default number of transmit antennas is 2, you can see that encData is an 8-by-2 vector.

hOSTBCEnc = comm.OSTBCEncoder;
encData = step(hOSTBCEnc, modData)
encData =

  -1.0000 + 0.0000i  -1.0000 + 0.0000i
   1.0000 + 0.0000i  -1.0000 - 0.0000i
   1.0000 + 0.0000i  -1.0000 + 0.0000i
   1.0000 + 0.0000i   1.0000 + 0.0000i
  -1.0000 + 0.0000i   1.0000 + 0.0000i
  -1.0000 + 0.0000i  -1.0000 - 0.0000i
   1.0000 + 0.0000i  -1.0000 + 0.0000i
   1.0000 + 0.0000i   1.0000 + 0.0000i

Algorithms

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

When this object processes variable-size signals:

  • If the input signal is a column vector, the first dimension can change, but the second dimension must remain fixed at 1.

  • If the input signal is a matrix, both dimensions can change.

Was this topic helpful?