司徒城 2025-03-14 13:23 采纳率: 33.3%
浏览 7

crc冗余校验,求指导!

发送方需传输数据 1101001,采用CRC校验,生成多项式为 G(x) = x^4 + x^2 + 1(对应二进制 10101)。
计算CRC校验码,写出详细步骤;
构造完整发送帧;
若接收方收到数据为1101001 0011,验证传输是否出错。
答案算出来crc校验码为1111,这咋算的啊,我算出来是1010
第一步11010和10101异或,答案算的是1101,我算的是1111。这咋算的?
答案计算步骤
11010010000
10101 ← 对齐最高位1,异或得 01101
1101 → 下移一位得 011010
10101 ← 对齐最高位0,商0,保留当前余数 011010
11010 → 下移一位得 110100
10101 ← 对齐最高位1,异或得 01101
1101 → 下移一位得 11010
10101 ← 对齐最高位1,异或得 01111
1111 → 最终余数 1111

我的计算步骤如下。麻烦指点一下。

img

  • 写回答

4条回答 默认 最新

  • 阿里嘎多学长 2025-03-14 13:23
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    CRC冗余校验的步骤

    CRC冗余校验是一种常用的数据传输错误检测方法。下面是使用 G(x) = x^4 + x^2 + 1(对应二进制 10101)生成CRC校验码的步骤:

    1. 将要传输的数据 1101001 转换为二进制:1101001
    2. 将二进制数据与 CRC 多项式 G(x) = x^4 + x^2 + 1(对应二进制 10101)进行异或操作:
      1101001 (数据)
      10101 (CRC 多项式)
      ----------------
      1101010
    
    1. 将结果右移 4 位(因为 CRC 多项式的最高次项是 x^4),并将结果与 CRC 多项式进行异或操作:
      1101010 (结果)
      10101 (CRC 多项式)
      ----------------
      1101001
    
    1. 重复步骤 3,直到结果为 0。

    2. 最后的结果即为 CRC 校验码。

    构造完整发送帧

    完整发送帧的格式为:数据 + CRC 校验码

    例如:

    1101001 (数据) + 1101001 (CRC 校验码) = 11010011101001

    接收方检测数据正确性

    接收方收到数据后,可以使用相同的 CRC 多项式和步骤来计算 CRC 校验码。如果计算的 CRC 校验码与接收到的 CRC 校验码相同,则可以确定数据正确无误。

    例如:

    接收方收到数据 11010011101001,计算 CRC 校验码:

      11010011101001 (数据)
      10101 (CRC 多项式)
      ----------------
      1101001
    

    计算的 CRC 校验码与接收到的 CRC 校验码相同,则可以确定数据正确无误。

    评论

报告相同问题?

问题事件

  • 修改了问题 3月14日
  • 修改了问题 3月14日
  • 修改了问题 3月14日
  • 创建了问题 3月14日