Rectangular QAM Demodulator Baseband
長方形 QAM 変調データの復調
ライブラリ:
Communications Toolbox /
Modulation /
Digital Baseband Modulation /
AM
Communications Toolbox HDL Support /
Modulation /
AM
説明
Rectangular QAM Demodulator Baseband ブロックは、矩形格子上のコンスタレーションで M-ary 直交振幅変調を使用して変調された信号を復調します。
メモ
すべての電力値は公称インピーダンス 1 オームを想定しています。
例
ノイズを含む QAM 信号を変調および復調します。
[モデルを開く] ボタンを使用して、QAM 復調モデルを開きます。

シミュレーションを実行します。結果はベース ワークスペースに保存されます。ここで、ErrorVec は 1 行 3 列の行ベクトルです。BER は最初の要素にあります。
誤りの統計を表示します。与えられた 2 dB の Eb/No では、結果の BER が約 0.1 になります。結果は多少変動する場合があります。
ans =
0.0947
Eb/No を 4 dB に増やします。シミュレーションを再実行し、BER が減少していることを確認します。
ans =
0.0139
端子
入力
QAM 変調信号。スカラーまたは列ベクトルとして指定します。この端子は Var 端子が有効になるまでは名前なしになります。
データ型: double | single | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | Boolean | fixed point
複素数のサポート: あり
ノイズ分散。正のスカラーまたは正の値のベクトルとして指定します。ノイズ分散または信号強度の計算結果に極端な正または負の振幅が含まれる場合は、復調判定タイプの考慮事項について、軟復調を参照してください。
依存関係
このパラメーターを有効にするには、[ノイズ分散ソース] パラメーターを [端子] に設定します。
データ型: double
出力
復調した信号。スカラーまたはベクトルとして返されます。復調した信号の次元は、指定した [出力タイプ] と [判定タイプ] によって異なります。この端子はブロックで名前なしになります。
パラメーター
ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。
メイン
変調次数。2 の正の整数乗として指定します。変調次数 M は、信号コンスタレーション点の数を指定します。M は、ある正の整数 K に対する 2K の形式をとらなければなりません。ブロックは、[正規化方式] パラメーターの指定に基づいて信号コンスタレーションをスケーリングします。詳細については、コンスタレーション サイズとスケーリングを参照してください。
整数または整数のバイナリ表現のどちらをブロックに生成させるかを指定します。
[出力タイプ] を
[整数]に設定した場合、このブロックは、各シンボルについて範囲 [0, (M – 1)] の整数を生成します。M は [M-ary 数] です。[出力タイプ] を
[ビット]に設定し、[判定タイプ] を[硬判定]に設定した場合、このブロックは、各シンボルについて "バイナリ ワード" と呼ばれる K ビットのグループを生成します。K=log2(M) です。[出力タイプ] を
[ビット]に設定し、[判定タイプ] を[対数尤度比]または[近似対数尤度比]に設定した場合、このブロックは、それぞれビット単位の LLR または近似 LLR を出力します。
復調判定のタイプ。[Hard decision]、[Log-likelihood ratio] または [Approximate log-likelihood ratio] として指定します。アルゴリズム選択の考慮事項については、硬判定復調と軟判定復調を参照してください。
依存関係
このパラメーターは、[出力タイプ] を [ビット] に設定すると表示されます。
ノイズ分散ソース。[Dialog] または [Port] として指定します。
[ダイアログ]を選択した場合、Noise varianceパラメーターを使用してノイズ分散を設定しなければなりません。[端子]を選択した場合、Var端子を使用してノイズ分散を設定しなければなりません。
依存関係
このパラメーターは、[判定タイプ] を [近似対数尤度比] または [対数尤度比] に設定すると表示されます。
ノイズ分散。正のスカラーまたは正の値のベクトルとして指定します。
このパラメーターをスカラーとして指定した場合、その値は入力信号のすべての要素で使用されます。
このパラメーターをベクトルとして指定した場合、ベクトルの長さは入力信号の列数に等しくなければなりません。各ノイズ分散のベクトル要素は、入力信号の対応する列に適用されます。
このパラメーターはノーマル モード、アクセラレータ モード、およびラピッド アクセラレータ モードで調整可能です。
Simulink Coder™ ラピッド シミュレーション (RSIM) ターゲットを使用して RSIM 実行可能ファイルを作成する場合は、モデルを再コンパイルせずにパラメーターを調整できます。これは、異なる量のノイズでシミュレーションを複数回 (おそらく複数のコンピューターで) 実行するモンテ カルロ シミュレーションの場合に便利です。
厳密な LLR アルゴリズムは有限の精度演算で指数を計算します。計算に非常に大きな正または負の振幅が含まれる場合、厳密な LLR アルゴリズムの結果は次のようになります。
ノイズ分散が極度に大きい値の場合は、
Infまたは-Infノイズ分散と信号強度の両方が非常に小さい値の場合は
NaN
近似 LLR アルゴリズムでは指数が計算されません。近似 LLR アルゴリズムを使用することによって、Inf、-Inf、および NaN の結果を回避できます。
依存関係
このパラメーターを有効にするには、[判定タイプ] パラメーターを [対数尤度比] または [近似対数尤度比] に設定し、[ノイズ分散ソース] パラメーターを [ダイアログ] に設定します。
シンボルのマッピング順序。[グレイ]、[バイナリ]、または [ユーザー定義] として指定します。このパラメーターは、ブロックがそれぞれのシンボルを出力ビットまたは整数のグループにマッピングする方法を決定します。
ユーザー定義のコンスタレーション マッピング。範囲 [0, (M – 1)] の一意の整数値をもつ M ベクトルとして指定します。
このベクトルの最初の要素は、コンスタレーションの一番左上の点に対応しており、続く要素は左から右の列方向に実行されます。最後の要素は、一番右下の点に対応します。
依存関係
このパラメーターは、[Constellation ordering] を User-defined に設定すると表示されます。
コンスタレーションのスケーリング方法。[Min. distance between symbols]、[平均電力]、または [ピーク電力] として指定します。詳細については、コンスタレーション サイズとスケーリングを参照してください。
最も近い 2 つのコンスタレーション点間の距離。正のスカラーとして指定します。
依存関係
このパラメーターは、[正規化方式] を [Min. distance between symbols] に設定すると表示されます。
コンスタレーションのシンボルの平均電力 (ワット単位)。正のスカラーとして指定します。電力値は公称インピーダンス 1 オームを想定しています。
依存関係
このパラメーターは、[正規化方式] を [平均電力] に設定すると表示されます。
コンスタレーションのシンボルの最大電力 (ワット単位)。正のスカラーとして指定します。電力値は公称インピーダンス 1 オームを想定しています。
依存関係
このパラメーターは、[正規化方式] を [ピーク電力] に設定すると表示されます。
信号コンスタレーションの回転 (ラジアン単位)。数値スカラーとして指定します。
データ型
出力データ型。[内部ルールによる継承]、[最小の符号なし整数]、[double]、[single]、[int8]、[uint8]、[int16]、[uint16]、[int32]、[uint32]、または [boolean] として指定します。
[内部ルールによる継承]を選択すると、ブロックは内部ルールに基づきデータ型を継承します。このルールの詳細については、内部ルールによる継承を参照してください。入力がsingle型またはdouble型の場合、出力のデータ型は入力のデータ型と同じになります。それ以外の場合、出力のデータ型はこのパラメーターを[最小の符号なし整数]に設定した場合と同じになります。このパラメーターを
[最小の符号なし整数]に設定した場合、ブロックは、モデルの [コンフィギュレーション パラメーター] ダイアログ ボックスの [ハードウェア実行] ペインで使用されている設定に基づいて出力のデータ型を設定します。たとえば、[ハードウェア実行] ペインでASIC/FPGAを選択した場合、理想的な最小サイズのデータ型が出力のデータ型として設定されます。つまり、ビット出力はufix(1)、整数出力はufix(ceil(log2(M)))となります。その他の選択肢を選んだ場合は、理想的な最小サイズに収まるうちで最小の語長となる符号なし整数とされ、通常は対応する文字のサイズとなります (たとえば、uint8)。整数出力の場合、このパラメーターは、
[最小の符号なし整数]、[int8]、[uint8]、[int16]、[uint16]、[int32]、[uint32]、[single]、および[double]に設定できます。ビット出力の場合、[最小の符号なし整数]、[int8]、[uint8]、[int16]、[uint16]、[int32]、[uint32]、[boolean]、[single]、または[double]を選択できます。
逆回転係数のデータ型を次として指定します。[継承: 入力と同じ語長]、[fixdt(1,16)]、または [<データ型式>]。
データ型の指定に関する詳細については、データ型アシスタントを参照してください。
依存関係
このパラメーターは、入力が固定小数点であり、[位相オフセット (rad)] が π/2 の倍数でないときにだけ適用されます。
非正規化係数のデータ型を次として指定します。[継承: 入力と同じ語長]、[fixdt(1,16)]、または [<データ型式>]。このスケーリング係数はブロック ダイアログ内の [正規化方式] および他のパラメーターの値から得られます。最高精度の小数部の長さは、常に使用されます。
データ型の指定に関する詳細については、データ型アシスタントを参照してください。
依存関係
このパラメーターは、入力が固定小数点で、導出した非正規化係数が単位元ではない (1 と等しくない) ときにだけ適用されます。
乗算のデータ型を次として指定します。[継承: 内部ルールによる継承]、[fixdt(1,16)]、または [<データ型式>]。
[継承: 内部ルールによる継承] を選択した場合、ブロックは完全精度の乗算による語長と小数部の長さを計算します。完全精度の [乗算出力] の内部ルールについては、乗算器データ型の内部ルールを参照してください。
固定小数点演算の結果を保存する際に、データ型とスケーリングで表現できる値に正確にマッピングできない場合、このブロックは丸めモードを使用します。詳細については、丸めモードまたは丸めモード: 最も簡潔 (Fixed-Point Designer)を参照してください。
データ型の指定に関する詳細については、データ型アシスタントを参照してください。
依存関係
このパラメーターは、入力が固定小数点の信号で、単位元ではない (1 でない) 非正規化ファクターが存在する場合にのみ適用されます。
[乗算出力] の固定小数点演算の丸めモードを、[ラップ] または [飽和] として指定します。固定小数点演算の結果を、データ型で表現できる値に正確にマッピングできない場合、このブロックは丸めモードを使用します。詳細については、丸めモードまたは丸めモード: 最も簡潔 (Fixed-Point Designer)を参照してください。
依存関係
このパラメーターは、乗算出力にのみ適用されます。
加算のデータ型を次として指定します。[継承: 内部ルールによる継承]、[継承: 乗算出力と同じ]、[fixdt(1,16)]、または [<データ型式>]。
[継承: 内部ルールによる継承]を選択すると、完全精度の和の語長と小数部の長さが、固定小数点の硬判定アルゴリズムの信号の流れ図にある Sum への 2 つの入力に基づいて計算されます。このルールは、Sum (Simulink) ブロックの内部パラメーター [アキュムレータのデータ型] の固定小数点継承ルールと同じです。[継承: 乗算出力と同じ]を選択し、[乗算出力] を使用している場合、ブロックは、[乗算出力] のデータ型と同じになるように [加算] パラメーターのデータ型を構成します。[乗算出力] を使用していない場合、この設定は無視され、[継承: 内部ルールによる継承]および [加算] パラメーターの設定が使用されます。
データ型の指定に関する詳細については、データ型アシスタントを参照してください。
依存関係
このパラメーターは、入力が固定小数点信号の場合にのみ適用されます。
ブロックの特性
詳細
[データ型アシスタント] は、データ属性の設定を支援します。[データ型アシスタント] を使用するには、
をクリックします。詳細については、データ型アシスタントを利用したデータ型の指定 (Simulink)を参照してください。
アルゴリズム
アルゴリズムの考慮事項については、硬判定復調と軟判定復調を参照してください。
この復調器のアルゴリズムは、受信した入力信号のコンスタレーション値を範囲 [0, ] の M-ary 整数の I シンボル インデックスおよび Q シンボル インデックスにマッピングしてから、これらの復調されたシンボル インデックスを形式を整えた出力値にマッピングします。M は、[M-ary 数] パラメーターの値です。
整数シンボル インデックス計算は、逆回転係数と非正規化係数それぞれによって複素入力信号コンスタレーションを (おそらくノイズと共に) 最初に逆回転させてスケーリングすることによって実行されます。これらの係数は、[位相オフセット (rad)]、[正規化方式]、および関連するパラメーターから得られます。逆回転して非正規化したこれらの値を に追加し、近似的に [0, (2×()+N)] の範囲に平行移動します。N は付加ノイズの値です。その後、得られた値を 2 で除算して (固定小数点演算の場合、これは 1 ビットの右シフトと等価) 再スケーリングすることで、I および Q に関して近似的に [0, ( + N)] の範囲が得られます。ノイズのあるインデックス値は最も近い整数に飽和によって丸められて切り捨てられ、範囲 [0, M – 1] の整数シンボル値にマッピングされます。最後に、その他のブロック パラメーターに基づき、この整数インデックスは形式を整えたシンボル値にマッピングされ、選択した [出力データ型] にキャストされます。
次の図は、浮動小数点と固定小数点のアルゴリズム演算における信号の流れ図を示しています。浮動小数点のダイアグラムは、入力信号のデータ型が double か single の場合に適用されます。固定小数点のダイアグラムは、入力信号のデータ型が符号付き固定小数点の場合に適用されます。この図は、[位相オフセット (rad)] が π/2 の倍数であるか、導出された非正規化係数が 1 であるときに簡略化されます。
自明な位相オフセットと非正規化係数が 1 である信号の流れ図

