forward error correction l.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Forward Error Correction PowerPoint Presentation
Download Presentation
Forward Error Correction

Loading in 2 Seconds...

play fullscreen
1 / 21

Forward Error Correction - PowerPoint PPT Presentation


  • 174 Views
  • Uploaded on

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

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

PowerPoint Slideshow about 'Forward Error Correction' - mayes


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

Forward Error Correction

Steven Marx

CSC457

12/04/2001

outline
Outline
  • What is FEC?
  • Why do we need it?
  • How does it work?
  • Where is it used?
what is fec
What is FEC?
  • Send k packets
  • Reconstruct n packets
  • Such that we can tolerate k-n losses
  • Called an (n, k) FEC code
why fec
Why FEC?
  • Alternatives:
    • ARQ (Automatic Repeat reQuest)
      • requires feedback
      • bad for multicast
    • tolerance
      • only suitable for some applications
why fec 2
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
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
How is this possible? (2)

Could be represented as matrix multiplication

To encode:

To decode, use subset of rows.

how is this possible 3
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
A Problem
  • a and b are 8-bit numbers
  • a + b may require more bits
  • loss of precision means loss of data
a solution
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
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
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
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
Multiplication and Division (2)
  • for all x, x = αl
  • l is x’s “logarithm”
multiplication and division 3
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
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
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
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
Other useful applications
  • multicast
  • streaming media: less “I” frames in MPEGS
  • one-way communication
  • high delay pathways
  • storage
conclusion
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