什么是奇偶校验位
奇偶校验位是一种检查位,用于添加到数据块中进行错误检测。它用于验证数据的完整性。奇偶校验位的值被赋予0或1,使得消息块中的1的个数根据奇偶校验的类型而定为偶数或奇数。奇偶校验适用于仅单比特错误检测。
奇偶校验有两种类型:
- 偶校验 − 在这种情况下,消息中的位数总数是偶数。
- 奇校验 − 在这种情况下,消息中的位数总数是奇数。
通过添加奇偶校验位进行错误检测
发送方 − 在创建帧时,发送方计算其中的1的数量,并按以下方式添加奇偶校验位:
- 对于偶校验 − 如果1的数量是偶数,则奇偶校验位的值为0。如果1的数量是奇数,则奇偶校验位的值为1。
-
对于奇校验 − 如果1的数量是奇数,则奇偶校验位的值为0。如果1的数量是偶数,则奇偶校验位的值为1。
接收方 − 在接收到帧时,接收方计算其中的1的数量。对于偶校验检查,如果1的数量是偶数,则接收帧;否则,拒绝帧。对于奇校验检查,如果1的数量是奇数,则接收帧;否则,拒绝帧。
示例
假设发送方想使用偶校验检查方法发送数据1001101。它将添加如下的奇偶校验位。
接收方通过计算1的总数来判断是否发生错误。当接收到上述帧时,可能发生三种情况,即无错误、检测到单比特错误和无法检测到多比特错误。如下所示: