Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

デジタル変調

ほとんどの通信のメディアでは、伝送のために限られた領域の周波数しか利用できません。メッセージ信号の周波数スペクトルが固定された周波数領域にあてはまらない、あるいは、チャネルに対して不適当である場合、通信を行う 1 つの方法は、メッセージ信号の情報に従って伝送可能な信号に変更することです。この変更は、"変調" と呼ばれ、伝送するのは変調信号です。その後受信側は、"復調" と呼ばれる処理を通してオリジナルの信号を復元します。

デジタル変調機能

変調方式

Communications Toolbox™ は、デジタル データに対して以下の変調方式をサポートしています。右端のすべての方式は、ライブラリ ブロックに実装されています。

アナログ変調のように、デジタル変調はメッセージ信号の情報に従って、伝送信号を変更します。ただし、デジタル変調の場合、メッセージ信号は有限な集合に制限されます。変調関数は、変調された信号の複素エンベロープを出力します。Communications Toolbox の機能を使用すると、さまざまなデジタル変調方式によって信号を変調または復調できます。コンスタレーション プロットにより、変調シンボルのコンスタレーション ダイアグラムを可視化できます。

メモ

特に指定がない限り、変調と復調の関数は、パルス整形あるいはフィルター処理を行いません。フィルター処理の詳細については、パルス整形とフィルター処理の変調との組み合わせを参照してください。

使用可能な変調メソッドは、入力信号がアナログかデジタルかにより異なります。変調カテゴリに、サポートされているデジタル変調方式とアナログ変調方式がリストされています。

Digital Modulation ブロックへのアクセス-  メイン ブロック ライブラリ内のアイコンをダブルクリックして、Modulation ライブラリを開きます。次に、Modulation ライブラリ内のアイコンをクリックして Digital Baseband サブライブラリを開きます。

Digital Baseband ライブラリには独自のサブライブラリがあります。下の表にリストされたアイコンをダブルクリックして、各サブライブラリを開きます。

変調の種類Digital Baseband ライブラリ内のアイコン
振幅変調 AM
位相変調 PM
周波数変調 FM
連続位相変調 CPM
トレリス符号化変調 TCM

一部のデジタル変調サブライブラリには、特殊な変調方式を実装するブロックが含まれています。これらの特殊なケースの変調ブロックでは、一般的なブロックが使用するものと同じ計算コードを使用しますが、より単純なインターフェイスまたは特殊なケースに適したインターフェイスを提供します。次の表は、一般的な変調器に加え、特殊な変調器に対して一般的な変調器が同等になる条件を示しています。状況は、復調器の場合も同じです。

一般的ブロックおよび特殊ブロック

一般的変調器一般的変調器の条件特殊な変調器
General QAM Modulator Baseband

矩形格子上の 2K の点を含む定義済みのコンスタレーション。

K は変調次数です。

Rectangular QAM Modulator Baseband
M-PSK Modulator Baseband [M-ary number] パラメーターは 2 です。 BPSK Modulator Baseband
[M-ary number] パラメーターは 4 です。 QPSK Modulator Baseband
M-DPSK Modulator Baseband [M-ary number] パラメーターは 2 です。 DBPSK Modulator Baseband
[M-ary number] パラメーターは 4 です。 DQPSK Modulator Baseband
CPM Modulator Baseband [M-ary number] パラメーターは 2 で、[Frequency pulse shape] パラメーターは [Gaussian] です。 GMSK Modulator Baseband
[M-ary number] パラメーターは 2[Frequency pulse shape] パラメーターは [Rectangular][Pulse length] パラメーターは 1 です。 MSK Modulator Baseband
[Frequency pulse shape] パラメーターは [Rectangular] で、[Pulse length] パラメーターは 1 です。 CPFSK Modulator Baseband
General TCM Encoder 矩形格子上の 2K の点を含む定義済みのコンスタレーション。 Rectangular QAM TCM Encoder
円形上の 2K の点を含む定義済みのコンスタレーション。M-PSK TCM Encoder

さらに、M-FSK ブロックで連続的位相遷移が使用される場合、CPFSK Modulator Baseband ブロックは M-FSK Modulator Baseband ブロックと似ています。ただし、この製品の M-FSK 機能はマスク インターフェイスおよび復調器実装での CPFSK 機能とは異なります。

ベースバンドとパスバンド シミュレーション

