Main Content

comm.DBPSKModulator

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

説明

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

DBPSK メソッドを使用して信号を変調するには、次のようにします。

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

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

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

作成

説明

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

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

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

プロパティ

すべて展開する

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

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

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

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

データ型: double

出力のデータ型。"double" または "single" として指定します。

使用法

説明

Y = dbpskmod(X) は、DBPSK 変調を入力データ X に適用し、DBPSK 変調されたベースバンド信号 Y を返します。

入力引数

すべて展開する

入力データ。スカラーとして指定するか、ビットの列ベクトルとして指定します。

データ型: double | logical

出力引数

すべて展開する

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

データ型: double | single

オブジェクト関数

オブジェクト関数を使用するには、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

アルゴリズム

PhaseRotation パラメーターが θ の場合、次のルールによって変調方式が制御されます。

  • 1 番目の入力ビットがそれぞれ 0 または 1 の場合、1 番目の変調シンボルはそれぞれ exp(jθ) または -exp(jθ) になります。

  • 後続の入力ビットがそれぞれ 0 または 1 の場合、変調シンボルは、前の変調シンボルにそれぞれ exp(jθ) または -exp(jθ) を掛けた値になります。

拡張機能

バージョン履歴

R2012a で導入