Main Content


System object: comm.OSTBCEncoder
Package: comm

Encode input using orthogonal space-time block code


Y = step(H,X)



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.

Y = step(H,X) encodes the input data, X, using OSTBC encoder object, H. The input is a complex-valued column vector or matrix of data type double, single, or signed fixed-point with power-of-two slope and zero bias. The step method output, Y, is the same data type as the input data. The time domain length, T, of X must be a multiple of the number of symbols in each codeword matrix. Specifically, when you set the NumTransmitAntennas property is 2 or the SymbolRate property is 1/2, T must be a multiple of two and when the SymbolRate property to 3/4, T must be a multiple of three. For a time or spatial domain input of T rows by one column, the encoded output data, Y, is a (T/SymbolRate)-by-NumTransmitAntennas matrix. The input matrix size can be F rows by T columns, where F is the additional dimension (typically the frequency domain) over which the encoding calculation is independent. In this case, the output is an F-by-(T/SymbolRate)-by-NumTransmitAntennas matrix.


obj specifies the System object on which to run this step method.

The object performs an initialization the first time the step method is executed. This initialization locks nontunable properties and input specifications. For more information on changing property values, see System Design in MATLAB Using System Objects.