6.341 | Fall 2005 | Graduate

Discrete-Time Signal Processing


This course makes use of Athena, MIT’s UNIX-based computing environment. OCW does not provide access to this environment.

A list of topics covered in the course is available in the calendar below.

Course Meeting Times

Lectures: 2 sessions / week, 1.5 hours / session

Recitations: 1 session / week, 1 hour / session


This course presumes a level of solid understanding of LTI systems, discrete-time signals, sampling, Fourier transforms and bilateral z-transforms for both deterministic and stochastic signals. The primary course prerequisite for 6.341 is 6.011. If you have not already taken 6.011 and have any doubts as to your understanding of these concepts, we strongly encourage you to take 6.011 before attempting 6.341. 6.341 will assume that you have previously seen and have fluency with the following material in the 6.341 text:

  • All of Chapters 2 and 3
  • Chapter 4 through Section 4.5
  • Chapter 5 through Section 5.3
  • Appendix A

The first problem set provides a basis for reviewing some of this background. Two days after Lec #4, there will be a diagnostic exam to test your understanding of the background basics. This exam will be designed with the expectation that students who are well prepared in the background will achieve at least an 80% grade. Performance in this exam will not be considered in the final grade but weak performance will be a strong indicator of weakness in your background and potential serious difficulty as we move into more advanced material.

It is also important to understand clearly that this is a graduate subject. Consequently, in addition to the formal prerequisites, we assume you have an interest in and commitment to understanding concepts in depth.

Attendance, Lectures and Recitations

Lectures: Tuesday and Thursday, 11:00 am - 12:30 pm 
Recitations: Fridays, Section 1 - 11:00 am - 12:00 pm, Section 2 - 3:00 pm - 4:00 pm

While attendance at lectures is not formally recorded, it is assumed that you are at all of the lectures. The lecture is scheduled for 11:00-12:30. On occasion, students have tried to simultaneously take a course whose schedule overlaps the 6.341 lecture time, so they do not arrive until 11:30 or have to leave at 12:00. This simply does not work for a variety of reasons, among them the fact that arriving late and leaving early is very disruptive to the rest of the class. Please avoid arriving late or leaving early.

Attendance at recitations is optional but recommended. You are welcome to choose whichever recitation section best fits your schedule. In these sessions, additional perspectives on the lecture material may be presented, questions and points of confusion will be addressed, and examples and homework problems will be discussed. No new material will be introduced. The first recitation is on Friday, one day after Lec #1. This recitation will focus on the assumed background from 6.011.

Open Hours

The staff is very available during open hours and you are encouraged to come by during the times indicated. While in an emergency the TAs might be willing to meet with you briefly outside of these times, you must remember that they are also taking courses, writing theses, etc.

The open hours for Al Oppenheim are unplanned and unstructured discussions of any aspects of the material that those attending would like to discuss. You don’t need to come with questions and the larger the group, the more fun and interesting it is likely to be.


Homework will generally be handed out in lecture on Tuesdays and be due in lecture on Tuesday of the following week (see calendar below for specifics). Some parts of the homework may involve MATLAB® exercises. It is assumed that you already have some familiarity with MATLAB®.

As described in the handout titled “Homework Contract” given in the assignments section, you are asked to choose between two options, Option 1 in which you do not hand in homework and it is not graded, and Option 2 in which your homework is graded. If you do not explicitly choose Option 2 by signing the Homework Contract, it will be assumed that you have chosen Option 1.

There will be approximately 11 problem sets, corresponding to a quasi-weekly schedule. Don’t be misled by the relatively few points assigned to homework grades in the final grade calculation. While the grade that you get on your homework is at most a minor component of your final grade, working the problems is a crucial part of the learning process and will invariably have a major impact on your understanding of the material (and, in turn, your exam performance and final grade!).

From this perspective, course “bibles” from previous terms are self-defeating and we recommend against using them. However, moderate collaboration in the form of joint problem solving with one or two classmates is permitted and even encouraged provided your write-up is your own. In making up the exams and in assigning final grades, we will assume that you have worked all the assigned problems. Typically, one problem on each exam will be strongly based on one of these problems.

Some problem sets may contain at least some problems labeled “optional.” You don’t turn in solutions to these problems. However, we select these problems with the same care as the assigned problems, and you’re likely to find them helpful to do as time permits since they are intended to give you additional practice and insight into the material.

Problem sets must be handed in by the end of the class in which they are due, and solutions will be available at the end of the lecture on the same days. Consequently, late problem sets cannot be evaluated. Each problem set that you turn in will be given a score of 0, 1, or 2. A score of 2 is given for a good effort on all or most of the problems (even if not with uniform success); 1 for a reasonable attempt, but with significant gaps; and 0 when there is little evidence of any original thought or effort. For additional feedback on the problems, come to any of the staff’s open hours after you’ve had a chance to look through the solutions we hand out.


