$2.5.3循环冗余码

奇偶校验码作为一种检错码虽然简单,但是漏检率太高。在计算机网络和数据通信中用E得最广泛的检错码,是一种漏检率低得多也便于实现的循环冗余码CRC (Cyclic Redundancy .Code),CRC码又称为多项式码。

任何一个由二进制数位串组成的代码,都可以惟一地与一个只含有0和1两个系数的多项式建立一一对应的关系。例如,代码1010111对应的多项式为X6+X4+X2+X+1,同样.多项式X5+X3+X2+X+1对应的代码为101111。

CRC码在发送端编码和接收端校验时,都可以利用事先约定的生成多项式G(X)来得到。 k位要发送的信息位可对应于一个(k-1)次多项式K(X),r位冗余位则对应于一个(r-1)次多项式R(X),由k位信息位后面加上r位冗余位组成的n=k+r位码字则对应于一个(n-1)次多项式T(X)=Xr·K(X)+R(X)。例如

由信息位产生冗余位的编码过程,就是已知K(X)求R(X)的过程。在CRC码中可以通过找到一个特定的r次多项式G (X)(其项Xr的系数恒为1),然后用Xr·K(X)去除以G(X),得到的余式就是R(X)。特别要强调的是,这些多项式中的"+"都是模2加(也即异或运算);此外,这里的除法用的也是模2除法,即除法过程中用到的减法是模2减法,它和模2加法的运算规则一样,都是异或运算,这是一种不考虑加法进位和减法借位的运算,即

0+O=0,0+1=1,1+0=1,1+1=0

0-0=0,0-1=1,1-0=1,1-1=0

在进行基于模2运算的多项式除法时,只要部分余数首位为1,便可上商1,否则上商0。然后按模2减法求得余数,该余数不计位。当被除数逐位除完时,最后得到比除数少一位的余数。此余数即为冗余位,将其添加在信息位后便构成CRC码字。

仍以上例中K(X)=X6+X4+X3+1为例(即信息位为1011001),若G(X)=X4+X3+1

(对应代码11001),取r=4,则X4·K(X)=X10+X8+X7+X4(对应代码为0110010000),其由模2除法求余式R(X)的过程所示如下:

得到的最后余数为1010,这就是冗余位,对应R(X)=X3+X。

由于R(X)是Xr·K(X)除以G(X)的余式,那么下列关系式必然满足

Xr·K(X)=G(X)Q(X)+R(X)

其中Q(X)为商式。根据模二运算规则R(X)+R(X)=0的特点,可将上式改记为

[Xr-K(X)+R(X)]/G(X)=Q(X)

即 T(X)/G(X)=Q(X)

由此可见,信道上发送的码字多项式T(X)=Xr-K(X)+R(X)。若传输过程无错,则接收方收到的码字也对应于此多项式,也即接收到的码字多项式能被G(X)整除。因而接收端的校验过程就是将接收到的码字多项式除以G(X)的过程。若余式为零则认为传输元差错;若余式不为零则传输有差错。

例如,前述例子中若码字10110011010经传输后由于受噪声的干扰,在接收端变成为10110011100,则求余式的除法如下:

求得的余式不为零,相当于在码字上面半加上了差错模式00000000110。差错模式对应的多项式记为E(X),上例中E(X)=X2+X。有差错时,接收端收到的不再是T(X),而是T(X)与E(X)之模二加,即

[T(X)+E(X)]/G(X)=T(X)/G(X)+E(X)/G(X)

若E(X)/G(X)=0,则这种差错就能检测出来;若E(X)/G(X)=0,那么由于接收到的码字多项式仍然可被G(X)整除,错误就检测不出来,也即发生了漏检。

理论上可以证明循环冗余校验码的检错能力有以下特点:

(1)可检测出所有奇数位错。

(2)可检测出所有双比特的错。

(3)可检测出所有小于、等于校验位长度的突发错。

计算机网络基础知识之循环冗余码.doc

下载Word文档到电脑,方便收藏和打印[全文共1365字]

编辑推荐:

下载Word文档

