This commit is contained in:
eneller
2026-02-16 20:19:09 +01:00
parent c28063215b
commit 5f6245fc58

View File

@@ -30,6 +30,8 @@
\maketitle
\section{Introduction}
When messages are transmitted over real media, errors are inevitably introduced.
Examples range from mundane sources of errors like scratches on CDs and capacitive coupling of conductors
to geomagnetic storms.
Though the source of errors are manifold, they are ubiquitous and need to be accounted for if we want any
real chance of reading a correct message at the end.
On a basic level, we can understand that a channel with a lower \textit{\acrfull{snr}},
@@ -49,7 +51,60 @@ If the noise level is small on average, most transmissions will be interpreted c
However, there generally remains a chance that an intended 1 will be received as .47 volts and hence interpreted incorrectly as a 0.
\cite{enwiki:signal-to-noise}
In this digital system, we can improve communication reliability by using a coding scheme that is tolerant of errors.
As a naive approach, we will simply transmit our message multiple times.
This is called a \textit{repetition code}, where the receiver will perform a majority vote over the received bits,
resulting in the following
\begin{figure}[H]
\begin{minipage}{.5\textwidth}
\begin{tabular}{c|ccc}
recieved & 0 & \textcolor{red}{1} & 2 \\
\hline
read & 0 & ERR & 1 \\
\end{tabular}
\begin{tabular}{c|cccccccc}
recieved & 0 & \textcolor{red}{1} & \textcolor{red}{2} & 3 \\
\hline
read & 0 & 0 & 1 & 1 \\
\end{tabular}
\begin{tabular}{c|cccccccc}
recieved & 0 & \textcolor{red}{1} & \textcolor{red}{2} & \textcolor{red}{3} & 4 \\
\hline
read & 0 & 0 & ERR & 1 & 1 \\
\end{tabular}
\caption{Error detection and detection for 2,3 and 4 bits used per symbol in a repetition code}
\label{tab:detection-correction}
\end{minipage}
\begin{minipage}{.5\textwidth}
\begin{tikzpicture}
\begin{axis}[
domain=0:1,
samples=100,
axis lines=middle,
xlabel={$p$},
ylabel={Channel Capacity $C$},
xmin=0, xmax=1,
ymin=0, ymax=1.1,
xtick={0,0.25,0.5,0.75,1},
grid=both,
width=8cm,
height=6cm,
every axis x label/.style={at={(current axis.right of origin)}, anchor=west},
every axis y label/.style={at={(current axis.above origin)}, anchor=south},
]
\addplot[thick, blue] {1-(-x * log2(x) - (1-x) * log2(1-x))};
\end{axis}
\end{tikzpicture}
\caption{Capacity of a binary channel with crossover probability $p$}
\label{fig:graph-errorrate}
\end{minipage}
\end{figure}
\section{Hamming Condition}
theorems: Hamming condition, Varsham-Gilbert