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

comm.ErrorRate

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

説明

ErrorRate オブジェクトは、送信側からの入力データと受信側からの入力データを比較して、実行中の統計として誤り率を計算します。誤り率を得るために、オブジェクトは 1 つのソースで、データ要素の等しくないペアの合計数を入力データ要素の合計数で除算します。

誤り率を取得するには、以下の手順に従います。

  1. 誤り率オブジェクトを定義および設定します。構築を参照してください。

  2. step を呼び出して、comm.ErrorRate プロパティに従い、送信側からの入力データと受信側からの入力データを比較して、誤り率を計算します。step の動作は、ツールボックスの各オブジェクト固有のものです。

メモ

R2016b 以降では、step メソッドを使用して、System object™ によって定義された演算を実行する代わりに、引数を関数であるかのように使ってオブジェクトを呼び出すことができます。たとえば、y = step(obj,x)y = obj(x) は同等の演算を実行します。

構築

H = comm.ErrorRate は、誤り率計算機 System object H を作成します。このオブジェクトは、送信データと比較することで、受信データの誤り率を計算します。

H = comm.ErrorRate(Name,Value) は、指定の各プロパティが指定の値に設定された、誤り率計算機オブジェクト H を作成します。(Name1,Value1,...,NameN,ValueN) のように、追加の名前と値のペアの引数を任意の順番で指定できます。

プロパティ

ReceiveDelay

転送した信号を遅延させるサンプル数

受信データの送信済みデータに対する遅れを、サンプル数で指定します。この値は、実数、非負、倍精度、整数スカラーでなければなりません。このプロパティを使って、送受信される入力データ ベクトルに比較用のサンプルを配置します。入力がスカラーであるかベクトルであるかに関係なく、サンプル数で遅延を指定します。既定の設定は 0 です。

ComputationDelay

Computation delay

オブジェクトが比較の開始時に無視するデータ サンプルの数を指定します。この値は、実数、非負、倍精度、整数スカラーでなければなりません。このプロパティを使用して、両方の入力信号の遷移動作を無視します。既定の設定は 0 です。

Samples

対象サンプル

対象とするサンプルを Entire frameCustom または Input port のいずれかに指定します。プロパティは、オブジェクトが、誤り統計を計算するとき入力フレームのすべてを考慮するか一部にするかを定義します。既定の設定は Entire frame です。RX フレームのサンプルすべてを TX フレームの全サンプルと比較する場合は Entire frame を選択します。オブジェクトが比較を考慮する必要のある RX フレーム要素のインデックスをリストする場合は、Custom または Input port を選択します。このプロパティを Custom に設定すると、CustomSamples プロパティに従って、倍精度整数のスカラーまたは列ベクトルとしてインデックスをリストできます。このプロパティを Input port に設定すると、step メソッドへの入力としてインデックスをリストできます。

CustomSamples

Selected samples from frame

倍精度、実数、正の整数のスカラーまたは列ベクトルを指定します。この値は、オブジェクトが比較時に使用する RX フレーム ベクトルの要素のインデックスをリストします。このプロパティは、Samples プロパティを Custom に設定した場合に適用されます。既定の設定は空ベクトルであり、これは、全サンプルの使用を指定しています。

ResetInputPort

誤り率リセット入力を有効にする

このプロパティを true に設定し、step メソッドへの入力により誤り統計をリセットします。既定の設定は false です。

メソッド

reset誤り率計算機オブジェクトの状態のリセット
step入力データのビットまたはシンボル誤り率を計算
すべての System object に共通
release

System object のプロパティ値の変更の許可

すべて展開する

2 つのバイナリ ベクトルを作成し、誤り統計を求めます。

ビット誤り率カウンター オブジェクトを作成します。

errorRate = comm.ErrorRate;

任意のバイナリ データ ベクトルを作成します。

x = [1 0 1 0 1 0 1 0 1 0]';

最初と最後のビットに誤りを発生させます。

y = x;
y(1) = ~y(1);
y(end) = ~y(end);

誤り統計を計算します。

z = errorRate(x,y);

ベクトル z の最初の要素はビット誤り率です。

z(1)
ans = 0.2000

z の 2 番目の要素は誤り総数です。

z(2)
ans = 2

z の 3 番目の要素はビット総数です。

z(3)
ans = 10

バイナリ データに使用する 8-DPSK 変調器と復調器のペアを作成します。

dpskModulator = comm.DPSKModulator('ModulationOrder',8,'BitInput',true);
dpskDemodulator = comm.DPSKDemodulator('ModulationOrder',8,'BitOutput',true);

誤り率計算機を作成し、差分変調により発生する 3 ビット (1 シンボル) の過渡状態を考慮します。

errorRate = comm.ErrorRate('ComputationDelay',3);

10 フレームの BER を計算します。

BER = zeros(10,1);

for i= 1:10
    txData = randi([0 1],96,1);           % Generate binary data
    modData = dpskModulator(txData);      % Modulate
    rxSig = awgn(modData,7);              % Pass through AWGN channel
    rxData = dpskDemodulator(rxSig);      % Demodulate
    errors = errorRate(txData,rxData);    % Compute error statistics
    BER(i) = errors(1);                   % Save BER data
end

BER を表示します。

BER
BER = 10×1

    0.1613
    0.1640
    0.1614
    0.1496
    0.1488
    0.1309
    0.1405
    0.1399
    0.1370
    0.1411

アルゴリズム

このオブジェクトは、Error Rate Calculation ブロックのリファレンス ページで説明されているアルゴリズム、入力、および出力を実装しています。オブジェクト プロパティはブロック パラメーターに対応しますが、以下の場合を除きます。

  • [Output data] および [Variable name] ブロック パラメーターには、対応するプロパティはありません。オブジェクトは常に、結果を出力として返します。

  • [Stop simulation] ブロック パラメーターには対応するプロパティはありません。同様の動作を実装するには、while ループ内で step メソッドの出力を使用して、プログラムによるシミュレーション停止を行います。グレイ符号 8-PSKを参照してください。

  • [Computation mode] パラメーターは、Samples プロパティと CustomSamples プロパティに対応します。

拡張機能

R2012a で導入