See also: Programming
A class of methods for controling errors in a one-way communication system. Additional data is also sent along to enable the receiver to reconstruct the original in case of lost packets or other forms of corruption. http://info.iet.unipi.it/~luigi/fec.html
Simply stated, FEC adds redundant information to the original message, allowing the receiver to retrieve the message even if it contains erroneous bits. Nowadays FEC is everywhere around us; it is extensively used in many (if not most) digital communication systems, in Compact Disc technology, (to tolerate scratched CDs), in satellite communications, etc
But FEC is not totally “free“! It involves adding redundant data, meaning that more bits per message must be carried out. In other words, it decreases the throughput (number of effective data bits delivered per second) in noiseless environments, where FEC would not be mandatory.
A pure Java implementation of Reed-Solomon FEC can be found at http://onionnetworks.com/developers/ – this is the version of FEC used in Freenet.
Rizzo’s FEC code is also used in Mnet.
TakeDown.NET -> “Forward-Error-Correction”