计算机网络冗余,计算机网络基础知识之循环冗余码相关推荐

  1. 计算机网络有哪些技能知识,计算机网络技术的基础知识

    计算机网络技术的基础知识 什么是网络技术?我们将地理位置不同,具有独立功能的多个计算机系统,通过通信设备和线路互相连接起来,使用功能完整的网络软件来实现网络资源共享的大系统,称为计算机网络.下面跟小编 ...

  2. 计算机网络专业的基础知识,计算机网络专业基础知识.doc

    计算机网络专业基础知识 一.填空题 计算机网络按可以分为 和 . 和 . 对导线组成, 对进行. TCP 服务,UDP可以提供 服务. 层,路由器工作在 层. ,其中 经常处于守候状态. , . 协议 ...

  3. 计算机管理员基础知识,计算机网络管理员(基础知识)

    <计算机网络管理员(基础知识)>由中国就业培训技术指导中心按照标准.教材.题库相衔接的原则组织编写,是国家职业技能鉴定推荐辅导用书.书中内容根据<国家职业标准?计算机网络管理员> ...

  4. 【计算机网络 22】基础知识总结

    一.TCP/IP协议概述 在TCP/IP协议栈,传输层有两个协议TCP和UDP TCP(Transmission Control Protocol,传输控制协议)协议:负责将要传输的文件分段 进行传输 ...

  5. 计算机网络与网络管理 基础知识

    计算机网络与网络管理 一.对下列各图进行说明(40题) 1. 答:图中主机A向主机F发生数据包时,通过中间链路及B和E路由器,路由器到路由器,路由器到主机之间是跳到跳的传输,而主机之间是端到端的传输. ...

  6. 计算机网络软考基础知识,软考基础知识专题5:计算机网络知识

    全国计算机资格与水平考试软件设计师复习资料 专题五:计算机网络知识 1.计算机网络知识 1.1计算机网络知识概述: 计算机网络的发展: 计算机网络就是采用通信手段,将地理位置分散的,各自具备自主功能的 ...

  7. 【计算机网络】网络基础知识和TCP/IP协议族

    一.计算机网络产生 二.概要----七层 三.计算机使用模式的演变 四.OSI参考模型 五.OSI参考模型中各个分层的作用 六.OSI参考模型----通信处理举例 七.网络的构成要素 八.TCP/IP ...

  8. 计算机网络(Computer Networking)基础知识--第一章--计算机网络和因特网

    -> 第二章–应用层 第一章 计算机网络和因特网(Computer Networks and Internet) 首先在这里再次声明一下,本系列博客内容参考北京交通大学软件学院计算机网络课程的教 ...

  9. 计算机网络或计算机基础知识点滴1

    今天在优酷的官网看了一个视频,下载了优酷的PC的客户端,然后在优酷的客户端的搜索该视频,点击下载的按钮,结果弹出的以下的图框: 从上面的文件地址可以看出优酷客户端也是走的是http服务或ftp服务,所 ...

  10. 计算机网络 IP地址基础知识

    目录 IP地址定义 IP地址由网络和主机两部分标识组成 IP地址的分类 A类地址 B类地址 C类地址 D类地址 关于分配IP主机地址的注意事项 广播地址 两种广播 IP多播 子网掩码 CIDR与VLS ...

最新文章

  1. 小程序picker_小程序·云开发实战 - 迷你微博
  2. python跟java 效率_对比平台--Java与Python之间的性能差异
  3. B站上线!DeepMind加UCL强强联手推出深度学习与强化学习进阶课程(附视频)
  4. 服务器删除网站文章,如何一次性删除wordpress所有文章
  5. redis慢查询使用总结
  6. idea+maven打包Java项目
  7. 事务控制 新增后修改_分布式事务科普(初识篇)
  8. __clone class php_「PHP 技巧」 不要直接克隆对象,请使用深拷贝
  9. MQTT工作笔记0009---订阅主题和订阅确认
  10. Android开发笔记(六十一)文件下载管理DownloadManager
  11. Linux(Ubuntu)使用日记------ssh远程登录腾讯云
  12. 关于equals和==的几个注意点
  13. 我的世界HMCL安装与使用
  14. SSM框架原理以及流程
  15. 软件测试之逻辑思维题
  16. 素数and约数and反素数
  17. font-family:微软雅黑在moc上显示无效的解决办法
  18. 中国LVDT RVDT传感器市场现状研究分析与发展前景预测报告(2022)
  19. Qt sql中出现的错误 Error: unable to open database “D:\Qt“: unable to open database file
  20. MTBF平均故障间隔时间

热门文章

  1. Readyboost技术U 盘变内存,加速电脑(只针对Windows 7和Vista系统)
  2. SCI收录的期刊查询
  3. 初探MYD-AM335x开发板
  4. 用Xbox360游戏手柄通过python代码控制树莓派4B点亮LED灯
  5. 各向异性扩散 matlab,各向异性扩散PM模型原理与C++实现
  6. 软件测试面试——常见的面试问题总结(大全)
  7. 多因素cox回归结果解释 第二十八讲 R语言-Cox比例风险模型1 - 知乎 (zhihu.com)
  8. 现代软件工程 习而学的软件工程教育
  9. 微信H5缓存解决方案,适用于uniapp被微信缓存页面导致空白【微信公众号缓存】
  10. JavaScript截取文件扩展名