Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

振幅と位相の変調の例

以下の例では、振幅と位相の変調方式を示します。

シンボルの順序を変更する APSK 変調の適用

グレイ符号化およびカスタム符号化の各シンボル マッピングの APSK コンスタレーションをプロットします。

変調次数と PSK リングの半径のベクトルを定義します。コンスタレーション点のビット データを生成します。

M = [8 8];
modOrder = sum(M);
radii = [0.5 1.5];
x = 0:modOrder-1;

関数apskmodでは、単一チャネル バイナリ入力が左 MSB 揃えで、指定された列方向であることを前提としています。関数int2bitを使用して、整数入力シンボルを単一列のバイナリ ベクトルとして表現します。

xBit = int2bit(x,log2(modOrder));

既定の位相オフセットを使用して APSK 変調をデータに適用します。M の要素の値は等しく、位相オフセットの要素の値は等しいため、シンボル マッピングは既定で 'gray' に設定されます。バイナリ入力を使用してコンスタレーションをプロットし、コンスタレーション マッピングのグレイ符号部分を強調表示します。

y = apskmod(xBit,M,radii,PlotConstellation=true,InputType='bit');

カスタム符号のシンボル マッピング ベクトルを作成します。このカスタム マッピングは、別のグレイ符号マッピングになります。

cmap = [0;1;9;8;12;13;5;4;2;3;11;10;14;15;7;6];

カスタム符号のシンボル マッピングで APSK 変調を適用します。バイナリ入力を使用してコンスタレーションをプロットし、異なるグレイ符号シンボル マッピングがカスタム マッピングによって定義されていることを強調表示します。

z = apskmod(xBit,M,radii, ...
    SymbolMapping=cmap, ...
    PlotConstellation=true, ...
    InputType='bit');

MIL-STD-188-110C 固有の 64-QAM 信号の復調

MIL-STD-188-110C で指定されているとおりに変調された 64-QAM 信号を復調します。硬判定ビット出力を計算し、出力が入力と一致することを確認します。

変調次数を設定してランダム ビット データを生成します。

M = 64;
numBitsPerSym = log2(M);
x = randi([0 1],1000*numBitsPerSym,1);

データを変調します。名前と値のペアを使用して、ビット入力データを指定し、コンスタレーションをプロットします。

txSig = mil188qammod(x,M,InputType='bit',PlotConstellation=true);

受信信号を復調します。復調されたデータと元のデータを比較します。

z = mil188qamdemod(txSig,M,OutputType='bit');
isequal(z,x)
ans = logical
   1

Simulink を使用したノイズを含む DVB-S APSK コンスタレーションのプロット

DVB-S APSK 変調をランダム データ シンボルに適用し、変調された信号を AWGN チャネル経由で渡し、信号コンスタレーションをプロットします。

slex_dvbs_apsk_mod モデルは、標準接尾辞 S2 および変調次数 16 で構成されています。目的の結果を得るには、モデル内のブロックすべての構成を同じ変調次数に揃える必要があります。DVBS-APSK Modulator Basebandブロックの変調次数を設定するには、ブロック マスクでドロップダウン リストから値を選択します。使用可能な変調次数のセットは、"DVB 標準接尾辞" パラメーターの設定によって異なります。InitFcn コールバックはワークスペース変数 M = 16 を定義します。この変数は以下を設定するために使用されます。

Constellation Diagramブロックには、[カスタム] に設定された [基準コンスタレーション] パラメーターと、DVBS-APSK Modulator Baseband ブロックの変調次数に合わせて設定された [カスタム値] パラメーターがあります。値を確認するには、[Constellation Diagram] ウィンドウの [測定値] タブで [基準コンスタレーション] を開きます。

AWGN チャネル ブロックの EbN0 を 10 dB に変更します。モデルを実行し、プロットされたコンスタレーション ダイアグラムに示されているノイズの増加を観察します。

別の変調次数でモデルを実行してみることができます。変調次数を調整するには、以下を揃える必要があります。

  • DVBS-APSK Modulator Baseband ブロックの [変調次数] 設定

  • ワークスペース変数 M の値

  • Constellation Diagram ブロックの [基準コンスタレーション]

これらのパラメーターが互いに揃わない場合、基準コンスタレーションと入力信号は適切なコンスタレーションを表示しません。

Simulink を使用したノイズを含む 16-APSK 信号の復調

16-APSK 変調をランダム データの信号に適用します。AWGN チャネルを通して、変調された信号を渡します。ノイズを含む 16-APSK 信号を復調します。この例では、2 つの SNR 設定でのビット エラー レート (BER) およびシンボル エラー レート (SER) を報告します。

slex_16apsk_mod モデルは、AWGN チャネル経由で 16-APSK 変調信号を渡し、信号を復調してから、エラー レート統計を計算します。上のワークフローは BER を計算し、下のワークフローは SER を計算します。コールバック関数 PreLoadFcn で初期化されたワークスペース変数を使用して設定される一部のブロック パラメーターは、シミュレーション変数をワークスペースに読み込みます。詳細については、モデル コールバック (Simulink)を参照してください。

EbN0 = 6 dB に設定した AWGN Channel ブロックを使用してモデルを実行し、計算された BER と SER を表示します。下のワークフローにあるAWGN Channelブロックは、EbN0 の設定を EsN0 の設定に変換します。その結果は、ワークスペース変数 BERVec および SERVec に 1 行 3 列の行ベクトルとして保存されます。最初の要素にはエラー レートが含まれます。

With EbN0 set to  6.00 dB, BER: 0.070
With EsN0 set to 12.02 dB, SER: 0.160

AWGN チャネル ブロックの EbN0 を 10 dB に変更します。モデルを実行し、計算された BER と SER を表示し、エラー レートが減少したことを確認します。

With EbN0 set to 10.00 dB, BER: 0.016
With EsN0 set to 16.02 dB, SER: 0.051

参考

関数

オブジェクト

ブロック

関連するトピック