Main Content

General QAM Demodulator Baseband

QAM 変調されたデータの復調

ライブラリ

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

  • General QAM Demodulator Baseband block

説明

General QAM Demodulator Baseband ブロックは、直交振幅変調を用いて変調された信号を復調します。入力は、変調信号のベースバンド表現です。

入力は離散時間の複素信号でなければなりません。[Signal constellation] パラメーターは、その点を長さ M の複素ベクトルにリスト化することでコンスタレーションを定義します。ブロックによるマッピングは、[Signal constellation] ベクトルの m 番目の点を整数値 m-1 に対応させます。

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

パラメーター

Signal constellation

コンスタレーション点を示す実数または複素数のベクトルです。

Output type

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

このパラメーターを [Integer] に設定すると、ブロックは整数を生成します。

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

Decision type

復調における、硬判定 、LLR、近似 LLR の使用を指定します。詳細については、硬判定復調と軟判定復調を参照してください。

このパラメーターを有効にするには、[Output type][Bit] に設定します。

Variance source

このパラメーターを Dialog に設定すると、[Variance] パラメーターでノイズ分散を指定できます。このオプションを Port に設定すると、ノイズ分散が入力可能な端子がブロックに表示されます。

このパラメーターを有効にするには、[Decision type]Approximate log-likelihood ratio または Log-likelihood ratio に設定します。

Variance

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

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

厳密な LLR アルゴリズムは有限の精度演算で指数を計算します。計算に非常に大きな正または負の振幅が含まれる場合、厳密な LLR アルゴリズムの結果は次のようになります。

  • ノイズ分散が極度に大きい値の場合は、Inf または -Inf

  • ノイズ分散と信号強度の両方が非常に小さい値の場合は NaN

近似 LLR アルゴリズムでは指数が計算されません。近似 LLR アルゴリズムを使用することによって、Inf-Inf、および NaN の結果を回避できます。

固定小数点信号の流れ図

硬判定モードの固定小数点信号の流れ図

メモ

上記の図で、M は [Signal constellation] を示します。

一般の QAM Demodulator Baseband ブロックでサポートされる固定小数点演算は、硬判定 ([Output type][Bit] に設定し [Decision type][Hard decision] に設定) および、近似 LLR ([Output type][Bit] に設定し [Decision type][Approximate log-likelihood ratio] に設定) です。入力値は、固定小数点演算に用いる固定小数点データ型でなければなりません。

メモ

厳密な LLR の出力値の固定小数点演算は、まだサポートされていません。

近似 LLR モードの固定小数点信号の流れ図

メモ

上記の図で、M は [Signal constellation] を示します。

近似 LLR モードの固定小数点信号の流れ図: ノイズ分散操作モード

メモ

[Variance source][Dialog] に設定されている場合、ブロックは点線内に示した演算を初期化時に一度実行します。これらの演算は、シミュレーション中に [Variance] の値が変更された場合も、ブロックにより実行されます。

データ型の属性

出力

ブロックは、次の出力オプションをサポートします。

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

整数を出力する場合、このブロックの出力を、Inherit via internal rule (既定の設定)、Smallest unsigned integerint8uint8int16uint16int32uint32single、および double に設定できます。

ビット出力については、[Decision type]Hard decision に設定した場合、出力を Inherit via internal ruleSmallest unsigned integerint8uint8int16uint16int32uint32booleansingle、または double に設定できます。

[Decision type]Hard decision または Approximate log-likelihood ratio に設定し、入力のデータ型が浮動小数点数である場合は、入力のデータ型が出力に継承されます。たとえば、入力のデータ型が double である場合は、出力のデータ型も double となります。[Decision type]Hard decision または Approximate log-likelihood ratio に設定し、入力信号が固定小数点数である場合、出力のデータ型は [Data-Type] タブの固定小数点アルゴリズム パラメーター領域にある [Output] パラメーターにより決定されます。

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

Rounding Mode パラメーター

このパラメーターを使用すると、結果を格納するスケーリングおよびデータ型で示される数値が完全にマッピングされない場合に用いられる、固定小数点演算の結果の丸め方法を指定できます。

詳細については、丸めモードまたは丸めモード: 最も簡潔 (Fixed-Point Designer)を参照してください。

整数オーバーフローで飽和

固定小数点計算の大きさの結果が結果を格納するデータ型とスケーリングの範囲に収まらない場合は、このパラメーターで使用する手法を指定します。

  • [Saturate]は、正のオーバーフローを使用する範囲内の最大の正の数値として表し、負のオーバーフローを使用する範囲内の最大の負の数値として表します。

  • [Wrap] は剰余演算を使用して、オーバーフローをそのデータ型の表現可能な範囲内にキャストします。詳細については、モジュロ (剰余) 演算 (Fixed-Point Designer)を参照してください。

詳細については、ブロックの固定小数点属性の指定[Saturate on integer overflow] パラメーターのサブセクションを参照してください。

Signal constellation

このパラメーターを使用すると、[Signal constellation] のデータ型を定義できます。

  • [Same word length as input] を選択すると [Signal constellation] パラメーターの語長は、ブロックの入力の語長と一致します。小数部の長さは、与えられた信号コンスタレーションにおいて最高精度となる値に計算されます。

  • [Specify word length] を選択して [Word Length] パラメーターを有効にすると、語長を変更できます。小数部の長さは、与えられた信号コンスタレーションにおいて最高精度となる値に計算されます。

Accumulator 1

このパラメーターは [Accumulator 1] のデータ型の指定に使用します。

  • [Inherit via internal rule] を選択すると、ブロックは語長と小数部の長さを自動的に計算します。詳細については、内部ルールによる継承を参照してください。

  • [Binary point scaling] を選択すると、[Accumulator 1] の語長と小数部の長さをビット数で入力できます。

