Patent ID: 8259847

Claim:
A method of transmitting a data stream S(i) across an electrical serial channel at a first rate of R symbols/sec, the method comprising: coding the data stream S(i) using a coder to create a coded data stream CS(i) having N+1 logic levels, N>2, such that the coded data stream value CS(i+1) changes by at most one logic level from the logic level of CS(i); and transmitting the coded data stream CS(i) using a driver that receives signal values corresponding to the N+1 logic levels; wherein S(i) is a binary sequence, wherein coding the data stream S(i) to create the coded data stream CS(i) comprises pre-coding S(i) to produce a pre-coded data stream that is a ternary sequence, the precodinq comprising mapping N occurrences of the value “1” to a value “1” and then mapping the next N occurrences of the value “1” to a value “−1” in alternating fashion, and mapping all symbols having a value “0” to a value “0,” and performing a modified exclusive-OR operation that changes CS(i+1) by one logic level from CS(i) when the next pre-coded data symbol is either a “1” or a “−1,” with the direction of the level change determined by the sign of the “1”.