Main Content

Rectangular QAM TCM Encoder

バイナリ データの畳み込みによる符号化と QAM 方法を使用して変調する

ライブラリ

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

  • Rectangular QAM TCM Encoder block

説明

Rectangular QAM TCM Encoder ブロックは、バイナリ入力信号の畳み込みによる符号化と、その結果の QAM 信号コンスタレーションへのマッピングによって、トレリスコード変調 (TCM) を実装します。

[M-ary number] パラメーターは、信号コンスタレーションのポイント数で、これはまた、畳み込み符号化器で可能な出力シンボルの数に等しくなります (つまり、log2([M-ary number]) は符号化率 k/n の畳み込み符号の n に等しい)。

入力信号と出力信号

トレリス構造体によって記述される畳み込み符号化器は、符号化率 k/n の符号を表し、その後、Rectangular QAM TCM Encoder ブロックの入力は、正の整数 L に対して L*k の長さのバイナリ列ベクトルでなければなりません。

Rectangular QAM TCM Encoder ブロックからの出力は、長さ L の複素列ベクトルです。

符号化器の指定

畳み込み符号化器の定義には、[Trellis structure] パラメーターを使用します。このパラメーターは MATLAB 構造体であり、この形式は畳み込み符号のトレリス表現に記載されています。このパラメーター フィールドは次の 2 つの方法で使用できます。

  • 拘束長と生成多項式および、可能な場合はフィードバック接続多項式の使用を符号化器に指定する場合は、[Trellis structure] フィールドで poly2trellis コマンドを使用します。たとえば、符号化器を拘束長 7 で使用し、符号生成多項式を 171 と 133 (8 進数)、フィードバック接続多項式を 171 (8 進数) とするには、[Trellis structure] パラメーターを次のように設定します。

    poly2trellis(7,[171 133],171)

  • トレリス構造体を構成する MATLAB ワークスペースの変数がある場合は、その名前を [Trellis structure] パラメーターに入力します。前述の箇条書きで説明される使用法と比較すると、各シミュレーションの開始時に図を更新するために Simulink が費やす時間が短くなるので、この方法のほうが速くなります。

符号化器レジスタは、すべて 0 の状態で開始されます。符号化器は、シミュレーションの途中でレジスタをすべて 0 の状態にリセットするように設定することができます。そのためには、Operation mode[Reset on nonzero input via port] に設定します。これによりブロックは、Rst というラベルの付いた 2 番目の入力端子を開きます。Rst 端子の信号はスカラー信号です。これが非ゼロの場合、符号化器は 1 番目の入力端子でデータを処理する前にリセットします。

信号コンスタレーション

トレリス符号変調方式は、コンスタレーションを剰余と呼ばれるサブセットに分割して、各剰余のポイント ペア間の最短距離を最大化します。このブロックは、[M-ary number] パラメーターの指定値に基づいて、有効な分割を内部的に形成します。

次の図は、[M-ary number]1632、および 64 のときにブロックが使用するラベル付き分割設定の信号コンスタレーションを示しています。他のサイズのコンスタレーションについては、Biglieri, E., D. Divsalar, P. J. McLane and M. K. Simon, Introduction to Trellis-Coded Modulation with Applications, New York, Macmillan, 1991 を参照してください。

符号化ゲイン

符号化されていない場合に比較した 3 から 6 までのデシベルの符号化ゲインは、マルチフェーズ トレリス符号の AWGN の存在で達成できます。詳細については、Biglieri, E., D. Divsalar, P. J. McLane and M. K. Simon, Introduction to Trellis-Coded Modulation with Applications, New York, Macmillan, 1991 を参照してください。

パラメーター

Trellis structure

畳み込み符号化器のトレリス表現を含む MATLAB 構造体です。

Operation mode

[Continuous] モード (既定の設定) の場合、各フレームの最後でブロックは、次のフレームで使用するために、符号化器の状態を保存します。

[Truncated (reset every frame)] モードでは、ブロックは各フレームを個別に取り扱います。つまり、符号化器の状態は、各フレームの開始時にすべて 0 の状態にリセットされます。

[Terminate trellis by appending bits] モードでは、ブロックは各フレームを個別に取り扱います。個々の入力フレームごとに追加のビットを使用することで、符号化器の状態を各フレームの終了時にすべて 0 の状態にリセットします。出力の長さは、x を入力ビットの数、y=n(x+s)/k として、s=constraint length1 で与えられます (複数の拘束長の場合は s =sum(ConstraintLength(i)-1))。ブロックはこのモードを、列ベクトルの入力信号でサポートします。

[Reset on nonzero input via port] モードでは、ブロックに Rst とラベル付けされた追加の入力端子が表示されます。この Rst の入力が非ゼロ値となると、符号化器はすべてゼロの状態にリセットします。

M-ary number

信号コンスタレーションのポイント数です。

Output data type

ブロックの出力データ型には、single または double を指定できます。既定の設定では、ブロックはこれを double に設定します。

ペア ブロック

Rectangular QAM TCM Decoder

参考文献

[1] Biglieri, E., D. Divsalar, P. J. McLane and M. K. Simon, Introduction to Trellis-Coded Modulation with Applications, New York, Macmillan, 1991.

[2] Proakis, John G., Digital Communications, Fourth edition, New York, McGraw-Hill, 2001

[3] Ungerboeck, G., “Channel Coding with Multilevel/Phase Signals”, IEEE Trans. on Information Theory, Vol IT28, Jan. 1982, pp. 55–67.

拡張機能

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

バージョン履歴

R2006a より前に導入