MathWiki
|
November 21, 2024, at 10:28 AM | MathWiki / MathWiki / ClassicalLinearCodes |
|
ClassicalLinearCodes<b>Codes</b> Let $F$ be a finite field. A code $C$ with code length $n$ is just a subset of the vector space $F^n$ over $F$. When $C$ is a linear subspace of dimension $k$, it is called an $ [n,k]$ (linear) code, and $n-k$ is the redundancy. Otherwise, it is nonlinear. When $F=\mathbb Z_2$, $C$ is referred to as a binary code. The minimal distance of a code $C$ is defined to be
$d_C=\mathrm{min}\{d(u,v)\mid u,v\in C, u\not=v\}.$ If $C$ is a linear $ [n,k]$-code with minimal distance $d_C$, it is said to be an $ [n,k,d_C]$ code. <b>Channels</b> A usual description of the noise channel that a code goes through is DMC: discrete memoryless channel. Here discrete means that there are only finitely many symbols used to compose codewords (codevectors), and memoryless means that an error in one symbol does not affect the reliability of the neighboring symbols. One often use the binary symmetric channel as a model: There are 2 symbols, 0 and 1, for inputs and outputs. The channel changes 0 to 1 and 1 to 0 with a probability $p$, and leaves 0 and 1 unchanged with a probability $1-p$. <b> Repetition Code</b> The easiest way of making a linear code is to repeat the symbols $n$ times. When a codevector is received, simply use majority count to determine what was the original codevector. So a binary repetition code is an $ [n,1,n]$ code, the code space is spanned by $(1,1,\dots,1)$. The $ [7,4]$ Hamming code is a $ [7,4,3]$ linear code capable of correcting one transmitting error defined as what follows. Let $V=\mathbb Z_2^7$ and $C$ the subspace of $V$ defined by the following equations: $(x_1,\dots,x_7)\in C$ if $x_4+x_5+x_6+x_7=0$, $x_2+x_3+x_6+x_7=0$, and $x_1+x_3+x_5+x_7=0$. When a codevector $(y_1,\dots,y_7)$ is received, one computes the numbers $\alpha=y_1+y_3+y_5+y_7$, $\beta=y_2+y_3+y_6+y_7$, and $\gamma=y_4+y_5+y_6+y_7$. If all three are zero, no error was made during the transmission, otherwise the number $\alpha+2*\beta+4*\gamma$ (in decimal system) tells the position where an error has occurred. |
Validate the XHTML and CSS of this page. | Page last modified on October 14, 2008, at 12:37 PM | Edit History Print Recent Changes |
Powered by PmWiki |