メインコンテンツ

dpskmod

差動位相偏移変調変調

説明

y = dpskmod(x,M) は、変調次数 M の差動位相偏移変調 (DPSK) を用いて入力信号を変調します。

y = dpskmod(x,M,phaserot) は、DPSK 変調の位相回転を指定します。

y = dpskmod(x,M,phaserot,symorder) はシンボル順序も指定します。

すべて折りたたむ

位相シフトが導入された通信チャネルの DPSK データを復調します。

4 値データ ベクトルを生成し、DPSK を使用して変調します。

M = 4;                          % Alphabet size
dataIn = randi([0 M-1],1000,1); % Random message
txSig = dpskmod(dataIn,M);      % Modulate

送信プロセスの結果であるランダム位相シフトを適用します。

rxSig = txSig*exp(2i*pi*rand());

受信信号を復調します。

dataOut = dpskdemod(rxSig,M);

変調器と復調器は同じ初期条件をもちます。ただし、受信信号でのみ位相のシフトが発生します。このため、最初に復調されたシンボルは誤っている可能性が高くなります。したがって、DPSK を使用する場合は最初のシンボルは必ず破棄してください。

シンボル エラーの数を確認します。

errs = symerr(dataIn,dataOut)
errs = 
1

1 つのシンボルに誤りがあります。最初のシンボルを破棄してから、誤り計算を繰り返します。

errs = symerr(dataIn(2:end),dataOut(2:end))
errs = 
0

入力引数

すべて折りたたむ

入力信号。正の整数のベクトルまたは行列として指定します。x の要素は、[0, M-1] の範囲の値をもたなければなりません。

データ型: double

変調次数。2 の整数乗で指定します。

例: 2 | 4 | 16

データ型: double

DPSK 変調の位相回転。ラジアン単位の実数スカラーで指定します。1 シンボルあたりの合計位相シフトは phaserot と差分変調により生成される位相の和です。

phaserot を空として指定した場合、dpskmod は 0 度の位相回転を使用します。

例: pi/4

データ型: double

シンボルの順序。'bin' または 'gray' で指定します。この引数は、どのようにバイナリ ベクトルを対応する整数に割り当てるかを指定します。

  • symorder'bin' に設定されている場合、関数はバイナリ符号の順序を使用します。

  • symorder'gray' に設定されている場合、関数はグレイ符号の順序を使用します。

データ型: char

出力引数

すべて折りたたむ

DPSK 変調された出力信号の複素ベースバンド表現。複素数値のベクトルまたは行列として返されます。列は独立したチャネルを表します。

メモ

差分アルゴリズムには 2 つの連続する要素が必要であるため、出力 y の最初の要素 (または y が複数行の行列の場合はその最初の行) の判定には、0 度の初期位相回転が使用されます。

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2006a より前に導入