Kontrola nadmiarowości wzdłużnej - Longitudinal redundancy check
W telekomunikacji wzdłużna kontrola nadmiarowa (LRC) lub pozioma kontrola nadmiarowa jest formą kontroli nadmiarowej, która jest stosowana niezależnie do każdego z równoległych grup strumieni bitów. Dane muszą zostać podzielone na bloki transmisyjne , do których dodawane są dodatkowe dane kontrolne.
Termin ten zwykle odnosi się do jednego bitu parzystości na strumień bitów, obliczanego niezależnie od wszystkich innych strumieni bitów ( BIP-8 ), chociaż może być również używany w odniesieniu do większego kodu Hamminga .
To „dodatkowe” słowo LRC na końcu bloku danych jest bardzo podobne do sumy kontrolnej i cyklicznej kontroli nadmiarowej (CRC).
Optymalny kod prostokątny
Chociaż prosta parzystość wzdłużna może wykrywać tylko błędy, można ją połączyć z dodatkowym kodowaniem kontroli błędów, takim jak kontrola nadmiarowości poprzecznej (TRC), w celu skorygowania błędów. Kontrola redundancji poprzecznej jest przechowywana na dedykowanej „ścieżce parzystości”.
Ilekroć wystąpi jakikolwiek błąd jednobitowy w bloku transmisji danych, takie dwuwymiarowe sprawdzanie parzystości lub „dwurzędowe sprawdzanie parzystości”, umożliwia odbiornikowi użycie TRC do wykrycia, w którym bajcie wystąpił błąd, a LRC do wykryj dokładnie, na której ścieżce wystąpił błąd, aby odkryć dokładnie, który bit jest błędny, a następnie popraw ten bit, odwracając go.
Pseudo kod
Międzynarodowa norma ISO 1155 stwierdza, że wzdłużna kontrola nadmiarowa dla sekwencji bajtów może być obliczona w oprogramowaniu za pomocą następującego algorytmu:
lrc := 0
for each byte b in the buffer do
lrc := (lrc + b) and 0xFF
lrc := (((lrc XOR 0xFF) + 1) and 0xFF)
co można wyrazić jako „8-bitową wartość uzupełnienia do dwóch sumy wszystkich bajtów modulo 2 8 ” ( x AND 0xFFjest równoważne ).
x MOD 28
Inne formy
Wiele protokołów wykorzystuje oparty na XOR bajt sprawdzania nadmiarowości wzdłużnej (często nazywany znakiem kontroli bloku lub BCC), w tym protokół interfejsu linii szeregowej (SLIP, nie mylić z późniejszym i dobrze znanym protokołem Serial Line Internet Protocol ), IEC 62056 -21 standard odczytu liczników elektrycznych, karty inteligentne zgodnie z normą ISO/IEC 7816 oraz protokół ACCESS.bus .
8-bitowy LRC, taki jak ten, jest równoważny cyklicznej kontroli nadmiarowości przy użyciu wielomianu x 8 + 1, ale niezależność strumieni bitów jest mniej oczywista, gdy patrzy się na nią w ten sposób.
Bibliografia
Ten artykuł zawiera materiał z domeny publicznej z dokumentu General Services Administration : „Federal Standard 1037C” .(na poparcie MIL-STD-188 )