Main Content

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

並列連接畳み込み符号化: ターボ符号

この例では、ノイズの多いチャネルを使用したターボ符号の性能の特徴を示します。ここでは、送信側と受信側のターボ符号の基本構造を示します。構成コンポーネントのパラメーターには、LTE (Long Term Evolution) 仕様 [ 4 ] を選択します。

ターボ符号 [ 1 ] の発明は、シャノン限界に近い性能の反復復号原理の開発とともに、多様な応用に組み込まれるようになりました。その中には深宇宙通信、第 3 世代の無線規格、デジタル ビデオ放送 [ 3 ] があります。

使用可能な実装例

この例には、次の MATLAB® での実装と Simulink® での実装の両方が含まれています。

System object を使用する MATLAB スクリプト: commTurboCoding.m

System ブロックを使用する Simulink モデル: commpccc.slx

可変サイズ コードブロックを使用する Simulink モデル: commpcccvs.slx

システムの MATLAB 実装と Simulink 実装のどちらも、コード ブロック長や復号化反復回数などのユーザー指定のシステム パラメーターについて、さまざまな Eb/No 値を使用してシステムをシミュレートできるように設定されています。以下の節では、Simulink で実現された固定サイズのコードブロックを使用した符号化方法の詳細について説明します。

ターボ符号化器

comm.TurboEncoderとは、複数の畳み込み符号化器構成をもつ並列連結方法です。1 番目の符号化器は入力ビット シーケンス上で直接動作します。その他の符号化器は、ブロック長に入力ビットをインターリーブすることによって得られるインターリーブ入力シーケンス上で動作します。

System ブロックをベースとする Turbo Encoder ブロックは、同一の 8 状態再帰的組織畳み込み符号化器を 2 つ使用します。comm.ConvolutionalEncoderSystem object™ は TerminationMethod プロパティの "Terminated" 設定を使用します。これにより、ブロックが処理するデータのフレームごとに符号化器がすべて 0 で開始された状態に戻ります。内部のブロック インターリーバーは、ユーザー指定の Code block length パラメーター (Model Parameters block を参照) に基づいて事前計算された置換インデックスを使用します。ビット並べ替えサブシステムは、2 番目の符号化器出力から組織的ビットの余剰セットを削除し、[ 4 ] に従ってトレリス終端を実現します。

反復復号化

並列連接符号化方式の反復復号化では、comm.TurboDecoderは復号化器の構成コンポーネントとして事後確率 (APP) 復号化器 [ 2 ] を使用します。

それぞれのcomm.APPDecoderSystem object は、チャネル (符号化された) ビットの対数尤度の受信シーケンスから、符号化されていないビットの対数尤度値の更新されたシーケンスを提供する構成符号化器に対応します。受信されたチャネル シーケンスのセットごとに復号化器は、停止条件が満たされるまで、符号化されていないビットの対数尤度を反復して更新します。この例では、モデルの Model Parameters ブロックの Number of decoding iterations パラメーターによって指定された一定の復号化反復回数を使用します。既定の反復回数は 6 回です。

APP Decoder System object の TerminationMethod プロパティは、符号化器に適合させるために "Terminated" に設定されます。復号化器ではテール ビットを認識しません。その結果、テール ビットは複数回の反復から除外されます。

復号化器の内部インターリーバーは符号化器が使用するインターリーバーと同じです。このインターリーバーは、2 つの復号化器と適正に整列するようにシーケンスを並べ替えます。

BER 性能

次の図に、コード ブロック長と復号化反復回数の 2 つのセットのさまざまな Eb/No 値について、AWGN チャネルにおける並列連接符号化方法のビット エラー レート性能を示します。

この図に示すように、復号化の反復回数が増える (計算の複雑度が低下する) ほど、またブロック長が長い (復号化レイテンシが大きくなる) ほど、反復復号化性能は向上します。

可変サイズ ターボ符号化

コンパニオン モデル commpcccvs.slx は、シミュレーション実行中に可変サイズのコードブロックを使用してターボ符号化を示します。

このモデルは、ユーザー指定の 2 つのコードブロック長を実行するように設定されています。コードブロック長は選択した制御信号によって変わります。タイム ステップに従い、ブロック長およびノイズ分散ごとのインターリーバー インデックスが計算されます。モデルは、CRC シンドローム検出器を使用して、ビット エラー レートに加えてコードブロック エラー レートを表示します。これは、コードブロック エラー レートが、可変サイズのコード ブロックを使用しているため、より関連性の高い性能の判定基準であるためです。

CBER 性能

次の図に、ビット エラー レートで使用したものと同じ設定を使用したときの、さまざまな Eb/No 値の AWGN チャネルにおける並列連接符号化方法のコードブロック エラー レート性能を示します。

ここでも、前の場合と同様に、復号化反復回数が増えるかブロック長が長くなるほど、性能が向上していることが観察できます。

その他の調査

この例では、さまざまなブロック長およびさまざまな復号化反復回数のシステム パフォーマンスへの影響を調査できます。このデモでは、ユーザーが指定した復号化の一定の反復回数について、[ 4 ] で指定されている 188 のコード ブロック サイズすべてをサポートしています。

参考文献

  1. C. Berrou, A. Glavieux and P. Thitimajshima, "Near Shannon limit error correcting coding and decoding: turbo codes," Proc. IEEE® Int. Conf. on Communications, Geneva, Switzerland, May 1993, pp. 1064-1070.

  2. Benedetto, S., G. Montorsi, D. Divsalar, and F. Pollara, "A Soft-Input Soft-Output Maximum A Posterior (MAP) Module to Decode Parallel and Serial Concatenated Codes," JPL TDA Progress Report, Vol. 42-127, Nov. 1996.

  3. Schlegel, Christian B. and Lance C. Perez, "Trellis and Turbo Coding", IEEE Press, 2004.

  4. 3GPP TS 36.212 v10.8.0, "3rd Generation partnership project; Technical specification group radio access network; Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding (Release 10)", 2013-06.