Main Content

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

Rectangular QAM Demodulator Baseband

長方形 QAM 変調データの復調

ライブラリ

Modulation の Digital Baseband サブライブラリ内の AM

  • Rectangular QAM Demodulator Baseband block

説明

Rectangular QAM Demodulator Baseband ブロックは、矩形格子上のコンスタレーションで直交振幅変調を使用して変調された信号を復調します。

メモ

すべての電力値は公称インピーダンス 1 オームを想定しています。

コンスタレーションは M 個のポイントを有します。ここで、M は [M-ary number] パラメーターです。M の形式は正の整数 K の場合は形式 2K にしなければなりません。ブロックは、[Normalization method] パラメーターを設定する方法に基づいて、コンスタレーションをスケーリングします。詳細は、Rectangular QAM Modulator Baseband ブロックのリファレンス ページを参照してください。

このブロックは、スカラーまたは列ベクトルの入力信号を受け入れます。各ブロックの端子でサポートされるデータ型については、このページのサポートされているデータ型の表を参照してください。

硬判定アルゴリズム

復調器アルゴリズムは、受信入力コンスタレーション値を 0 から M1 までの M-ary 整数 I および Q シンボル インデックスにマップしてから、これらの復調されたシンボル インデックスを書式付き出力値にマップします。

整数シンボル インデックス計算は、逆回転ファクターと非正規化ファクターそれぞれによって複素入力コンスタレーションを (おそらくノイズと共に) 最初に逆回転させてスケーリングすることによって実行されます。これらのファクターは、[Phase offset][Normalization method]、および関連するパラメーターから得られます。逆回転して非正規化したこれらの値は、M1 に追加され、0 から 2×(M1) までの間 (およびノイズ) のおおよその範囲に平行移動されます。結果の値は、その後、2 での除算 (または、同等に、固定小数点演算の場合は 1 ビットの右シフト) によって再スケーリングされ、I および Q に対して 0 から M1 (およびノイズ) までのおおよその範囲を取得します。ノイズのあるインデックス値は最も近い整数に飽和によって丸められて切り捨てられ、範囲 [0 M-1] の整数シンボル値にマップされます。最後に、その他のブロック パラメーターに基づき、整数インデックスは書式化されたシンボル値にマップされ、指定された [Output data type] にキャストされます。

次の図は、浮動小数点と固定小数点のアルゴリズム演算の信号の流れ図を含んでいます。浮動小数点のダイアグラムは、入力信号のデータ型が doublesingle の場合に適用されます。固定小数点のダイアグラムは、入力信号のデータ型が符号付き固定小数点の場合に適用されます。この図は、[Phase offset] が π/2 の倍数であり、かつ、派生した非正規化ファクターが 1 であるときに簡略化されることに注意してください。

自明な位相オフセットと非正規化ファクターが 1 である信号の流れ図

自明ではない位相オフセットと非単一性非正規化ファクターのある信号の流れ図

パラメーター

M-ary number

コンスタレーションのポイント数です。これは、正の整数 K に対しては形式 2K でなければなりません。

Normalization method

ブロックによるコンスタレーションのスケーリング方式を決定します。選択肢は、[Min. distance between symbols][Average Power] および [Peak Power] です。

Minimum distance

このパラメーターは、[Normalization method][Min. distance between symbols] に設定されているときに表示されます。

最も近い 2 つのコンスタレーション点間の距離です。

Average power, referenced to 1 ohm (watts)

コンスタレーション点中のシンボルの、1 オームを基準とした平均電力です。このフィールドは、[Normalization method][Average Power] に設定した場合にのみ表示されます。

Peak power, referenced to 1 ohm (watts)

コンスタレーション点中のシンボルの、1 オームを基準とした最大の電力です。このフィールドは、[Normalization method][Peak Power] に設定した場合にのみ表示されます。

Phase offset (rad)

ラジアン単位でのコンスタレーションの回転。

Constellation ordering

ブロックがバイナリ ワードをコンスタレーションの点にどのように割り当てるかを決定します。詳細は、Rectangular QAM Modulator Baseband ブロックのリファレンス ページを参照してください。

User-defined を選択すると、[Constellation mapping] フィールドが表示され、ユーザー指定のマッピングが行えます。

