Generate Gaussian distributed noise with given mean and variance values
Note:
Gaussian Noise Generator will be removed in a
future release. Use the MATLAB Function block
and |
Noise Generators sublibrary of Comm Sources
The Gaussian Noise Generator block generates discrete-time white Gaussian noise. You must specify the Initial seed vector in the simulation.
The Mean Value and the Variance can be either scalars or vectors. If either of these is a scalar, then the block applies the same value to each element of a sample-based output or each column of a frame-based output. Individual elements or columns, respectively, are uncorrelated with each other.
When the Variance is a vector, its length must be the same as that of the Initial seed vector. In this case, the covariance matrix is a diagonal matrix whose diagonal elements come from the Variance vector. Since the off-diagonal elements are zero, the output Gaussian random variables are uncorrelated.
When the Variance is a square matrix, it
represents the covariance matrix. Its off-diagonal elements are the
correlations between pairs of output Gaussian random variables. In
this case, the Variance matrix must be positive
definite, and it must be N
-by-N
,
where N
is the length of the Initial
seed.
The probability density function of n-dimensional Gaussian noise is
$$f(x)={\left({(2\pi )}^{n}\mathrm{det}K\right)}^{-1/2}\mathrm{exp}\left(-{(x-\mu )}^{T}{K}^{-1}(x-\mu )/2\right)$$
where x is a length-n vector, K is the n-by-n covariance matrix, µ is the mean value vector, and the superscript T indicates matrix transpose.
The Initial seed parameter initializes the random number generator that the Gaussian Noise Generator block uses to add noise to the input signal. For best results, the Initial seed should be a prime number greater than 30. Also, if there are other blocks in a model that have an Initial seed parameter, you should choose different initial seeds for all such blocks.
You can choose seeds for the Gaussian Noise Generator block using the Communications System Toolbox™ randseed function. At the MATLAB prompt, enter
randseed
This returns a random prime number greater than 30. Entering randseed
again
produces a different prime number. If you supply an integer argument, randseed
always
returns the same prime for that integer. For example, randseed(5)
always
returns the same answer.
The output signal can be a frame-based matrix, a sample-based row or column vector, or a sample-based one-dimensional array. These attributes are controlled by the Frame-based outputs, Samples per frame, and Interpret vector parameters as 1-D parameters. See Sources and Sinks in the Communications System Toolbox User's Guide for more details.
If the Initial seed parameter is a vector, then its length becomes the number of columns in a frame-based output or the number of elements in a sample-based vector output. In this case, the shape (row or column) of the Initial seed parameter becomes the shape of a sample-based two-dimensional output signal. If the Initial seed parameter is a scalar but either the Mean value or Variance parameter is a vector, then the vector length determines the output attributes mentioned above.
The mean value of the random variable output.
The covariance among the output random variables.
The initial seed value for the random number generator.
The period of each sample-based vector or each row of a frame-based matrix.
Determines whether the output is frame-based or sample-based. This box is active only if Interpret vector parameters as 1-D is unchecked.
The number of samples in each column of a frame-based output signal. This field is active only if Frame-based outputs is checked.
If this box is checked, then the output is a one-dimensional signal. Otherwise, the output is a two-dimensional signal. This box is active only if Frame-based outputs is unchecked.
The output can be set to double
or single
data
types.
Random Source (DSP System Toolbox™ documentation), AWGN Channel, rand
(built-in
MATLAB function), randseed