Presentation is loading. Please wait.

Presentation is loading. Please wait.

Forward Error Correction Steven Marx CSC45712/04/2001.

Similar presentations


Presentation on theme: "Forward Error Correction Steven Marx CSC45712/04/2001."— Presentation transcript:

1 Forward Error Correction Steven Marx CSC45712/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 arithmetic Problem: with the exception of p = 2,  log(p)  > log(p) bits required requires modulo operations

13 Extension Fields q = p r elements with p prime, r > 1 “extension field”, or GF(p r ) 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 = 2 3 mod 5 4 = 2 2 mod 5 3 * 4 = 2 3+2 mod 5 = 32 mod 5 = 2 mod 5 3 * 4 = 12 mod 5 = 2 mod 5

17 Vandermonde Matrices g i,j = x i j-1 x i ’s are elements of GF(p r ) called “Vandermonde Matrices” invertible if all x i ’s different y = Gx G -1 y = G -1 Gx = 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 50Mb/s 100Mb/s 50Mb/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


Download ppt "Forward Error Correction Steven Marx CSC45712/04/2001."

Similar presentations


Ads by Google