希赛考试网
首页 > 软考 > 软件设计师

循环冗余码的计算方法

希赛网 2023-12-03 09:53:33

循环冗余码(Cyclic Redundancy Check, CRC)是一种广泛应用于数字通信和计算机存储中的校验码。它能够检测数据传输或存储中的错误,并防止数据误码。本文将从循环冗余码的定义、计算方法、应用以及优缺点四个角度进行分析。

一、定义

循环冗余码的定义是:它是一种在数字通信数据传输过程中,用于检测数据是否被改变的错误校验码。

它通过对待传输的数据进行异或处理,最终生成一组短而固定的校验码,这些校验码被附加在原始数据的尾部,一同传输或存储,接收方再次通过异或处理来验证数据的完整性,从而确保了数据的正确传输和存储。

二、计算方法

循环冗余码的计算方法主要有两种:按位计算和矩阵计算。

按位计算的步骤如下:

1. 首先要选定生成多项式G(x),通常为低阶的二进制数码,如G(x)=x3+x+1,其中x3表示x的立方。

2. 将原始数据D(x)乘以x的次数等于G(x)的次数减一,例如若G(x)=x3+x+1,则将D(x)乘以x2。

3. 对于初始数据D(x)加上所得的余数R(x),从而生成所谓的带校验位的数据码T(x),其中T(x)=D(x)x(k-1)+R(x),k是数据码的长度。

4. 发送带有校验位的数据T(x)。

矩阵计算的步骤如下:

1. 首先构建一个与数据码长度相关的n×(n-k+1)的矩阵G,并依据所选的生成多项式G(x)进行计算。例如若G(x)=x3+x+1,并且数据码的长度为k=5,则矩阵G为:

1 0 0 1 1

1 1 0 0 1

0 1 1 0 1

2. 将数据码和矩阵G进行相乘,得到一个长度为n的二进制向量,即为传输数据码。

3. 发送传输数据码。

三、应用

循环冗余码的应用非常广泛,主要有以下几个方面:

1. 用于计算机存储中的数据校验。

2. 用于计算机网络通信中的数据校验。

3. 用于CD、DVD和蓝光光盘等存储介质数据校验。

4. 用于移动通信中的数据校验。

5. 用于数字电视广播中的数据校验。

四、优缺点

循环冗余码的优点在于:

1. 简单易实现。

2. 误检率低。

3. 可检测的错误种类多。

4. 具有高效性和可靠性。

缺点在于:

1. CRC值会造成一定的冗余。

2. 相同的CRC值可能会造成数据的误判。

3. 生成多项式的选择对数据的检错能力有很大影响。

微信扫一扫,领取最新备考资料


软考.png


软件设计师 资料下载
备考资料包大放送!涵盖报考指南、考情深度解析、知识点全面梳理、思维导图等,免费领取,助你备考无忧!
立即下载
软件设计师 历年真题
汇聚经典真题,展现考试脉络。精准覆盖考点,助您深入备考。细致解析,助您查漏补缺。
立即做题

软考报考咨询

微信扫一扫,定制学习计划