Product Input

このパラメーターは [Product input] のデータ型の指定に使用します。

  • [Same as accumulator 1] を選択すると、[Product Input] の特性は [Accumulator 1] と一致します。

  • [Binary point scaling] を選択すると、[Product input] の語長と小数部の長さをビット数で入力できます。

Product Output

このパラメーターは乗算出力のデータ型の選択に使用します。

  • [Inherit via internal rule] を選択すると、ブロックは出力信号タイプを自動的に計算します。詳細については、内部ルールによる継承を参照してください。

  • [Binary point scaling] を選択すると、[Product output] の語長と小数部の長さをビット数で入力できます。

Accumulator 2

このパラメーターは [Accumulator 2] のデータ型の指定に使用します。

  • [Inherit via internal rule] を選択すると、ブロックはアキュムレータのテータ型を自動的に計算します。完全精度の語長と小数部の長さの内部ルールによる計算は、次のようにして行われます。

    WLideal accumulator 2 = WLinput to accumulator 2

    FLideal accumulator 2 = FL input to accumulator 2

    計算により完全精度となる結果が得られた後でも、ハードウェアによっては、内部ルールにより最終的に設定される語長と小数部の長さに影響を及ぼす場合があります。詳細については、[ハードウェア実行] ペインが内部ルールに及ぼす影響を参照してください。

    内部ルールにより、データ型の符号は常に [Unsigned] に設定されます。

  • [Binary point scaling] を選択すると、[Accumulator 2] の語長と小数部の長さをビット数で入力できます。

次の固定小数点のパラメーターの設定が適用されるのは、[Decision type][Approximate log-likelihood ratio] に設定した場合のみです。

Accumulator 3

[Inherit via internal rule] を選択すると、ブロックはアキュムレータのテータ型を自動的に計算します。完全精度の語長と小数部の長さの内部ルールによる最初の計算は、次のようにして行われます。

WLideal accumulator 3 = WLinput to accumulator 3 + 1

FL ideal accumulator 3 = FL input to accumulator 3.

計算により完全精度となる結果が得られた後でも、ハードウェアによっては、内部ルールにより最終的に設定される語長と小数部の長さに影響を及ぼす場合があります。詳細については、[ハードウェア実行] ペインが内部ルールに及ぼす影響を参照してください。

内部ルールにより、データ型の符号は常に [Signed] に設定されます。

Noise scaling input
  • [Same as accumulator 3] を選択すると、[Noise scaling input] の特性は [Accumulator 3] と一致します。

  • [Binary point scaling] を選択すると、[Noise scaling input] の語長と小数部の長さをビット数で入力できます。

Inverse noise variance

このパラメーターを有効にするには、[Variance source][Dialog] に設定します。このパラメーターは、[データ型] タブに表示されます。

  • [Same word length as input] を選択すると [Inverse noise variance] パラメーターの語長はブロックの入力の語長と一致します。小数部の長さは、与えられたノイズ逆分散値が最高精度となる値に計算されます。

  • [Specify word length] を選択すると、[Word Length] パラメーターが表示され、語長を変更できます。小数部の長さは、与えられたノイズ逆分散値が最高精度となる値に計算されます。

出力

[Inherit via internal rule] を選択すると、[Output data type] は自動的に設定されます。

[Variance source] パラメーターを [Dialog] に設定した場合、ノイズ分散操作モード信号の流れ図近似 LLR モードの固定小数点信号の流れ図: ノイズ分散操作モードに示した乗算操作の結果が出力されます。この場合は、内部ルールによる継承のトピックで指定される乗算器データ型の内部ルールに従います。

[Variance source] パラメーターを [Port] に設定した場合は、信号の流れ図に示した除算演算の結果が出力されます。この場合、完全精度の語長と小数部の長さの内部ルールによる計算は、次のようにして行われます。

WL output = max(WL Noise scaling input, WL Noise variance)

FL output = FL Noise scaling input (dividend)– FL Noise variance (divisor)

計算により完全精度となる結果が得られた後でも、ハードウェアによっては、内部ルールにより最終的に設定される語長と小数部の長さに影響を及ぼす場合があります。詳細については、[ハードウェア実行] ペインが内部ルールに及ぼす影響を参照してください。

[Output] の内部ルールにより、データ型の符号は常に [Signed] に設定されます。

固定小数点アプリケーション関連のパラメーターの詳細については、ブロックの固定小数点属性の指定を参照してください。

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

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

入力

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • 符号付き固定小数点 ([Output type][Integer] あるいは [Output type][Bit] とし [Decision type][Hard decision] または [Approximate log-likelihood ratio] のいずれかにした場合)

Var

  • 倍精度浮動小数点

  • 単精度浮動小数点

出力

  • 倍精度浮動小数点

  • 単精度浮動小数点

  • boolean ([Output type][Bit][Decision type][Hard decision] の場合)。

  • 8、16、および 32 ビット符号付き整数 ([Output type][Integer] あるいは [Output type][Bit] で、[Decision type][Hard decision] の場合)

  • 8、16、および 32 ビット符号なし整数 ([Output type][Integer] あるいは [Output type][Bit] で、[Decision type][Hard decision] の場合)

  • ASIC/FPGA の ufix(1) ([Output type][Bit]、および [Decision type][Hard decision] の場合)

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

  • 符号付き固定小数点 ([Output type][Bit][Decision type][Approximate log-likelihood ratio] の場合)

拡張機能

バージョン履歴

R2006a より前に導入