1 / 21

Forward Error Correction

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

mayes
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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Forward Error Correction Steven Marx CSC457 12/04/2001

  2. Outline • What is FEC? • Why do we need it? • How does it work? • Where is it used?

  3. What is FEC? • Send k packets • Reconstruct n packets • Such that we can tolerate k-n losses • Called an (n, k) FEC code

  4. What is FEC? (2)

  5. Why FEC? • Alternatives: • ARQ (Automatic Repeat reQuest) • requires feedback • bad for multicast • tolerance • only suitable for some applications

  6. Why FEC? (2) • Advantages: • sometimes no feedback channel necessary • long delay path • one-way transmission • avoids multicast problems • Disadvantages: • computationally expensive • requires over-transmission

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

  8. How is this possible? (2) Could be represented as matrix multiplication To encode: To decode, use subset of rows.

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

  10. A Problem • a and b are 8-bit numbers • a + b may require more bits • loss of precision means loss of data

  11. A Solution • Finite fields: • field: • we can add, subtract, multiply, and divide as with integers • closed over these operations • finite: finite number of elements

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

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

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

  15. Multiplication and Division (2) • for all x, x = αl • l is x’s “logarithm”

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

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

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

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

  20. Other useful applications • multicast • streaming media: less “I” frames in MPEGS • one-way communication • high delay pathways • storage

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

More Related