纵向冗余校验(
LRC,Longitudinal Redundancy Check)是通信中常用的一种校验形式。纵向冗余校验(LRC)是一种从纵向通道上的特定比特串产生校验比特的错误检测方法。在行列格式中(例如,在磁带中),LRC经常是与VRC一起使用,这样就会为每个字符校验码。
纵向冗余校验的
异或校验和可以简单快速的计算出来,将一个
数据块的所有数据字节
递归,经过异或选通后即可产生异或校验和。由于算法简单,可以快速简单地计算纵向冗余校验。然而,LRC并不很可靠,多个错误可能相互抵消,在一个数据块内
字节顺序的互换根本识别不出来。因此LRC主要用于快速校验很小的数据块儿(如32B)。在
射频识别系统中,由于标签的容量一般较小,每次交易的数据量也不大,所以这种算法还是比较适合的。
每当在数据传输块中发生任何单比特错误,这种二维奇偶校验或“双坐标奇偶校验”时,使接收器能够使用TRC来检测错误发生在哪个字节,以及 LRC准确检测出错误发生的轨道,准确发现哪个位出错,然后通过翻转纠正该位。
许多协议使用基于XOR的纵向冗余校验字节(通常称为块校验字符或BCC),包括串行线路
互联网协议(SLIP),IEC 62056-21电表读数标准,智能卡定义 在ISO / IEC 7816和ACCESS.bus协议中。