ある変調方式に対して、変調方式をシミュレートする 2 つの方法は、"ベースバンド" と "パスバンド" と呼ばれます。"ローパス等価法" としても知られているベースバンド シミュレーションは、少ない計算ですみます。Communications Toolbox は、デジタル変調のベースバンド シミュレーションとアナログ変調のパスバンド シミュレーションをサポートします。

ベースバンド変調信号の定義

ベースバンド変調を使用して、メッセージ信号 x の変調の複素エンベロープ y を生成する場合、y は、パスバンド変調器の出力に関連する "複素数値" 信号です。変調信号が以下の波形であるとします。

Y1(t)2cos(2πfct+θ)Y2(t)2sin(2πfct+θ),

ここで、fc は搬送周波数、θ は搬送波信号の初期位相です。ベースバンド シミュレーションは、上記の波形が次の実数部と等しいとみなします。

[(Y1(t)+jY2(t))ejθ]exp(j2πfct).

そして大かっこ内の部分のみをモデル化します。ここで、j は -1 の平方根です。複素ベクトル y は複素信号のサンプリングです。

(Y1(t)+jY2(t))ejθ.

ベースバンド信号ではなくパスバンド信号を処理する場合、これらの信号を互いに変換する関数を作成できます。搬送波信号は、一般に高レートでサンプリングされる必要があるため、パスバンド変調は、ベースバンド変調よりも計算が多くなる傾向があることに注意してください。

変調に関する用語

変調は、"メッセージ信号" 内の情報に従って "搬送波信号" を変更する処理です。"搬送周波数" (Fc) は、搬送波信号の周波数です。"サンプリング レート" は、シミュレーション中にメッセージ信号をサンプリングするレートです。

搬送波信号の周波数は通常、入力メッセージ信号の最大周波数よりも大きいものです。ナイキスト サンプリング理論では、復調器がメッセージを正しく復元するために、シミュレーション サンプリング レート Fs は搬送周波数と変調された信号の最大周波数の合計の 2 倍よりも大きい必要があります。

デジタル信号の表現

M シンボルをもつアルファベットでデジタル変調を使用して信号を変調するには、[0, M-1] の範囲の整数からなるメッセージ信号から始めます。信号の値をベクトル x にリストして信号を表します。あるいは、行列の各列が 1 つのチャネルとなるマルチチャネルの信号を表すような行列を使用できます。

たとえば、変調で 8 個のシンボルをもつ 1 つのアルファベットを使用する場合、ベクトル [2 3 7 1 0 5 5 2 6]'は変調器に対する有効な信号チャネル入力です。マルチチャネルの例として、2 列からなる行列を考えてみます。

[2 3;
 3 3;
 7 3;
 0 3;]
この行列は、2 番目のチャネルに定数値 3 をもつ 2 チャネル信号を定義します。

信号と遅延

すべてのデジタル変調ブロックでは、離散時間信号のみが処理され、ベースバンド表現が使用されます。次の図は、入力と出力のデータ型を示しています。

メモ:

複素変調信号の同相成分と直交成分を分離するには、Simulink Math Operations ライブラリの Complex to Real-Imag (Simulink) ブロックを使用してください。

整数値信号とバイナリ値信号

一部のデジタル変調ブロックでは、整数値信号とバイナリ信号のどちらでも受け入れることができます。対応する復調ブロックは、整数、または整数を表す個々のビットのグループを出力できます。この節では、変調ブロックでの整数入力またはバイナリ入力の処理方法を説明します。復調ブロックの場合は逆になります。変調ブロックには、[Input type] パラメーターがあり、復調ブロックには、[Output type] パラメーターがあることに注意してください。

[Input type] パラメーターを [Integer] に設定すると、ブロックでは 0 ~ M-1 の整数値が受け入れられます。M は [M-ary number] ブロック パラメーターを表します。

[Input type] パラメーターが [Bit] に設定されている場合、ブロックは整数を示すバイナリ値入力を受け入れます。ブロックは、受け取ったバイナリ値信号を、K = log2(M) ビットのグループに集約します。

ここで、

K は、シンボルごとのビット数を表します。M = 2K であるため、K は一般的に変調次数と呼ばれています。

入力ベクトルの長さは K の整数倍でなければなりません。この設定では、ブロックは K ビットのグループを受け入れ、そのグループをブロック出力でシンボルにマッピングします。ブロックは K ビットのグループごとに、変調されたシンボルを 1 つ出力します。

