Main Content


System object: comm.gpu.AWGNChannel
Package: comm

Add white Gaussian noise to input signal


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) adds white Gaussian noise to input X and returns the result in Y. The input X can be a double or single precision data type scalar, vector, or matrix with real or complex values. The dimensions of input X determine single or multichannel processing. For an M-by-N matrix input, M represents the number of time samples per channel and N represents the number of channels. M and N can be equal to 1. The object adds frames of length M of Gaussian noise to each of the N channels independently.

Y = step(H,X,VAR) uses input VAR as the variance of the white Gaussian noise. This applies when you set the NoiseMethod property to Variance and the VarianceSource property to Input port. Input VAR can be a positive scalar or row vector with a length equal to the number of channels. VAR must be of the same data type as input X.


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.