Constellation mapping

このパラメーターは、User-defined がプルダウン リスト [Constellation ordering] に選択されているときに表示されます。

これは、サイズ M の行または列のベクトルであり、範囲 [0, M-1] の固有の整数値をもっていなければなりません。これらの値のデータ型は double でなければなりません。

このベクトルの最初の要素は、コンスタレーションの一番左上の点に対応しており、続く要素は左から右の列方向に実行されます。最後の要素は、一番右下の点に対応します。

Output type

整数または整数のバイナリ表現のどちらをブロックに生成させるかを指定します。

[Integer] に設定されている場合、ブロックは整数を生成します。

[Bit] に設定されている場合、[Decision type]Hard decision に設定されているときに、各シンボルに対して、ブロックは "バイナリ ワード" と呼ばれる K ビットのグループを生成します。[Decision type]Log-likelihood ratio または Approximate log-likelihood ratio に設定されている場合、ブロックはそれぞれビット単位の LLR および近似 LLR を出力します。

Decision type

このパラメーターは、Bit がプルダウン リスト [Output type] に選択されているときに表示されます。

復調における、硬判定 、LLR、近似 LLR の使用を指定します。アルゴリズムの詳細については、『Communications Toolbox™ ユーザー ガイド』の厳密な LLR アルゴリズムおよび近似 LLR アルゴリズムを参照してください。

Noise variance source

このパラメーターは、Approximate log-likelihood ratio または Log-likelihood ratio[Decision type] に選択されたときに表示されます。

Dialog に設定すると、ノイズ分散を [Noise variance] フィールドに指定できます。Port に設定すると、ノイズ分散が入力可能な端子がブロックに表示されます。

Noise variance

このパラメーターは、[Noise variance source]Dialog に設定されて入力信号のノイズ分散が指定されている場合に表示されます。このパラメーターはノーマル モード、アクセラレータ モード、およびラピッド アクセラレータ モードで調整可能です。

Simulink® Coder™ ラピッド シミュレーション (RSIM) ターゲットを使用して RSIM 実行可能ファイルを作成する場合は、モデルを再コンパイルせずにパラメーターを調整できます。これは、異なる量のノイズでシミュレーションを複数回 (おそらく複数のコンピューターで) 実行するモンテ カルロ シミュレーションの場合に便利です。

LLR アルゴリズムには、有限の精度で極度に大きいまたは小さい数値を扱う指数計算が含まれるため、次のような結果が得られます。

  • [Noise variance] が極度に大きい場合は、Inf から -Inf

  • [Noise variance] および信号強度が極度に小さい場合は、NaN

このような場合は、そのアルゴリズムに指数計算が含まれないように、近似 LLR を使用します。

出力

パラメーターを 'Inherit via internal rule' (既定の設定) に設定した場合、ブロックは出力のデータ型を入力端子から継承します。入力が single または double 型の場合、出力のデータ型は入力のデータ型と同じになります。それ以外の場合、出力のデータ型は入力のデータ型を 'Smallest unsigned integer' に設定した場合と同じになります。

パラメーターを 'Smallest unsigned integer' に設定した場合、出力のデータ型はモデルの [コンフィギュレーション パラメーター] ダイアログ ボックスの [ハードウェア実行] ペインで使用されている設定に基づいて選択されます。たとえば、ASIC/FPGA[ハードウェア実行] ペインで指定した場合、出力のデータ型を理想的な最小サイズとする設定になります。つまり、ビット出力は ufix(1)、整数入力は ufix(ceil(log2(M))) となります。その他の選択肢を選んだ場合は、理想的な最小サイズに収まるうちで最小の語長となる符号なし整数とされ、通常は対応する文字のサイズとなります (たとえば、uint8)。

整数出力の場合、このパラメーターは、Smallest unsigned integerint8uint8int16uint16int32uint32single、および double に設定できます。ビット出力の場合、出力は、Smallest unsigned integerint8uint8int16uint16int32uint32booleansingle、または double に設定できます。

Derotate factor

このパラメーターは、入力が固定小数点であり、[Phase offset] が π/2 の倍数でないときにだけ適用されます。

