Syllabus told by sir: Channel models / capacity, polynomials, cyclic codes (systematic + non-systematic), groups and fields. When class asked “only ppts 2, 3, 8?”, he said yes.
| Topic | Read this |
|---|---|
| Channel models + capacity | Information_Theory_and_Coding (1).pdf slides 49–80 (Unit-II) |
| Groups + Fields + Polynomials | LECTURE SLIDE 2.pdf (all 42 slides) |
| Extended GF(2m), minimal poly, vector space | LECTURE SLIDE 3.pdf (14 slides) |
| Systematic vs non-systematic idea + trellis/Viterbi | LECTURE SLIDE 8.pdf (convolutional example) |
c=m·g vs c=x^{n-k}m + rem.Course Plan mapping: Lectures 9–15 = CO3 channels, Lectures 16–25 = CO4 Galois/poly/linear block, Lectures 26–40 = cyclic + convolutional + Viterbi. Quiz 2 sits at the 9–25 boundary, hence this mix.
Playlist PLXnsjPD8-xutVH9OHMzeBHFc-PYaEZ6AV (Vaishali). Same teacher, same notation. Durations from yt-dlp. Skip everything else if time is short.
| # | Video | Time | Why + slide match |
|---|---|---|---|
| 1 | L5 DMC | 14:11 | Channel matrix. Main deck 49-54. |
| 2 | L6 Hartley | 16:39 | Capacity gap filler. Slide 80. |
| 3 | L9 Linear Block | 11:13 | GF(2) background for cyclic. Slide 2. |
| 4 | L10 Block Question | 9:35 | Practice. Same. |
| 5 | L12 Cyclic Intro ★ | 16:54 | Start cyclic here. |
| 6 | L13 Poly Sys/Non-sys ★★ | 12:05 | Prof hint. Watch twice. Do Q14 with it. |
| 7 | L14 Matrix | 8:52 | G/H method. |
| 8 | L15 Decoding | 17:45 | Syndrome. |
| 9 | L16 Conv Intro | 12:42 | Slide 8 start. |
| 10 | L17 Tree | 9:17 | Slide 8 tree. |
| 11 | L19 State | 8:01 | Slide 8 FSM. |
| 12 | L20 Trellis | 6:51 | Slide 8 trellis. |
| 13 | L18 Viterbi | 7:11 | Slide 8 decode. |
Total 2h31m, 1.5x ≈ 1h41m. No time? 58 min: L13 (12:05) + L15 (17:45) + L5 (14:11) + L20 (6:51) + L18 (7:11). Skip L1-L4 (Unit-I), L21 Sequential, L22 Turbo — not Quiz 2. Slides 2+3 proofs (mod-5 tables, Lagrange, GF(7), GF(4) α²=1+α, conjugates) are NOT in playlist — read slides for those.
Also: Prof. Ranjan Bose NPTEL course 117102062 (IIT Delhi) on Ansys/NPTEL portal covers linear block + Galois + cyclic + division algorithm — same as textbook T1. Duke ECE590 cyclic slides (pfister.ee.duke.edu) give the cleanest systematic proof: p = −xn−km mod g.
| Book | Open this for Quiz 2 |
|---|---|
| Bose 2nd ed | Ch.2.2–2.7 channels + BSC/BEC + Hartley; Ch.4.2–4.4 poly division + cyclic c=m·g vs remainder-append; Ch.5.2–5.4 GF/minimal poly; Ch.6 trellis/Viterbi |
| Satyanarayana | Ch.3 DMC matrix, Ch.4 Gaussian/Hartley, Ch.6 block-code algebra + GF tables, Ch.7 cyclic systematic + syndrome, Ch.8 convolutional |
| Lin & Costello 2nd ed | Ch.1 BSC/AWGN models; Ch.2 groups/rings/fields + GF(2m) + minimal poly; Ch.5 cyclic encode (5.4–5.6) + syndrome; Ch.11–12 convolutional + Viterbi |
| Wells | Ch.2 DMC + symmetric C=log|Y|−H(row) + BSC/BEC; Ch.4–5 binary fields + poly mod xn+1 + systematic encoder + Meggitt; Ch.6 trellis/Viterbi/puncturing |
If short on time: Bose Ch.2 + Ch.4.4 + Lin Ch.2.5–2.7 + Ch.5.4 covers 90% of Quiz 2.
Matrix row = “if I send this, what can come out?” Rows sum to 1. P(Y)=P(X)·M. Joint = scale each row by P(xi). Then H(Y|X) = average entropy of rows, I=H(Y)−H(Y|X).
BSC flips with prob ε. BEC erases with prob γ (never flips). So BEC hurts less: C=1−γ vs BSC 1−Hb(ε). Ex: ε=0.1 → Hb≈0.469 → C≈0.531. γ=0.2 → C=0.8. Hartley: B=4kHz, 10dB (S/N=10) → 4000·log2(11)≈13.8kbps. Remember 1023→1024=210 trick for clean logs.
1. Group vs field in 1 line: group = add + undo. Field = add + undo and multiply + undo (except 0). Coding lives in fields so you can divide polynomials for parity.
2. GF(2) = {0,1}: add = XOR (1+1=0), mul = AND. This is 90% of Quiz 2. GF(3) = {0,1,2} mod-3. GF(p) only if p is prime.
| GF(2) + | 0 | 1 | GF(2) × | 0 | 1 |
|---|---|---|---|---|---|
| 0 | 0 | 1 | 0 | 0 | 0 |
| 1 | 1 | 0 | 1 | 0 | 1 |
3. Characteristic is prime: smallest λ with 1+1+…+1 (λ times) = 0. GF(2): 1+1=0 → λ=2. GF(7): λ=7.
4. aq−1=1: in GF(q), every non-zero to power q−1 = 1. Order of a divides q−1. Ex GF(7): 3→3,2,6,4,5,1 (order 6, primitive). 4→4,2,1 (order 3, not primitive).
5. GF(4) is NOT 0,1,2,3 mod-4: 4 not prime, 2 has no inverse mod-4. Build as {0,1,α,α2} with α2=1+α from X2+X+1=0. Powers: 1, α, α2=1+α, α3=1 cycle length 3=22−1.
6. GF(2m) recipe: take primitive degree-m poly p(X), set p(α)=0. Ex GF(16): p=X4+X+1 → α4=1+α. Then {0,1,α,…,α14}, α15=1. Poly form for add, power form for mul.
7. Conjugates: if β root, so are β2,β4,… Minimal poly = product (X+conjugates). Ex β=α3 in GF(16): conjugates α3,α6,α12,α9 → minimal X4+X3+X2+X+1.
8. Why for cyclic? Codewords are multiples of g. GF guarantees division works, remainder degree < deg g always exists, so systematic parity r = rem(xn−km/g) is unique.
Drill: write GF(3) add/mul tables from memory. Find inverses: 1−1=1, 2−1=2. Solve 2x+1=0 → x=1 (see Q9). List powers of α in GF(4) until back to 1.
Bits = coefficients: 1011 = X3+X+1. Add = XOR columns, no carries. Mul = distribute + XOR. Div: f = q·g + r, deg r < deg g.
Add ex: (X3+X+1)+(X2+X+1) → 1011⊕0111=1100 → X3+X2 (X and 1 cancel).
Mul ex: (X2+1)(X+1)=X3+X2+X+1. Note (X+1)2=X2+1 (middle 2X=0).
Div ex (Slide 2, must do by hand): (X6+X5+X4+X+1) ÷ (X3+X+1):
Root test: f(1)=0 ⇒ (X+1) divides f. Ex X4+X3+X2+1 at X=1: 1+1+1+1=0 → divisible.
Irreducible checklist: deg 2–3: check f(0)≠0 and f(1)≠0 → done. Deg ≥4: also rule out product of irreducible quadratics. Trap: X4+X2+1 = (X2+X+1)2, no root but reducible.
Primitive: irreducible deg m dividing Xn+1 smallest at n=2m−1. Ex X2+X+1 divides X3+1 → primitive, builds GF(4). X3+X+1: f(0)=1,f(1)=1 → irreducible → check divides X7+1 → primitive, builds GF(8).
Drill: divide (X5+X+1)/(X3+X+1) → q=X2+1, r=X2 (Q12). Do Q10–Q12 twice without looking.
(7,4) demo, g=X3+X+1, m=1101 (m=X3+X2+1):
Non-sys: m·g = X6+X5+X4+X3+X2+X+1 → 1111111.
Sys: X3m=X6+X5+X3 ÷ g → r=1 → c=X6+X5+X3+1 → 1101001 (message 1101 readable). Both satisfy c mod g=0.
Checklist: deg g=n−k, deg m<k, g | Xn+1, h=(Xn+1)/g, syndrome s=r mod g.
Block = combinational (no memory). Convolutional = sequential (memory m, 2m states). Slide-8 code: rate ½, g0=1011, g1=1111, non-systematic feedforward. u=(10111) → v=(11,01,00,01,01,01,00,11). Poly form g0(D)=1+D2+D3. Viterbi = keep best path per state by Hamming distance (add-compare-select), traceback at end. Rate k/n, states 2m.
Do in order. Clean numbers chosen so logs collapse (½,¼,⅛, 1023/1024). If intermediate looks ugly, re-read the question.
Given
Steps
Joint P(X, Y)
| P(x, y) | y = 0 | y = 1 |
|---|---|---|
| x = 0 | ⅜ | ⅛ |
| x = 1 | ⅛ | ⅜ |
H — entropies
I — mutual information
Given
Steps
Joint P(X, Y)
| P(x, y) | y = 0 | y = 1 |
|---|---|---|
| x = 0 | ¼ | 0 |
| x = 1 | ⅜ | ⅜ |
H — entropies
I — mutual information
Given
Steps
Answer
Given
Steps
Answer
Given
Steps
Answer
Step 1 — convert dB to a linear power ratio (the step that usually goes wrong):
Step 2 — Shannon–Hartley capacity:
Step 3 — evaluate: log24 = 2, so C = 4000 × 2 = 8000 bps.
Step 1 — convert dB to a linear power ratio:
Step 2 — Shannon–Hartley capacity:
Step 3 — approximate: 1024 = 210, so log2(1024) = 10 and 1001 is just under it:
Step 1 — test the additive structure ({0,1}, +₂) as a group:
⇒ ({0,1}, +₂) is an Abelian group.
Step 2 — test the multiplicative structure ({0,1}, ×) as a group:
⇒ ({0,1}, ×) is NOT a group.
Step 3 — field verdict: drop 0; the non-zero set {1} is a group under ×, and × distributes over +₂ on all of {0,1}:
Step 1 — addition table (mod 3):
+ | 0 1 2 ---+--------- 0 | 0 1 2 1 | 1 2 0 2 | 2 0 1
Step 2 — multiplication table (mod 3):
× | 0 1 2 ---+--------- 0 | 0 0 0 1 | 0 1 2 2 | 0 2 1
Step 3 — inverses: 1−1 = 1 (since 1·1 = 1); 2−1 = 2 (since 2·2 = 4 ≡ 1 mod 3).
Step 4 — solve 2x + 1 = 0 (mod 3):
Check: 2(1) + 1 = 3 ≡ 0 (mod 3). ✓
Step 1 — write both polynomials as GF(2) coefficient columns (x³ x² x¹ x⁰):
x³ x² x¹ x⁰ ----------- 1 0 1 1 (x³+x+1) ⊕ 0 1 1 1 (x²+x+1) ----------- 1 1 0 0 (x³+x²)
Step 2 — XOR each column: 1⊕0 = 1, 0⊕1 = 1, 1⊕1 = 0, 1⊕1 = 0.
GF(2) addition is XOR — no carries, coefficients mod 2.
Steps (all arithmetic over GF(2): coefficients mod 2, add = XOR):
x²+1 → 101 · B(x)=x+1 → 11x²·(x+1) = x³+x² and 1·(x+1) = x+1(x³+x²) ⊕ (x+1) — no coefficient cancels, all four terms survivex³+x²+x+1 → codeword 1111(x²+1)(x+1) = x³+x²+x+1 ✓Steps (polynomial long division over GF(2), subtract = XOR):
f(x)=x⁵+x+1 → 100011 ÷ g(x)=x³+x+1 → 1011x⁵÷x³ = x² · x²·g = x⁵+x³+x² · f ⊕ x²g = x³+x²+x+1x³÷x³ = 1 · 1·g = x³+x+1 · (x³+x²+x+1) ⊕ g = x²q(x)=x²+1 → 101 · Remainder: r = x² → 100f = q·g + r → (x²+1)(x³+x+1) + x² = x⁵+x+1 ✓Irreducible check on g: g(0)=1, g(1)=1+1+1=1 (mod 2) → no linear factor. deg g = 3, so any non-trivial factor would be linear → g is irreducible.
Steps 1–4 — non-systematic encoding (c = m·g, message hidden in the product):
m = 1101 → m(x) = x³+x²+1g(x) = x³+x+1 → 1011, deg g = n−k = 3, and g | (X⁷+1)c(x) = m(x)·g(x) = (x³+x²+1)(x³+x+1)x³·g = x⁶+x⁴+x³ · x²·g = x⁵+x³+x² · 1·g = x³+x+1c(x) = x⁶+x⁵+x⁴+x³+x²+x+1c = 1111111 — the message 1101 is not readable in itc mod g = 0 — holds by construction, since c = m·g is a multiple of g ✓Steps 1–4 — systematic encoding (message visible up front, parity appended):
m = 1101 → m(x) = x³+x²+1x³·m(x) = x⁶+x⁵+x³ → 1101000(x⁶+x⁵+x³) ÷ (x³+x+1)x³·g = x⁶+x⁴+x³ → rem x⁵+x⁴ · x²·g = x⁵+x³+x² → rem x⁴+x³+x² · x·g = x⁴+x²+x → rem x³+x · 1·g = x³+x+1 → rem 1r = 1 → parity 001c(x) = x³m(x) + r(x) = x⁶+x⁵+x³+1c = 1101001 — message 1101 readable up front, parity 001 at the tailc mod g = (x³m mod g) ⊕ r = 1 ⊕ 1 = 0 ✓Same m = 1101, same g | Non-systematic (Q13) | Systematic (Q14) |
|---|---|---|
| Formula | c = m·g | c = x³m + rem(x³m/g) |
| Codeword | 1111111 | 1101001 |
| Message visible? | No | Yes — 1101 + parity 001 |
| Check | c mod g = 0 ✓ | c mod g = 0 ✓ |
Both codewords are valid — different codewords of the same (7,4) code. The systematic form is the examinable one: always work out rem(xⁿ⁻ᵏm / g) by long division, never by spotting.
Steps (Slide-8 code: rate ½, feedforward, non-systematic):
R = k/n = ½, states = 2ᵐ = 4g0 = 1011 → g0(D) = 1+D²+D³ · g1 = 1111 → g1(D) = 1+D+D²+D³y and branch label l, metric = Hamming(y, l)u00, received y = 00: input 0 → label 00, metric = 0 · input 1 → label 11, metric = 2 → keep the input-0 pathu = 10111 → v = (11,01,00,01,01,01,00,11). If two paths tie, either may be kept (Viterbi arbitrary-tie rule).