Main Content

M-PSK TCM Encoder

バイナリ データの畳み込み符号化と PSK 法を用いた変調

ライブラリ

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

  • M-PSK TCM Encoder block

説明

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

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

入力信号と出力信号

トレリス構造体で記述される畳み込み符号化器が符号化率 k/n の符号を示す場合、General TCM Encoder ブロックの入力信号は、長さ L*k のバイナリ列ベクトルでなくてはなりません (L は正の整数値)。

このブロックは、バイナリ値の入力信号を受け入れます。出力信号は、長さ 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] が 8 のときにブロックが使用するラベル付き分割設定の信号コンスタレーションを示しています。その他のサイズのコンスタレーションについては、[1]を参照してください。

符号化ゲイン

マルチフェーズのトレリス符号 [3] に AWGN を併用することで、符号化されていない場合に対して 3 から 6 デシベルの符号化ゲインが達成可能です。

パラメーター

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 に設定します。

ペア ブロック

M-PSK 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 より前に導入