CRC检验码

已知发送数据为1101 0110 11,采用CRC校验,生成多项式为10011,求最终发送数据?

答案为:1101 0110 11 1110

解题步骤如下:
  1. 找到生成多项式10011,该多项式为除数,用于接收端进行检验
  2. 发送数据帧为10位,除数为5位,那么选择在发送数据的后面加上5-1=4位0,构成14位新帧(被除数),即1101 0110 11 0000
  3. 将新帧和多项式进行模二除法运算,得到4位余数(注意:余数的位数需和前面所加0的位数保持一致,也就是比多项式位数少1),1110,这个二进制比特串就是该帧的CRC校验码,也称为FCS帧校验序列
  4. 将原10位发送数据1101 0110 11和所得4位CRC校验码1110进行拼接,即可得最终的发送数据1101 0110 11 1110
  5. 最后将这个新帧发送到接收端,接收端将这个新帧对之前选择的除数使用模二除法,如果没有余数,则说明该帧在传输的过程中没有出现差错
补充:模二除法运算
  1. 四个字:异或运算
  2. 计算机符号:xor
    • 0 xor 0 = 0
    • 0 xor 1 = 1
    • 1 xor 0 = 1
    • 1 xor 1 = 0
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 基本概念 1.1 模2运算   模2运算是一种二进制算法,CRC校验技术中的核心部分,因此,我们在分析CRC...
    starmier阅读 814评论 0 1
  • 奇偶校验、海明码、CRC循环冗余校验码 三种校验码比较重要,需要牢记,在计算机网络中用处较大 奇偶校验 根据被传输...
    正经龙阅读 9,475评论 0 1
  • 数据链路层是网络模型的第二层,涉及两台机器实现可靠有效地完整信息块(称为帧)通信的一些算法。通信线路偶尔会出错,而...
    Taeyeon37阅读 1,760评论 0 1
  • CRC校验(循环冗余校验)是数据通讯中最常采用的校验方式。在嵌入式软件开发中,经常要用到CRC 算法对各种数据进行...
    woshishui1243阅读 2,002评论 0 0
  • 今天画了鸡蛋花。 看起来简简单单,画起来也简简单单。可是看的时候就一点不简单了 不怎么像啊! 失误失误,图片得向左...
    谭静儿阅读 457评论 1 5