精华内容
下载资源
问答
  • 循环冗余码生成多项式的计算
    千次阅读
    2022-02-21 22:49:58

    题目给出两个已知条件

    1. 原始报文 or 信息序列(一串二进制数)

    例:110101

    1. 商定多项式 or 多项式的代数关系 or 该多项式对应的二进制数

    例:G(x)=x^3+x+1 or 1011

    求*(一般求这两种)*:

    1. 最终发送的报文 or 编码后的报文 or 循环冗余码(都是同一个东西)
    2. 附加冗余码

    例:

    需发送数据1101011011,采用CRC校验,生成多项式G(x)=x^4+x+1,求最终发送的数据。

    第一步:在信息序列后加0

    ​ 0的个数为:方法一:多项式最高次项的次数…4

    ​ 方法二:多项式二进制数的位数-1…5-1=4

    结果:11010110110000

    第二步:用加完0后的数去除(模二除法:【异或】“同0异1”)

    在这里插入图片描述

    第三步:将模二运算的余数(这个余数就是“附加冗余码”)添加在原始报文后,成为循环冗余码。

    最终结果: 11010110111110

    理论补充:

    将最终数据发送给接收端,再进行一系列运算:

    若余数为0–>说明无差错,若余数不为0–>直接丢弃

    解惑

    1. 关于已知的多项式如何转换为二进制数

    ​ 首先确定最高次项次数…4

    ​ 然后从这个数字降序写到0:4 3 2 1 0

    ​ 对比多项式:G(x)= x^4 + x + 1…(主要看指数)

    ​ 我们观察到有4 1 0(1是x的0次方,所以也算进去)

    ​ 最后在出现了的数字下面写1,没有出现的下面写0:

    ​ 4 3 2 1 0

    ​ 1 0 0 1 1

    最后得到的就是我们第二步要求出来的二进制数:10011

    2. 关于余数的位数(官方称作“冗余位”)

    冗余位就是我们第一步要求的0的个数,两种方法(前面已介绍)

    3. 所以说,还能求别的未知信息

    1. 冗余位
    2. 商定多项式转成二进制数

    4. 关于模二除法

    只要满足冗余位的个数就可以进行一次模二运算,直到上面掉落的数字无法满足位数为止。

    5. 关于余数前补0

    有时候模二除法最后算出来的数字比冗余位少,这个时候就要在附加冗余码前补0来满足位数,从而才能进行下一步。

    请注意

    我写的是1 2 3个步骤,是根据我自己的理解写的应该基本上都能看懂的计算步骤,不是规范的可以写到试卷上去的格式,考试拿分还是看你们老师怎么要求的。

    更多相关内容
  • CRC 循环冗余码计算方法

    万次阅读 多人点赞 2019-12-19 12:58:32
    商1,剩下的类似,全部过程如下 这个余数1101就是我们要找的冗余位 将信息位后面补的4个0换成余数,信息位变成1010001 1101 即得到CRC循环冗余码 如何检测信息有没有差错 若循环冗余码可以将生成多项式整除,...

    前言

    期末复习了,发现循环冗余码的计算方法老是忘,特此记录一下

    内容仅供参考,如果有不对的地方,敬请海涵,望多指教!

    计算步骤

    1. 计算冗余位的位数,即生成多项式的最高阶数

    2. 在信息位后补冗余位个数的0

    3. 将第二步的结果与生成多项式相除,这里采用的除法叫做模2除法,就是只要部分余数的高位为1,便可商1 之后上下做的减法是异或。

    4. 经过第三步不断地计算后得到余数
      将信息为后面补的0换成余数

    实例练习

    给定信息位为1010001 ,预先商定的多项式为X4+X2+X+1,求循环冗余码

    我们根据计算步骤走一遍就可以了。

    解:

    • 生成多项式最高阶数是4,所以冗余位的位数是4.
    • 信息位后补0,所以信息位变成了1010001 0000
    • 用信息位除生成多项式,即1010001 0000 除 10111
      计算过程如下:
      在这里插入图片描述
      最开始上1,上下相减,结果为00011 ,位数不够,商上两个0
      在这里插入图片描述
      够了,上1
      在这里插入图片描述
      上下相减 得01101,即1101
      在这里插入图片描述
      下来一个0,上1
      在这里插入图片描述
      上下相减,为01101 即1101

    在这里插入图片描述
    下来一个0,商1,剩下的类似,全部过程如下
    在这里插入图片描述
    这个余数1101就是我们要找的冗余位

    • 将信息位后面补的4个0换成余数,信息位变成1010001 1101

    即得到CRC循环冗余码

    如何检测信息有没有差错

    若循环冗余码可以将生成多项式整除,即没有差错,否则,存在错误。

    展开全文
  • 循环冗余码CRC的得到

    2022-05-12 18:41:26
    为了提高传输的可靠性,我们通常通过加冗余位来实现保护原始数据...CRC,循环冗余码,是一种比较常见的冗余码,那么如何得到循环冗余码呢?我们通过三个难度不同的例子来讲解一下。 round1 round2 round3 ...

    为了提高传输的可靠性,我们通常通过加冗余位来实现保护原始数据,实现差错控制,就类似于在快递运输中给需要保护的物品加上箱子。

    CRC,循环冗余码,是一种比较常见的冗余码,那么如何得到循环冗余码呢?我们通过三个难度不同的例子来讲解一下。

    生成多项式暗含的意思,你发现了吗?

    (1)由生成多项式可以得到除数

    (2)生成多项式的最高次幂是发送的原始序列需要补0的个数

    (3)生成多项式的最高次幂是二进制冗余码的位数

    round1

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNDYxNTU0MTc=,size_20,color_FFFFFF,t_70,g_se,x_16

     round2

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNDYxNTU0MTc=,size_20,color_FFFFFF,t_70,g_se,x_16

     round3 watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAbTBfNDYxNTU0MTc=,size_20,color_FFFFFF,t_70,g_se,x_16 

     

     

    展开全文
  • 多项式编码(polynomial code),也称为CRC(cyclic redundancy check,循环冗余校验),多项式编码的思想是:将位串看成是系数为0或1的多项式。CRC校验保护的单位是数据块。数据块的大小根据实际情况而定。每一个...
  • 循环冗余校验的基本思想和构造方法

    循环冗余校验码

    视频链接地址:
    https://www.bilibili.com/video/BV1BE411D7ii?from=search&seid=6420326887479343502
    

    前言

    在本篇中,你将掌握

    • 循环冗余校验码的基本思想和构造方法

    在这里插入图片描述

    1 循环冗余校验码

    在这里插入图片描述

    1.1 基本思想

    循环冗余校验码的思想:数据发送、接收方约定一个“除数”(二进制的除数)

    K个信息码 + R位校验码作为“被除数”,在检验时,判断余数是否为0来判断是否出错。

    让我们来看个例子,如下图,已知生成多项式G(x),信息码为101001,求对应的CRC码。
    在这里插入图片描述
    二进制的除法规则,如上图所示,其相除过程为首先判断被除数当前最高位是否为1,若为1,则当前商为1,否则为0;然后对被除数和除数做“模2减”,即异或;之后,在“模2减”后若位数不足在最高位补0,重复首先的步骤,直至最后得到商和余数。
    对于余数,余数的位数 = 除数的位数-1 = 校验码的位数。

    1.2 构造方法

    解法步骤

    1. 确定K、R以及生成多项式对应的二进制码
      K = 信息码长度 = 6,R = 生成多项式最高次幂 = 3 则校验码位数为 N = K+R = 9
      生成多项式G对应的二进制码为1101,对应x次幂的系数
    2. 移位
      信息码左移R位,低位补0(即在信息码后补R个校验位的0)
    3. 相除
      对移位后的信息码,用生成多项式进行模2除法,产生余数
      对应的CRC码:101001 001
      (相除过程见上图,其模2除法的余数 001 就是校验位)
    4. 检错和纠错
      发送方发送的数据为101001001记为 C 9 C 8 C 7 C 6 C 5 C 4 C 3 C 2 C 1 C_9C_8C_7C_6C_5C_4C_3C_2C_1 C9C8C7C6C5C4C3C2C1

    接收方对接收的数据用约定好的1101进行模2除,若余数为000,代表没有出错;若余数为010,代表 C 2 C_2 C2 C 9 C_9 C9出错,其余数和出错位对应关系如下图
    在这里插入图片描述

    1.3 纠错检错

    注意在上表中,出错位为1和8、2和9的余数两两相同,那么我们能推知循环冗余校验码只有检错的能力,而没有纠错的能力么?
     也不全对,因为在上述例子中,余数只有3位二进制码,只能表示8-1=7种(000表示没出错)出错位,但传输的位数为9位,故无法纠错。
    在这里插入图片描述
    对于确定的生成多项式,出错位与余数是相对应的

    如果出错的位数并没超过余数所能表示的范围,则余数和出错位之间就是一一对应的关系

    K个信息位,R个校验位,若生成多项式选择得当,且 2 R > = K + R + 1 2_R>=K+R+1 2R>=K+R+1则CRC码可以纠错

    2 小结

    在这里插入图片描述
    本篇重点:
    (1)循环冗余校验码的构造方法,如何通过给出的K个信息位和最高次为R的生成式构造循环冗余校验码(K个信息位 + R个校验位(余数));
    (2)循环冗余校验码的校验方法:通过与生成式模2除,得到R的余数,若为000则没错,否则出错,且有可能纠错

    本篇也是计算机网络的重点,需要熟练掌握CRC的计算构造方法。

    展开全文
  • CRC循环冗余码及其详细计算

    万次阅读 多人点赞 2020-09-21 20:35:05
    文章目录循环冗余校验的定义循环冗余校验的特点什么是模2运算CRC计算具体怎么校验 循环冗余校验的定义 循环冗余校验由信息n位和校验k位构成。k位校验位拼接在n位数据位后面,n+k为循环冗余校验的...
  • 循环冗余校验(CRC)计算源代码合集,里面包含了各种编程语言(包括C,C++,单片机等)CRC代码的实现
  • 循环冗余码

    2013-03-28 14:41:35
    循环冗余码(CRC)基础知识,涉及基本概念、多项式表达及移位寄存器实现
  • 这篇文章简单介绍了计算机网络中有关循环冗余校验的知识。
  • CRC 循环冗余码

    千次阅读 2020-09-13 13:45:49
    循环冗余码(CRC),又称为多项式码,是数据通信领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意选定。CRC 的工作方法是在发送端产生一个冗余码,附加在信息位后面一起发送到接收端,接收...
  • 循环冗余校验码中冗余码计算

    万次阅读 2019-06-24 22:55:04
    假设生成多项式为:g(x)=x4+x3+1;则对应g(x)的代码为: 11001 发送方:发出的传输字段为: 10110011010 接收方:使用相同的生成进行校验:接收到的字段/生成(二进制除法),如果能够除尽,则正确 除法没有数学上的...
  • CRC循环冗余码计算

    千次阅读 2020-07-19 14:02:21
    算法分为3个部分:要发送的数据(或接收的数据)、生成多项式、FCS帧校验序列(冗余码)。它是利用除法及余数的原理来作错误侦测的。 抽象例子帮助理解 9除2等于了2余数是1。其中9就好像是要发送的数据,2就像生成...
  • 如上,生成的二进制序列即为crc检验用到的除数,而crc校验即数据补0后除(模二运算除)以这个除数后的余数,检验位数比除数少一位,余数不足的位用0补足,数据补0即在原始数据后加上除数减一个0. 示例:原始...
  • 循环冗余校验CRC怎么算

    千次阅读 2020-11-23 22:58:45
    2.发送方基于待发送的数据和生成多项式计算出差错检验码(冗余码),将其添加到待传输数据的后边一起传输。 3.接收方通过生成多项式来计算收到的数据是否产生了误码 对于生成多项式,这里举个例子: G(x) = x4 + ...
  • 循环冗余校验解法简析

    千次阅读 2020-11-04 09:25:05
    生成多项式G(x)= x^3 + x^2+1,信息为101001,求对应的CRC,即循环冗余校验 解:
  • 循环冗余校验CRC

    2022-05-18 21:30:46
    循环冗余校验(CRC),简称循环,是一种常用的、具有检错、纠错能力的校验,在早期的通信中运用广泛。循环冗余校验常用于外存储器和计算机同步通信的数据校验。奇偶校验和海明校验都是采用奇偶检测为...
  • 循环冗余校验

    2020-05-12 16:43:24
    看图弄明白这个例子 解析 ...找出生成多项式的对应的二进制1101 信息位左边补R个0 移动后的信息除以多项式对应的二进制 相除的规则: 第一位是1就上1,然后进行异或运算 校验原理 ...
  • CRC循环冗余校验

    2022-04-03 16:51:33
    循环冗余校验由信息n位和校验k位构成。k位校验位拼接在n位数据位后面,n+k为循环冗余校验的字长 具有检错、纠错能力的校验 模二除法(模二除法的结果不等于普通除法) 当部分余数首位是1时商取1,反之商取0...
  • 循环冗余校验(CRC

    千次阅读 2022-03-16 14:45:19
    循环冗余校验(CRC循环冗余校验的思想: 数据发送、接受方约定一个“除数” K个信息位+R个校验位作为“被除数”,添加校验位后需保证除法的余数为0。收到数据后,进行除法检查余数是否为0,若余数非0说明...
  • 编写一个循环冗余码生成和验证程序(要求:模拟发送信息,噪声加入,检测验证,信息重发的过程) 1.计算校验和算法 假设一帧有m位,它对应于多项式M(x) (1)假设G(x)的阶为r。在帧的低位端加上r个0位,所以该帧...
  • 循环冗余检验-CRC的计算方法

    千次阅读 2021-09-18 10:20:58
    循环冗余 今天学习计算机网络的时候对于循环冗余校验不是很理解,所以在此总结并加深一下理解 使用循环冗余的目的 主要是用来检测或校验数据传输或者保存后可能出现的错误 原理 在发送端将数据划分为组,假定...
  • 海明码与循环冗余码

    2022-03-30 21:31:20
    软考知识点海明码和循环冗余码求解详细过程介绍
  • 循环冗余校验码计算CRC

    万次阅读 2015-05-15 17:19:30
    循环冗余校验,CRC
  • CRC 循环冗余校验计算方法

    万次阅读 2017-12-06 10:24:29
    循环冗余校验CRC(Cyclical Redundancy Check)字段位于尾部,有32位,有时称为IEEE/ANSI标准的CRC32.要使用一个n位CRC监测 数据传输错误,被检查的消息首先要追加n位0形成一个扩展消息(使用模2除法)除以一个n+1...
  • 在CAN系统中为保证报文传输的正确性,需要对通信过程进行差错控制。目前常用的方法是反馈重发,即一旦收到接收端发出的出错信息,发送端便自动重发,此时的差错控制只需要检错功能。
  • 计算机网络:循环冗余码CRC

    千次阅读 2021-01-13 19:40:28
    循环冗余码(CRC)又称为多项式编码,将任何一个由二进制位串组成的编码,与一个只含有0和1两个系数的多项式建立一一对应关系。如:位串1010111对应的多项式为;多项式对应的位串为101111。 多项式的算术运算采用代...
  • 循环冗余码校验码计算

    千次阅读 2017-09-13 00:07:50
    CRC生成多项式为 X4+X2+1 ,假设待发送信息的多项式 M(X)=X7+X5+X4+X+1, 计算 CRC的校验? 1、将生成多项式G(X)=X4+X2+1转换成对应的二进制除数10101. 2生成多项式有5位(R+1)所以CRC有4位 所以原信息为...
  • 计算机网络冗余码计算

    千次阅读 2020-06-18 15:18:53
    标题CRC循环冗余计算 假设CRC生成多项式G(X)=X5+X4+X+1,要发送的二进制数据帧为100101110,求CRC校验: ①把生成多项式转换为二进制数:110011; ②由生成多项式的位数为6可知,CRC校验的位数为5,所以在数据帧...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,597
精华内容 1,838
关键字:

循环冗余码生成多项式的计算