Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

Random Integer Generator

指定した範囲内でランダムに分布された整数を生成する

  • Random Integer Generator block

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

説明

Random Integer Generator ブロックは、[0, M-1] の範囲に一様分布したランダム整数を生成します。ここで、M は Set size パラメーターによって指定されます。このブロックを使用して、ランダムなバイナリ値または整数値のデータを生成します。

モデルで異なる初期シードを使用することを確認するには、Simulate using パラメーターを [インタープリター型実行] に設定して、ノーマルまたはアクセラレータ モードでシミュレーションを実行します。詳細については、制限を参照してください。

すべて展開する

初期シード ソースが Auto の場合に出力される Random Integer Generator シーケンスはそれぞれ異なっており、初期シード ソースが Parameter の場合のシーケンスは、シードが変更されなければ繰り返し可能であることを示します。

slex_rng_seed_source モデルを 2 回実行して出力シーケンスを比較します。

     6     1
     7     7
     1     7
     7     3
     5     6
     0     1
     2     3
     4     7
     7     6
     7     7

Initial seed sourceParameter に変更します。0 に設定したシード値を使用して slex_rng_seed_source モデルを 2 回実行して出力シーケンスを比較します。

     6     6
     7     7
     1     1
     7     7
     5     5
     0     0
     2     2
     4     4
     7     7
     7     7

シード値を 1993 に変更して再実行し、シーケンスを以前のものと比較します。

     6     6     0
     7     7     1
     1     1     7
     7     7     2
     5     5     1
     0     0     1
     2     2     4
     4     4     5
     7     7     4
     7     7     1

QPSK 変調をランダム データの信号に適用します。AWGN チャネルを通して、変調された信号を渡します。信号コンスタレーションをプロットします。

doc_qpsk_mod モデルは QPSK データを生成し、ホワイト ノイズを適用して結果のコンスタレーション ダイアグラムを表示します。

15 dB に設定した AWGN Channel ブロックの Eb/N0 を使用したモデルを実行します。

Eb/N0 を 15 dB から 10 dB に変更します。サンプル間の距離の増加によって示されるように、ノイズ レベルが上昇しています。

cm_ex_viterbi_decode_binary_seq モデルは Random Integer Generator ブロックを使用してバイナリ シーケンスを生成します。シーケンスは、Convolutional Encoder ブロックで符号化され、Binary Symmetric Channel ブロックで劣化します。Viterbi Decoder ブロックはデータ シーケンスを符号化し、ビット エラー レートが計算されます。

InitFcn コールバックを使用して、フレーム、BSC 誤り確率、およびビタビ復号化器のトレースバック長ごとにサンプルのワークスペース パラメーターを初期化します。送信信号と受信信号間の信号遅延はトレースバック長と同等です。信号遅延は、エラー レートの計算に必要です。

バイナリ ビット ストリームを作成するために、Random Integer Generator ブロックは、セット サイズを 2 および出力タイプを boolean に指定します。

計算されたエラー レートは、Binary Symmetric Channel ブロックで指定された Error probability を近似します。

Computed error rate = 0.095023

制限

  • ラピッド アクセラレータ シミュレーション モードで、Simulate using[インタープリター型実行]Source of initial seed[Auto] に設定すると、ブロックはシミュレーションが実行される各時間に同じ数字を生成します。この動作は、Source of initial seed[Parameter] に設定することと、Initial seed0 に設定することと同じです。

  • すべてのシミュレーション モード (ノーマル、アクセラレータ、およびラピッド アクセラレータ) で、Simulate using[コード生成]Source of initial seed[Auto] に設定する場合、ブロックはシミュレーションが実行される各時間に同じ数値を生成します。この動作は、Source of initial seed[Parameter] に設定することと、Initial seed0 に設定することと同じです。

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

端子

出力

すべて展開する

ランダムな整数出力。スカラー、ベクトルまたは行列として返されます。この端子はブロックで名前なしになります。データ型は、出力データ型 パラメーターを使用して設定されます。

出力信号の行数は、フレームあたりのサンプル数 パラメーターの値と等しく、1 フレームのサンプル数に対応します。出力データの列数は、Set size パラメーターの要素の数と等しく、チャネルの数に対応します。

パラメーター

すべて展開する

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

セット サイズ M。正の整数または正の整数の行ベクトルとして指定します。ブロックは、範囲 [0, (M – 1)] の整数を生成します。[Set size] の要素の数は、ブロックから出力される独立チャネルの数に対応します。

  • [Set size] がスカラーである場合、すべての出力確率変数は独立同分布 (i.i.d.) です。

  • [Set size] がベクトルの場合、ベクトルの長さが出力チャネル数を決定します。チャネルはさまざまな出力範囲を取ることができます。

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

  • [Auto] –– ブロックはグローバル乱数ストリームを使用する

  • [Parameter] –– ブロックは乱数発生器シードを [Initial seed] に設定する

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

依存関係

このパラメーターを有効にするには、[Source of initial seed] パラメーターを [Parameter] に設定します。

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

フレームあたりのサンプル数。出力データの 1 つのチャネルでフレームあたりのサンプル数を示す正の整数として指定します。[Sample time][Samples per frame] の関係の詳細については、サンプル タイミングを参照してください。

出力データ型。[double][single][uint8][uint16][uint32] または [boolean] として指定します。このパラメーターが [boolean] に設定されている場合、Set size パラメーターを 2 に設定しなければなりません。

実行するシミュレーションのタイプ。次のように指定します。

  • コード生成 –– 生成された C コードを使用してモデルをシミュレートします。シミュレーションの初回実行時、Simulink は対象ブロックの C コードを生成します。この C コードは、モデルが変更されない限り以降のシミュレーションで再利用されます。このオプションには、追加の起動時間が必要です。

  • インタープリター型実行 –– MATLAB® インタープリターを使用してモデルをシミュレートします。このオプションで起動時間が短くなります。[インタープリター型実行] モードで、ブロックのソース コードをデバッグできます。

ブロックの特性

データ型

Boolean | double | integer | single

多次元信号

いいえ

可変サイズの信号

いいえ

詳細

すべて展開する

拡張機能

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

バージョン履歴

R2006a より前に導入

すべて展開する