Principles of Digital Communication II

Electrical Engineering and Computer Science MIT CC BY-NC-SA 4.0 25 lectures

This course is the second of a two-term sequence with 6.450. The focus is on coding techniques for approaching the Shannon limit of additive white Gaussian noise (AWGN) channels, their performance analysis, and design principles. After a review of 6.450 and the Shannon limit for AWGN channels, the course begins by discussing small signal constellations, performance analysis and coding gain, and hard-decision and soft-decision decoding. It continues with binary linear block codes, Reed-Muller codes, finite fields, Reed-Solomon and BCH codes, binary linear convolutional codes, and the Viterbi algorithm. More advanced topics include trellis representations of binary linear block codes and trellis-based decoding; codes on graphs; the sum-product and min-sum algorithms; the BCJR algorithm; turbo codes, LDPC codes and RA codes; and performance of LDPC codes with iterative decoding. Finally, the course addresses coding for the bandwidth-limited regime, including lattice codes, trellis-coded modulation, multilevel coding and shaping. If time permits, it covers equalization of linear Gaussian channels.

Syllabus

  1. 1 Lecture 1: Introduction Sampling Theorem
  2. 2 Lecture 2: Performance of Small Signal Constellations
  3. 3 Lecture 3: Hard-decision and Soft-decision Decoding
  4. 4 Lecture 4: Hard-decision and Soft-decision Decoding
  5. 5 Lecture 5: Introduction to Binary Block Codes
  6. 6 Lecture 6: Introduction to Binary Block Codes
  7. 7 Lecture 7: Introduction to Finite Fields
  8. 8 Lecture 8: Introduction to Finite Fields
  9. 9 Lecture 9: Introduction to Finite Fields
  10. 10 Lecture 10: Reed-Solomon Codes
  11. 11 Lecture 11: Reed-Solomon Codes
  12. 12 Lecture 12: Reed-Solomon Codes
  13. 13 Lecture 13: Introduction to Convolutional Codes
  14. 14 Lecture 14: Introduction to Convolutional Codes
  15. 15 Lecture 15: Trellis Representations of Binary Linear Block Codes
  16. 16 Lecture 16: Trellis Representations of Binary Linear Block Codes
  17. 17 Lecture 17: Codes on Graphs
  18. 18 Lecture 18: Codes on Graphs
  19. 19 Lecture 19: The Sum-Product Algorithm
  20. 20 Lecture 20: Turbo, LDPC, and RA Codes
  21. 21 Lecture 21: Turbo, LDPC, and RA Codes
  22. 22 Lecture 22: Lattice and Trellis Codes
  23. 23 Lecture 23: Lattice and Trellis Codes
  24. 24 Lecture 24: Linear Gaussian Channels
  25. 25 Lecture 25: Linear Gaussian Channels

Course materials