Main Content


System object: comm.OFDMDemodulator
Package: comm

Demodulate using OFDM method


Y = step(H,X)
[Y,PILOT] = 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) demodulates input data, X, with the OFDM demodulator System object, H, and returns the baseband demodulated output, Y. The input is a double-precision, real or complex, 2-D matrix of symbols whose dimensions are a function of the number of subcarriers, the cyclic prefix length, and the number of receive antennas. You can determine the dimensions by using the info method. The output, Y, is a double-precision, complex, 3-D array.

[Y,PILOT] = step(H,X) separates the PILOT signal on the subcarriers specified by the PilotCarrierIndices property value of H. This syntax applies when the PilotOutputPort property of H is true. PILOT is a double-precision, complex, 3-D array.


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.