Skip to main content

It seems that when doing FEC with a concatenated-code, an interleaver is often placed between the outer block code and the inner convolution code. The explanations I've seen say that this is because the convolution decoder often has errors in bursts. However

However, if we assume that we're using a Reed-Solomon decoder with 8-bit symbols, then spreading the bursts onto multiple blocks would seem to increase errors rather than decrease them. What am I missing that explains why this interleaving is good?

Rough idea of the decode and encode process:

Encode:

  • Encode:

Data - [RS Encoder] - [Interleaver] - [Convolution Encoder] - [Modulator]$$\boxed{\textrm{Data}}{\longrightarrow}\boxed{\textrm{RS Encoder}}{\longrightarrow}\boxed{\textrm{Interleaver}}{\longrightarrow}\boxed{\textrm{Convolution Encoder}}{\longrightarrow} \boxed{\textrm{Modulator}}$$

Decode:

  • Decode:

[Demodulator] - [Convolution Decoder] - [De-interleaver] - [RS Decoder] - Data$$\boxed{\textrm{Demodulator}}{\longrightarrow}\boxed{\textrm{Convolution Decoder}}{\longrightarrow}\boxed{\textrm{De-interleaver}}{\longrightarrow}\boxed{\textrm{RS Decoder}}{\longrightarrow}\boxed{\textrm{Data}}$$

It seems that when doing FEC with a concatenated-code, an interleaver is often placed between the outer block code and the inner convolution code. The explanations I've seen say that this is because the convolution decoder often has errors in bursts. However, if we assume that we're using a Reed-Solomon decoder with 8-bit symbols, then spreading the bursts onto multiple blocks would seem to increase errors rather than decrease them. What am I missing that explains why this interleaving is good?

Rough idea of the decode and encode process:

Encode:

Data - [RS Encoder] - [Interleaver] - [Convolution Encoder] - [Modulator]

Decode:

[Demodulator] - [Convolution Decoder] - [De-interleaver] - [RS Decoder] - Data

It seems that when doing FEC with a concatenated-code, an interleaver is often placed between the outer block code and the inner convolution code. The explanations I've seen say that this is because the convolution decoder often has errors in bursts.

However, if we assume that we're using a Reed-Solomon decoder with 8-bit symbols, then spreading the bursts onto multiple blocks would seem to increase errors rather than decrease them. What am I missing that explains why this interleaving is good?

Rough idea of the decode and encode process:

  • Encode:

$$\boxed{\textrm{Data}}{\longrightarrow}\boxed{\textrm{RS Encoder}}{\longrightarrow}\boxed{\textrm{Interleaver}}{\longrightarrow}\boxed{\textrm{Convolution Encoder}}{\longrightarrow} \boxed{\textrm{Modulator}}$$

  • Decode:

$$\boxed{\textrm{Demodulator}}{\longrightarrow}\boxed{\textrm{Convolution Decoder}}{\longrightarrow}\boxed{\textrm{De-interleaver}}{\longrightarrow}\boxed{\textrm{RS Decoder}}{\longrightarrow}\boxed{\textrm{Data}}$$

Tweeted twitter.com/#!/StackSignals/status/306984342075359232
Source Link
Dan Sandberg
  • 805
  • 3
  • 11
  • 23

Why is an interleaver often placed between an outer block code and an inner convolution code?

It seems that when doing FEC with a concatenated-code, an interleaver is often placed between the outer block code and the inner convolution code. The explanations I've seen say that this is because the convolution decoder often has errors in bursts. However, if we assume that we're using a Reed-Solomon decoder with 8-bit symbols, then spreading the bursts onto multiple blocks would seem to increase errors rather than decrease them. What am I missing that explains why this interleaving is good?

Rough idea of the decode and encode process:

Encode:

Data - [RS Encoder] - [Interleaver] - [Convolution Encoder] - [Modulator]

Decode:

[Demodulator] - [Convolution Decoder] - [De-interleaver] - [RS Decoder] - Data