There will be one exam early in the semester, a midterm exam and a final exam during the final exam period. The first exam will be an “answer only” (i.e. no partial credit) exam to test and give you feedback on your background for the remainder of the course. Your grade on this exam will not be counted in the final grade but a grade below 80% will be suggestive of significant weakness in background. The midterm will be more conceptual and comprehensive than the first exam.

Both the background quiz and the midterm will be “officially” given from 11:00 am - 12:30 pm to fit within the lecture time. However, the room will be reserved from 11:00 am - 1:00 pm to avoid time pressure at the end of the exam. You may want to allow for the additional half hour in your schedule. The exams will be closed book. However, you will be allowed to bring two 8.5 x 11-inch sheets of notes (both sides) to the midterm, and three 8.5 x 11-inch sheets of notes (both sides) to the final. No sheets of notes are permitted for the background quiz.

MATLAB®-Based Project and Exercises

One of the best ways of learning much of the material in this course is by exploring many of the concepts with MATLAB®. In addition to traditional homework problems, this subject will have a computer laboratory component based on the MATLAB® software package provided on Athena. MATLAB® is widely used in academic and industrial research laboratories in general, and is well-suited for work in signal processing in particular. Many of you have probably had some experience with MATLAB® in undergraduate courses. For those of you who haven’t, though, you’ll find that among the many attractive features of MATLAB® are its ease of use and very short learning curve.

There will be two MATLAB®-based projects during the term. The details and timetables of the project(s) is given below. Completing the project(s) and associated write-up(s) is a requirement of the course and is not optional - i.e., to receive a passing grade in the course you must complete the project write-up(s), no matter which homework option you chose.

For those of you who might benefit from some initial familiarization with MATLAB® tools in anticipation of the project, you will find attempting some of the exercises in the Computer-Based Exercises book useful (see the readings section).

Some of you may have access to MATLAB® running on other machines. Nevertheless, we recommend you do the project directly on Athena. While you are free to explore using the alternate platforms, please keep in mind that the 6.341 staff will only be supporting MATLAB® for 6.341 on Athena, and on a number of occasions we will make use of special files and scripts that we’ve located on Athena specifically for the course. You’re welcome to attempt to try to locate and port some of these on your own platform, but please keep in mind that you’ll be on your own in such endeavors and we can’t guarantee identical results.

Course Grade

The final grade for the course is based on our best assessment of your understanding of the material, as well as your commitment and participation. The exams, problem sets, and projects are combined with the following rough weighting to give a preliminary final grade:

ACTIVITIES Option 1 Option 2
Midterm 35% 30%
Final Exam 45% 40%
Problem Sets 0% 15%
MATLAB® Project(s) 20% 15%

However, this provides only a starting point for assigning the final grade. Other factors such as interaction with the staff, participation in lecture and recitation, etc., can make a significant difference in the final grade. The process of assigning the final grade involves a lot of discussion among the staff and very often a careful review of the final exam to look “behind the numbers” to understand better the kinds of mistakes that were made. We know that the final grade is important to you and we take the process seriously.


1 Course Overview Problem set 1 out
2 Background Review: Phase, Group Delay, and Generalized Linear Phase

Problem set 1 due

Problem set 2 out

3 Minimum-phase and All-pass Systems  
4 DT Processing of CT Signals and CT Processing of DT Signals: Fractional Delay

Problem set 2 due

Problem set 3 out

  Background Exam  
5 Sampling Rate Conversion

Problem set 3 due

Problem set 4 out

Project 1 out

6 Quantization and Oversampled Noise Shaping  
7 IIR, FIR Filter Structures

Problem set 4 due

Problem set 5 out

8 Filter Design: IIR Filters  
9 Filter Design: FIR Filters Problem set 5 due
10 Multirate Systems and Polyphase Structures Problem set 6 out
11 Multirate Systems and Polyphase Structures (cont.)  
12 Linear Prediction and All-pole Modeling

Problem set 6 due

Problem set 7 out

13 The Levinson-Durbin Recursion  
14 Guest Lecture: Gene Frantz

Problem set 7 due

Problem set 8 out

Project 1 due

15 The Discrete Fourier Transform (DFT)  
  Midterm Exam  
16 Linear Filtering with the DFT  
17 Spectral Analysis with the DFT

Problem set 8 due

Problem set 9 out

Project 2 out

18 Periodogram  
19 FFT Algorithms

Problem set 9 due

Problem set 10 out

20 The Goertzel Algorithm and the Chirp Transform

Problem set 10 due

Problem set 11 out

21 Short-time Fourier Analysis  
22 Modulated Filter Bank Project 2 due
23 Caruso’s Orchestra Problem set 11 due
  Final Exam  

Course Info

As Taught In
Fall 2005
Learning Resource Types
assignment_turned_in Problem Sets with Solutions
grading Exams with Solutions
notes Lecture Notes