Binary 这个汉明码10101011110有错误吗?
假设我们正在使用一个纠错码,它将允许所有的单位错误都被删除 修正了长度为7的记忆单词。我们已经计算出需要4个校验位, 所有码字的长度都是11。码字是根据汉明公式创建的 文中给出了算法。我们现在收到以下代码字: 1 0 1 0 1 0 1 1 1 1 0 假设均等,这是一个合法的密码吗?如果没有,根据我们的纠错码, 错误在哪里 p.s.这个汉明码问题需要一些帮助,这是一个书本问题。 提前感谢:) 码字是根据文本中介绍的汉明算法创建的 这是一条重要的信息,你不觉得吗?:-) 如果没有算法,我们无法确定有效性,因此我将为您提供一个通用方法 每个校验位通常应用于某些位子集。假设这七位是Binary 这个汉明码10101011110有错误吗?,binary,bit,hamming-code,Binary,Bit,Hamming Code,假设我们正在使用一个纠错码,它将允许所有的单位错误都被删除 修正了长度为7的记忆单词。我们已经计算出需要4个校验位, 所有码字的长度都是11。码字是根据汉明公式创建的 文中给出了算法。我们现在收到以下代码字: 1 0 1 0 1 0 1 1 1 1 0 假设均等,这是一个合法的密码吗?如果没有,根据我们的纠错码, 错误在哪里 p.s.这个汉明码问题需要一些帮助,这是一个书本问题。 提前感谢:) 码字是根据文本中介绍的汉明算法创建的 这是一条重要的信息,你不觉得吗?:-) 如果没有算法,我们无法确
b6
到b0
。计算四个校验位以在以下子集中提供偶数奇偶校验:
1 0 1 0 1 0 1
ca b6 b5 b3 b2 b1 b0 1+0+0+1+0+1 + (ca = 0)
cb b6 b4 b2 b0 1+1+1+1 + (cb = 0)
cc b6 b3 b0 1+0+1 + (cc = 0)
cd b5 b1 b0 0+0+1 + (cd = 1)
现在,如果您没有得到与数据匹配的校验位序列,理想情况下,您将能够计算出需要更改哪个数据或校验位才能修复它。只有当您能够确保每个校验位计算都经过精心设计,以添加最大的额外信息时,这才有效
这可能是我上面的计算失败了,因为我只是凭空计算出来的。但是,因为我的目的只是在没有算法的情况下解释这个概念,所以这不重要
确保算法有效的一种方法是使用暴力:
- 获取所有可能的11位值的列表。只有2048个这样的系统,所以并不繁重。现在,放弃那些已经正常的(我们只对无效的感兴趣)
- 依次切换(11)中的每一位,看看该项是否有效
- 如果没有位切换使其有效,则这不是一个位错误,因此可以安全地忽略
- 如果one位切换使其有效,则您有足够的信息修复此情况
- 如果多个位切换使其有效,则您没有足够的信息来修复此情况