Langsgående redundanskontrol - Longitudinal redundancy check

I telekommunikation er en longitudinal redundanskontrol (LRC) eller vandret redundanskontrol en form for redundanskontrol , der anvendes uafhængigt af hver af en parallel gruppe af bitstrømme. Dataene skal opdeles i transmissionsblokke , hvortil de ekstra kontroldata tilføjes.

Udtrykket gælder normalt for en enkelt paritetsbit pr. Bitstrøm beregnet uafhængigt af alle de andre bitstrømme ( BIP-8 ), skønt den også kan bruges til at henvise til en større Hamming-kode .

Dette "ekstra" LRC-ord i slutningen af ​​en datablok svarer meget til kontrolsum og cyklisk redundanskontrol (CRC).

Optimal rektangulær kode

Mens enkel længdeparitet kun kan detektere fejl, kan den kombineres med yderligere fejlkontrolkodning, såsom en tværgående redundanskontrol (TRC), for at rette fejl. Den tværgående redundanskontrol gemmes på et dedikeret "paritetsspor".

Hver gang der opstår en enkeltbitfejl i en transmissionsblok af data, muliggør en sådan todimensional paritetskontrol eller "to-koordinatparitetskontrol" modtageren at bruge TRC til at detektere, hvilken byte fejlen opstod i, og LRC til at detektere nøjagtigt hvilket spor fejlen opstod i, for at finde ud af præcis hvilken bit der er i fejl, og korriger derefter den bit ved at vende den.

Pseudokode

International standard ISO 1155 fastslår, at en langsgående redundanskontrol af en sekvens af bytes kan beregnes i software ved hjælp af følgende algoritme:

lrc := 0
for each byte b in the buffer do
    lrc := (lrc + b) and 0xFF
lrc := (((lrc XOR 0xFF) + 1) and 0xFF)

som kan udtrykkes som "8-bit-to-komplementværdien af ​​summen af ​​alle bytes modulo 2 8 " ( x AND 0xFFsvarer til ). x MOD 28

Andre formularer

Mange protokoller bruger en XOR-baseret langsigtet redundanskontrolbyte (ofte kaldet blokkontrolkarakter eller BCC), inklusive den serielle linieinterfaceprotokol (SLIP, ikke at forveksle med den senere og velkendte Serial Line Internet Protocol ), IEC 62056 -21 standard for elektrisk måleraflæsning, chipkort som defineret i ISO / IEC 7816 og ACCESS.bus- protokollen.

En 8-bit LRC som denne svarer til en cyklisk redundanskontrol ved hjælp af polynomet x 8  + 1, men bitstrømmens uafhængighed er mindre klar, når man ser på den måde.

Referencer