# Binary repetition code[1]

## Description

\([n,1,n]\) binary linear code encoding one bit of information into an \(n\)-bit string. The length \(n\) needs to be an odd number, since the receiver will pick the majority to recover the information. The idea is to increase the code distance by repeating the logical information several times. It is a \((n,1)\)-Hamming code.

## Protection

Detects errors on up to \(\frac{n-1}{2}\) coordinates, corrects erasure errors on up to \(\frac{n-1}{2}\) coordinates. The generator matrix is \(G=\left[\begin{smallmatrix}1 & 1&\cdots& 1 & 1 \end{smallmatrix}\right]\).

## Rate

Code rate is \(\frac{1}{n}\), code distance is \(n\).

## Decoding

Calculate the Hamming weight \(d_H\) of the code. If \(d_H\leq \frac{n-1}{2}\), decode the code as 0. If \(d_H\geq \frac{n+1}{2}\), decode the code as 1.

## Threshold

Suppose each bit has probability \(p\) of being received correctly, independent for each bit. The probability that a repetition code is received correctly is \(\sum_{k=0}^{(n-1)/2}\frac{n!}{k!(n-k)!}p^{n-k}(1-p)^{k}\). If \(\frac{1}{2}\leq p\), then people can always increase the probability of success by increasing the number of physical bit \(n\).

## Realizations

Repetition codesm in conjunction with other codes, were used in magnetic disks [2].

## Parent

## Cousins

- Perfect code — Repetition codes for odd \(n\) are perfect.
- Quantum repetition code
- Hamming code — The triple repetition code \([3,1,3]\) is the smallest Hamming code.
- Single parity-check code — Repetition code is dual to the single-parity check code.

## Zoo code information

## References

## Cite as:

“Binary repetition code”, The Error Correction Zoo (V. V. Albert & P. Faist, eds.), 2022. https://errorcorrectionzoo.org/c/repetition

Github: https://github.com/errorcorrectionzoo/eczoo_data/tree/main/codes/classical/bits/repetition.yml.