Main Content

comm.DBPSKDemodulator

DBPSK メソッドを使って復調する

説明

comm.DBPSKDemodulator System object™ は、差動 2 相位相偏移変調 (DBPSK) メソッドを使用して変調された信号を復調します。入力は、変調信号のベースバンド表現です。

DBPSK 変調信号を復調するには、次のようにします。

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

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

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

作成

説明

dbpskdemod = comm.DBPSKDemodulator は、DBPSK 復調器 System object dbpskdemod を作成します。このオブジェクトは、DBPSK メソッドを使用して入力信号を復調します。

dbpskdemod = comm.DBPSKDemodulator(phase) はさらに、PhaseRotation プロパティを phase に設定します。

dbpskdemod = comm.DBPSKDemodulator(___,Name=Value) は、前述の任意の構文を使用して DBPSK 復調器オブジェクトを作成し、名前と値の引数を 1 つ以上使用してプロパティを設定します。たとえば、OutputDataType="double" は、出力のデータ型を "double" に設定します。

プロパティ

すべて展開する

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

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

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

ラジアン単位の追加の位相シフト。スカラーとして指定します。この値は、入力が 0 の場合の以前の変調されたビットと現在の変調されたビットの位相差に対応します。

データ型: double

出力データ型。"Full precision""Smallest unsigned integer""double""single""int8""uint8""int16""uint16""int32""uint32"、または "logical" として指定します。このプロパティを "Full precision" に設定すると、出力データ型は入力と同じデータ型になります。

使用法

説明

Y = dbpskdemod(X) は、DBPSK 変調された波形に DBPSK 復調を適用し、復調された入力信号を返します。

入力引数

すべて展開する

入力データ。スカラーまたは列ベクトルとして指定します。

データ型: single | double
複素数のサポート: あり

出力引数

すべて展開する

出力データ。スカラーまたは列ベクトルとして返されます。YX と同じ長さです。出力データのデータ型は、OutputDataType プロパティによって異なります。

オブジェクト関数

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

release(obj)

すべて展開する

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

すべて折りたたむ

DBPSK 変調器と復調器のペアを作成します。

dbpskmod = comm.DBPSKModulator(pi/4);
dbpskdemod = comm.DBPSKDemodulator(pi/4);

エラー レート計算機を作成します。差分変調によって生じる 1 ビットの遷移に対応するため、ComputationDelay プロパティを 1 に設定します。

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

信号の処理を行います。処理には以下のステップが含まれます。

  1. 50 ビットのフレームを生成します。

  2. 信号を DBPSK 変調します。

  3. AWGN チャネルを通して、変調された信号を渡します。

  4. ノイズを含む信号を DBPSK 復調します。

  5. 誤り統計を収集します。

for counter = 1:100
    txData = randi([0 1],50,1);
    modSig = dbpskmod(txData);
    rxSig = awgn(modSig,7);
    rxData = dbpskdemod(rxSig);
    errorStats = errorRate(txData,rxData);
end

誤りの統計を表示します。

ber = errorStats(1)
ber = 0.0034
numErrors = errorStats(2)
numErrors = 17
numBits = errorStats(3)
numBits = 4999

アルゴリズム

DBPSK 復調器は、現在のシンボルを前のシンボルと比較します。θπ+θ の位相差をそれぞれ 01 の出力にマッピングします。ここで、θPhaseRotation パラメーターです。

拡張機能

バージョン履歴

R2012a で導入