【发布时间】:2021-02-14 16:52:49
【问题描述】:
未检测到错误的概率随链接类型而变化?它们有关系吗? 我的意思是,如果链路有损或误码率较高这将如何影响未检测到的错误概率? 有任何公式可以计算吗?
【问题讨论】:
标签: crc
未检测到错误的概率随链接类型而变化?它们有关系吗? 我的意思是,如果链路有损或误码率较高这将如何影响未检测到的错误概率? 有任何公式可以计算吗?
【问题讨论】:
标签: crc
“链接类型”的真正含义是通道的错误特征。在具有高误码率的通道上,例如CRC (n) 中每条消息某处出错的位数(每条消息都获得一个 CRC),通常未检测到的比率为 2-n 每条消息适用。至少总是这么好。这就是你的公式。
当然假设错误是随机的。有可能故意应用计算出来的错误以保持 CRC 不变,因此 CRC 无法防范那些具有恶意意图的错误。
但是,由于误码率较低,未检测到的错误概率可以比该公式更好。
然后它变得更加复杂。如果您从不希望消息中出现多于一位的错误,那么 CRC 将始终检测到错误,而不管消息的长度如何。 (CRC 始终提供奇偶校验。)如果 CRC 多项式的因子为 x+1,那么它将始终检测到 odd 个比特错误。 CRC 还具有我不会涉及的特殊“突发”错误属性。假设您有一个误码率,其中消息中的任何位都可以以该概率翻转。 (一个binary symmetric channel。)
对于消息中给定数量的错误位,您会发现消息长度有限,始终会检测到那么多(或更少)的错误。
This page 显示了许多 32 位 CRC 多项式的这些属性。例如,可以查看带有多项式0x04c11db7 的通常 32 位 CRC 的条目。它有这个神秘的数字列表:
{4294967263,91607,2974,268,171,91,57,34,21,12,10,10,10}
这些数字分别对应于消息中的 2、3、4 等错误位。每个数字都是最长消息(不包括 CRC)的比特长度,使用该多项式的 CRC 可以保证检测到那么多错误。
因此,CRC 将始终检测长度不超过 91,607 位的消息中的三个或更少位错误。它始终会检测长度不超过 2,974 位的消息中的四个或更少位错误。
在这种情况下没有简单的公式,因为这些数字是对“码字”进行详尽搜索的结果,这些码字是 CRC 为零的模式。这些可以被视为错误模式,可以应用于任何不会导致 CRC 发生变化的消息。
在给定比特错误率p的情况下,有公式可以计算n比特的消息有k个或更少错误的概率.请参阅binomial distribution 及其近似值。
【讨论】: