Main Content

Bernoulli Binary Generator

ベルヌーイ分布ランダム 2 進数を生成する

  • Bernoulli Binary Generator block

ライブラリ:
Communications Toolbox / Comm Sources / Random Data Sources

説明

Bernoulli Binary Generator ブロックは、ベルヌーイ分布を使用してランダム 2 進数を生成します。このブロックを使用してランダム データ ビットを生成して、デジタル通信システムをシミュレートし、ビット エラー レートなどの性能判定基準を入手します。パラメーター p のベルヌーイ分布は、確率 p でゼロ、確率 1-p で 1 を生成します。ベルヌーイ分布の平均値は 1-p、分散は p(1-p) です。[ゼロの確率] パラメーターは p を指定し、範囲 [0, 1] の任意の実数になります。

出力信号は、列または行ベクトル、2 次元行列、またはスカラー値とすることができます。出力信号の行数は 1 フレームあたりのサンプル数に対応し、[フレームあたりのサンプル数] パラメーターで設定されます。出力信号の列数はチャネル数に対応し、[ゼロの確率] パラメーターの要素数によって設定されます。詳細については、ソースとシンクを参照してください。

すべて展開する

doc_bernoulli_gen_example モデルはバイナリ データを生成し、BPSK 変調を適用して出力を表示します。

モデルを実行します。

制限

  • このブロックを For Each Subsystem (Simulink) で使用するには、Source of initial seed[Auto] に設定し、モデルのシミュレーション モードを [標準] または [アクセラレータ] に設定しなければなりません。これにより、実行のたびに独立したノイズ サンプルが必ず生成されます。

端子

出力

すべて展開する

出力データ信号。スカラー、ベクトル、または行列として返されます。

データ型: double

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

ゼロの可能性は範囲 [0, 1] 内でなければなりません。[ゼロの確率] パラメーターの要素の数は、ブロックから出力される独立チャネルの数に対応します。パラメーター p のベルヌーイ分布は、確率 p でゼロ、確率 1-p で 1 を生成します。

乱数発生器の初期シードのソース。次のいずれかとして指定します。

  • Auto –– ブロックはグローバル乱数ストリームを使用します。関数 parsim (Simulink) を使用する場合は、ヒントを参照してください。

  • Parameter –– ブロックは乱数発生器シードを [初期シード] に設定します。

詳細については、RandStream を使用したグローバル ストリームの管理乱数発生器を参照してください。

乱数発生器の初期シード値。非負の整数として指定します。このパラメーターが定数である場合、結果のシーケンスは繰り返し可能です。

調整可能: Yes

依存関係

このパラメーターを有効にするには、[初期シードのソース][Parameter] に設定します。

正のスカラーは、出力信号の各サンプル間の時間を秒単位で指定します。[サンプル時間] を -1 に設定すると、出力信号は下流からサンプル時間を継承します。[サンプル時間] パラメーターと [フレームあたりのサンプル数] パラメーターの関係の詳細については、サンプル タイミングを参照してください。

出力信号の 1 チャネル内のフレームあたりのサンプル。正の整数として指定します。[サンプル時間][フレームあたりのサンプル数] の関係の詳細については、サンプル タイミングを参照してください。

出力のデータ型。doublesingleuint8uint16uint32、または boolean として指定します。

実行するシミュレーションのタイプ。[コード生成] または [インタープリター型実行] として指定します。

  • コード生成 — 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。このモデルは、モデルが変更されない限り以降のシミュレーションで C コードを再利用します。このオプションを使用すると、シミュレーションの起動時間は長くなりますが、以降のシミュレーションの速度は [インタープリター型実行] オプションを使用した場合よりも速くなります。

  • インタープリター型実行 — MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションを使用すると、起動時間が短縮されますが、以降のシミュレーションの速度は [コード生成] オプションを使用した場合よりも遅くなります。このモードで、ブロックのソース コードをデバッグできます。

詳細については、Interpreted Execution vs. Code Generation (Simulink)を参照してください。

ブロックの特性

データ型

Boolean | double | integer | single

多次元信号

なし

可変サイズの信号

なし

詳細

すべて展開する

ヒント

関数 parsim (Simulink) を使用してモンテ カルロ シミュレーションなどのシミュレーションを並列で実行する場合、[初期シードのソース][Parameter] に設定し、[初期シード] の値がすべてのブロックで異なっていることを確認します。

そうしないと、以下のモデル コンフィギュレーションにおいて、異なるワーカーが同じ乱数を生成する (誤解を招く結果につながる) 可能性があります。

  • モデルがラピッド アクセラレータ モードである。

  • このブロックにおいて、[シミュレーション実行方法][コード生成] に設定されており、[初期シードのソース][Auto] に設定されている。

詳細については、シミュレーション モードの選択 (Simulink)を参照してください。

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入

すべて展開する