[Constellation Ordering] (または [Symbol Set Ordering])

変調方式により、[Constellation ordering] パラメーターまたは [Symbol set ordering] パラメーターが、ブロックで K 入力ビットのグループが対応するシンボルにマッピングされる方法を指定します。パラメーターを [Binary] に設定すると、ブロックは [u(1) u(2) ... u(K)] を次の整数にマッピングします。

i=1Ku(i)2Ki

この整数が入力値になります。u(1) は最上位ビットです。

M = 8、[Constellation ordering] (または [Symbol set ordering]) を [Binary]、バイナリ入力ワードを [1 1 0] に設定すると、ブロックは [1 1 0] を整数 6 に変換します。入力が 6 で [Input type] パラメーターが [Integer] の場合、ブロックは同じ出力を生成します。

[Constellation ordering] (あるいは [Symbol set ordering] または [Symbol mapping]) を [Gray] に設定すると、ブロックではグレイ符号コンスタレーションを使用し、バイナリ入力を定義済みのグレイ符号コンスタレーションの点に割り当てます。定義済みの M-ary グレイ符号コンスタレーションは、次のバイナリ表現

M = 8; P = [0:M-1]';
de2bi(bitxor(P,floor(P/2)), log2(M),'left-msb')

P 番目の整数に代入します。

次の表は、M = 8 の場合のバイナリからグレイへの一般的なマッピングを示します。

ビットのバイナリから Gray へのマッピング

2 値符号グレイ符号
000000
001001
010011
011010
100110
101111
110101
111100

整数の Gray からバイナリへのマッピング

2 値符号グレイ符号
00
11
23
32
46
57
65
74

変調信号のグレイ符号化

PSK、DPSK、FSK、QAM、および PAM 変調のタイプについて、対応する変調関数または System object® でグレイ符号化へのシンボル マッピングを設定すると、グレイ コンスタレーションが取得されます。

変調関数に対して、シンボル順序入力引数に 'gray' を指定して、グレイ符号化変調を取得できます。

以下の例では、グレイ符号化シンボル マッピングで関数qammodを使用します。

y = [0:15];
y = de2bi(y);
M = 16;
symorder = 'gray';
xmap = qammod(y,M,symorder,'InputType','bit','PlotConstellation',true);

Figure contains an axes. The axes with title 16-QAM, Gray Mapping, UnitAveragePower=false contains 19 objects of type line, text.

コンスタレーション プロットをチェックすると、隣接要素がすべて 1 ビットずつ異なるため、変調されたシンボルがグレイ符号化されていることがわかります。

信号とレート変更のアップサンプル

一部のデジタル変調ブロックは、変調済み信号のアップサンプルされたバージョンを出力できますが、対応するデジタル復調ブロックは、変調済み信号のアップサンプルされたバージョンを入力として受け入れることができます。どちらの場合も、[Rate options] パラメーターは、アップサンプリング係数を表します。この係数は正の整数でなければなりません。入力信号がシングルレート モードかマルチレート モードかにより、次の表に示したとおり、ブロックでは信号のベクトル サイズまたはそのサンプル時間が変更されます。OQPSK ブロックのみが、表内の情報からずれます。OQPSK ブロックのスケーリング係数の S が 2S で置き換えられます。

アップサンプルされた変調済みデータの処理 (OQPSK メソッドを除く)

計算の種類入力の状態結果
変調 シングルレート処理出力ベクトル長は入力ベクトル内の整数の数またはバイナリ ワード数を S で乗算したものです。出力サンプル時間は入力サンプル時間に等しくなります。
変調 マルチレート処理出力ベクトルはスカラーです。出力サンプル時間は、入力サンプル時間を 1/S で乗算したものです。
復調 シングルレート処理出力ベクトルの整数の数またはバイナリ ワード数は、入力ベクトル内のサンプル数を 1/S で乗算したものです。出力サンプル時間は入力サンプル時間に等しくなります。
復調 マルチレート処理

出力信号には、1 つの整数またはバイナリ ワードが含まれます。出力サンプル時間は、入力サンプル時間を S で乗算したものです。

さらに、S > 1 で、復調器が AM、PM または FM サブライブラリに属する場合、復調された信号は 1 出力サンプル期間だけ遅れます。S = 1 の場合または復調器が CPM サブライブラリに属する場合は遅延はありません。

