Forward error correction l.jpg
This presentation is the property of its rightful owner.
Sponsored Links
1 / 21

Forward Error Correction PowerPoint PPT Presentation


  • 107 Views
  • Uploaded on
  • Presentation posted in: General

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?.

Download Presentation

Forward Error Correction

An Image/Link below is provided (as is) to download presentation

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 l.jpg

Forward Error Correction

Steven Marx

CSC457

12/04/2001


Outline l.jpg

Outline

  • What is FEC?

  • Why do we need it?

  • How does it work?

  • Where is it used?


What is fec l.jpg

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 l.jpg

What is FEC? (2)


Why fec l.jpg

Why FEC?

  • Alternatives:

    • ARQ (Automatic Repeat reQuest)

      • requires feedback

      • bad for multicast

    • tolerance

      • only suitable for some applications


Why fec 2 l.jpg

Why FEC? (2)

  • Advantages:

    • sometimes no feedback channel necessary

      • long delay path

      • one-way transmission

    • avoids multicast problems

  • Disadvantages:

    • computationally expensive

    • requires over-transmission


How is this possible l.jpg

How is this possible?

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


How is this possible 2 l.jpg

How is this possible? (2)

Could be represented as matrix multiplication

To encode:

To decode, use subset of rows.


How is this possible 3 l.jpg

How is this possible? (3)

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 problem l.jpg

A Problem

  • a and b are 8-bit numbers

  • a + b may require more bits

  • loss of precision means loss of data


A solution l.jpg

A Solution

  • Finite fields:

  • field:

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

    • closed over these operations

  • finite: finite number of elements


A solution 2 l.jpg

A Solution (2)

  • 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


Extension fields l.jpg

Extension Fields

  • 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


Multiplication and division l.jpg

Multiplication and Division

  • 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


Multiplication and division 2 l.jpg

Multiplication and Division (2)

  • for all x, x = αl

  • l is x’s “logarithm”


Multiplication and division 3 l.jpg

Multiplication and Division (3)

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


Vandermonde matrices l.jpg

Vandermonde Matrices

  • 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


Swarmcast a real example l.jpg

Swarmcast - a real example

  • for media distribution

  • reduces bandwidth requirements of the server

  • server transmits to a small number of clients

  • while downloading, those clients also transmit packets to other clients

  • FEC used to maximize chances of getting useful packets


Swarmcast 2 l.jpg

Swarmcast (2)

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


Other useful applications l.jpg

Other useful applications

  • multicast

  • streaming media: less “I” frames in MPEGS

  • one-way communication

  • high delay pathways

  • storage


Conclusion l.jpg

Conclusion

  • 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


  • Login