没有合适的资源?快使用搜索试试~ 我知道了~
CRC校验一探究竟1
需积分: 0 2 下载量 141 浏览量
2022-08-03
16:55:57
上传
评论
收藏 221KB PDF 举报
温馨提示
试读
32页
1. 原理 . 2. 长除法 c 语言实现 . 3. 线性移位寄存器电路实现 . 4. 初值问题 . 5. 并行处理 . 6. CRC 的种类 . 1. 原理
资源详情
资源评论
资源推荐
CRC 校验一探究竟
曹嘉辉
Edit 2021.2.26
github page: https://github.com/cjhonlyone/A-guide-of-CRC
目录
1. 原理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1 差错控制编码 . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 线性分组码 . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.3 循环码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 CRC 码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2. 长除法 c 语言实现 . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3. 线性移位寄存器电路实现 . . . . . . . . . . . . . . . . . . . . . . . 13
3.1 长除法到寄存器电路的推导 . . . . . . . . . . . . . . . . . . 13
3.2 线性移位寄存器的 c 语言仿真 . . . . . . . . . . . . . . . . 15
3.3 线性移位寄存器的 verilog 仿真 . . . . . . . . . . . . . . . . 17
4. 初值问题 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
4.1 为什么结果不同 . . . . . . . . . . . . . . . . . . . . . . . . 18
4.2 给定 CRC 求信息码 . . . . . . . . . . . . . . . . . . . . . . 19
4.3 测试初值与结果的关系 . . . . . . . . . . . . . . . . . . . . 21
4.4 总结一下 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
5. 并行处理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
6. CRC 的种类 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
CRC-16/CCITT . . . . . . . . . . . . . . . . . . . . . . . . . 30
CRC-16/IBM-3740 . . . . . . . . . . . . . . . . . . . . . . . . 30
参考文献 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1
1. 原理
1.1 差错控制编码
按功能分,有检错码、纠错码和纠删码。检错码只能检测误码;纠错码只可以纠
正误码;而纠删码既可以检测误码也可以纠正误码,如果无法纠正就发出一个
错误指示或者简单删除误码。
按信息码元与附加监督码元之间的检验关系分,有线性码和非线性码。信息码
元与监督码元之间的关系为线性关系,满足一组线性方程式,就称为线性码;反
之是非线性码。
按信息码元与监督码元之间的约束方式不同可以分为分组码与卷积码。在分组
码中,编码后的码元序列每 n 位为一组,里面包含 k 个信息码元,r 个附加监
督码元,n=k+r,监督码元只与本组的信息码有关,与其他组的信息码无关;卷
积码的监督码元不仅与本组信息码有关,还与前面码组的信息码元有关。
按信息码元在编码后是否保持原来的形式不变可以分为系统码与非系统码。系
统码中信息码元被编码后保持不变,而非系统码的信息码元被编码后则被改变。
1.2 线性分组码
线性分组码中的信息码元与监督码元由线性方程联系起来,主要性质如下:
•(1)任意两许用码组之和(模 2 和)仍为一许用码组,线性码具有封闭性。
•(2)码的最小距离等于非零码的最小重量(非零码元的数目为码的重量)。
1.2.1 监督矩阵
(1)
这里
是信息码元,
是监督码元。
是监督矩阵,表面信息码元与监督码元之间的校验关系完全由 决定,可
以写为
形式的监督矩阵称为典型监督矩阵。典型监督矩阵的各行
一定是线性无关的。
2
1.2.2 生成矩阵
(2)
是典型监督矩阵中 的转置。
在 的前面补上 阶单位矩阵 即为生成矩阵 。
因为由它可以从信息码元
生成整个码组 ,所以称它为生成矩阵。
1.3 循环码
循环码是线性分组码的一个重要子类,并且易于用带反馈的移位寄存器实现。
循环码的特点:
•(1)循环码中任一许用码组经过循环移位后仍为一许用码组。
•(2)线性分组码的封闭性。
可以用码多项式来表示一个码组:
(3)
可以表示为:
(4)
是一个实变量,它的幂次代表移位的次数。上述码组左移一位记作:
(5)
它的码多项式为:
(6)
由此可知,左移 位的码组的码多项式为:
3
(7)
是
除以
的商式,
是所得的余式。
1.3.1 循环码的生成多项式 循环码的信息码组 有
个,因此循
环码许用码组 也有
个。
类似于之前的生成矩阵有:
(8)
为不大于 阶的多项式, 是不大于 阶的多项式,因此
是一个 阶的多项式。
(9)
是 左移 位所得,由上一个公式可知它是 的倍式:
(10)
所以有:
(11)
因此 一定是
的因式。
1.3.2 循环码的生成矩阵 取 为:
4
(12)
当输入信息码元为
时:
(13)
由此可知所有码多项式 必为 的倍式。
1.3.3 系统循环码 这样生成的循环码并不是系统码,系统码要求码的左 位
为信息码元,随后是 位监督码元,相当于码多项式为:
(14)
其中
是监督吗多项式,对应监督码元
。
把 移到等号右边,
移到等号左边,就变成了一个被除数等于
商乘除数加余数的形式:
(15)
由此可知:
(16)
5
剩余31页未读,继续阅读
经年哲思
- 粉丝: 16
- 资源: 329
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0