これは、Same word length as input または Specify word length (この場合、ユーザー入力のフィールドが有効になります) に設定できます。

Denormalization factor

このパラメーターは、入力が固定小数点で、派生した非正規化ファクターが非単一性である (1 と等しくない) ときにだけ適用されます。このスケーリング係数はブロック ダイアログ内の [Normalization method] と他のパラメーター値から派生します。

これは、Same word length as input または Specify word length (この場合、ユーザー入力のフィールドが有効になります) に設定できます。最高精度の小数部の長さは、常に使用されます。

乗算出力

このパラメーターは、入力が固定小数点の信号で、非単一性の (1 でない) 非正規化ファクターが存在する場合にのみ適用されます。可能な指定値は Inherit via internal rule あるいは Specify word length で、後者の場合はユーザー入力用のフィールドが使用可能になります。

Inherit via internal rule を設定した場合、完全精度の乗算による語長と小数部の長さを計算します。完全精度の乗算についての内部ルールの詳細は、『DSP System Toolbox™ ユーザー ガイド』の乗算データ型の内部ルールを参照してください。

Specify word length を設定した場合、語長を指定できます。ブロックは、指定された語長および、事前に計算される最悪のケースの (min/max) の実際値 [Product output] の結果に基づいて、最高精度での小数部の長さを計算します。最悪のケースの [Product output] の結果は、純粋に入力信号のデータ型だけに基づいて、非正規化ファクターに最悪のケースの (min/max) 入力信号の範囲を乗算することで事前計算されます。

ブロックは、固定長小数点計算の結果が結果を格納するデータ型とスケーリングによって表現可能な数に正確にマップしないときには、[Rounding mode] を使用します。詳細は、丸めモードまたは丸めモード: 最も簡潔 (Fixed-Point Designer)を参照してください。

Sum

このパラメーターは、入力が固定小数点信号の場合にのみ適用されます。これは Inherit via internal ruleSame as product output、または Specify word length に設定可能で、最後の選択肢に設定した場合はユーザー入力用のフィールドが使用可能になります。

Inherit via internal rule に設定すると、完全精度の加算語長と小数部の長さが、固定小数点の硬判定アルゴリズム信号の流れ図での Sum への 2 つの入力に基づいて計算されます。このルールは、Simulink のSum (Simulink)ブロックの内部パラメーター [Accumulator data type] の固定小数点継承ルールと同じです

Specify word length を設定した場合、語長を指定できます。最高精度の小数部の長さは、復調アルゴリズムが正確な結果を得るために必要な事前に計算される最大範囲で指定される語長に基づいて計算されます。最高精度を備えた符号付き固定小数点データ型は、指定された語長に対して範囲 2*(M1) の値を完全に含んでいます。

Same as product output に設定すると、加算データ型は [Product output] のデータ型と同じになります ([Product output] 使用時)。[Product output] を使用していない場合、この設定は無視され Inherit via internal rule の加算器の設定が使用されます。

すべて展開する

ノイズを含む QAM 信号を変調および復調します。

QAM 復調モデルを開きます。

シミュレーションを実行します。結果はベース ワークスペースに保存されます。ここで、ErrorVec は 1 行 3 列の行ベクトルです。BER は最初の要素にあります。

誤りの統計を表示します。与えられた 2 dB の Eb/No では、結果の BER が約 0.1 になります。結果は多少変動する場合があります。

ans =

    0.0948

Eb/No を 4 dB に増やします。シミュレーションを再実行し、BER が減少していることを確認します。

ans =

    0.0167

サポートされているデータ型

端子サポートされているデータ型

入力

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • [M-ary number] が等間隔の 2 のべき乗のときに符号付き固定小数点

    • [Output type][Integer]

    • [Output type][Bit][Decision type][Hard-decision]

Var

  • 倍精度浮動小数点

  • 単精度浮動小数点

出力

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • Boolean ([Output type][Bit] の場合)

  • 8、16、32 ビット符号付き整数

  • 8、16、32 ビット符号なし整数

  • ASIC/FPGA の ufix(1) ([Output type][Bit] の場合)

  • ASIC/FPGA の ufix(log2M) ([Output type][Integer] の場合)

参考文献

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

拡張機能

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

R2006a より前に導入