校验码


一、校验码技术概述

  • 循环冗余校验码(CRC): 用于检测数据传输过程中因干扰导致的错误,如电磁干扰导致的比特翻转。

1.为何使用校验码

  • 数据传输过程中可能因干扰出错,如原本传输的1变为0。
  • 两种解决方式:
    • 提高硬件可靠性(有瓶颈)
    • 提升代码校验能力(更为实用)

2.校验码的实际应用

  • 校验码用于检测传送数据是否出错,类似于身份证最后一位的校验位,用于验证信息的真实性。

3.CRC校验码的特点

  • 使用多项式对K个数据位生成R个校验位,最终传输K+R位数据。
  • 概念性理解即可,不需深入。

二、题目背景介绍

  • 示例题目:使用CRC进行差错校验,生成多项式为 G(x) = x4 + x + 1
  • 信息码字为10111,需计算对应的CRC校验码。

1.多项式转换为二进制

  • 多项式 x4 + x + 1 转换为二进制形式:10011。
  • 转换方法:将各次幂对应二进制位设为1,缺失的次幂设为0。

2.模2除运算的准备

  • 信息码字10111需在其后添加4个0(因多项式最高次为4),变为101110000。
  • 模2除运算类似于普通除法,但使用异或或不进位加法进行运算。

3.模2除运算过程

  • 用101110000除以10011,进行异或运算求得余数。
  • 每次运算后落下一个0,直到无法继续运算。
  • 商为10100,余数为1100。

4.CRC校验码的生成

  • 余数1100作为CRC校验码。
  • 原始信息码字10111后添加四个0,替换为余数1100,最终传输码为101111100。

5.余数位数说明

  • 余数位数通常比除数少一位,如除数为5位,则余数为4位。
  • 若余数位数不足,可在高位补0。
  • 从传输效率角度考虑,余数位数不宜过多。



文章作者: darebeat
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 darebeat !
 上一篇
总线 总线
讲述了计算机总线的定义、分类及其功能,包括内部与外部总线、地址总线、数据总线、控制总线,以及并行与串行总线的特点和应用场景。
2025-08-31
下一篇 
存储系统 存储系统
讲述了存储系统的层级结构、主存储器的作用及地址编制方式,并通过具体例题解析了内存地址范围的16进制计算与存储芯片数量的求解过程。
2025-08-30
  目录