自明ではない位相オフセットと単位元ではない非正規化係数のある信号の流れ図

軟復調では、2 つの軟判定対数尤度比 (LLR) アルゴリズム (厳密な LLR と近似 LLR) を使用できます。厳密な LLR アルゴリズムは近似 LLR アルゴリズムよりも正確ですが実行速度が遅くなります。各アルゴリズムの詳細については、硬判定復調と軟判定復調のトピックを参照してください。
メモ
厳密な LLR アルゴリズムは有限の精度演算で指数を計算します。計算に非常に大きな正または負の振幅が含まれる場合、厳密な LLR アルゴリズムの結果は次のようになります。
ノイズ分散が極度に大きい値の場合は、
Infまたは-Infノイズ分散と信号強度の両方が非常に小さい値の場合は
NaN
近似 LLR アルゴリズムでは指数が計算されません。近似 LLR アルゴリズムを使用することによって、Inf、-Inf、および NaN の結果を回避できます。
信号コンスタレーションは M 個の点で構成されます。ここで、M は [M-ary 数] パラメーターです。M は、ある正の整数 K に対する 2K の形式をとらなければなりません。ブロックは、[正規化方式] パラメーターの指定に基づいて信号コンスタレーションをスケーリングします。次の表は、可能なスケーリングの条件を一覧表示したものです
| 正規化方式のパラメーター値 | スケーリングの条件 |
|---|---|
Min. distance between symbols | コンスタレーションにおいて最も距離が近い 2 つの点は、[最小距離] パラメーターの値だけ離れた場所に配置されます。 |
Average Power | コンスタレーション内のシンボルの平均電力は [Average power, referenced to 1 ohm (watts)] パラメーターです。 |
Peak Power | コンスタレーション内のシンボルの最大電力は [Peak power, referenced to 1 ohm (watts)] パラメーターです。 |
参照
[1] Smith, J. G. "Odd-Bit Quadrature Amplitude-Shift Keying." IEEE® Transactions on Communications 23, no. 3 (March 1975): 385–89.
拡張機能
C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。
HDL Coder™ は、HDL の実装および合成ロジックに影響を与える、追加の構成オプションを提供します。
このブロックは 1 つの既定の HDL アーキテクチャをもっています。
| ConstrainedOutputPipeline | 設計内で既存の遅延を移動することによって出力に配置するレジスタの数。分散型パイプラインは、これらのレジスタを再分散しません。既定の設定は |
| InputPipeline | 生成コードに挿入する入力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
| OutputPipeline | 生成コードに挿入する出力パイプライン ステージの数。分散型パイプラインと制約付き出力パイプラインは、これらのレジスタを移動できます。既定の設定は |
このブロックは、HDL コード生成で
singleまたはdoubleデータ型をサポートしません。HDL Coder は、次の [出力タイプ] オプションをサポートします。
Integer[ビット]は、[判定タイプ] が[硬判定]である場合にのみサポートされます。
[正規化方式] を
[シンボル間の最小距離]に設定して、[最小距離] を 2 に指定しなければなりません。[位相オフセット (rad)] を
pi/4 の倍数の値に設定しなければなりません。
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)