有关“好”CRC多项式的信息很容易获得,例如:
https://checksumcrc.blogspot.com/2015/07/significantly-updated-crc-data.html
然而,我能够找到的所有信息都是基于检测到具有相对较短的“汉明距离”的错误 - 由几个翻转位产生的错误。我正在使用一种偶尔遭遇“滑动”的通信媒体 - 有点丢失,移动所有后续位。 1024位传输中的单个位滑动可导致数百个错误位,如汉明距离所定义。不幸的是,对于大到1024位的传输,推荐的32位CRC多项式只能用于捕获汉明距离6的所有误差:
https://users.ece.cmu.edu/~koopman/crc/
如果知道有关擅长捕捉位滑动的CRC多项式的任何知识,我想了解它。
相同长度的所有CRC对于位滑动都是等效的,从CRC的角度来看,它只是一个转换有点错误。在那种情况下,未检测到错误的概率是2-n,其中n是CRC的宽度(例如32)。