Skip to main content

Turbo coding and 8×8 Hadamard code

Short answer

Turbo coding uses two recursive systematic convolutional encoders in parallel with an interleaver and iterative soft-in soft-out decoding, performing within 0.5–1 dB of the Shannon limit. The 8x8 Hadamard matrix by Sylvester construction has binary rows 00000000, 01010101, 00110011, 01100110, 00001111, 01011010, 00111100, 01101001.

Define turbo coding. Construct 8 by 8 Hadamard code.

Turbo coding

Turbo coding is a powerful forward error-correction scheme that uses two (or more) recursive systematic convolutional (RSC) encoders in parallel, separated by an interleaver, and is decoded iteratively by two soft-in soft-out decoders that exchange information. It performs within about 0.5–1 dB of the Shannon limit and is used in 3G (WCDMA, CDMA2000) and 4G LTE.

 d --+---------------------> systematic bits
     +-->[RSC encoder 1]---> parity 1
     +-->[interleaver]->[RSC encoder 2]-> parity 2

8 × 8 Hadamard code

A Hadamard (Walsh) matrix is built recursively (Sylvester construction), where H′ is the complement of H:

 H1 = [0]

 H2 = | H1  H1 |  = | 0 0 |
      | H1  H1'|    | 0 1 |

 H4 = | H2  H2 |  = | 0 0 0 0 |
      | H2  H2'|    | 0 1 0 1 |
                    | 0 0 1 1 |
                    | 0 1 1 0 |

 H8 = | H4  H4 |      (H' = complement of H)
      | H4  H4'|

Writing out H8:

         c1 c2 c3 c4 c5 c6 c7 c8
 W0:      0  0  0  0  0  0  0  0
 W1:      0  1  0  1  0  1  0  1
 W2:      0  0  1  1  0  0  1  1
 W3:      0  1  1  0  0  1  1  0
 W4:      0  0  0  0  1  1  1  1
 W5:      0  1  0  1  1  0  1  0
 W6:      0  0  1  1  1  1  0  0
 W7:      0  1  1  0  1  0  0  1

Each row is one 8-bit Walsh codeword. Any two rows differ in exactly 4 positions (in ±1 form, with 0 → +1 and 1 → −1, their inner product is 0), so the rows are orthogonal, as required for CDMA spreading codes.

✓ Answer checked by Claude Opus 5.5 (high effort)

All Wireless Communication chapter 6 questions →