Main Content

comm.DQPSKDemodulator

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

説明

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

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

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

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

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

作成

説明

dqpskdemod = comm.DQPSKDemodulator は復調器 System object dqpskdemod を作成します。このオブジェクトは、差動直交位相偏移変調 (DQPSK) で変調された入力データを復調します。

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

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

プロパティ

すべて展開する

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

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

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

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

ビットとして出力を返すためのオプション。数値または logical を使用して、0 (false) または 1 (true) として指定します。

  • このプロパティを true に設定すると、このオブジェクト メソッドは、復調シンボルの数の 2 倍に等しい長さでビット値の列ベクトルを出力します。

  • このプロパティを false に設定すると、このオブジェクト メソッドは、0 から 3 までの整数シンボル値を含む列ベクトルを入力データ ベクトルに等しい長さで出力します。

データ型: logical

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

データ型: char | string

出力のデータ型。Full precision""Smallest unsigned integer""double""single""int8""uint8""int16""uint16""int32"、または "uint32" として指定します。このプロパティを "Full precision" に設定すると、出力のデータ型は入力と同じになります。この場合、入力データ型は単精度または倍精度値です。BitOutput プロパティを true に設定すると、logical データ型は有効なオプションになります。

データ型: char | string

使用法

説明

y = mskdemod(x) は、入力信号に DQPSK 復調を適用し、復調された信号を返します。

入力引数

すべて展開する

DQPSK 変調された信号。スカラーまたは列ベクトルとして指定します。

データ型: single | double

出力引数

すべて展開する

出力信号。スカラーまたは列ベクトルとして返されます。オブジェクトが値を整数として出力するかビットとして出力するかを指定するには、BitOutput プロパティを使用します。出力データ型は、OutputDataType プロパティによって決まります。

オブジェクト関数

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