EE590A Trellis-Coded Modulation
Tuesday evening, 6:35 pm - 9:35 pm (20 min. break midway), EERC 123In a modern high-speed modem, conversion in the transmitter of an input data stream to a channel signal is a two-stage process. First, the transmit portion of a trellis-coding system converts the data stream to a stream of real n-vectors chosen from some "signal set," and a second step then converts that sequence of vectors into an electrical signal. The process is reversed in the modem receiver. The theory behind the inner layer of this system, transmission and reception of real n-vectors over an electrical, telephone, or radio channel, is the subject of another course, EE507. This EE590 course covers the outer layer of the system, conversion between data and n-vectors, simply assuming that the inner layer will work as advertised. (Therefore, there is no specific EE background required for the course.)
The receiver portion of the trellis-coding system is interesting because of the random noise added to the n-vectors by the channel. Drawing on an intuitively plausible EE507 result--that system performance is ultimately determined by three properties of the signal set, (1) its minimum Euclidean distance, (2) its error coefficient, and (3) its average energy--the idea of free codes of N-dimensional signals is examined. We see that larger dimensionality, that is, more structure relating signal coordinates in various dimensions, permits improved performance, and this leads to replacing combinatorial data-to-signal mapping with a finite-state-machine map, the idea behind trellis coding. A short introduction to group theory (groups, subgroups, coset decomposition, lattices, symmetry groups) leads to the specialized signal sets usually used for trellis-coded modulation: lattice alphabets and group alphabets. (The trellis itself is a very group-theoretic creature as well.) Along the way, we develop a dynamic-programming algorithm (the Viterbi algorithm) for the receiver that leads to the lowest possible probability of making an error in the determination of the transmitted data sequence. (Little or no probability theory is used in the course.) Trellis-design concepts are developed based slightly on early work of Ungerboeck and heavily on the recent work on group trellis codes of Forney and Trott.
The course is highly discussion oriented, and students will be expected to contribute in class to the interactive development of the key ideas. Typically students design our first trellis code, develop the idea of set partitioning for labeling a trellis with outputs, and derive the Viterbi (or other) algorithm for maximum-likelihood sequence estimation in the receiver. Students will be expected to complete (and thoroughly document) a team computer-simulation project in which they implement a general trellis coder and Viterbi decoder for testing trellis codes of their own design.
Prerequisite: graduate standing in electrical engineering, computer science, or mathematics, or permission of instructor. Auditors (who consistently attend) are welcome.
There is no required text. Those who wish to own a reference might consider the 1991 text, ``Introduction to Trellis-Coded Modulation with Applications'' by Biglieri, Divsalar, McLane, and Simon. A list of recommended more-recent references for further study will be (incrementally) provided during the course.
I noticed that another trellis-coding course is offered at Cornell.
EE Home Page