サイズまたはレート変更の図-  次の図は、変調器 (OQPSK 以外) でフレームベースおよびサンプルベースの整数を含んだ 3 要素をアップサンプルする方法を示しています。両方の場合で、[Samples per symbol] パラメーターは 2 です。

次の図は、復調器 (CPM サブライブラリの OQPSK 以外) で、フレームベースおよびサンプルベースの両方の入力を使用して、二重にサンプルされた 3 つのシンボルを処理する方法を示しています。両方の場合で、[Samples per symbol] パラメーターは 2 です。サンプルベースの図には、1 サンプル周期だけの出力遅延が含まれます。

遅延の詳細については、デジタル変調の遅延を参照してください。

PM 変調

DQPSK コンスタレーション点と遷移

下のモデルでは、DQPSK Modulator Baseband ブロックの出力をプロットします。イメージは DQPSK コンスタレーションの各シンボルから次のシンボルへの有効な遷移を示します。

このモデルを開くには、MATLAB コマンド ラインで doc_dqpsk_plot と入力します。モデルを作成するには、次のブロックを収集し、設定します。

  • Random Integer Generator、Comm Sources ライブラリの Random Data Sources サブライブラリ内

    • [M-ary number]4 に設定します。

    • [Initial seed] を任意の正のスカラー整数 (関数 randn の出力であることが好ましい) に設定します。

    • [Sample time].01 に設定します。

  • Modulation の Digital Baseband サブライブラリの PM サブライブラリ内の DQPSK Modulator Baseband

  • Simulink Math Operations ライブラリの Complex to Real-Imag (Simulink)

  • Simulink Sinks ライブラリの XY Graph (Simulink)

特に指定がない限り、ブロックの既定のパラメーターを使用してください。ブロックを上の図のように接続します。モデルを実行すると次のプロットが出力されます。プロットは、8 つの DQPSK コンスタレーション点間の遷移を反映しています。

DQPSK Modulator Baseband ブロック内の既定の [Phase offset] パラメーターは pi/4 であるため、このプロットは π/4-DQPSK 変調を示しています。位相オフセットのコンスタレーションへの影響を確認するには、DQPSK Modulator Baseband ブロックの [Phase offset] パラメーターを pi/8 または別の値に変更します。再びモデルを再び実行し、プロットの変化の様子を観察します。

AM 変調

四角形 QAM 変調と散布図

下のモデルでは、M-QAM Modulator Baseband ブロックを使用してランダム データを変調します。ノイズの多いチャネルを通してシンボルを渡した後、モデルはノイズの多いデータの散布図を生成します。この図は、基となるコンスタレーションを示し、ノイズによて変調信号がそのコンスタレーションから変形することを示しています。

このモデルを開くには、MATLAB コマンド ラインで doc_qam_scatter と入力します。モデルを作成するには、次のブロックを収集し、設定します。

  • Random Integer Generator、Comm Sources ライブラリの Random Data Sources サブライブラリ内

    • [M-ary number]16 に設定します。

    • [Initial seed] を任意の正のスカラー整数 (関数 randn の出力であることが好ましい) に設定します。

    • [Sample time].1 に設定します。

  • Rectangular QAM Modulator Baseband、Modulation の Digital Baseband サブライブラリの AM サブライブラリ内

    • [Normalization method][Peak Power] に設定します。

  • Channels ライブラリ内の AWGN Channel

    • [Es/No]20 に設定します。

    • [Symbol period].1 に設定します。

  • Comm Sinks ライブラリの Constellation Diagram

    • [Symbols to display]160 に設定します。

前の図に示したようにブロックを接続します。[シミュレーション] タブの [シミュレーション] セクションで、[終了時間]250 に設定します。[シミュレーション] セクションは複数のタブに表示されます。

モデルを実行すると次のような散布図が出力されます。プロットは、Random Integer Generator ブロック内の [初期シード] 値によって異なります。変調方式は 16-QAM であるため、プロットは点の 16 個のクラスターを示しています。ノイズがない場合、プロットはコンスタレーション点の周囲のクラスターの代わりに、正確に 16 のコンスタレーション点を示します。

シンボル誤り率の計算

例では、ランダムなデジタル信号を生成し、変調してノイズを加え、ノイズを含む信号を復調して、シンボル誤り率を計算します。ノイズを含む変調データがコンスタレーション ダイアグラムにプロットされます。ランダムな入力データによって数値結果とプロットが異なる場合があります。

