I looked up some sources for GCR encoding, since that method is one of the most efficient (short of DSP methods). Apparently the "GCR" term (Group Code Recording) is not widely used, since it got associated with tape drives. "4b/5b" encoding is the most common form of GCR for network applications. FDDI (the fibre optic network protocol) uses it with NRZI. I think Fast Ethernet also uses it, but it combines several other protocols together. Some confusing terms: source encoding - the way you translate your data before sending it. This is "4b/5b" for FDDI. channel encoding - the way the logic values are actually sent on the wires. This is NRZI for FDDI. This web site has the table that you need for "4b/5b". You just break your data into nybbles, and lookup a 5 bit value to send in place of each nybble. http://www-dept.cs.ucl.ac.uk/staff/S.Bhatti/D51-notes/node51.html Eric Engler