错误检测17 Mar 2025 | 5 分钟阅读 当数据从一个设备传输到另一个设备时,系统不保证接收到的数据与发送的数据是否相同。如果接收到的消息与发送的消息不一致,则发生错误。 错误的类型![]() 错误可以分为两大类
单比特错误给定数据单元的唯一一个比特从1变为0或从0变为1。 ![]() 在上图中,发送的消息被损坏为单比特,即0比特变为1比特。 单比特错误在串行数据传输中不太可能出现。例如,发送方以10 Mbps的速度发送数据,这意味着每个比特的持续时间仅为1 微秒,要发生单比特错误,噪声必须大于1 微秒。 单比特错误主要发生在并行数据传输中。例如,如果使用八根线来发送一个字节的八个比特,其中一根线有噪声,则每字节会损坏一个比特。 突发错误两个或多个比特从0变为1或从1变为0称为突发错误。 突发错误的范围由第一个损坏的比特到最后一个损坏的比特确定。 ![]() 突发错误中的噪声持续时间比单比特错误中的噪声持续时间长。 突发错误最有可能发生在串行数据传输中。 受影响的比特数量取决于噪声的持续时间和数据速率。 错误检测技术最流行的错误检测技术是
单奇偶校验
![]() 单奇偶校验的缺点
![]() 二维奇偶校验
![]() 二维奇偶校验的缺点
校验和校验和(Checksum)是一种基于冗余概念的错误检测技术。 它分为两部分 校验和生成器校验和在发送端生成。校验和生成器将数据细分为n比特的等段,并通过使用“1的补码”算术将所有这些段相加。将和取反并附加到原始数据上,称为校验和字段。然后将扩展后的数据传输到网络中。 假设L是数据段的总和,则校验和为?L ![]() 校验和校验器校验和在接收端进行验证。接收方将接收到的数据细分为n比特的等段,并将所有这些段相加,然后对该和取反。如果和的补码为零,则接受数据,否则拒绝数据。 循环冗余校验(CRC)CRC是一种用于确定错误的冗余错误技术。 CRC在错误检测中使用的步骤如下
如果此除法的余数为零,则表示没有错误,数据被接受。 如果此除法的余数不为零,则表示数据存在错误。因此,数据被丢弃。 ![]() 让我们通过一个例子来理解这个概念 假设原始数据是11100,除数是1001。 CRC生成器
![]() CRC校验器
![]() 下一主题# |
我们请求您订阅我们的新闻通讯以获取最新更新。