最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

Error Rate Calculation

入力データのビット誤り率またはシンボル誤り率を計算

ライブラリ

Comm Sinks

説明

Error Rate Calculation ブロックは送信機からの入力データと受信機からの入力データを比較します。このブロックは、データ要素の等しくないペアの合計数を 1 つのソースからの入力データ要素の合計数で除算して、実行中の統計として誤り率を計算します。

このブロックでは、入力データ要素間の違いの大きさを考慮しないため、シンボル誤り率またはビット誤り率を計算するには、このブロックを使用します。入力がビットの場合、ブロックはビット誤り率を計算します。入力がシンボルの場合、ブロックはシンボル誤り率を計算します。

メモ

[Output data] パラメーターを [Workspace] に設定した場合、ブロックはコードを生成しません。同様に、[シミュレーション モード][アクセラレータ] または [ラピッド アクセラレータ] に設定されている場合、データはワークスペースに保存されません。これらのケースで誤り率情報が必要な場合には、[Output data]Port に設定します。

Input Data

このブロックは、ダイアログ パラメーターの設定に応じて、2 ~ 4 の入力端子をもちます。TxRx のマークの入力端子は、それぞれ伝送信号と受信信号を受け入れます。Tx および Rx 信号は同じサンプリング レートを共有しなければなりません。

Tx および Rx 入力端子はスカラーまたは列ベクトル信号を受け入れます。各ブロックの端子でサポートされるデータ型については、このページのサポートされているデータ型の表を参照してください。Tx がスカラーで Rx がベクトルの場合、またはその逆の場合、このブロックはスカラーをベクトルの各要素と比較します (全体に、このブロックはスカラー信号を Communications Toolbox™ の Repeat ブロックで [Rate options] パラメーターを [Enforce single rate] に設定して事前に処理してあるかのように動作します)。

[Reset port] を選択した場合、Rst というラベルの追加の入力端子が表示されます。Rst 入力はスカラー信号 (タイプ double または boolean) のみ受け入れ、Tx および Rx 端子と同じ端子サンプル時間をもたなければなりません。Rst 端子が非ゼロの場合、ブロックは誤り統計を消去して再計算します。

[Computation mode] パラメーターを [Select samples from port] に設定した場合、Sel というラベルの追加の入力端子が表示されます。Sel 入力は、計算に関連するフレームの要素を示します。Sel 入力は、double タイプの列ベクトルにすることができます。

下のガイドラインは、ブロックで Tx および Rx データを解釈する方法に基づいて、入力およびダイアログ パラメーターを設定する方法を示します。

  • 両方のデータ信号がスカラーの場合、このブロックは Tx スカラー信号を Rx スカラー信号と比較します。この設定の場合、[Computation mode] パラメーターの既定値である [Entire frame] を使用します。

  • 両方のデータ信号がベクトルの場合、このブロックは Tx および Rx データの一部または全部を比較します。

    • [Computation mode] パラメーターを [Entire frame] に設定した場合、このブロックはすべての Tx フレームをすべての Rx フレームと比較します。

    • [Entire frame] パラメーターを [Select samples from mask] に設定した場合、[Selected samples from frame] フィールドがダイアログに表示されます。このパラメーター フィールドはブロックで考慮する Rx フレームのそれらの要素の指数をリストするベクトルを受け入れます。たとえば、長さ 6 の受信機フレームの最初と最後のフレームのみ考慮する場合、[Selected samples from frame] パラメーターを [1 6] に設定します。[Selected samples from frame] ベクトルにゼロが含まれる場合、ブロックはそれらを無視します。

    • [Computation mode] パラメーターを [Select samples from port] に設定した場合、Sel というラベルの追加の入力端子がブロック アイコンに表示されます。この入力端子のデータは、上記の [Selected samples from frame] パラメーターのデータと同じ書式をもたなければなりません。

  • 1 つのデータ信号がスカラーで、別のデータ信号がベクトルの場合、このブロックはスカラーとベクトルの各エントリを比較します。上記の 3 項は、Rx がスカラーで、上記の "Rx フレーム" というフレーズが Rx のベクトル拡張を指す場合を除いて、このモードでも有効です。

    メモ:

    このブロックは可変サイズの入力信号をサポートしていません。[Select samples from port] オプションを選択し、サブフレーム内の要素の数をシミュレーション中に変動させる場合、Sel 信号に 0 を付加しなければなりません。Error Rate Calculation ブロックは、Sel 信号の 0 を無視します。

