本文共 713 字,大约阅读时间需要 2 分钟。
在数据通信中,接收端通常需要检测传输过程中是否发生差错,常用的方法包括:奇偶校验(Parity Check)、校验和(Check Sum)和CRC(Cyclic Redundancy Check)等。
相应的检测方式是:
如果两者一致,则证明接收到的消息是正确的,否则存在传输错误。
奇偶校验 通过计算传输数据二进制表示中“1”的个数是奇数还是偶数来进行校验的方法,被称为奇偶校验。统计出奇数个“1”的称之为奇校验,反之成为偶校验。
采用何种校验是事先规定好的,若用奇校验,则当接收端收到这组数据时,校验“1”的个数是否为奇数个,从而确定传输是否正确。奇校验可以检测出1位差错,或者任意奇数个差错。
校验和 的思想比较简单:将传输的消息当成8位(或16、32位)整数序列,将这些整数加起来的结果就是校验码,也称校验和。
校验和被广泛应用于IP协议中,按照16位整数运算,而且其MSB的进位被加到结果中。
奇偶校验不能检测出偶数位差错。对于校验和,如果整数序列中有两个整数出错,一个增加了一定的值,另一个减小了相同的值,这种差错就检测不出来。
因此复杂的通信系统通常采用CRC校验。下表是常见通信系统所用到的CRC校验算法。WLAN系统采用CRC-32,而LTE系统根据需要校验位的长度,选取不同的CRC校验算法。
CRC算法实现
本文内容选自《通信IC设计》一书.
2021-6-30.
转载地址:http://wanii.baihongyu.com/