1 / 21

Forward Error Correction - PowerPoint PPT Presentation

Forward Error Correction. Steven Marx CSC457 12/04/2001. Outline. What is FEC? Why do we need it? How does it work? Where is it used?. What is FEC?. Send k packets Reconstruct n packets Such that we can tolerate k-n losses Called an (n, k) FEC code. What is FEC? (2). Why FEC?.

Related searches for Forward Error Correction

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

PowerPoint Slideshow about 'Forward Error Correction' - mayes

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Forward Error Correction

Steven Marx

CSC457

12/04/2001

• What is FEC?

• Why do we need it?

• How does it work?

• Where is it used?

• Send k packets

• Reconstruct n packets

• Such that we can tolerate k-n losses

• Called an (n, k) FEC code

• Alternatives:

• ARQ (Automatic Repeat reQuest)

• requires feedback

• tolerance

• only suitable for some applications

• sometimes no feedback channel necessary

• long delay path

• one-way transmission

• avoids multicast problems

• computationally expensive

• requires over-transmission

An easy example:

(n, k) = (2, 3) FEC code

transmitting two numbers: a and b

Send three packets:

1. a

2. b

3. a + b

Could be represented as matrix multiplication

To encode:

To decode, use subset of rows.

More generally:

y = Gx, where G is a “generator matrix”

G is constructed in such a way that any subset of rows is linearly independent.

A “systematic” generator matrix includes the identity matrix.

• a and b are 8-bit numbers

• a + b may require more bits

• loss of precision means loss of data

• Finite fields:

• field:

• we can add, subtract, multiply, and divide as with integers

• closed over these operations

• finite: finite number of elements

• Specific example:

• “prime field” or “Galois Field” - GF(p)

• elements 0 to p-1

• modulo p arithmeticProblem:

• with the exception of p = 2,log(p)> log(p) bits required

• requires modulo operations

• q = pr elements with p prime, r > 1

• “extension field”, or GF(pr)

• elements can be considered polynomials of degree r - 1

• sum just sum modulo p

• extra simple with p = 2:

• exactly r bits needed

• sums and differences just XORs

• Exists an α whose powers generate all non-zero elements.

• In GF(5), α = 2, whose powers are (1,2,4,3,1,…).

• Powers of α repeat with period q - 1, so αq-1 = α0 = 1

• for all x, x = αl

• l is x’s “logarithm”

An example: GF(5) -> α = 2

3 = 23 mod 5

4 = 22 mod 5

3 * 4 = 23+2 mod 5

= 32 mod 5

= 2 mod 5

3 * 4 = 12 mod 5

= 2 mod 5

• gi,j = xij-1

• xi’s are elements of GF(pr)

• called “Vandermonde Matrices”

• invertible if all xi’s different

• y = Gx

• G-1y = G-1Gx = x

• can be extended with the identity matrix for systematic codes

• for media distribution

• reduces bandwidth requirements of the server

• server transmits to a small number of clients

• FEC used to maximize chances of getting useful packets

Star Wars:

Episode Two

Trailer

300Mb/s

100Mb/s

100Mb/s

50Mb/s

100Mb/s

100Mb/s

50Mb/s

50Mb/s

100Mb/s

100Mb/s

• multicast

• streaming media: less “I” frames in MPEGS

• one-way communication

• high delay pathways

• storage

• FEC:

• allows error correction without retransmission

• requires redundancy in transmission

• useful for multicast

• not extensively used at the packet level

• more important with high bandwidth, high latency, as is the trend