Main Content

comm.OSTBCEncoder

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.

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.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

stepEncode input using orthogonal space-time block code
Common to All System Objects
release

Allow System object property value changes

Examples

collapse all

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.

bpskMod = comm.BPSKModulator;
modData = bpskMod(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.

ostbcEnc = comm.OSTBCEncoder;
encData = ostbcEnc(modData)
encData = 8×2 complex

  -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.

Extended Capabilities

Version History

Introduced in R2012a