lectures.alex.balgavy.eu

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

index.md (3462B)


      1 +++
      2 title = "Lecture 3"
      3 template = 'page-math.html'
      4 +++
      5 
      6 ## Generating matrices & encoding
      7 
      8 - rank of matrix over K: num of nonzero rows in any REF
      9 - dim k of code C: dim of C as subspace of Kⁿ
     10     - if C has length n and dist d -- C is (n, k, d) linear code
     11 - if C linear code of length n and dim k, any matrix whose rows are basis for C is generator matrix for C (must have k rows, n cols, rank k)
     12 - G generator matrix ⇔ rows of G linearly independent
     13 - to find a generator matrix, put codewords in matrix and reduce, then take nonzero rows
     14 
     15 if G generator matrix for linear code C length n and dimension k, then v = u G ranges over all $2^{K}$ words in C $\forall u \text{length} k \in 2^{k}$
     16 - → C = { words u G, u in $K^{K}$ }
     17 - → u₁ G = u₂ G ⇔ u₁ = u₂
     18 
     19 info rate of (n, k, d) code: $\frac{\log_{2} (2^{k})}{n} = \frac{k}{n}$
     20 
     21 ## Parity check matrices
     22 H parity check matrix for linear code C if columns form basis for dual code $C^{\perp}$.
     23 - if C length n dimension k, parity check matrix has n rows, n-k columns, n-k rank
     24 - H parity check ⇔ columns H linearly independent
     25 - if H parity check matrix for C length n, then C = {words v ∈ Kⁿ | v H = 0}
     26 
     27 Matrix G generating and H parity check iff:
     28 1. rows of G linearly independent
     29 2. columns of H linearly independent
     30 3. rows(G) + columns(H) = columns(G) = rows(H)
     31 4. G H = 0
     32 
     33 H parity check for C ⇔ $H^{T}$ generator for $C^{\perp}$
     34 
     35 $H ^{T} G ^{T} = (G H) ^{T} = 0$
     36 
     37 ![Conversion between generator and parity check matrices](conversion.svg)
     38 
     39 ## Equivalent codes
     40 - if $G = [I_{k}, X]$, G in standard form and generator for linear code length n dimension k with standard form G, then first K digits in codeword v = u G form word u in $K^{K}$ ("information digits")
     41 - you can always permute C and rearrange every word
     42 - any linear code C equivalent to linear code C' having generator matrix in standard form
     43 
     44 ## Distance of linear code
     45 H parity check for linear code C.
     46 
     47 C has distance d ⇔ any set d-1 rows of H linearly independent & at least one set d rows of H linearly dependent
     48 
     49 ## Cosets
     50 for C linear code length n, u any word length n: coset of C determined by u = C + u = {v + u | v ∈ C}
     51 
     52 for C linear code length n, u and v words length n:
     53 - u ∈ C + v → c + u = C + v
     54 - u ∈ C + u
     55 - u + v ∈ C →  u and v in same coset
     56 - u + v ∉ C → u and v in different cosets
     57 - either C + u = C + v, or the two have no common words
     58 - |C + u| = |C|
     59 - C dimension k → exists $2^{n-k}$ different cosets of C, each with $2^{k}$ words
     60 - C is one of cosets
     61 
     62 ## MLD for linear codes
     63 when word w received, choose word u of least weight in coset c + w. conclude that v = w + u sent.
     64 
     65 for C linear code length n, H parity check for C, w and u words in Kⁿ:
     66 - w H = 0 ⇔ w codeword in C
     67 - w H = u H ⇔ w and u in same coset of C
     68 - u error pattern in received w → u H sum rows of H corresponding to position where errors in transmission
     69 - syndrome word w in Kⁿ: w H in $K^{n-k}$
     70 
     71 coset leader: word of least weight in coset.
     72 
     73 standard decoding array (SDA) matches coset leader u to syndrome u H.
     74 
     75 constructing SDA:
     76 1. list all cosets for code, elect leaders
     77 2. find parity check H for code
     78 3. calculate syndromes u H
     79 
     80 decoding w received:
     81 1. calculate syndrome w H
     82 2. find coset leader u next to syndrome w H = u H in SDA
     83 3. conclude v = w + u sent
     84 
     85 IMLD:
     86 - num words closest to w = num least weight error patterns in c + w
     87 - cosets with more than 1 least weight are omitted.