首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >丢失位的纠错码

丢失位的纠错码
EN

Stack Overflow用户
提问于 2012-10-23 06:27:00
回答 1查看 604关注 0票数 0

如果我们必须从发送方接收数据作为一组比特(例如8位)。

但是,传输是不可靠的,导致比特丢失。(不是位翻转)这意味着,块中的任何位都可以缺席,而接收方只能接收7位。

我研究了一些纠错编码,比如'Hamming码‘。但是,在这种情况下,代码是用来恢复翻转位而不是丢失位的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-23 06:50:44

如果您对低熵代码很满意,并且可以检测到消息的结束,那么只需发送两次每个比特即可。

这段代码可以从不同运行时发生的任意数量的删除中恢复:

收到后,找到所有的奇数大小的运行,并延长他们一点。如果最后的位数低于预期数,则无法从多次删除中恢复。

如果要确保可以恢复的固定错误率,请使用位填充。

示例:

代码语言:javascript
复制
0110

encoded as:
00 11 11 00

a double error occurs:
0x 11 x1 00

received:
011100

'0' and '111' are odd-sized runs. Fix:
00111100

we have 8 bits, and have recovered from a double error.
decode:
0110

示例2:

代码语言:javascript
复制
0101

encoded as
00110011

transmitted as
0xxx0011

received as
00011

corrected as
000011

decoded as
001

which is shorter than expected. A transmission error has occured.

示例3(运行3位后的位填充):

代码语言:javascript
复制
0000 1111

stuffed as
00010 11101

sent as
0000001100 1111110011
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13024633

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档