出力データ

このブロックは、エントリが以下に対応する長さ 3 のベクトルを生成します。

  • 誤り率

  • 誤りの合計数、つまり Rx 要素が対応する Tx 要素と一致しないインスタンスの数

  • ブロックが実行した比較の合計数

ブロックは、[Output data] パラメーターの設定に応じて、この出力データをベース MATLAB® ワークスペースまたは出力端子に送信します。

  • [Output data] パラメーターを [Workspace] に設定し、[Variable name] パラメーターを入力した場合、ベース MATLAB ワークスペースの変数には、シミュレーション "終了" 時の現在値が含まれます。シミュレーションを一時停止しても、ブロックが中間データを変数に書き込むことはありません。

    Simulink® Coder™ ソフトウェアでこのブロックを使用する場合、[Workspace] オプションは使用しないでください。代わりに、[Port] オプションを使用して、出力端子を Simulink To Workspace ブロックに接続します。

  • [Output data] パラメーターを [Port] に設定した場合、出力端子が表示されます。この出力端子には、"実行中" の誤り統計が含まれます。

遅延

[Receive delay] および [Computation delay] パラメーターはこのブロックの 2 種類の遅延を実行します。一方の遅延はこのブロックで受信信号の遅延を補正する場合に便利です。もう一方の遅延は、両方の入力信号の最初の過渡状態の動作を無視する場合に便利です。

  • [Receive delay] パラメーターは、受信データが伝送済みデータの後に置かれるサンプルの数を表します。伝送信号は、ブロックが受信データと比較する前に同じ量だけ暗黙的に遅延します。この値は、伝送信号を遅延させて、受信信号と調整する場合に便利です。受信遅延はシミュレーション中、保持されます。

  • [Computation delay] パラメーターは、ブロックが比較に開始時に無視するサンプルの数を表します。

ご使用のモデルの受信遅延が未知の場合は、遅延を自動的に補正する Find Delay ブロックを使用できます。Find Delay ブロックを使用する場合、Error Rate Calculation ブロックの [Receive delay]0 に設定し、[Computation delay]Find Delay ブロックの delay 端子から生じる値に設定します。

[Select samples from mask] または [Select samples from port] オプションを使用する場合、各遅延パラメーターは、ブロックが最終的にそれらの一部を無視するか否かに関わらず、ブロックが受信するサンプルの数を指します。

誤り統計に基づくシミュレーションの停止

誤り統計でシミュレーションの実行時間を制御するようにこのブロックを設定できます。これは、過渡状態が続く時間が事前にわからなくても、信頼できる定常状態誤り統計を計算する場合に便利です。このモードを使用するには、[Stop simulation] をオンにします。このブロックは、[Target number of errors] パラメーターで指定された回数の誤りを検出するまでシミュレーションを実行します。ただし、時間がモデルの [終了時間] 設定 ([コンフィギュレーション パラメーター] ダイアログ ボックス内) に達した場合、Error Rate Calculation ブロックが [Maximum number of symbols] 比較を実行する場合、またはモデル内の別のブロックがシミュレーションの停止を指示する場合、十分な数の誤りを検出する前にシミュレーションが停止します。

このブロックの 2 つの停止基準のいずれかを無視するには、対応するパラメーター ([Target number of errors] または [Maximum number of symbols]) を Inf に設定します。たとえば、シミュレーションを早期に停止することなく、誤りの目標数に達するには、[Maximum number of symbols]Inf に設定し、モデルの [Stop time]Inf に設定します。

