Generate Bernoulli-distributed random binary numbers

Random Data Sources sublibrary of Comm Sources

The Bernoulli Binary Generator block generates random binary
numbers using a Bernoulli distribution. The Bernoulli distribution
with parameter p produces zero with probability p and one with probability
1-p. The Bernoulli distribution has mean value 1-p and variance p(1-p).
The **Probability of a zero** parameter specifies
p, and can be any real number between zero and one.

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 **Probability of a zero** parameter.
See Sources and Sinks in *Communications System Toolbox™ User's
Guide* for more details.

**Probability of a zero**The probability with which a zero output occurs. Specify the probability as a scalar or row vector whose elements are real numbers between 0 and 1. The number of elements in the

**Probability of a zero**parameter 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 a binary sample 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.**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?