数字系统中的数据校验与编程实现
1. 循环冗余校验(CRC)
1.1 CRC 原理
循环冗余校验(CRC)用于检测数字系统中数据传输的错误。当发送数据时,会附加一个短的校验值。这个校验值通过对数据位进行多项式除法得到。接收数据时,重复多项式除法,并将结果与校验值比较。若结果不同,则数据在传输中受损。
1.2 手动计算校验值
以一个 16 位二进制数 1101100111011010 作为要传输的消息为例,用多项式 x³ + x² + x + 1 (系数为 1111 )进行除法。
因为除以四项多项式的结果有 3 位,所以在原数字后补 000 来计算余数。每次除法使用按位异或操作,具体步骤如下:
1101100111011010 000
1111
----------------
0010100111011010 000
1111
----------------
0001010111011010 000
1111
0000101111011010 000
1111
0000010011011010 000
1111
0000001101011010 000
1111
0000000010011010 000
1111
0000000001101010 000
1111
0000000000010010 000
1111
0000000000001
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



