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.
Telecom standard ISO 1155 states that 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
Set LRC = LRC XOR b
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 (often called Block Check Character or BCC), including the IEC 62056-21 standard for electrical meter reading, smart cards as defined in ISO_7816, and the ACCESS.bus protocol.
Full article ▸