电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

循环冗余码的生成和验证

循环冗余码的生成和验证_第1页
1/10
循环冗余码的生成和验证_第2页
2/10
循环冗余码的生成和验证_第3页
3/10
中南大学计算机网络实验报告 第 1 页 共 10 页 一、题目 编写一个循环冗余码的生成和验证程序,并实现停等式 ARQ,编程实现如何生成 CRC 码,传输,加入噪声, 检错反馈,检测验证,信息重发的过程 二、概要设计 CRC 校验码的编码方法是用待发送的二进制数据 t(x )除以生成多项式 g(x ),将最后的余数作为 CRC 校验码。其实现步骤如下: 设待发送的数据块是 m 位的二进制多项式 t(x ),生成多项式为 r 阶的 g(x )。在数据块的末尾添加 r 个 0,数据块的长度增加到 m+r 位,对应的二进制多项式为 。用生成多项式 g(x )去除 ,求得余数为阶数为 r-1 的二进制多项式 y(x )。此二进制多项式 y (x )就是 t(x )经过生成多项式 g(x )编码的 CRC 校验码。 用 以模 2 的方式减去 y (x ),得到二进制多项式 。 就是包含了 CRC 校验码的待发送字符串。 CRC 编码实际上是将代发送的 m 位二进制多项式 t(x )转换成了可以被 g(x )除尽的 m+r 位二进制多项式,所以解码时可以用接受到的数据去除 g(x ),如果余数位零,则表示传输过程没有错误;如果余数不为零,则在传输过程中肯定存在错误。CRC 码可以看做是由 t(x )和 CRC 校验码的组合,所以解码时将接收到的二进制数据去掉尾部的 r 位数据,得到的就是原始数据。 三、详细设计 如果生成码是 10011 编码: //reg 是一个 5 bits 的寄存器 把 reg 中的值置 0. 把原始的数据后添加 r 个 0. While (数据未处理完) Begin If (reg 首位是 1) reg = reg XOR 0011. 把 reg 中的值左移一位,读入一个新的数据并置于 register 的 0 bit 的位置。 End reg 的后四位就是我们所要求的余数。 解码验错: //reg 是一个 5 bits 的寄存器 把 reg 中的值置 0. 把循环冗余码作为原始的数据 While (数据未处理完) 中南大学计算机网络实验报告 第 2 页 共 10 页 Begin If (reg 首位是 1) reg = reg XOR 0011. 把reg 中的值左移一位,读入一个新的数据并置于register 的0 bit 的位置。 If reg 里的数据不为0 则要求重发 Else 把循环冗余码去掉后四位即是原始数据 End 四、流程图 五、运行结果 开 始 编码方界面 循环冗余编码 解码方界面 解码:是否能除尽 传 送 显示原始数据 结 束 是 否 中南大学计算机网络实...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

循环冗余码的生成和验证

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部