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

How can I encode 0000 to 11110 in 4B/5B encoding scheme

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

此处两个码字异或运算的结果将是另一个有效码字。

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

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

But, how can I encode 0000 to 11110 or 0001 to 01001 and which algorithm I should apply for this encoding scheme.

我也搜索 google 和学习书籍。但是他们到处都在说同样的事情,但我没有得到答案。

在此先感谢

Decimal Representation

要正确理解这种机制,我们应该考虑所有代码字的十进制值。仔细观察上面的table我把你的table的所有二进制值都转换成了十进制形式。

现在为了避免传输过程中的直流分量,我们应该只考虑不超过一个起始零和两个尾零的码字。 所以我们得到每两个连续的数据字被分配给另外两个连续的码字。

像这样

(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)

1 被分配给 9,因为从 0 到 8(含)的所有代码字都无效,因为零过多。所以第一个有效的代码字 9 被分配给 1。 如果连续分配所有有效代码字,则在传输过程中仅更改一位(单位错误),它将转换为下一个或前一个代码字,并且该错误将保持检测不到。

我们知道,在块编码中,如果一个有效的码字在传输过程中由于错误而转换为另一个有效的码字,它将保持不被检测到,这是块编码的局限性。所以为了避免这种情况,这些所有有效的代码字都没有连续分配数据字。