Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

テールバイティング畳み込み符号化

このモデルでは、Convolutional Encoder ブロックと Viterbi Decoder ブロックを使用してテールバイティング畳み込み符号をシミュレートする方法を示します。畳み込み符号のトレリスを終了することは、パケット ベースの通信におけるコードの性能の主要なパラメーターです。テールバイティング畳み込み符号化はトレリス終端の 1 つの技法で、より複雑な復号化器 [ 1 ] を使ったゼロテール終端によって発生するレート損失を防止します。

この例では、テールバイティング復号化でアドホックの準最適復号化方法を使用し、フィードフォワード符号化器で符号化がどのように行われるかを示します。ビット エラー レートの性能が、標準の畳み込み符号のゼロテール ケースと比較されます。

テールバイティング符号化

テールバイティング符号化では、符号化器の起動状態が終了状態と必ず同じになります (その状態値は必ずしもすべてゼロの状態である必要はありません)。レート 1/n のフィードフォワード符号化器の場合、これは、符号化器の m メモリ要素を長さ L のデータのブロックの最後の m 情報ビットで初期化し、出力を無視することによって実現します。すべての L ビットは符号化器の入力になり、結果の L*n 出力ビットはコードワードとして使用されます。

これは、次のモデル (commtailbiting.slx) の Tail-biting Convolutional Encoder サブシステムによってモデル化されます。

100 ビットのブロック長の場合、符号化器サブシステムは 6 メモリ要素でレート 1/2 のフィードフォーワード符号化器に 200 ビットを出力します。サブシステムの Display ブロックは、処理されたデータの各ブロックの初期状態と終了状態を示します。初期状態と終了状態は同一です。

Convolutional Encoderブロックは、処理モード パラメーターに対して Truncated (reset every frame) 設定を使用して、ブロック単位の処理を示します。

フィードバック符号化器のテールバイティング符号化を達成する方法については、フィードバック符号化器を使用したテールバイト符号化を参照してください [2]。

ゼロテール符号化

比較では、ゼロテール終端メソッドは、フィードフォワード符号化器が各ブロックですべてゼロの状態で開始し、すべてゼロの状態で終了するよう m 個のゼロをデータのブロックに追加します。その結果、余分なテール ビット (非情報ビット) が送信されることによるレート損失が発生します。

次のモデル (commterminatedcnv.slx) を見てみます。

このモデルで、100 ビットの同じブロック長の場合、符号化器出力にゼロテール ビットが含まれ、実際の符号化率は 100/212 になります。これは、テールバイティング符号化器によって得られるものよりも少ないレートです。

Convolutional Encoder ブロックは、このケースの操作モード パラメーターとして "Terminate trellis by appending bits" 設定を使用します。この設定は、フィードバック符号化器でも機能します。

テールバイティング復号化

最大尤度テールバイティング復号化器では、同じ状態で開始および終了するという制約の下でトレリスのベストパスが決定されます。これを実装するには、M 並列 Viterbi アルゴリズムを実行し (M はトレリスの状態数を示します)、最適なメトリクスを提供する Viterbi アルゴリズムに基づいて、復号化されたビットを選択します。しかし、この場合、復号化がゼロテール符号化よりも M 倍複雑になります。

この例では、アドホックな準最適スキームを使用します [ 3 ]。これは、最大尤度アプローチよりもはるかに簡単ですが、同等の性能を発揮します。スキームは、同じ状態で開始および終了するテールバイティング トレリスを円形と見なすことができるという前提に基づきます。そのため、受信したコードワードを循環して繰り返すことによって Viterbi アルゴリズムをブロックの末尾以降も続行できます。その結果、モデルは、復調器から受信したコードワードを繰り返し、このデータセットをビタビ復号化器を介して実行して、繰り返されたデータセットの末尾の最良の状態からトレースバックを実行します。復号化されたビットの中央からの部分だけが、復号化されたメッセージ ビットとして選択されます。

Viterbi Decoderブロックの動作モード パラメーターは、テールバイティング ケースの場合は Truncated に設定され、ゼロテール ケースの場合は Terminated に設定されます。

BER 性能

この例では、Eb/No 値の範囲で AWGN チャネルの硬判定復号化の 2 つの終端方法のビット エラー レートの性能を比較します。2 つのモデルは、BERTool を使用して Eb/No 値の範囲でシミュレートできるセットです。

図が示すように、アドホック テールバイティング復号化スキームは、選択したパラメーターのゼロテール畳み込み符号の下限性能とほぼ同等の性能を示します。

その他の調査

読み込み時に、モデルはシミュレーションを制御する一連の変数を初期化します。これらの変数には、ブロック長、Eb/No、およびシミュレートされた誤りとビットの最大数が含まれます。変数の効果をリンク パフォーマンスで見られるようにするには、これらの変数の値を使用して再生することをお勧めします。

アドホック復号化スキームの性能は、使用するブロック長によって変化することに注意してください。また、コードの性能は、Viterbi アルゴリズムに使用するトレースバック復号化長に依存します。

参考文献

  1. H. Ma and J. Wolf, "On Tail Biting convolutional codes," IEEE Transactions on Communications, Vol. COM-34, No. 2, Feb. 1986, pp. 104-11.

  2. C. Weiss, C. Bettstetter, S. Riedel, "Code Construction and Decoding of Parallel Concatenated Tail-Biting Codes," IEEE Transactions on Information Theory, vol. 47, No. 1, Jan. 2001, pp. 366-386.

  3. Y. E. Wang and R. Ramesh, "To Bite or not to Bite ? A study of Tail Bits vs. Tail-Biting," Personal, Indoor and Mobile Radio Communications, 1996. PIMRC'96, Seventh IEEE® International Symposium, Volume 2, Oct. 15-18, 1996, Page(s):317 - 321.