ランダムなデジタル メッセージとコンスタレーション ダイアグラム System object を作成します。

M = 16; % Alphabet size, 16-QAM
x = randi([0 M-1],5000,1);

cpts = qammod(0:M-1,M);
constDiag = comm.ConstellationDiagram('ReferenceConstellation',cpts, ...
    'XLimits',[-4 4],'YLimits',[-4 4]);

16-QAM 変調を適用し、AWGN チャネルを使用して信号を送信します。

y = qammod(x,M);
ynoisy = awgn(y,15,'measured');

ノイズを含むデータを復調してメッセージを復元し、シンボル誤り率をチェックします。

z = qamdemod(ynoisy,M);
[num,rt] = symerr(x,z)
num = 79
rt = 0.0158

ノイズを含むデータからコンスタレーション ダイアグラムを作成します。信号の基準コンスタレーションには 16 個の正確な位置の点がありますが、ノイズが追加された送信シンボルにより散布図には各基準コンスタレーション点の周りに散在する点の小さいクラスターがあります。

constDiag(ynoisy)

Figure Constellation Diagram contains an axes and other objects of type uiflowcontainer, uimenu, uitoolbar. The axes contains 2 objects of type line. This object represents Channel 1.

パルス整形とフィルター処理の変調との組み合わせ

変調後に、パルス整形が続けられたり、復調前にフィルター処理や、積分とダンプ動作が行われることがしばしばあります。この節では、矩形パルス整形を含む例を示します。レイズド コサイン パルス整形を使用する例は、レイズド コサイン フィルターを使ったパルス整形を参照してください。

矩形パルス整形

矩形パルス整形は、変調器からの各出力を固定した回数繰り返して、アップサンプリングされた信号を作成します。矩形パルス整形は、他の種類のパルス整形よりも実際的ではありませんが、アルゴリズム開発で、最初のステップあるいは予備的なステップになることがあります。送信側が変調信号をアップサンプリングしている場合、受信側は復調前に受信信号をダウンサンプリングする必要があります。以下のコードは、送信側の矩形パルス整形に関数 rectpulse を使用し、受信側のダウンサンプリングに関数 intdump を使用します。“積分とダンプ” 操作は、受信した信号をダウンサンプリングする方法の 1 つです。

% Create a random digital message and a constellation diagram System
% object.
M = 16;                     % Alphabet size, 16-QAM
x = randi([0 M-1],5000,1);  % Message signal
Nsamp = 4;                  % Oversampling rate

% Apply 16-QAM modulation and rectangular pulse shaping. Transmit signal
% through an AWGN channel.
y = qammod(x,M);
ypulse = rectpulse(y,Nsamp);
ynoisy = awgn(ypulse,15,'measured');

% Downsample at the receiver.
ydownsamp = intdump(ynoisy,Nsamp);

% Demodulate to recover the message.
z = qamdemod(ydownsamp,M);

CPM 変調

連続的位相変調の位相ツリー

この例では、連続的位相変調方式に関連する位相ツリーをプロットします。位相ツリーとは、時間の経過に伴い、それぞれ変調信号の位相をプロットする多数の曲線を重ねた図です。明確な曲線は、変調器へのさまざまな入力から生成されます。

次の例では、数値計算に CPM Modulator Baseband ブロックを使用しています。このブロックは、レイズド コサイン フィルター パルス整形を使用して設定されています。さらに、この例では Simulink と MATLAB を一緒に使用する方法も示しています。例では MATLAB コマンドを使用して、異なる入力信号で一連のシミュレーションを実行し、シミュレーション結果を収集し、完全なデータ セットをプロットします。

メモ:

MATLAB と Simulink の両方を使用したこの例のアプローチとは対照的に、commcpmphasetree の例は、MATLAB コードの行を追加することなく Simulink モデルを使用して位相ツリーを生成します。

