Parallel concatenated convolutional codes with iterative decoding. First practical codes to closely approach Shannon limit. Used in 3G/4G mobile communications. Two recursive systematic convolutional encoders separated by interleaver. Iterative MAP/SOVA decoding with extrinsic information exchange.
| Property | Value |
|---|---|
| Category | Error Correction |
| Sub-category | Concatenated Code |
| Security status | 🎓 Educational Only |
| Complexity | Expert |
| Inventor | Claude Berrou, Alain Glavieux, Punya Thitimajshima |
| Year | 1993 |
| Origin | 🇫🇷 France |
| Source | algorithms/ecc/turbo-code.js |
Status: 🎓 Educational Only
| Issue | Description | Mitigation |
|---|---|---|
| Decoding Complexity | Iterative MAP/SOVA decoding requires significant computational resources. Complexity increases with frame length and iteration count. | — |
| Decoding Latency | Iterative decoding introduces latency proportional to iteration count. Critical for real-time applications. | — |
| Error Floor | Low error floors may occur at high SNR due to low-weight codewords. Mitigated by interleaver design. | — |
4 vectors ship with this algorithm and run in the test suite. Byte values are hexadecimal.
Vector 1 — Turbo code all zeros - K=4 rate 1/3
| Field | Value |
|---|---|
input |
00000000 |
expected |
000000000000000000000000 |
Vector 2 — Turbo code single bit - K=4 rate 1/3
| Field | Value |
|---|---|
input |
01000000 |
expected |
010101000101000000000101 |
Vector 3 — Turbo code pattern 1100 - K=4 rate 1/3
| Field | Value |
|---|---|
input |
01010000 |
expected |
010101010001000101000100 |
Vector 4 — Turbo code alternating - K=4 rate 1/3
| Field | Value |
|---|---|
input |
01000100 |
expected |
010101000100010101000001 |