lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

lecture-4.md (3254B)


      1 +++
      2 title = 'Lecture 4'
      3 template = 'page-math.html'
      4 +++
      5 ## Perfect & related codes
      6 bounds for codes:
      7 - if ints t ≤ n and word v length n, then num words length n of max distance t from v is $\binom{n}{0} + \binom{n}{1} + \dots + \binom{n}{t}$. If t = n, then 2ⁿ.
      8 - all words of distance t from word v: add to v all words weight t
      9 - Hamming bound: C length n and distance d  = 2t + 1 or 2t + 2, then $|C| = \frac{2^{n}}{\binom{n}{0} + \binom{n}{1} + \dots + \binom{n}{t}}$ (i.e. max num of words length n distance d in code)
     10 - singleton bound: for (n, k, d) linear code, d-1 ≤ n-k
     11 - for (n, k, d) linear code:
     12     - d = n-k+1
     13     - every (n-k) rows of the parity check matrix are linearly independent
     14     - every k columns of generator matrix are linearly independent
     15     - C is MDS
     16 - there exists code length n dimension k distance d if $\binom{n-1}{0} + \binom{n-1}{1} + \dots + \binom{n-1}{d-2} \lt 2^{n-k}$
     17 
     18 
     19 ### Perfect codes
     20 perfect code: if length n, distance d = 2t+1, $|C| = \frac{2^{n}}{\binom{n}{0} + \binom{n}{1} + \dots + \binom{n}{t}}$
     21 
     22 if C nontrivial perfect code length n, distance d = 2t+1, then n=23 and d=7, or n=2ᴿ-1 for some R ≥ 2 and d=3
     23 
     24 if C perfect code length n distance d = 2t+1, then corrects all error patterns weight ≤ t and no others.
     25 
     26 ### Hamming codes
     27 Hamming code length 2ᴿ-1 if n = 2ᴿ-1, R ≥ 2, parity check matrix rows consist of all nonzero vectors length R
     28 
     29 - has dimension 2ᴿ-1-R, contains $2^{2^{R}-1-R}$ codewords
     30 - has distance d=3
     31 - is a perfect single error correcting code
     32 
     33 ## Cyclic linear codes
     34 polynomial degree n over K: $a_{0} + a_{1} x + \dots + a_{n} x^{n}$ where coefficients $a_{0} \dots a_{k}$ are elements of K.
     35 
     36 set of polynomials over K is K[x].
     37 
     38 polynomial division:
     39 - f(x) = q(x) h(x) + r(x), where q(x) quotient and r(x) remainder
     40 - long division like normal, but arithmetic in K (so xor the terms)
     41 
     42 a code length n can be represented as set of polynomials over K of degree max n-1.
     43 - e.g. codeword 0101 ≡ 0(1) + 1(x) + 0(x²) + 1(x³) = x + x³
     44 
     45 If f(x) ≡ g(x) (mod h(x)), then
     46 - f(x) + p(x) ≡ g(x) + p(x) (mod h(x))
     47 - f(x) p(x) ≡ g(x) p(x) (mod h(x))
     48 
     49 Cyclic shift π(v) of word v is when you move the last digits of v to the beginning (a rotation of the word).
     50 
     51 Code is cyclic if rotating a codeword yields another codeword
     52 
     53 To prove a code is cyclic, show that π(v) ∈ C for each word v in a basis for C.
     54 
     55 To construct cyclic code: pick word v, form set S of all of its cyclic shifts, define C as linear span of S (\<S\>).
     56 
     57 Given word v length n, let corresponding polynomial v(x), then cyclic shifts of v correspond to polynomials $x^{i} v(x) \mod 1 + x^{n}$
     58 
     59 If C cyclic and v ∈ C, then for any polynomial a(x), c(x) = a(x) v(x) mod (1 + xⁿ) is codeword in C
     60 
     61 Generator polynomial: unique nonzero polynomial of min degree in C
     62 
     63 If g(x) generator polynomial for cyclic C, and n-k = deg(g(x)),
     64 - C has dimension K
     65 - codewords corresponding to $g(x), x g(x), \dots, x{k-1} g(x)$ are basis for C
     66 - c(x) ∈ C ⇔ g(x) divisor of every codeword c(x)
     67 
     68 g(x) generator polynomial ⇔ g(x) divides 1+xⁿ
     69 - g(x) = gcd(v(x), 1+xⁿ)
     70 - easy way to find: put basis or generator matrix in RREF with last k columns leading, min degree row is the generator polynomial