ECC edits
This commit is contained in:
@ -570,8 +570,45 @@ If we know which parity bits are inconsistent, how can we find where the error i
|
||||
\vfill
|
||||
|
||||
\problem{}<generalize-hamming>
|
||||
Can you generalize this system for messages of 4, 64, or 256 bits?
|
||||
Generalize this system for messages of 4, 64, or 256 bits. \par
|
||||
\begin{itemize}
|
||||
\item How does the resilience of this scheme change if we use a larger message size?
|
||||
\item How does the efficiency of this scheme change if we send larger messages?
|
||||
\end{itemize}
|
||||
|
||||
\vfill
|
||||
\pagebreak
|
||||
|
||||
|
||||
\definition{}
|
||||
A \textit{deletion} error occurs when one bit of the message is deleted. \par
|
||||
Likewise, an \textit{insertion} error consists of a random inserted bit. \par
|
||||
|
||||
\definition{}
|
||||
A \textit{message stream} is an infinite string of binary digits.
|
||||
|
||||
\problem{}
|
||||
Show that Hamming codes do not reliably detect bit deletions: \par
|
||||
\hint{
|
||||
Create a 17-bit message whose first 16 bits are a valid Hamming block, \par
|
||||
and which is still valid when a bit (chosen by you; not the $17^\text{th}$) is deleted.
|
||||
}
|
||||
|
||||
\vfill
|
||||
|
||||
\problem{}
|
||||
Convince yourself that Hamming codes cannot correct insertions. \par
|
||||
Then, create a 16-bit message that...
|
||||
\begin{itemize}
|
||||
\item is a valid Hamming block, and
|
||||
\item incorrectly "corrects" a single bit error when it encounters an insertion error.
|
||||
\end{itemize}
|
||||
|
||||
\vfill
|
||||
|
||||
|
||||
As we have seen, Hamming codes effectively handle substitutions, but cannot reliably
|
||||
detect (or correct) insertions and deletions. Correcting those errors is a bit more difficult:
|
||||
if the number of bits we receive is variable, how can we split a stream into a series of messages? \par
|
||||
\note{This is a rhetorical question, which we'll discuss another day.}
|
||||
\pagebreak
|
Reference in New Issue
Block a user