モデルを開くには、MATLAB コマンド ラインで doc_phasetree と入力します。モデルを作成するには、次のブロックを収集し、設定します。

  • Simulink Commonly Used ブロック ライブラリ内の Constant (Simulink)

    • [定数値]s (MATLAB ワークスペースに表示される) に設定します。

    • [サンプリング モード][フレーム ベース] に設定します。

    • [フレーム周期]1 に設定します。

  • CPM Modulator Baseband

    • [M-ary number]2 に設定します。

    • [Modulation index]2/3 に設定します。

    • [Frequency pulse shape][Raised Cosine] に設定します。

    • [Pulse length]2 に設定します。

  • Simulink Sinks ライブラリの To Workspace (Simulink)

    • [変数名]x に設定します。

    • [保存形式][配列] に設定します。

変数 s が MATLAB ワークスペースでまだ定義されていないので、モデルは実行しないでください。代わりに、ファイル名 doc_phasetree を使用してモデルを MATLAB パス上のフォルダーに保存します。

この例の第 2 のステップでは、次の MATLAB コードを実行します。

% Parameters from the CPM Modulator Baseband block
M_ary_number = 2;
modulation_index = 2/3;
pulse_length = 2;
samples_per_symbol = 8;

L = 5;  % Symbols to display
pmat = [];
for ip_sig = 0:(M_ary_number^L)-1
    s = de2bi(ip_sig,L,M_ary_number,'left-msb');
    % Apply the mapping of the input symbol to the CPM
    % symbol 0 -> -(M-1), 1 -> -(M-2), etc.
    s = 2*s'+1-M_ary_number;
    sim('doc_phasetree', .9); % Run model to generate x.
    % Next column of pmat
    pmat(:,ip_sig+1) = unwrap(angle(x(:)));
end;
pmat = pmat/(pi*modulation_index);
t = (0:L*samples_per_symbol-1)'/samples_per_symbol;
plot(t,pmat); figure(gcf); % Plot phase tree.

このコードは CPM Modulator のパラメーターを定義し、シンボル マッピングを適用し、結果をプロットします。各曲線は、識別可能な (定数) 入力信号による CPM Modulator Baseband ブロックのシミュレーションの異なるインスタンスを表します。

厳密な LLR アルゴリズム

対数尤度比 (LLR) は、受信信号に対して送信される 0 ビットと送信される 1 ビットの確率の対数です。ビット b の LLR は次のように定義されます。

L(b)=log(Pr(b=0|r=(x,y))Pr(b=1|r=(x,y)))

すべてのシンボルの確率が等しいと仮定した場合、AWGN チャネルの LLR は次のように表現できます。

L(b)=log(sS0e1σ2((xsx)2+(ysy)2)sS1e1σ2((xsx)2+(ysy)2))

ここで、各値を表す変数は次の表のとおりです。

変数変数が表す内容

r

座標 (x, y) の受信信号

b

送信されるビット (M-ary シンボル内の K ビットの 1 つであり、M シンボルはすべて確率が等しいと仮定)

S0

指定したビット位置におけるビット 0 の理想的なシンボルまたはコンスタレーション点

S1

指定したビット位置におけるビット 1 の理想的なシンボルまたはコンスタレーション点

sx

理想的なシンボルまたはコンスタレーション点の同相座標

sy

理想的なシンボルまたはコンスタレーション点の直交座標

σ2

ベースバンド信号のノイズ分散

σx2

同相軸に沿ったノイズ分散

σy2

直交軸に沿ったノイズ分散

メモ

同相軸または直交軸に沿ったノイズ成分は、独立した同じべき乗と見なされます (σx2=σy2=σ2/2)。

近似 LLR アルゴリズム

近似 LLR は、厳密な LLR の場合のようにすべてのコンスタレーション点ではなく、そのビット位置における 1 つの 0 (または 1) を含む受信信号に最も近いコンスタレーション点だけを考慮して計算されます。これは [8] のように定義されます。

L(b)=1σ2(minsS0((xsx)2+ (ysy)2)minsS1((xsx)2+ (ysy)2))

デジタル変調の遅延

デジタル変調と復調ブロックは、信号の設定とプロパティによっては、入出力間で遅延を起こすことがあります。次の表は遅延の原因とその発生状態を示します。

デジタル変調または復調によって発生する遅延

変調または復調のタイプ遅延の発生状態遅延量
FM 復調器サンプルベースの処理1 出力区間
CPM サブライブラリのすべての復調器 マルチレート処理、モデルは [タスク モード] パラメーターを [SingleTasking]
D=[Traceback length] パラメーターに設定した状態で、可変ステップ ソルバーまたは固定ステップ ソルバーを使用
D+1 出力区間
シングルレート処理、D = [Traceback depth] パラメーターD 出力区間
OQPSK 復調器シングルレート処理

