作者micklin (mick doohan)
看板ask-why
标题Re: [请益] 关於parity check无法检测偶数个错误位元
时间Thu Feb 9 13:37:55 2012
※ 引述《monk0912 (monk)》之铭言:
: 各位大大您好
: 爬过网路上很多部落格的投影片和部落格文章,
: 只有提到 "parity check能检测出奇数个错误位元,无法检测出偶数个错误位元。"
: 如果单只是根据奇同位和偶同位的定义,也无法了解上述的意思。
: 是否有大大了解原由或有其他文章教学? 感谢
: 参考资料http://sls.weco.net/node/10695
简单讲就是奇数加偶数仍然是奇数, 而偶数加偶数当然还是偶数.
而奇数加奇数会变偶数, 偶数加奇数会变成奇数.
同位元检查是计算1的个数是奇数或偶数.
如果现在用的是奇同位, 而我收到的位元串里面1的个数不是奇数, 那我就知道有问题.
例如: 11011011 => 1有6个 => 一定有出包.
现在, 假设我要传送的位元串是1000001, 1有2个(偶数),
我在最後加入检查码1, 变成10000011, 於是1的个数变3个(奇数).
接收的时候突然被雷打到, 收到的东西是10010011, 发现1的个数是4个(偶数).
所以我可以检测出有问题.
现在如果我被雷打到两次, 收到的东西是10011011, 发现1的个数是5个(奇数).
依据奇同位检查的原则, 我会以为资料没问题.
换成偶同位检查, 我发出10000001, 收到的如果是10010001, 我会检测出错误.
如果收到11111111, 因为1的个数是偶数个, 我会以为资料正确.
这就是为什麽没办法检测出偶数个错误位元.
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.124.164.176
1F:推 monk0912:谢谢大大的讲解,清楚很多,感谢^^ 02/09 14:35