m24h作者
3年0个月前IP:上海
926837
47楼

今天研究带纠错的位置流编码 结果不错

在使用3位编码 但是主机只发不动 前进一步 后退一步的情况下

我排除了格雷码 反正就0-7 8个数组的组合 量不大 直接用计算机计算所有的编码组合 硬算出一个误差最小的组合01236745

01236745
00-46-22-11  --  2  2  1
11-57-33-00  --  2  2  1
22-64-00-33  --  2  2  1
33-75-11-22  --  2  2  1
46-00-64-57  --  2  2  1
57-11-75-46  --  2  2  1
64-22-46-75  --  2  2  1
75-33-57-64  --  2  2  1

这个编码确定不是格雷码 甚至与原来的裸码相差不大 但是能做到 当有一位传错时 数字最多相差2 (这里是循环的 比如6到0 是两步)

对比之下的裸编码 数字可能相差到4

00-44-22-11  --  4  2  1
11-55-33-00  --  4  2  1
22-66-00-33  --  4  2  1
33-77-11-22  --  4  2  1
44-00-66-55  --  4  2  1
55-11-77-44  --  4  2  1
66-22-44-77  --  4  2  1
77-33-55-66  --  4  2  1

相差只有2  就保证了可以纠正偶尔的错误

比如前面成功传送位置 3 下一步传送 4 由于误码 最终变成了 6或者2

如果下次传输成功了 传输了5 那么过程可能是 365 或者 325 显然路径都是唯一的 6-5 2-5 都符合最短路径原则  临时的错误没有被积累

如果下次传输传回3 或者保持4 显然判断更轻松

当然如果主机不限于前进 后退一步 和不动  比如前进2步 那么误码可能没法被纠正 但是也应该损失更小

评论
文号 / 926837

千古风流
名片专栏发私信
学术分 1
总主题 68 帖总回复 1007 楼拥有证书:进士 学者 机友
注册于 2020/01/22 18:44:43最后登录 2026/10/31 02:54:58
主体类型:个人
所属领域:无
认证方式:手机号
IP归属地:上海

个人简介

个人开源项目: m24h.github.io

笔记
{{note.content}}
{{n.user.username}}
{{fromNow(n.toc)}} {{n.status === noteStatus.disabled ? "已屏蔽" : ""}} {{n.status === noteStatus.unknown ? "正在审核" : ""}} {{n.status === noteStatus.deleted ? '已删除' : ''}}
  • 编辑
  • 删除
  • {{n.status === 'disabled' ? "解除屏蔽" : "屏蔽" }}
我也是有底线的