如何在4B/5B编码方案中编码0000到11110

S. *_*mad 7 networking encoding error-detection

4B/5B编码

4B/5B ecoding

从编码的4B/5B编码方案数据0000到11110码字,类似地,0001被编码为01001等.

这里,两个码字之间的XOR运算结果将是另一个有效的码字.

例如,11110和01001的XOR是另一个码字10111,其数据字是1011.这里我没有问题.

同样,为了避免直流分量,使用NRZ-I线路编码方案.结果,输出码字中没有三个连续的零.代码字中没有一个标题和两个尾随零.我们不担心NRZ-I编码方案中的一个数量.

但是,如何编码0000到11110或0001到01001以及我应该为这种编码方案应用哪种算法.

我也搜索谷歌和学习书籍.但到处都是他们只讲同一件事,但我没有得到答案.

提前致谢

小智 7

十进制表示

要正确理解这种机制,我们应该考虑所有代码字的十进制值.仔细观察上面的表我将表的所有二进制值转换为十进制形式.

现在为了在传输过程中避免直流分量,我们应该只考虑没有多于一个起始零和两个尾随零的码字.因此我们将每两个连续的数据字分配给另外两个连续的码字.

像这样

(2,3)至(20,21),

(4,5)到(10,11)

(6,7)至(14,15)

(8,9)到(18,19)

(10,11)至(22,23)

(12,13)到(26,27)

(14,15)至(28,29)

例外

(0,1)到(30,9)

因为具有过多的零,所以从0到8(包括)的所有码字都是无效的,因此将1分配给9.因此,第一有效码字9被分配给1.如果所有有效码字被连续分配,则在传输期间仅改变一个比特(单比特错误),它将转换为下一个或前一个码字,并且该错误将保持未被检测到.

我们知道,在块编码中,如果由于错误而在传输期间将有效码字转换为另一个有效码字,则它将保持未被检测到并且这是块编码的限制.因此,为了避免这种情况,这些所有有效的码字都不会连续地分配数据字.