下の図はブロックで要素のペアを比較して、誤りイベントの数をカウントする方法を示しています。Tx および Rx 入力は列ベクトルです。

この例では、各入力信号のサンプル時間は 1 秒でブロックのパラメーターが以下のとおりであることを前提にしています。

  • Receive delay = 2

  • Computation delay = 0

  • Computation mode = Entire frame

両方の入力信号は、長さ 3 の列ベクトルです。ただし、この図では各列ベクトルを横に配置して、ベクトルのペアを 2 つのサンプルの受信遅延を反映するように整列しています。各タイム ステップで、ブロックは Rx 信号の要素を図でそれらの真上にある Tx 信号の要素と比較しています。たとえば、時間 1 で、ブロックは Rx 信号の 2、4 および 1 を Tx 信号の 2、3 および 1 と比較します。

Rx の最初の 2 つの要素の値は出力に影響を与えないため、アスタリスクとして表示されます。同様に、Tx 信号の 6 および 5 は時間 4 の出力には影響 "します" が、時間 3 の出力には影響しません。

図の右側の誤り率では、時間 t の各分子は、時間 t までの Rx を考慮した場合の誤り数を反映します。

ブロックの [Reset port] ボックスにがオンになっていて、時間 = 3 秒でリセットが発生した場合、最新の誤り率は 4/10 ではなく、2/3 になります。この値 2/3 は Rx 信号の 3、2、および 1 と Tx 信号の 7、7、および 1 の比較を反映しています。次の図は、このシナリオを示したものです。Tx および Rx 入力は列ベクトルです。

RSim 実行可能ファイルでのパラメーター調整 (Simulink Coder ソフトウェア)

RSim 実行可能ファイルをビルドするために Simulink Coder ラピッド シミュレーション (RSim) ターゲットを使用している場合、モデルを再コンパイルすることなく [Target number of errors] および [Maximum number of symbols] パラメーターを調整できます。これは、異なる量のノイズでシミュレーションを複数回 (おそらく複数のコンピューターで) 実行するモンテ カルロ シミュレーションの場合に便利です。

パラメーター

Receive delay

受信データが伝送済みデータの後に置かれるサンプルの数 (Tx または Rx がベクトルの場合、各エントリが 1 つのサンプルを表します)。

Computation delay

ブロックが比較の開始時に無視するサンプルの数。

Computation mode

ブロックが入力フレームのすべてを考慮するか、一部のみ考慮するかによって、[Entire frame][Select samples from mask]、または [Select samples from port] のいずれか。

Selected samples from frame

ブロックが比較を行うときに考慮する Rx フレーム ベクトルの要素の指数をリストするベクトル。このフィールドは、[Computation mode][Select samples from mask] に設定されている場合のみ表示されます。

Output data

出力データの送信先によって、[Workspace] または [Port] のいずれか。

Variable name

ベース MATLAB ワークスペースの出力データ ベクトルの変数の名前。このフィールドは、[Output data][Workspace] に設定されている場合のみ表示されます。

Reset port

このチェック ボックスをオンにした場合、Rst というラベルの追加の入力端子が表示されます。

Stop simulation

このチェック ボックスをオンにした場合、シミュレーションは、このブロックが指定された数の誤りを検出するか、指定された数の比較を実行するか、どちらか早い方の時間までのみ実行されます。

Target number of errors

シミュレーションは、この数の誤りを検出した後、停止します。このフィールドは、[Stop simulation] がオンの場合のみ有効です。

Maximum number of symbols

シミュレーションは、この数の比較を実行した後、停止します。このフィールドは、[Stop simulation] がオンの場合のみ有効です。

サポートされているデータ型

端子サポートされているデータ型

Tx

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • boolean

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

Rx

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • boolean

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

Sel

  • 倍精度浮動小数点

Reset

  • 倍精度浮動小数点

  • boolean

拡張機能

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

参考

ブロック

R2006a より前に導入