縦冗長検査
電気通信では、 縦方向冗長検査 (LRC)または水平冗長検査は、ビットストリームの並列グループのそれぞれに独立して適用される冗長検査の形式です。データは伝送ブロックに分割する必要があり、そこに追加のチェックデータが追加されます。
この用語は通常、他のすべてのビットストリーム(BIP-8)から独立して計算されるビットストリームごとの単一のパリティビットに適用されますが、より大きなハミングコードを指す場合にも使用できます。
データブロックの最後にあるこの「余分な」LRCワードは、チェックサムと巡回冗長検査(CRC)に非常に似ています。
最適な長方形コード
単純な縦パリティはエラーのみを検出できますが、横方向冗長検査(TRC)などの追加のエラー制御コーディングと組み合わせてエラーを修正できます。横断冗長性チェックは、専用の「パリティトラック」に保存されます。
データの送信ブロックでシングルビットエラーが発生すると、2次元パリティチェック、または「2座標パリティチェック」などにより、レシーバーはTRCを使用してエラーが発生したバイトを検出し、LRCはエラーが発生したトラックを正確に検出し、エラーのあるビットを正確に検出してから、そのビットを反転して修正します。
擬似コード
国際規格ISO 1155では 、バイトシーケンスの縦方向の冗長性チェックは、次のアルゴリズムによってソフトウェアで計算できると規定されています。
これは、「28を法とするすべてのバイトの合計の8ビットの2の補数値」として表現できます(x AND 0xFFはx MOD 28と同等です)。
その他の形態
多くのプロトコルは、シリアルラインインターネットプロトコル(SLIP)、電気メーター読み取り用のIEC 62056-21標準、ISO / IEC 7816、およびACCESS.busプロトコル。
このような8ビットLRCは、多項式x 8 + 1を使用した巡回冗長検査と同等ですが、ビットストリームの独立性は、そのように見たときにあまり明確ではありません。