Longitudinal redundancy check
In telecommunication , a longitudinal redundancy check (LRC) or horizontal redundancy check is a form of redundancy check that is applied independently to each of a parallel group of bit streams. The data must be divided into transmission blocks, to which the additional check data is added.
The term usually applies to a single parity bit per bit stream, although it could also be used to refer to a larger Hamming code. While simple longitudinal parity can only detect errors, it can be combined with additional error control coding, such as a transverse redundancy check, to correct errors.
A longitudinal redundancy check for a sequence of bytes may be computed in software by the following algorithm:
Set LRC = 0 For each byte b in the buffer do Set LRC = LRC XOR b end do
An 8-bit LRC such as this is equivalent to a cyclic redundancy check using the polynomial x8+1, but the independence of the bit streams is less clear when looked at that way.
Many protocols use such an XOR-based longitudinal redundancy check byte, including the IEC 62056-21 standard for electrical meter reading, and the ACCESS.bus protocol.
[edit] References
- This article incorporates public domain material from the General Services Administration document "Federal Standard 1037C" (in support of MIL-STD-188).