Main Content

comm.DQPSKModulator

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

説明

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

差動直交位相偏移変調を使用して信号を変調するには、以下の手順に従います。

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

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

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

作成

説明

dqpskmod = comm.DQPSKModulator は、差動直交位相偏移変調 (DQPSK) メソッドを使用して入力信号を変調する変調器 System object を作成します。

dqpskmod = comm.DQPSKModulator(Name=Value) は、名前と値の引数を 1 つ以上使用してプロパティを設定します。

dqpskmod = comm.DQPSKModulator(phase,Name=Value) は、PhaseRotation プロパティが phase に設定され、他の指定のプロパティが指定の値に設定された DQPSK 変調器を作成します。

プロパティ

すべて展開する

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

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

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

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

ビットで入力するためのオプション。数値または logical 0 (false) または 1 (true) として指定します。

  • このプロパティを false に設定した場合、System object への入力は範囲 [0, 3] の値から成る整数列ベクトルでなければなりません。

  • このプロパティを true に設定すると、入力は、長さが 2 の整数倍のビット値の列ベクトルにならなければなりません。このベクトルには、範囲 [0, 3] の整数を表すビット表現が含まれます。

データ型: logical

コンスタレーション符号化。"Gray" または "Binary" として指定します。このプロパティは、オブジェクトが整数または 2 つの入力ビットのグループを対応する変調シンボルにマップする方法を制御します。このプロパティを "Gray" に設定すると、オブジェクトはグレイ符号信号コンスタレーションを使用します。このプロパティを "Binary" に設定すると、0m3 の間の入力整数 m は出力位相をシフトします。このシフトは、元の出力位相から (PhaseRotation + 2×π×m4) ラジアンになります。出力変調シンボルは、exp(j×PhaseRotation + j×2×π×m4)× (以前に変調されたシンボル) です。

データ型: char | string

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

データ型: char | string

使用法

説明

y = dqpskmod(x) は DQPSK 変調を入力データに適用し、変調された DQPSK ベースバンド信号を返します。

入力引数

すべて展開する

入力データ。整数、あるいは整数またはビットからなる列ベクトルとして指定します。

BitInput プロパティの設定は、入力データの解釈を決定します。

出力引数

すべて展開する

DQPSK 変調されたベースバンド信号。列ベクトルとして返されます。

オブジェクト関数

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

release(obj)

すべて展開する

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

すべて折りたたむ

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

dqpskmod = comm.DQPSKModulator(BitInput=true);
dqpskdemod = comm.DQPSKDemodulator(BitOutput=true);

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

errorRate = comm.ErrorRate(ComputationDelay=1);

処理ループを実行します。これは次のメイン ステップから成ります。

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

  2. DQPSK 変調します。

  3. S/N 比が 9 の AWGN チャネル経由で信号を渡します。

  4. DQPSK 復調します。

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

for counter = 1:100
    txData = randi([0 1],100,1);
    modSig = dqpskmod(txData);
    rxSig = awgn(modSig,9);
    rxData = dqpskdemod(rxSig);
    errorStats = errorRate(txData,rxData);
end

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

ber = errorStats(1)
ber = 0.0183
numErrors = errorStats(2)
numErrors = 183
numBits = errorStats(3)
numBits = 9999

アルゴリズム

すべて展開する

拡張機能

バージョン履歴

R2012a で導入