计算机网络:循环冗余码CRC
循环冗余码(CRC)又称为多项式编码,将任何一个由二进制位串组成的编码,与一个只含有0和1两个系数的多项式建立一一对应关系。如:位串1010111对应的多项式为;多项式对应的位串为101111。
多项式的算术运算采用代数域理论的规则。以2为模来完成,即加法没有进位,减法没有借位,模2加法和模2减法都等同于亦或运算。
CRC编码原理:
使用CRC时,发送方和接收方必须预先商定一个生成多项式G(X),发送方编码和接收方校验都是利用预先商定的生成多项式来得到。假设G(X)的阶为r,发送方要发送的信息位为k位,CRC的基本思想就是在信息位的尾部追加一个r位的冗余位,使得信息位与冗余位构成的码字所对应的多项式能够被G(X)除尽。当接收方收到码字之后,用G(X)去除对应的码字,如果有余数则表示传输过程中有错误。
CRC具体编码过程:
①收发双方预先商定一个生成多项式G(X),最高次数为r。——>②将发送方要发送的信息位转换为对应的多项式K(X)。——>③G(X)去除K(X)得到的余式就是冗余位对应的多项式R(X)。——>④发送的码字(信息位+冗余位):T(X)=K(X)+R(X)。
CRC编码举例说明:
发送方要发送的信息位为:1010001,对应的多项式K(X)=,生成多项式为G(X)=;由此可知冗余位的位数为 r =4,因此K(X)=(10100010000)。
G(X)去除K(X):
通过除法运算可知,R(X)=1101;故发送的码字(信息位+冗余位):T(X)=K(X)+R(X)=10100011101。
CRC的相关重要性质:
G(X)含有X+1的因子,则能检测出所有的奇数错误。
若G(X)中不含有X的因子,换句话说,G(X)中含有常数项1,那么能检测出所有突发长度的突发错误。
若G(X)中不含有X的因子,而且对于任何的e,除不尽+1,则能检测出所有的双错。
若G(X)中不含有X的因子,则对于突发长度为r+1的突发错误的漏检率为。
若G(X)中不含有X的因子,则对于突发长度的突发错误的漏检率为。
Ending... ...
计算机网络:循环冗余码CRC相关推荐
- 【计算机网络】CRC校验码||循环冗余码详解及计算习题
[计算机网络]CRC校验码||循环冗余码详解及计算习题
- 计算机网络数据链路层检错编码 --- 循环冗余码CRC
实例说明 假如要发送的数据是1101 0110 11, 采用CRC校验, 生成多项式是10011, 那么最终发送的数据应该是? 发送端发送过程: 1. 最终发送的数据 = 要发送的数据 + 帧检验序列 ...
- 循环冗余码CRC使用matlab实现
循环冗余编码 基本思想:发送端按照给定的规则,在k个信息比特后面增加L个按照某种规则计算的校验比特:在接收端对收到的信息比特重新计算L个校验比特.比较接收到的校验比特和本地重新计算的校验比特,如果相同 ...
- 【计算机网络】CRC校验码的代码实现
实验目的 应用所学知识,编写代码实现CRC计算和验证功能,并验证CRC编码检验的成功率. 实验步骤 ①我们先进行CRC校验码的设计部分,我使用的是Python程序设计语言. CRC校验的核心原理就是模 ...
- 3.3.1网络原理数据链路层之差错控制(检错编码和纠错编码)-(奇偶校验码、CRC循环冗余码、海明码)
文章目录 0.脑图时刻 1.为什么会出现差错? 2.检验和纠正差错的编码方法 (1)关于数据链路层和物理层的编码区别 (2)冗余编码 3.检错编码 (1)奇偶校验码 (2)循环冗余码(CRC) 4.纠 ...
- 3.3.1网络原理数据链路层之差错控制(检错编码和纠错编码)->(奇偶校验码、CRC循环冗余码、海明码)(转载)
原文链接:https://blog.csdn.net/weixin_43914604/article/details/104864783 本博客为个人学习.研究或者欣赏用,如有侵权,请与我联系删除,谢 ...
- 数据链路层之差错控制(检错编码和纠错编码)-(奇偶校验码、CRC循环冗余码、海明码)...
思维导图 为什么会出现差错? 检验和纠正差错的编码方法 关于数据链路层和物理层的编码区别 冗余编码 检错编码 关于检验码和纠错码中的奇偶校验码.循环冗余码(CRC).海明码可参考我之前写的:校验码(一 ...
- 【计网】计算机网络期末总复习-谢希仁(个人总结)理论概念
文章目录 计算机网络期末复习(个人总结) 第一章 概述 第二章.物理层 第三章 数据链路层 第四章 网络层 第五章 运输层 第六章 应用层 其他补充 算法和协议 题目 计算机网络期末复习(个人总结) ...
- 回退n帧协议c语言代码,[计算机网络]Ch.3 数据链路层
数据链路层 1.DLL层设计问题 1.1 DLL层·功能 数据链路层使用物理层提供的服务在通信信道上发送和接收比特. (1) 向网络层提供一个定义良好的接口 (2) 处理传输错误 (3) 调节数据流, ...
- 计算机网络考试试题库-期末考试题库含答案
一.选择题(第一章 1-10:第二章 11-20;第三章21-35:第四章36-60 :第五章 61-73道:第六章 74-84道:第七章85-90:第九章91-95:第十章96-100) 1.下列四 ...
最新文章
- 对《Python核心编程》中“第一个Python程序”的改进
- window7环境下安装neo4j server版本踩坑记录
- java ,c# 解决安全沙箱问题
- tomcat启动成功 未加载项目_欣冠精密eHR系统项目成功启动
- 查找字符串中第一个只出现一次的字符
- picturectrl控件中加载图片并显示_如何在EasyX窗体中显示图片
- .NET5来了你别慌
- java+包装类,装箱和拆箱_Java包装类,装箱和拆箱详解
- MySQL基础(三)表关系及数据的增删改查
- 克里斯蒂安贝尔_克里斯蒂安·贝尔近照!蝙蝠侠骑单车买咖啡,动作娴熟似外卖小哥...
- JQuery文件上传插件ajaxFileUpload在Asp.net MVC中的使用[转载]
- Windows mobile 下读取手机SIM卡信息
- 如何在Java中针对XSD验证XML
- ssh无密码登录设置方法以及出现问题 ECDSA host key 和IP地址对应的key不同的解决...
- 【msm8953】gpio口模拟pwm详细步骤
- WPS Excel+windows批处理批量重排序文件夹
- Windows 已经激活,但是显示副本不是正版的解决办法
- selected和checked区别
- 这个行业一半人月薪超过8千!
- ARP(地址解析协议)和RARP(逆地址解析协议)
热门文章
- php 判断字幕,100个影视或字幕网站
- 网传华为员工未加班领夜宵被冻薪降考评,并终身不得领夜宵
- myd导入mysql_数据库是.frm,.myd,myi备份如何导入mysql
- kubernetes 非安全部署
- 证件照尺寸及背景颜色值
- c 语言if函数嵌套使用方法,if函数的嵌套怎么用?
- 做webgl遇到的两个坑
- (数据结构)树的深度/高度
- 要学习使用 calib3D 模块在图像中创建 3D 效果-姿势估计
- bilibili怎么用用户名登录_b站账号(bilibili免费账号密码)