符号理論において、反復符号は最も基本的な線形誤り訂正符号の一つです。ノイズの多い伝送路で、伝送が一部で破損する可能性がある場合でもメッセージを送信するために、反復符号はメッセージを複数回繰り返すという考え方に基づいています。伝送路によって破損するのは、これらの繰り返しのうちごく一部に過ぎないという期待があります。このようにして、受信側は受信したデータストリームが単一のメッセージの繰り返しではないため、伝送エラーが発生したことに気づきます。さらに、受信側はデータストリームの中で最も頻繁に出現する受信メッセージを調べることで、元のメッセージを復元することができます。
誤り訂正性能が低く、符号化率(有用な情報シンボルと実際に送信されたシンボルの比率)も低いため、ほとんどの場合、他の誤り訂正符号が好まれる。繰り返し符号の最大の魅力は、実装の容易さである。
バイナリ繰り返しコードの場合、長さが 1 と 0 の 2 つのコードワードが存在します。したがって、コードの最小ハミング距離はその長さに等しい。これにより、繰り返し符号は誤り訂正能力を持つようになる。(つまり、最大で修正されます)(コードワード内のエラー)。
バイナリ繰り返しコードの長さが奇数の場合、それは完全コードです。[ 1 ]長さnのバイナリ繰り返しコードは、 ( n , 1)ハミングコードと同等です。( n , 1) BCH コードも繰り返しコードです。
長さ 3 のバイナリ繰り返し符号を考えます。ユーザーは情報ビットを送信したいと考えています101。すると、符号化では各ビットがすべて 1 またはすべて 0 の符号語にマッピングされるため、 が得られ111 000 111、これが送信されます。
送信されたビットが 3 つのエラーで破損し、受信シーケンスが であるとします111 010 100。復号は通常、各コードワードに対して単純な多数決で行われます。その結果100、復号された情報ビットは となります。これは、最初のコードワードと 2 番目のコードワードでは 2 つ未満のエラーしか発生していないため、ビットの大部分が正しいからです。しかし、3 番目のコードワードでは 2 つのビットが破損しており、2 つのエラーは誤り訂正能力を超えているため、誤った情報ビットが発生します。
単独の符号としては性能が低いにもかかわらず、ターボ符号のような反復復号化連結符号化方式(例えば、繰り返し累積符号(RA)や累積繰り返し累積符号(ARA)など)で使用すると、驚くほど優れた誤り訂正性能が得られる。
繰り返し符号は、チャネルノイズを克服するために必要なパリティ情報の送信量を増減させることで、チャネル容量の変化に合わせて符号化率を自動的に調整できる数少ない既知の符号の一つであり、非消去チャネルで知られている唯一の符号です。消去チャネル向けの実用的な適応符号はごく最近になって発明され、噴水符号として知られています。
FlexRayプロトコルで使用されるものなど、一部のUARTは、短時間のノイズスパイクを無視するために多数決フィルタを使用します。このスパイク除去フィルタは、一種の繰り返しデコーダと考えることができます。