Main Content


System object: comm.PSKDemodulator
Package: comm

Demodulate using M-ary PSK method


Y = step(H,X)
Y = step(H,X,VAR)



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 data, X, with the PSK demodulator System object, H, and returns Y. Input X must be a scalar or a column vector with double or single precision data type. If the value of the ModulationOrder property is less than or equal to 8 and you set BitOutput to false, or when you set the DecisionMethod property to Hard Decision and BitOutput to true, the object accepts an input with a signed integer data type or signed fixed point (fi objects). Depending on the BitOutput property value, output Y, can be integer or bit valued.

Y = step(H,X,VAR) uses soft decision demodulation and noise variance VAR. This syntax applies when you set the BitOutput property to true, the DecisionMethod property to Approximate log-likelihood ratio or Log-likelihood ratio, and the VarianceSource property to Input port. The data type of input VAR must be double or single precision.


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.