版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、武汉理工大学计算机网络课程论文武汉理工大学计算机网络课程论文题目循环冗余校验(CRC算法的实现作 者 学院信息工程学院专业电子信息工程学号指导教师二。一六年四月十四日武汉理工大学计算机网络课程论文武汉理工大学信息工程学院课程论文诚信声明本人声明:所呈交的课程论文,是本人在指导老师的指导下, 独立开展工作所取得的成果,成果不存在知识产权争议,除文中 已经注明引用的内容外,本课程论文不含任何其他个人或集体已 经发表或创作过的作品成果。对本文工作做出重要贡献的个人和 集体均已在文中以明确方式标明。本人完全意识到本声明的法律 结果由本人承担。本科课程论文作者签名:二O六年四月十四日课程论文成绩评定表质
2、量评价指标(在相应栏目打V7)评价项目论文与设计评价质量按对应项目打分工作成日态度(10分)分析问题能力(10分)解决问题能力(10分)内容完整层次分明(10分)设计、实验正确性(10分)书写规范(10分)流程图或拓扑图(10分)论证充分(10分)测试结果情况(10分)总体评价(10分)评定成绩(100分制)指导教师签名年 月 日III武汉理工大学计算机网络课程论文目录一、选题背景 11. 设计要求 12. 循环冗余CRO介 13. 应解决的主要问题 2二、方案论证 21. 循环冗余检验的原理 22. 方案的选择及特点 4三、过程论述 81. 第一部分 82. 第二部分 93. 第三部分 11
3、4. 第四部分 11四、结果分析 121. CRC算法的实现 122. 突变的产生和校验结果 133. 无法检错的实例 14五、总结 15心得体会 17参考文献 17附件一:程序源代码 18iii武汉理工大学计算机网络课程论文一、选题背景题目17循环冗余校验(CRQ算法的实现1、设计要求(1) 利用结构体或数组模拟网络数据包结构。(2) 编码实现CRC®法,并将得到的校验位附加到网络数据包相应的位置。(3) 根据数据包的长度,随机生成一个数据包产生突变的位置,并对该位 置的bit位模拟突变的产生。(4) 重新利用CRCS法校验该数据包,并指出产生的结果。(5) CRCte够检出所有的
4、错误吗?如果不能,你能构造出无法检错的实例 吗?2、循环冗余CRCW介循环冗余校验码(CRCM, CRC=Cyclic Redundancy Check):是数据通信 领域中最常用的一种差错校验码,其特征是信息字段和校验字段的长度可以任意 选定。CRC3是由两部分组成,前部分是信息码,就是需要检验的信息,后部分 是检验码,采用的是一种多项式的编码方法。循环码和码字多项式是CRCt的两 个基本概念。CRC校验的基本思想是利用线性编码理论,在发送端根据要传送的 k位二进制码序列,以一定的规则产生一个校验用的监督码( CRC码)n位,并 附在信息后边,构成一个新的二进制码序列数共 (k+n)位,最后
5、发送出去。在 接收端,则根据信息码和 CRC码之间所遵循的规则进行检验,以确定传送中是 否出错。循环冗余校验码CRC®一种高效率且可靠的方法,由线性分组码分支而来 的,是一种通过多项式除法检测错误的很不寻常而乂巧妙的方法,一方面它有很强的检测能力,二是它的编码器电路及错误检测器电路都很容易实现 ,它的 优点使它在通信系统中得到了广泛的应用。现实的通信链路都不会是理想的。这 就是说,比特在传输过程中可能会产生差错:1可能会变成0,而0也可能变成1。 这就叫做比特差错。比特差错是传输差错中的一种。 在一段时间内,传输错误的 比特占所传输比特总数的比率称为误码率 BEG误码率与信噪比有很大
6、的关系。如果设法提高信噪比,就可以使误码率减小。实际的通信链路并非是理想的,它 不可能使误码率下降到零。因此,为了保证数据传输的可靠性,在计算机网络传 输数据时,必须采用各种差错检测措施。目前在数据链路层广泛使用了循环冗余 检验CRC勺检错技术。3、应解决的主要问题(1) 选用哪种软件实现编程:MATLA瞑有程序结构控制、函数调用、数据结构、输入输出、面向对象等 程序语言特征,而且简单易学、编程效率高。MATLA提供了一个人机交互的数学系统环境,该系统的基本数据结构是矩阵,在生成矩阵对象时,不要求明确的 维数说明。与利用C语言作数值计算的程序设计相比,利用 MATLABT以节省大 量的编程时间
7、。本次大作业采用数组模拟网络数据包结构,采用MATLA醐作简单,结果明了,故用MATLAtg序语言实现CRCK验的程序设计。(2) 理想的循环冗余校验算法应具有以下特征:CR(Jg同的数据多次,每次得到的 CRCfi应该相同。这也是通信过程中通过 CRCK验数据在收发过程中是否出错的基本依据。CR齐同的数据得到的CRCM应该不等。(尽管通过估计伪造可能得到相同 的CRC©,但要确保这种概率很小)对丁 32位的CRC说,它能区分2A32的数据,即长度为2A32的两个数据, 只要有任何两位的值不同,它们分别经过 CRE得到的CRCfi就不同。(3) 如何实现CRCT法过程:本次设计采用模
8、2除法运算求余数,程序中可表示为将待传送数据与生成多 项式逐位异或。因为待传送数据的位数不确定,一一编写容易出错且麻烦,不易 丁修改数据,因此在程序中采用for循环语句来逐位求解最终得到余数。二、方案论证1、循环冗余检验的原理在发送端,先把数据划分为组,假定每组 k个比特。现假定待传送的数据M=101001 (k=6)。CRC算就是在数据M的后面添加供差错检测用的n位冗余 码,然后构成一个帧发送出去,一共发送(k+n)位。在所要发送的数据后面增 加n位的冗余码,虽然增大了数据传输的开销,但却可以进行差错检测。当传输 可能出现差错时,付出这种代价往往是很值得的。这n位冗余码可用以下方达得出。用二
9、进制的模2运算进行25乘M的运算, 这相当丁在M后面添加n个0。得到的(k+n)位的数除以收发双方事先商定的 长度为(n+1)位的除数P,得到商是Q而余数是R(n位,比P少一位)。关丁除数 P,在图2-1所示的例子中,M=101001叩k=6)。假定除数P=1101(即n=3)。经 模2除法运算后的结果是:商Q=110101悠个商并没有什么用处),而余数R=001。 这个余数R就作为冗余码拼接在数据 M的后面发送出去。这种为了进行检错而添 加的冗余码常称为帧检验序列 FCS因此加上FCS后发送的帧是101001001(即 2An*M+FCS)共有(k+n)位。110101 Q (商)P(除数)
10、t 1101/ 10100100g2An*M(被除数)11011110110101110000 布01101 0110 0000 1100 1101001 R (余数),作为FCS图2-1说明循环冗余检验原理的例子在接收端把接受到的数据以帧为单位进行CRC佥验:把收到的每一个帧都除以同样的除数P (模2运算),然后检查得到余数R。如果在传输过程中无差错,那么经过 CRC佥验后得到的余数R肯定是0。但 如果出现误码,那么余数 R仍等丁零的概率是非常非常小的。总之,在接收端对收到的每一帧经过 CRC佥验后,有以下两种情况:(1)若得到的余数R等丁 0,则判定这个帧没有差错,就接受(accept)。
11、(2)若余数R不等丁 0,则判定这个帧有差错(但无法确定究竟是哪一位 或哪几位出现了差错),就丢弃。一种较方便的方法是用多项式来表示循环冗余检验过程。在上面的例子中,用多项式P(X)=XA3+XA2+1表示上面的除数P=1101(最高位对应丁 XA3,最低位对应丁 XA0)。多项式P(X)称为生成多项式。现在广泛使用的生成多项式 P(X)有 以下几种:CRC-16=XA16+XA15+XA2+1CRC-CCITT=XA16+XA12+XA5+1CRC-32=XA32+XA26+XA23+XA22+XA16+XA12+XA11+XA10+XA8+XA7+XA5+XA4+XA 2+X+1在数据链路
12、层,发送端帧检验序列FCS的生成和接收端的CRC佥验都是用硬 件完成的,处理很迅速,因此并不会延误数据的传输。如果在传送数据时不以帧为单位来传送,那么就无法加入冗余码以进行差错 检验。因此,如果要在数据链路层进行差错检验,就必须把数据划分为帧,每一 帧都加上冗余码,一帧接一帧地传送,然后在接收方逐帧进行差错检验。2、方案的选择及特点由丁本次编程需要达到五点要求,因此进行逐一分析。在MATLABK数组的表现方式很简单,故采用数组模拟网络数据包结构。要实现题目的五点要求,必须先理活循环冗余检验CRO法的具体计算过程,以此为基础编写程序,再在初始算法程序上继续修改和添加来实现产生突变 等的情况。关丁
13、 CR醇法过程,在阐述原理时已有大致讲到,一下是统一细致的 分析。2.1 CRC编码规则CRCS是由两部分组成,前部分是信息码,就是需要校验的信息,后部分是 校验码,如果CR况共长n个bit ,信息码长k个bit ,就称为(n,k)码。它的 编码规则是:(1)移位将原信息码(kbit)左移r位(k+r=n)(2)相除运用一个生成多项式g(x)(也可看成二进制数)用模2除上面的式子,得 到的余数就是校验码。非常简单,要说明的:模2除就是在除的过程中用模2加,模2加实际上就 是我们熟悉的异或运算,就是加法不考虑进位,公式是:0+0=1+1=0,1+0=0+1=1即'异'则真,
14、9;非异'则假。由此得到定理:a+b+b=a也就是模2减和模2加直值表完全相同。有了加减法就可以用来定义模 2除法,丁是就可以用生成多项式g(x)生成CRC 校验码。2.2 CRC码的生成步骤第一步:在数据单元(k位)的末尾加上n个0o n是一个比预定除数的比 特位数(n+1)少1的数。第二步:采用二进制除法将新的加长的数据单元(k+n位)除以除数。由此 除法产生的余数就是循环冗余码校验码。第三步:用从第二步得到的n个比特的CRCM替换数据单元末尾附加的n 个0。如果余数位数小丁 n,最左的缺省位数为0。如果除法过程根本未产生余 数(也就是说,原始的数据单元本身就可以被除数整除)那么以
15、 n个0作为CRC 码替换余数所在的位置。产生的比特模式正好能被除数整除。2.3 CRC校验过程展示假设数据传输过程中需要发送15位的二进制信息g=101001110100001,这 申二进制码可表示为代数多项式 g(x)=xA14+xA12+xA9+xA8+xA7+xA5+1,其中g 中第k位的值,对应g(x)中xAk的系数。将g(x)乘以xAm,既将g后加m个0, 然后除以m阶多项式h(x),得到的(m-1)阶余项r(x)对应的二进制码r就是CRC 编码。h(x)可以自由选择或者使用国际通行标准,一般按照h(x)的阶数m将CRO法称为 CRC-m 比如 CRC-32 CRC-64I?。g(
16、x)和h(x)的除运算,可以通过g和h做xor (异或)运算。比如将11001 与10101做xor运算如图2-2 ::1 ! 1 i 0 ! 0 ; 1 :;1。1 i °«1 j:0 « 1 * 0 :0 厂I1VIII图2-2 11001与10101做xor运算所得结果明白了 xor运算法则后,举一个例子使用 CRC-嘛法求101001110100001 的效验码如图2-3所示。CRC-晰准的h(x) = xA8 + xA7 + xA6 + xA4 + xA2 + 1,既h是9位的二进制申111010101。go h101001110100001000000
17、00111010101gi01001101110000100000000h1110101010111000100000100000000h111010101g3©W10001000100000000h111010101§401100010000000000h111010101gs0010111010000000h111010101g&©1010000100000h111010101g70100101110000h111010101gs011111011000h111010101r00010001100图2-3使用CRC-8M法求10100111010000
18、1的效验码经过迭代运算后,最终得到的r是10001100,这就是CRCM验码。通过示例,可以发现一些规律,依据这些规律调整算法:(1) 每次迭代,根据gk的首位决定b, b是与gk进行运算的二进制码。若 gk的首位是1,则b=h,如图2-4所示;若gk的首位是0,则b=0,或者跳过此 次迭代,如图2-5所示,上面的例子中就是碰到0后直接跳到后面的非零位。gk首位是1g/c b = h11111011000111010101r00010001100图2-4 gk首位为1时的情况gk首位是0gk b = 0011110110000r01111011000图2-5 gk首位为0时的情况(2) 每次迭
19、代,gk的首位将会被移出,如图2-6所示,所以只需考虑第2 位后计算即可。这样就可以舍弃 h的首位,将b取h的后m位。比如CRC-8的h 是 111010101, b 只需是 11010101。gkM1U011000b11010101r0010001100图2-6首位移出过程(3)每次迭代,受到影响的是gk的前m位,所以构建一个m位的寄存器S,此 寄存器储存gk的前m位。每次迭代计算前先将S的首位抛弃,将寄存器左移一 位,同时将g的后一位加入寄存器。若使用此种方法,计算步骤如图2-7所示:S 10100111g:10100111010000100000000s' 01001110b 1
20、1010101S首位:1S 10011011g:10100111010000100000000s 00110111b 11010101S首位:1S 1L1100010g:10100111010000100000000s 11000100b 11010101S首位:1S ()0010001g:10100111010000100000000s 00100010b0S首位:0S ()0100010g:10100111010000100000000s 01000100b0s首位:0图2-7使用寄存器计算的步骤三、过程论述了解到CRC勺具体计算过程后,可以开始构造基本程序架构。以for循环来 建立迭代运
21、算,按照题目要求,可将程序分为四个部分进行编写。1、第一部分该部分利用数组模拟网络数据包结构, 编码实现CRW余算法。程序流程图 如图3-1所示。开始.构建数组M取其长度L、构建生成多项式添加冗余位、k=0初始化余数数组R2、第二部分该部分将得到的校验位附加到网络数据包相应的位置,并将添加了帧检验序列FCS的数据继续以模2除法进行CRC佥验。程序流程图如图3-2所示。14将生成余数序列的冗余位叠加到编码序列图3-2第二部分程序流程图3、第三部分该部分实现了根据数据包的长度,随机生成一个数据包产生突变的位置,并 对该位置的bit位模拟突变产生的过程。按照要求,先利用i=ceil(rand(1,1
22、)*r)函数来随机抽取数组中的一个位,其中r为该数组的长度。再将该位的值进行取反再放回,生成一个某位发生突变 的新数组。重新利用CRO法校验该数据包,并指出产生的结果。由丁检验方法 与第二部分一致,因此程序流程图与第二部分的流程图(图 3-2)基本一致,此 处不再绘制。4、第四部分该部分构造出了一个无法被CRC佥错的实例,来验证CR馄否能够检出所有 的错误。通过查阅资料,我了解到了 CRCK验的检错性能。CRCK验码的检错能力与 其生成多项式密切相关。生成多项式的次数越高,其检错能力越强。若CRCK验 的生成多项式的最高次籍为r,则该CRCK验码的检错性能如下:(1) 可检出所有奇数个错误;(
23、2) 可检出所有2bit个错误;(3) 可检出所有长度=r个bit的突发错误;(4) 对丁长度=(r+1)个bit的突发错,其漏检率仅为:1/2八(-1 );(5) 对丁长度(r+1)个bit的突发错,其漏检率仅为:1/2"。事实证明CRC®具有良好的检错能力,但不能够检出所有的错误。构造该无 法检错的实例的思路:由丁生成多项式的次数越高,CRC勺检错能力越强,故我在程序中自主构建一个相对简单的生成多项式便丁实例的构造。回顾CRC佥验的方法,先将添加了冗余码FCS后发送的序列与求余过程中的生成多项式进行模2运算,再来判断求得的余数是否为 0?若为0则证明传输过程无差错;若不
24、为 0 则证明传输过程中有差错。因此我进行大胆猜测:如若添加了冗余码FCS后发送的数据发生突变,但突 变后的数据恰巧也能被原生成多项式整除,即存在 ?同余?的错误,是不是CRC便无法检测出该已经发生了突变的错误数据?因此我在该部分构造了一个与原 发送数据不同的错误序列,经验算,该错误序列也能被原定的生成多项式整除。再利用第二部分的检验方式,观察最终输出结果与预测是否一致, 最后加上一个 判断语句显示最终结果。由丁检验方式与第二部分一致,故对丁检验的流程图不再绘制,对丁判断结 果的程序流程图如图3-3所示。开始已知错误序歹0 error_sequence图3-3第四部分判断结果的程序流程图四、结
25、果分析将程序运行后可以得到所有的输出,现将输出分三个部分展示1、CRCM法的实现编程实现利用数组模拟网络数据包结构实现 CRO法,并将得到的校验位附 加到网络数据包相应的位置。程序中, M表示原始带传送数据;CRC_K示生成 多项式;crc_M表示经计算得到的添加了冗余码 FCS后的数据。若输出一组名为 original_sequence 的数据则表明本次校验结果正确;若输出err=1则表明本次 校验结果错误。令M=101110生成多项式P(X)=XA3+1。结果如图4-1所示。Command WindowM =>101110CRC_P =1001crc_M =101II0011orig
26、inal.sequence =1101110A图4-1 CRC校验结果展示分析:从结果中看出crc_M的结果为101110011,即所得冗余码FCS=011 与验算结果一致。且经校验后输出了一组名为original_sequence 的数据,该数 据与M一致,说明校验结果正确。这也证实了此次编程实现了循环冗余校验CRC算法的要求。2、突变的产生和校验结果根据数据包的长度,编程实现随机生成一个数据包产生突变的位置,并对该 位置的bit位模拟突变的产生;再重新利用CRO法校验该数据包,并指出产生 的结果。程序中,i为一个随机数,代表着原冗余数组crc_M中的某一位的位序; 程序中还会输出该随机位的
27、值;随后会得到该随机位的值发生突变后的突变数 组,此时用crc_M表示这个突变的数组;在进行校验后若输出一组名为 original_sequence 的数据则表明本次校验结果正确;若输出err=1则表明本次 校验结果错误。突变及其校验结果如图4-2所示。武汉理工大学计算机网络课程论文Corrinnand Window* Xerr图4-2突变及其校验结果展示分析:由结果可知随机抽到的位序为 9,从图4-1中看出原冗余数组的第九 位为1。在发生突变后的新数组 crc_M=101110010,刚好与图4-1中原冗余数组 的第九位不同,其余位均相同。表明随机生成一个数据包产生突变的位置,并对 该位置的
28、bit位模拟突变的产生的设计是正确的。再来看校验的结果是输出了 err=1 ,这说明突变后的数组成功被 CR锻验检出错误,证实了 CRC佥验算法的 检错能力。3、无法检错的实例在过程论证模块,对丁程序的第四部分,已经表明了对丁如何构造无法检错 实例的设计思路。在程序中,先编写一个与原冗余数组crc_M不同但位数相同,同时也能被生成多项式整除的数组 N;已知N并不是正确的传输数据,对 N进行 CRCM法检验,若输出一组名为error_sequence的数据则表明实际传输的数据 错误,CRCX法检错;若输出err=1则表明CRCCT法依旧能够检出该错误。对丁该实例的校验结果如图4-3所示0010e
29、rrcr_sequencc =00101。ans =实际佶输数据错误无法检错A »图4-3无法检错实例的校验结果展示分析:从结果中可能看出,N与原冗余数组crc_M是不同的。但最后经同一 生成多项式检验得到的结果并没有输出err=1的字眼,而是输出了一组名为error_sequence的数组,很明显,这一组数据与最原始的待传送数据M不同,是错误数据,而检验结果未报错说明没有检验到该错误。最终的显示也是?实际传输数据错误,无法检错?,这也证实了构造无法检错实例的思路和该段程序的 编译都是正确的。从而证明,CRQ不能够检出所有的错误。五、总结CRCK验码是基丁将位申看作是系数为 0或1的
30、多项式,一个k位的数据流 可以看作是关丁 x的从k-1阶到0阶的k-1次多项式的系数序列。采用此编码, 发送方和接收方必须事先商定一个生成多项式 G(x),其高位和低位必须是1。要 计算m位的帧M(x)的校验和,基本思想是将校验和加在帧的末尾,使这个带校 验和的帧的多项式能被 G(x)除尽。当接收方收到加有校验和的帧时,用G(x)去除它,如果有余数,则CRO验错误,只有没有余数的校验才是正确的。二进制多项式的加减运算为模2加减运算,即两个码多项式相加时,对应系 数进行模2加减。所谓模2加减就是各位做不带进位、借位的按位加减。这种加 减运算实际上是逻辑上的异或运算,即加法和减法等价。16武汉理工
31、大学计算机网络课程论文信息多项式和余数多项式可以合并成一个新的多项式(称为循环码的码多项 式),则该多项式是生成多项式的整数倍,即能被生成多项式整除。根据这一原 理,在发送端用信息码多项式除以生成多项式所得的余数多项式就是所要加的监 督位。将循环码的码多项式除以生成多项式,若能除尽,说明传输正确,否则说 明出错。CRCK验的关键是如何求出余数,此余数即为校验码( CRGK验码)。为了传输的正确性,在接收端要有一个CRC佥验器。它的功能和发生器一样, 当收到CRCX余校验码后,做同样的模2除法(注意,这里采用的生成多项式一 定要与发送端相同)。如果余数是 0,则说明传输正确;否则传输错误。CRC
32、K验的检错能力极强,但并不能检出所有的错误。当冗余数组发生突变, 生成一个与原数组存在?同余?现象的新数组,CRCM无法检出此种错误的。22心得体会经历了近两个星期的查阅资料和理论分析,终丁完成了循环冗余校验 CRC 算法编程和报告。经历了这次计算机网络的大作业设计, 大大的提高了我的操作 能力以及分析问题的能力,从中也学到了很多书面上关丁 CRCK验所没有搞活楚 的问题,也熟悉了应用MATLAB个软件来进行程序编程。通过这次大作业设计,我学到了很多有用的知识,并加强了自己掌握和理解 书本知识的能力,培养了自己的实际动手能力与综合设计能力, 提高了自己的技 术素质,这对以后的学习和工作都是非常
33、有益的。 在此次设计中,我先大量查阅 CRCT法的具体过程,逐一分析题目要求,通过动手实践操作,进一步学习和掌 握了有关CRO理的知识,加深了对纠错技术的认识。在设计过程中我复习了相 关知识,还查阅了相当多的资料,这也在一定程度上拓宽了我的视野, 丰富了我 的知识。现如今我对CRCM法有了非常深刻的理解,这次的大作业设计不止是对 所学知识的一次重要巩固,更是从查阅资料、逐一分析题目要求、动手编写程序 到不断地修改和完善等方面锻炼了我的综合能力。总之,通过这次大作业设计我有了很多收获。摸索该如何使用MATLAB实现题目要求的过程特别有趣,培养了我的设计思维;无论是对所学课本知识的运 用还是对软件
34、系统的了解,我都有了很大程度的提高,提高了理论用丁实践的能 力,掌握了更多专业相关的使用知识与技能。 在程序运行过程中曾遇到许多困难 和错误,最后通过不断查阅资料和向同学请教一一解决。当最终完成本次课程设 计时,我深刻体会到成功的喜悦和快乐。参考文献1 .谢希仁等.计算机网络(第六版)M.北京:电子工业出版社,2013.6;2 .王虹等.通信系统原理M.北京:国防工业出版社,2014.8;3 .孙丽华.信息论与纠错编码M.电子工业出版社,2005.3.附件一:程序源代码%!一部分M=1,0,1,1,1,0% M为待传送数据L= length(M); % L为数据M的长度CRC_P = 1 0
35、0 1; % CRS成多项式 P(X)=XA3+1n = zeros(1,3);%添加3位冗余码crc_M = M zeros(1,3);%初始化输出检错码序列M = M n; %在数据M后面添加供差错检测用的n位冗余码R = M; %初始化余数数组Rfor k = 1:L%利用循环语句计算求余数add_zeros = zeros(1,L-k);P = CRC_P add_zeros;if R(1) = 0P = zeros(1,length(P);%设置冗余位参与模2运算%构造与R等长度的除数数组P%若R首位为0则将除数所有位置0endR = bitxor(P,R); %将除数与被除数进行异
36、或操作P = CRC_P;%将寄存器恢复为除数数组R(1) = ;%去除模2运算后得到的被除数的第1位end以第二部分add_len = length(crc_M) - length(R); %生成余数序歹U的冗余位以叠加到编 码序列R = zeros(1,add_len),R;%将所得余数序歹0添加冗余至与 crc_M等长度crc_M =crc_M + R %合成编码序歹UL = length(crc_M);%得到冗余编码的长度original_sequence = crc_M;% 初始化输出序歹UCRC_P = 1 0 0 1; % CRS成多项式 P(X)=XA3+1R = crc_M; %初始化余数数组T = L-length(CRC_P)+1; % T为长除法的循环周期for k = 1:T%利用循环语句计算求余数add_zeros = ze
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《黑神话:悟空》2025高中地理练习题含答案
- 餐饮战略合作协议书合同模板
- 采购管材管件合同范文
- 保证合同协议书范本
- 智慧养老方案课件
- 山东省烟台市蓬莱区(五四制)2024-2025学年八年级上学期期中考试英语试卷(含解析)
- 河北省邯郸市临漳县2024-2025学年七年级上学期11月期中生物学试卷(含答案)
- 《纺织纤维鉴别试验方法 第3部分:显微镜法》
- 高原常见病防治课件
- 肺部解剖及肺循环相关病变课件
- 办公大楼物业服务投标方案(技术方案)
- 大学体育理论(山东联盟)智慧树知到课后章节答案2023年下泰山学院
- 研究生二级学科证明
- 六年级上册英语教案 Module 9 Unit 2 I want to go to Shanghai. 外研版(三起)
- 快易收口网工艺原理
- APC Smart-UPS 3000XL RM安装及电池更换手册
- 第5课萧红与东北作家群.ppt
- 家政岗前培训PPT课件.ppt
- 三座山实验模型.ppt
- PKPM微课第四十一期浅谈基床系数与基础沉降--基床系数
- 影视导演艺术-运动.ppt
评论
0/150
提交评论