ターボ符号
符号器はビット列を3つのサブブロックとして送信する。第一のサブブロックは m-ビットのペイロードデータである。第二のサブブロックはそのペイロードデータの n/2 パリティビット列であり、再帰系統的畳み込み符号(RSC符号)を使って計算する。第三のサブブロックはペイロードデータの既知の並べ替えの n/2 パリティビット列であり、こちらもRSC畳み込み符号を使って計算する。従って、ペイロードと共に2つの冗長だが異なるパリティビット列が送信される。ブロック長は m+n ビットであり、符号レートは m/(m+n) である。ペイロードデータの並べ替えは、インターリーバ(interleaver)という手法を使う。
ハードウェアによるターボ符号器は2つのRSC符号器 C1 と C2 から構成され、これらの出力を並列連結と呼ばれる手法で連結する。

入力ビット列 dk は C1 にはそのまま入力され、C2 にはインターリーバを通して並べ替えた上で入力される。出力は、入力 dk をそのまま出力する系統出力 xk と C1 の出力 y1k、C2 の出力 y2k がある。
1993年、Claude Berrou、Alain Glavieux、Punya Thitimajshima(ブルターニュ電気通信国立大学)が論文 "Near Shannon Limit error-correcting coding and decoding: Turbo-codes" を Proceedings of IEEE International Communications Conferenceで発表した。Berrou は「80年代末に確率過程の面白さを教えてくれた G. Battail、J. Hagenauer、P. Hoeher に負うところがある」としている。また、「R. Gallager と M. Tanner はこれと非常に近い原理の符号化・復号技法を既に構想していた」とも書いているが、当時は必要な計算ができていなかった。Joachim Hagenauerは、「ターボエンジンの類推から、復号でおいてのみフィードバック情報が使われるため、ターボ符号という名称は不適切である。」と述べている。