Main Content

M-PSK Modulator Baseband

M-ary 位相偏移変調を用いた変調

  • M-PSK Modulator Baseband block

ライブラリ:
Communications Toolbox / Modulation / Digital Baseband Modulation / PM
Communications Toolbox HDL Support / Modulation / PM

説明

M-PSK Modulator Baseband ブロックは、M-ary 位相偏移変調 (PSK) を使用して入力信号を変調し、複素ベースバンド出力を返します。変調次数 M は信号コンスタレーションのポイント数に相当し、[M-ary number] パラメーターにより決定されます。このブロックは、スカラーまたは列ベクトルの入力信号を受け入れます。

すべて展開する

doc_8psk_model モデルを開くには、[モデルを開く] ボタンを使用します。モデルは、8-PSK 信号を生成し、ホワイト ノイズを適用して結果のコンスタレーション ダイアグラムを表示し、誤り統計を計算します。

モデルを実行します。

誤り統計をベクトル ErrorVec で収集します。Eb/No が 15 dB であるため、測定されたシンボルの誤りはありません。

Number of symbol errors = 0

AWGN Channel ブロックの Eb/No を 15 dB から 5 dB に変更します。ノイズの増加がコンスタレーション ダイアグラムに示されています。

ノイズ レベルが増加しているため、シンボル誤りの数は 0 より大きくなります。

Number of symbol errors = 21

この例では、doc_gray_code を使用して、M-PSK 変調のビット エラー レート (BER) とシンボル エラー レート (SER) を計算します。AWGN における M-PSK 変調の理論上のエラー レート性能を、グレイ符号シンボル マッピングのエラー レート性能およびバイナリ符号シンボル マッピングのエラー レート性能と比較します。

