Note: This page has been translated by MathWorks. Please click here

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

To view all translated materals including this page, select Japan from the country navigator on the bottom of this page.

Generate Gaussian distributed noise with given mean and variance values

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.

**Mean value**The mean value of the random variable output.

**Variance**The covariance among the output random variables.

**Initial seed**The initial seed value for the random number generator.

**Sample time**The period of each sample-based vector or each row of a frame-based matrix.

**Frame-based outputs**Determines whether the output is frame-based or sample-based. This box is active only if

**Interpret vector parameters as 1-D**is unchecked.**Samples per frame**The number of samples in each column of a frame-based output signal. This field is active only if

**Frame-based outputs**is checked.**Interpret vector parameters as 1-D**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.**Output data type**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

Was this topic helpful?