CN_奇偶校验_奇校验码和偶校验码的概念和实例

奇偶校验码

  • 奇偶校验码就是在信息码后面加一位校验码,分奇校验偶校验

奇校验:

  • 添加一位校验码后,使得整个码字里面1的个数是奇数。

使用(验证)方法

  • 接收端收到数据后就校验数据里1的个数,
    • 若检测到奇数个1,则认为传输没有出错;
    • 若检测到偶数个1,则说明传输过程中,数据发生了改变

偶校验:

  • 添加一位校验码后,使得整个码字里面1的个数是偶数。

验证方法

  • 接收端收到数据后就校验数据里1的个数,

    • 若检测到偶数个1,则认为传输没有出错;

    • 若检测到奇数个1,则说明传输过程中,数据发生了改变,要求重发。

小结

  • 在原编码上加一个校验位(增加的冗余位称为奇偶校验位),它的码距等于2,
  • 可以检测出一位错误(或奇数位错误),但不能确定出错的位置,也不能够检测出偶数位错误,
  • 奇偶校验实现的方法:
    • 由若干位有效信息(如1B)再加上一个二进制位(校验位)组成校验码,
    • 校验位的取值(0或1)将使整个校验码中“1”的个数为奇数或偶数,所以有两种可供选择的校验规律。
    • 奇校验码:整个校验码(有效信息位和校验位)中“1”的个数为奇数。
    • 偶校验码:整个校验码(有效信息位和校验位)中“1”的个数为偶数。

奇偶校验码结构

  • 奇偶校验有两部分组成

    • 奇偶校验位
      • 1bit
    • 有效信息位
      • n位

exercise:补全给定二进制串的奇偶校验码

  • 给出两个编码A=1001101和 B=1010111的奇校验码和偶校验码:

  • 设最高位为校验位p,余n=7位是信息位,则对应的奇偶校验码为

    • A=1001101

    • 数据编号数据取值1的个数0的个数(不重要,不看)奇校验码偶校验码
      A1001101431 10011010 1001101
      B1010111520 10101111 1010111
  • 从另一个角度上看(给定一个奇校验码或偶校验码,求解缺失的某一个bit)

    • 将一个信息码X前面加1/0,分别得到两个数,这两个数中一个是奇校验码,另一个就是偶校验码
    • 将两个数分别记为 X 0 X_0 X0, X 1 X_1 X1
    • 并且可以断言, X i , i = 0 或 1 X_i,i=0或1 Xi,i=01要么是X的奇校验码(简称为奇码),要么是X的偶校验码(简称为偶码)
      • 总结: X 0 , X 1 X_0,X_1 X0,X1满足:非奇即偶,一奇一偶
      • 如果 X i X_i Xi中的一个已经知道是P校验码,那么另一个就是Q校验码
        • P,Q的可能取值组合为:
          • P=奇,Q=偶
          • P=偶,Q=奇
    • 🎈那么:分别计数 X 0 , X 1 X_0,X_1 X0,X1这两个n+1位校验码中包含的的1的个数,
      • 如果是奇数,那它就是奇校验码,
      • 如果是偶数,就是偶校验码
      • 0的个数就不看啦
posted @   xuchaoxin1375  阅读(73)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」
点击右上角即可分享
微信分享提示