如果收到一条消息,比如说两个字节,并且已知它已经使用汉明码进行编码,但是用于编码的奇偶校验(偶数/奇数)是未知的,那么两个汉明码的应用都是奇数甚至奇偶校验工作,以确定收到的消息错误?
答案 0 :(得分:3)
如果您不知道是否使用偶数奇偶校验,则无法判断单个消息是否发生了错误更改。
示例:在4位消息上使用奇校验:
1101 --[Add parity]-> 11010 --[Introduce error]-> 10010.
收到的消息包含偶数个1。我们知道它是使用奇校验发送的,因此发生了错误。
在4位消息上使用未知奇偶校验:
1101 --[Add parity]-> 1101? --[Introduce error]-> 1001?.
我们不知道奇偶校验,因此我们无法确定此消息是否出现错误。
但有希望。
如果我们假设,信道要适度可靠,并且发送了大量消息,我们可以使用概率来确定错误。
示例:收集一定数量的邮件。如果它们中至少有90%具有奇校验,我们可以假设偶数奇偶校验消息是错误的。
如果收到的奇数和偶数奇偶校验消息的数量接近,我们就遇到了麻烦。信道完全不可靠,或者发送方同时使用奇数和偶数奇偶校验。