Main Content

comm.DifferentialEncoder

差動符号化によるバイナリ信号の符号化

説明

comm.DifferentialEncoder System object™ は、チャネル内のバイナリ入力信号を符号化します。出力は、現在の入力要素と以前の出力要素の論理差です。詳細については、アルゴリズムを参照してください。

差動符号化を使用したバイナリ信号は次により符号化します。

  1. comm.DifferentialEncoder オブジェクトを作成し、そのプロパティを設定します。

  2. 関数と同様に、引数を指定してオブジェクトを呼び出します。

System object の機能の詳細については、System object とはを参照してください。

作成

説明

diffenc = comm.DifferentialEncoder は、既定の差分符号化器 System object を作成します。このオブジェクトは、以前に符号化された出力信号との論理差を計算することにより、バイナリ入力信号を符号化します。

diffenc = comm.DifferentialEncoder(Name=Value) は、名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、comm.DifferentialEncoder(InitialCondition=5) は、差動符号化器の初期条件を 5 に設定します。

diffenc = comm.DifferentialEncoder(initcond) は、InitialConditioninitcond に設定して差分符号化器オブジェクトを作成します。たとえば、initcond1 に設定されている場合、この構文は差分符号化器オブジェクトを作成し、初期出力の生成に使用される初期値を 1 に設定します。

プロパティ

すべて展開する

特に指定がない限り、プロパティは "調整不可能" です。つまり、オブジェクトの呼び出し後に値を変更することはできません。オブジェクトは呼び出すとロックされ、ロックを解除するには関数 release を使用します。

プロパティが "調整可能" の場合、その値をいつでも変更できます。

プロパティ値の変更の詳細については、System object を使用した MATLAB でのシステム設計を参照してください。

初期出力を生成するために符号化器によって使用される初期値。スカラー値として指定します。オブジェクトは、非ゼロの値を 1 として解釈して、非バイナリ値をバイナリとして扱います。

データ型: double | logical

使用法

説明

Y = diffenc(X) は、差分符号化スキームを使用して入力メッセージを符号化し、バイナリ符号化されたメッセージ Y を返します。詳細については、アルゴリズムを参照してください。

入力引数

すべて展開する

入力メッセージ。スカラーまたは列ベクトルとして指定します。オブジェクトは、非バイナリ入力をバイナリ信号として扱います。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | fiobject

出力引数

すべて展開する

差分符号化されたメッセージ。バイナリ値のスカラーまたは列ベクトルとして返されます。この出力信号は、入力 X と同じ次元とデータ型をもちます。

オブジェクト関数

オブジェクト関数を使用するには、System object を最初の入力引数として指定します。たとえば、obj という名前の System object のシステム リソースを解放するには、次の構文を使用します。

release(obj)

すべて展開する

stepSystem object のアルゴリズムの実行
releaseリソースを解放し、System object のプロパティ値と入力特性の変更を可能にします。
resetSystem object の内部状態のリセット

すべて折りたたむ

差動符号化器 System object を作成します。

diffEnc = comm.DifferentialEncoder;

ランダムなバイナリ データを生成します。

data = randi([0 1],6,1);

InitialCondition プロパティを既定値の 0 に設定して、ランダムなシーケンスを差分符号化します。

encData = diffEnc(data)
encData = 6×1

     1
     0
     0
     1
     0
     0

次に、InitialCondition プロパティの値を 3 に設定します。

diffEnc.release();
diffEnc.InitialCondition = 3;

同じランダム シーケンスを差分符号化し、出力を比較します。

encData2 = diffEnc(data)
encData2 = 6×1

     0
     1
     1
     0
     1
     1

アルゴリズム

comm.DifferentialEncoder の出力は、現在の入力要素と以前の出力要素の論理差です。さらに具体的に言えば、入力と出力は次のような関係になります。

  • d(i1) = m(i1) XOR lastOutput (== 最初の入力要素の InitialCondition プロパティ値)

  • d(ik) = m(ik) XOR d(ik-1)。ここで、k = 2:inputLen

  • lastOutput = d(ik)

ここで、

  • m は入力メッセージ。

  • d は差分符号化された出力。

  • ik は k 番目の要素。

  • inputLen は m の長さ。

  • lastOutput は d の最後の要素。

  • XOR は排他的論理和または演算子。

拡張機能

バージョン履歴

R2012a で導入

参考

オブジェクト

ブロック