メインコンテンツ

Error Rate Calculation

入力データのビット エラー レートまたはシンボル エラー レートを計算

  • Error Rate Calculation block

ライブラリ:
Communications Toolbox / Comm Sinks
Communications Toolbox HDL Support / Comm Sinks

説明

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

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

次の図は、利用可能なすべての端子を有効にしたブロックを示しています。Error Rate Calculation block with all ports enabled.

すべて展開する

16-APSK 変調をランダム データの信号に適用します。AWGN チャネルを通して、変調された信号を渡します。ノイズを含む 16-APSK 信号を復調します。この例では、2 つの SNR 設定でのビット エラー レート (BER) およびシンボル エラー レート (SER) を報告します。

slex_16apsk_mod モデルは、AWGN チャネル経由で 16-APSK 変調信号を渡し、信号を復調してから、エラー レート統計を計算します。上のワークフローは BER を計算し、下のワークフローは SER を計算します。コールバック関数 PreLoadFcn で初期化されたワークスペース変数を使用して設定される一部のブロック パラメーターは、シミュレーション変数をワークスペースに読み込みます。詳細については、モデル コールバック (Simulink)を参照してください。

EbN0 = 6 dB に設定した AWGN Channel ブロックを使用してモデルを実行し、計算された BER と SER を表示します。下のワークフローにあるAWGN Channelブロックは、EbN0 の設定を EsN0 の設定に変換します。その結果は、ワークスペース変数 BERVec および SERVec に 1 行 3 列の行ベクトルとして保存されます。最初の要素にはエラー レートが含まれます。

With EbN0 set to  6.00 dB, BER: 0.070
With EsN0 set to 12.02 dB, SER: 0.160

AWGN チャネル ブロックの EbN0 を 10 dB に変更します。モデルを実行し、計算された BER と SER を表示し、エラー レートが減少したことを確認します。

With EbN0 set to 10.00 dB, BER: 0.016
With EsN0 set to 16.02 dB, SER: 0.051

Error Rate Calculationブロックを使用して、遅延のある受信フレームで選択されたサンプルの誤りを計算します。

モデルの検証

このモデルには 2 つの誤り計算パスが含まれます。上の誤り計算パスでは、Error Rate Calculation ブロックによってデータの各フル フレームについて誤りが計算されます。下の誤り計算パスでは、"Error Rate Calculation" ブロックによってデータの各フレームの最初の 3 つのサンプルについて誤りが計算されます。誤り計算に含めるフレームのサンプルは "Sel" 入力端子で指定されます。受信したサンプルに遅延がある場合、Sel 端子への入力で考慮しなければなりません。

  • Tx フレームには整数のシーケンス [1 2 3 4 5 6 7 8 9 10] が含まれます。

  • Rx フレームには整数のシーケンス [1 3 2 4 5 6 7 8 9 10] が含まれます。

Rx フレームは、2 つのサンプルを入れ替えることによって 2 つのサンプルに誤りを生じさせます。Delay ブロックは受信データに指定された遅延を追加します。

モデルの実行

遅延を 0 に設定してモデルを実行します。

With delay = 0
            Sample error rate | # errors | # samples
Full frame:       0.200       |     20   |   100
 Sub frame:       0.667       |     20   |    30

遅延を 2 に設定してモデルを実行します。受信したサンプルの遅延が Sel 端子への入力に含められます。フル フレームの誤りの計算では、受信遅延の設定によって 2 つのサンプルがスキップされます。

With delay = 2
            Sample error rate | # errors | # samples
Full frame:       0.204       |     20   |    98
 Sub frame:       0.667       |     20   |    30

端子

入力

すべて展開する

送信データ。スカラーまたは列ベクトルとして指定します。入力信号 Tx および Rx はデータ型が同じでなければなりません。

  • 入力 Tx または Rx をスカラーとして指定する場合、ブロックはこの値を他の入力のすべての要素と比較します。

  • 入力 Tx および Rx をベクトルとして指定する場合、どちらも同じサイズでなければなりません。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

受信データ。スカラーまたは列ベクトルとして指定します。入力信号 Rx および Tx はデータ型が同じでなければなりません。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

データを比較するときの対象サンプルのインデックス。正の整数または正の整数の列ベクトルとして指定します。

依存関係

この入力を有効にするには、[計算モード] パラメーターを [Select samples from input port] に設定します。

データ型: double

誤り数のリセット。スカラーとして指定します。

依存関係

この入力を有効にするには、[リセット端子] パラメーターを [on] に設定します。

データ型: double | Boolean

出力

すべて展開する

送信データと受信データの間の差異。[R; N; S] 形式の列ベクトルとして返されます。ここで、

  • R はエラー レートです。

  • N は誤り数です。

  • S は比較するサンプル数です。

依存関係

この端子を有効にするには、[出力データ] パラメーターを [端子] に設定します。

データ型: double

パラメーター

すべて展開する

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

送信データに対する受信データの遅延を示すサンプル数。非負の整数として指定します。このパラメーターを使用して、送受信される入力データ ベクトルに比較用のサンプルを配置します。

比較の開始時にオブジェクトが無視するデータ サンプルの数。非負の整数として指定します。このパラメーターを使用して、両方の入力信号の遷移動作を無視します。

対象サンプル。次のいずれかの値として指定します。

  • Entire frame — 受信データのサンプルすべてと送信フレームの全サンプルを比較する。

  • Select samples from mask[フレームから選択されたサンプル] パラメーターで比較を行うときの対象サンプルのインデックスを設定する。

  • Select samples from portSel 入力端子で比較を行うときの対象サンプルのインデックスを設定する。

データを比較するときの対象サンプルのインデックス。正の整数または正の整数の列ベクトルとして指定します。既定値である空のベクトルは、ブロックが受信フレームからのすべてのサンプルを使用することを指定します。

依存関係

このパラメーターを有効にするには、[計算モード] パラメーターを [Select samples from mask] に設定します。

出力データの場所。次のいずれかのオプションとして指定します。

  • ワークスペース[変数名] パラメーターで定義されたワークスペース変数に出力データを送信する。

  • Port — 出力データ端子をブロックに追加し、出力データをその端子に送信する。

MATLAB® ワークスペース内の出力データ変数名。

依存関係

このパラメーターを有効にするには、[出力データ] 変数を [ワークスペース] に設定します。

Rst 入力端子を有効にします。

ブロックが [誤りの目標数] パラメーターで指定された誤り数を検出した後、または [シンボルの最大数] パラメーターで指定された比較回数を実行した後に、シミュレーションを停止するオプション。

この誤り数を検出した後にシミュレーションを停止するオプション。正の整数として指定します。

依存関係

このパラメーターを有効にするには、[シミュレーションの停止] パラメーターを on に設定します。

このシンボル数を比較した後にシミュレーションを停止するオプション。正の整数として指定します。

メモ

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

依存関係

このパラメーターを有効にするには、[シミュレーションの停止] パラメーターを on に設定します。

ブロックの特性

データ型

Boolean | double | fixed point | integer | single

多次元信号

なし

可変サイズの信号

あり

拡張機能

すべて展開する

バージョン履歴

R2006a より前に導入

参考

ブロック

オブジェクト