Loading in 5 sec....

Forward Error CorrectionPowerPoint Presentation

Forward Error Correction

- By
**mayes** - Follow User

- 167 Views
- Updated 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?.

Related searches for Forward Error Correction

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

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

Why FEC?

- Alternatives:
- ARQ (Automatic Repeat reQuest)
- requires feedback
- bad for multicast

- tolerance
- only suitable for some applications

- ARQ (Automatic Repeat reQuest)

Why FEC? (2)

- Advantages:
- sometimes no feedback channel necessary
- long delay path
- one-way transmission

- avoids multicast problems

- sometimes no feedback channel necessary
- Disadvantages:
- computationally expensive
- requires over-transmission

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)

Could be represented as matrix multiplication

To encode:

To decode, use subset of rows.

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 and b are 8-bit numbers
- a + b may require more bits
- loss of precision means loss of data

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)

- 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

- 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

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

- for all x, x = αl
- l is x’s “logarithm”

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

- 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

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

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

- multicast
- streaming media: less “I” frames in MPEGS
- one-way communication
- high delay pathways
- storage

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

Download Presentation

Connecting to Server..