Random Integer Generator ブロックはソースとして機能し、整数のシーケンスを生成します。Integer to Bit Converter ブロックは、各整数を対応するバイナリ表現に変換します。doc_gray_code モデルのM-PSK Modulator Basebandブロックは、次を行います。

  • [0, (M - 1] の範囲の整数を表すバイナリ値の入力を受け入れる。ここで、M は変調次数です。

  • グレイ符号の順序付けを使用して、バイナリ表現をコンスタレーション点に割り当てる。

  • [0, (2 $\pi$ (M - 1) / M)] の範囲の等間隔の位相をもつ、単位振幅の複素フェーザ出力を生成する。

AWGN Channel ブロックは、変調されたデータにホワイト ガウス ノイズを付加します。M-PSK Demodulator Baseband ブロックは、ノイズを含むデータを復調します。Bit to Integer Converter ブロックは、各バイナリ表現を、対応する整数に変換します。次に、2 つの個別のError Rate Calculationブロックが、復調されたデータのエラー レートを計算します。"SER Calculation" というラベルの付いたブロックは整数データを比較してシンボル エラー レートの統計を計算し、"BER Calculation" というラベルの付いたブロックはビット データを比較してビット エラー レートの統計を計算します。Error Rate Calculation ブロックの出力は、計算されたエラー レート、観察された誤り数、および処理されたデータ量を含む 3 要素ベクトルになります。

シミュレーションの実行時間を短縮し、かつ Eb/N0 比が増加してもエラーの統計値が確実に安定するように、モデルは 100 個のエラーが発生するか 1e8 ビットが送信されるまで実行するように構成されています。

モデルは、コールバック関数 PreLoadFcn を使用して、ブロック パラメーターの構成に使用する変数を初期化します。詳細については、モデル コールバック (Simulink)を参照してください。

エラー レート曲線の生成

関数berawgnを使用して、AWGN における非差分 8-PSK の理論上の BER を Eb/N0 値の範囲にわたって計算します。グレイ符号シンボル マッピングを使用し、同じ範囲の Eb/N0 値にわたって doc_gray_code モデルをシミュレーションします。

"Constellation orders" パラメーターを Gray ではなく Binary に設定するように M-PSK Modulator Baseband ブロックと M-PSK Demodulator Baseband ブロックを変更して、グレイ符号化とバイナリ符号化を比較します。バイナリ符号シンボル マッピングを使用し、同じ範囲の Eb/N0 値にわたって doc_gray_code モデルをシミュレーションします。

関数semilogyを使用して結果をプロットします。グレイ符号システムは、バイナリ符号システムよりも優れたエラー レート性能を実現します。さらに、グレイ符号のエラー レートは、理論上のエラー レート統計と一致しています。

端子

入力

すべて展開する

入力信号を整数スカラー、整数ベクトルまたはバイナリ ベクトルで指定します。

  • [Input type][Integer] の場合は、入力信号の要素を 0 から M – 1 の整数で指定します。

  • [Input type][Bit] の場合は、入力信号をバイナリ ベクトルとして指定します。ここで、要素数はシンボルあたりのビット数の整数倍です。シンボルあたりのビット数は log2(M) に等しくなります。

データ型: single | double | int8 | int16 | int32 | uint8 | uint16 | uint32 | Boolean

出力

すべて展開する

出力信号。複素スカラーまたはベクトルとして返されます。出力は、PSK 変調された信号の複素ベースバンド表現です。

データ型: single | double | fixed point

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

メイン

変調次数を正の 2 の整数乗として指定します。

例: 2 | 16

入力信号の要素を整数またはビットとして指定します。[Input type][Bit] の場合、フレームあたりのサンプル数は、シンボルあたりのビット数の整数倍でなければなりません。シンボルあたりのビット数は log2(M) です。

整数または log2(M) ビットのグループを対応するシンボルにマッピングする方法を指定します。

  • [Constellation ordering][Gray] に設定されている場合、入力信号はグレイ符号化された信号コンスタレーションを使用して出力シンボルにマッピングされます。

  • [Constellation ordering][Binary] に設定されている場合、変調されたシンボルは exp(jϕ+j2πm/M) となります。ここで、ϕ は位相オフセット (ラジアン)、m は 0 ≤ m ≤ M – 1 となる整数入力、M は変調次数です。

  • [Constellation ordering][User-defined] の場合は、サイズが M のベクトルを指定します。これは、範囲が [0, M–1] の一意の整数値をもちます。このベクトルの最初の要素は e の値をもつコンスタレーション点に対応し、続く要素は反時計回りに実行されます。

例: [0 3 2 1]

ユーザー定義のシンボル マッピング。範囲 [0, M – 1] の一意の整数値をもつ M 要素ベクトルとして指定します。このパラメーターを使用して、入力整数を出力整数にマッピングするためのカスタム順序を指定します。

このベクトルの最初の要素は (0 + ϕ) の角度にあるコンスタレーション点に対応し、続く要素は反時計回りに順次対応します。最後の要素は (-2π/M + ϕ) のコンスタレーション点に対応します。ϕ は [位相オフセット (rad)] の値です。

依存関係

このパラメーターは、[Constellation ordering][ユーザー定義] に設定すると表示されます。

初期コンスタレーションの位相オフセットをラジアン単位の実数スカラーで指定します。

例: pi/4

ブロック マスクで [View Constellation] をクリックして、指定したブロック パラメーターの信号コンスタレーションを可視化します。コンスタレーションを表示する前に、パラメーターの設定を適用します。詳細については、変調器ブロックのコンスタレーションの表示を参照してください。

データ型

変調された出力信号のデータ型を指定します。このパラメーターを固定小数点数オプションのいずれか、または [<data type expression>] に設定して、追加の詳細を指定するためのパラメーターを有効にします。このパラメーターを [Inherit via back propagation] に設定すると、出力データ型とスケーリングがモデルの後続のブロックと一致します。

[データ型アシスタント] は、データ属性の設定を支援します。[データ型アシスタント] を使用するには、[データ型アシスタントを表示] をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。

ブロックの特性

データ型

Boolean | double | fixed pointa, b | integer | single

多次元信号

いいえ

可変サイズの信号

はい

a ''input type'' が ''bit'' に設定されている場合、入力が ufix(1) になります。M-ary 変調で ''input type'' が ''integer'' に設定されている場合、入力が ufix(ceil(log2(M))) になります。

b 固定小数点出力は符号付きでなければなりません。

アルゴリズム

バイナリ符号化の場合、出力ベースバンド信号では、入力ビットまたは整数が次に従って複素シンボルにマッピングされます。

sn(t)=exp(jπ(2n+1M));n{0,1,,M1}.

入力がビット用に構成されている場合、log2(M) ビットのグループが、構成されたシンボル マッピングの複素シンボルを表します。マッピングは、バイナリ符号化、グレイ符号化、またはカスタム符号化できます。

グレイ符号化には、隣接するコンスタレーション点間で変化するビットが 1 つだけであるという利点があるため、ビット エラー レート性能が向上します。次の表は、グレイ符号化を使用した 8-PSK 変調での入力シンボルと出力シンボルの間のマッピングを示しています。

入力出力
0 0 (000)
1 1 (001)
2 3 (011)
3 2 (010)
4 6 (110)
5 7 (111)
6 5 (101)
7 4 (100)

次のコンスタレーション ダイアグラムは、対応するシンボルとそのバイナリ値を示しています。

Constellation diagram showing 8-PSK Gray Mapping with phase offset=0.3972 radians

参照

[1] Proakis, John G. Digital Communications. 4th ed. New York: McGraw Hill, 2001.

拡張機能

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

バージョン履歴

R2006a より前に導入