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 integers randomly distributed in range [0, M-1]

Random Data Sources sublibrary of Comm Sources

The Random Integer Generator block generates uniformly distributed
random integers in the range [0, *M*-1], where *M* is
the **Set size** defined in the dialog box.

The **Set size** can be either a scalar or
a row vector. If it is a scalar, then all output random variables
are independent and identically distributed (i.i.d.). If the **Set
size** is a vector, then the length of the vector determines
the number of output channels. The channels can have differing output
ranges.

If the **Initial seed** parameter is a constant,
then the resulting noise is repeatable.

The output signal can be a column or row vector, a two-dimensional
matrix, or a scalar. The number of rows in the output signal corresponds
to the number of samples in one frame and is determined by the **Samples
per frame** parameter. The number of columns in the output
signal corresponds to the number of channels and is determined by
the number of elements in the **Set size** parameter.
See Sources and Sinks in *Communications
System Toolbox™ User's
Guide* for more details.

**Set size**The set size determines the range of output values. The block generates integers ranging from 0 to

**Set size**– 1. Specify the set size as a scalar or row vector of positive integers. The number of elements in**Set size**correspond to the number of independent channels output from the block.**Source of initial seed**The source of the initial seed for the random number generator. Specify the source as either

`Auto`

or`Parameter`

. When set to`Auto`

, the block uses the global random number stream.### Note

When

**Source of initial seed**is`Auto`

in`Code generation`

mode, the random number generator uses an initial seed of zero. Therefore, the block generates the same random numbers each time it is started. Use`Interpreted execution`

to ensure that the model uses different initial seeds. If`Interpreted execution`

is run in`Rapid accelerator`

mode, then it behaves the same as`Code generation`

mode.**Initial seed**The initial seed value for the random number generator. Specify the seed as a nonnegative integer scalar.

**Initial seed**is available when the**Source of initial seed**parameter is set to`Parameter`

.**Sample time**The time between each sample of a column of the output signal.

**Samples per frame**The number of samples per frame in one channel of the output signal. Specify

**Samples per frame**as a positive integer scalar.### Note

The time between output updates is equal to the product of

**Samples per frame**and**Sample time**. For example, if**Sample time**and**Samples per frame**equal one, the block outputs an integer every second. If**Samples per frame**is increased to 10, then a 10-by-1 vector is output every 10 seconds. This ensures that the equivalent output rate is not dependent on the**Samples per frame**parameter.**Output data type**The output type of the block can be specified as a

`boolean`

,`uint8`

,`uint16`

,`uint32`

,`single`

, or`double`

. The default is`double`

. Single outputs may lead to different results when compared with double outputs for the same set of parameters. For Boolean typed outputs, the**Set size**must be`2`

.**Simulate using**Select the simulation mode.

`Code generation`

On the first model run, simulate and generate code. If the structure of the block does not change, subsequent model runs do not regenerate the code.

If the simulation mode is

`Code generation`

, System objects corresponding to the blocks accept a maximum of nine inputs.`Interpreted execution`

Simulate model without generating code. This option results in faster start times but can slow subsequent simulation performance.

Was this topic helpful?