詳細については、OQPSK Demodulator Baseband を参照してください。

マルチレート処理、モデルは [タスク モード] パラメーターを [自動] または [マルチタスク] に設定した状態で、固定ステップ ソルバーを使用。
マルチレート処理、モデルは可変ステップ ソルバーを使用するか、[タスク モード] パラメーターが [シングル タスク] に設定される。
TCM サブライブラリのすべての復号化器 [Operation mode][Continuous] に設定、Tr = [Traceback depth] パラメーター、符号化率 k/n Tr*k 出力ビット

遅延により、時間 T での変調または復調ブロックに入力されるデータは、時間 T+遅延での出力に表示されます。特に、シミュレーションが誤り統計情報を計算したり、転送データと受信データを比較する場合は、遅延を考慮に入れなければなりません。

DPSK 復調での最初の出力サンプル

上記の遅延に加えて、M-DPSK、DQPSK、DBPSK の各復調器は最初のサンプルが入力に関連しない出力を生成します。これは差分変調方式に関連しており、その特定の実装には関連していません。

例:復調による遅延

以下のモデルで復調が生じると、復調された信号でラグが発生します (未変調信号では発生しません)。誤り統計情報を計算する場合、モデルは Error Rate Calculation ブロックの [Receive delay] パラメーターを 0 に設定することで、遅延を考慮します。[Receive delay] パラメーターが異なる値をもっている場合は、Display ブロックの上部に表示される誤り率は 1/2 に近くなります。

このモデルを開くには、MATLAB コマンド ラインで doc_oqpsk_modulation_delay と入力します。モデルを作成するには、次のブロックを収集し、設定します。

  • Random Integer Generator、Comm Sources ライブラリの Random Data Sources サブライブラリ内

    • [M-ary number]4 に設定します。

    • [Initial seed] を任意の正のスカラー整数に設定します。

  • Modulation の Digital Baseband サブライブラリの PM サブライブラリ内の OQPSK Modulator Baseband

  • Channels ライブラリ内の AWGN Channel

    • [Es/No]6 に設定します。

  • Modulation の Digital Baseband サブライブラリの PM サブライブラリ内の OQPSK Demodulator Baseband

  • Comm Sinks ライブラリの Error Rate Calculation

    • [Receive delay]1 に設定します。

    • [Computation delay]0 に設定します。

    • [Output data][Port] に設定します。

  • Simulink Sinks ライブラリの Display (Simulink)

    • 3 つのエントリが表示されるようにアイコンの下端をドラッグします。

前の図に示したようにブロックを接続します。[シミュレーション] タブの [シミュレーション] セクションで、[終了時間]1000 に設定します。[シミュレーション] セクションは複数のタブに表示されます。次に、モデルを実行し、Display ブロックのアイコンの上部にある誤り率を確認します。誤り率は Random Integer Generator ブロック内の [Initial seed] 値によって異なります。

デジタル変調の参考文献

[1] Jeruchim, M. C., P. Balaban, and K. S. Shanmugan, Simulation of Communication Systems, New York, Plenum Press, 1992.

[2] Proakis, J. G., Digital Communications, 3rd ed., New York, McGraw-Hill, 1995.

[3] Sklar, B., Digital Communications: Fundamentals and Applications, Englewood Cliffs, NJ, Prentice-Hall, 1988.

[4] Anderson, J. B., T. Aulin, and C.-E. Sundberg, Digital Phase Modulation, New York, Plenum Press, 1986.

[5] Biglieri, E., D. Divsalar, P.J. McLane, and M.K. Simon, Introduction to Trellis-Coded Modulation with Applications, New York, Macmillan, 1991.

[6] Pawula, R.F., “On M-ary DPSK Transmission Over Terrestrial and Satellite Channels,” IEEE Transactions on Communications, Vol. COM-32, July 1984, pp. 752–761.

[7] Smith, J. G., “Odd-Bit Quadrature Amplitude-Shift Keying,” IEEE Transactions on Communications, Vol. COM-23, March 1975, pp. 385–389.

[8] Viterbi, A. J., “An Intuitive Justification and a Simplified Implementation of the MAP Decoder for Convolutional Codes,” IEEE Journal on Selected Areas in Communications, vol. 16, No. 2, pp 260–264, Feb. 1998