Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

Turbo Encoder

並列連結符号化スキームを使用したバイナリ データの符号化

ライブラリ

Error Detection and Correction の Convolutional サブライブラリ

  • Turbo Encoder block

説明

Turbo Encoder ブロックは、並列連結符号化スキームを使用してバイナリ入力信号を符号化します。この符号化スキームは、2 つの同一の畳み込み符号化器と 1 つの内部インターリーバーを備えています。それぞれの構成符号化器は、テール ビットで個別に終了します。

並列連結畳み込み符号のブロック線図

前述のブロック線図は、Turbo Encoder ブロックの出力が、最初の符号化器の組織ストリームおよびパリティ ビット ストリームと、2 番目の符号化器のパリティ ビット ストリームのみで構成されていることを示しています。

符号化率 1/2 の構成符号化器の場合、ブロックは 3 つのストリームをインターレースし、符号化したデータ ストリームの最後にテール ビットを多重化します。

テール ビットの詳細は、Convolutional Encoder ブロックのリファレンス ページの [Operation mode] の終了の項を参照してください。

次元

このブロックは、L 行 1 列の列ベクトル入力信号を受け取り、M 行 1 列の列ベクトル信号を出力します。想定されるトレリスにおいて、M と L の関係は以下のとおりです。

M=L(2n1)+2numTails

L=(M2numTails)(2n1)

ここで、

L = 符号化器入力長

M = 符号化器出力長

n = log2(trellis.NumOutputSymbols)、符号化率 1/2 のトレリスの場合、n = 2

numTails = log2(trellis.numStates) * n

符号化率 1/3 のターボ符号例の符号化器図

前述の図は、[Trellis structure] パラメーターである poly2trellis(4, [13 15], 13) の既定値によって指定されるトレリス用の符号化器構成を示しています。64 ビットの入力ベクトル長の場合、符号化器ブロックの出力は 204 ビットです。最初の 192 ビットは、Xk、Zk、Zk としてインターレースされた、3 つの 64 ビット ストリーム (最初の符号化器からの組織 (Xk) およびパリティ (Zk) ビット ストリーム、および 2 番目の符号化器からのパリティ (Zk) ビット ストリーム) に対応しています。最後の 12 ビットは、スイッチが破線に対応する低い位置にあるときに、2 つの符号化器からのテール ビットに対応します。6 ビット (3 組織的ビットと 3 パリティ ビット) の 1 番目のグループは、1 番目の構成符号化器からの出力テール ビットです。6 ビット (3 組織的ビットと 3 パリティ ビット) の 2 番目のグループは、2 番目の構成符号化器からの出力テール ビットです。

テール ビットのため、符号化器出力符号化率は 1/3 より少し低くなっています。

パラメーター

Trellis structure

構成畳み込み符号のトレリス構造体。

構成畳み込み符号のトレリス表現を含む MATLAB® 構造体としてトレリスを指定します。または、関数 poly2trellis を使用して、拘束長、符号生成器 (8 進数)、およびフィードバック接続 (8 進数) を使用するカスタム トレリスを作成します。

このブロックは、符号化率 1 行 N 列のトレリスをサポートします。N は整数です。

既定の構造体は poly2trellis(4, [13 15], 13) の結果です。

Source of interleaver indices

インターリーバー インデックスのソースを [Property] または [Input port] として指定します。

このパラメーターを [Property] に設定すると、ブロックは [Interleaver indices] パラメーターを使用してインターリーバー インデックスを指定します。

このパラメーターを [Input port] に設定すると、ブロックは 2 次入力端子 IntrInd を使用してインターリーバー インデックスを指定します。

Interleaver indices

ブロックが、入力ビットを整数の列ベクトルに置換するために使用するマッピングを指定します。既定の設定は (64:-1:1).' です。このマッピングは、入力信号の長さである L に等しい要素数のベクトルです。各要素は、繰り返しの値のない 1 から L の間の整数でなければなりません。

シミュレーション実行方法

ブロックをシミュレートするのに [コード生成] または [インタープリター型実行] のどちらを使用するかを指定します。既定の設定は [インタープリター型実行] です。

サポートされているデータ型

端子サポートされているデータ型
In
  • double

  • single

  • 固定小数点

Out
  • double

  • single

  • 固定小数点

Turbo Encoder ブロックと Turbo Decoder ブロックを使用する例については、並列連接畳み込み符号化: ターボ符号を参照してください。

ペア ブロック

Turbo Decoder

参考文献

[1] Berrou, C., A. Glavieux, and P. Thitimajshima. "Near Shannon limit error correcting coding and decoding: turbo codes,” Proceedings of the IEEE International Conference on Communications, Geneva, Switzerland, May 1993, pp. 1064–1070.

[2] Benedetto, S., G. Montorsi, D. Divsalar, and F. Pollara. “ Soft-Input Soft-Output Maximum A Posterior (MAP) Module to Decode Parallel and Serial Concatenated Codes,”Jet Propulsion Lab TDA Progress Report, Vol. 42–27, Nov. 1996.

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

[4] 3GPP TS 36.212 v9.0.0, 3rd Generation partnership project; Technical specification group radio access network; Evolved Universal Terrestrial Radio Access (E-UTRA); Multiplexing and channel coding (release 9), 2009-12.

拡張機能

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

R2011b で導入