14:332:346 Digital Signal Processing

Course Catalog Description: 

14:332:346 – Digital Signal Processing (3)
Introduction to digital signal processing, sampling and quantization, A/D and D/A converters, discrete time systems, convolution, z-transforms, transfer functions, digital filter realizations, fast Fourier transforms, analog & digital filter design, digital audio applications.

Pre-Requisite Courses: 

14:332:345 (and 347) - Linear Systems and Signals (and Lab). C or MATLAB programming experience is required.

Co-Requisite Courses: 

14:332:348 (mandatory associated DSP lab)

Pre-Requisite by Topic: 

1. Complex numbers and trigonometry
2. Differential and integral calculus
3. Linear time-invariant systems
4. Convolution and transfer functions
5. Laplace transforms and z-transforms
6. Difference equations

Textbook & Materials: 

S. K. Mitra, Digital Signal Processing, 4th ed., McGraw-Hill, 2011, or equivalent.
S.J. Orfanidis, Introduction to Signal Processing, Prentice-Hall, 1996, and available freely online from: http://www.ece.rutgers.edu/~orfanidi/intro2sp/


MatLab: Student Version, Current Edition, The MathWorks, Inc.

Overall Educational Objective: 

To introduce the basic principles, methods, and applications of digital signal processing, emphasizing its algorithmic, computational, and programming aspects.

Course Learning Outcomes: 

A student who successfully fulfills the course requirements will have demonstrated:
1. Understanding of the two key DSP concepts of sampling and quantization, and the practical issues involved in sampling, aliasing, and analog reconstruction of signals, and in choosing and defining specifications for anti-aliasing pre-filters and anti-image post-filters.
2. Understanding of the quantization process and some practical implementations of A/D and D/A converters such as the conversion algorithm for bipolar two's complement successive approximation converters.
3. Understanding of basic discrete-time systems concepts, such as linearity, time-invariance, impulse response, convolution, FIR and IIR filters, causality, stability, z-transforms, transfer functions, frequency response, time constants, transient and steady-state response.
4. Understanding of how to implement digital filters in software and hardware, using block processing methods based on convolution, or real-time sample-by-sample processing methods based on block diagram realizations that are implemented with linear or circular delay-line buffers.
5. Ability to translate a filter’s transfer function into block-diagram realizations, such as direct, canonical, transposed, and cascade forms. And conversely, the ability to start with a given block diagram, determine its transfer function, and translate it into a real-time processing algorithm implementable in software or hardware.
6. Understanding of various digital filter design methods meeting prescribed specifications, such as pole/zero placement or bilinear transformation methods, and appreciating design tradeoffs between the specifications and filter order, time constant, and pole locations.
7. Understanding of the discrete Fourier transform and the fast Fourier transform and their use in spectral analysis, data compression, and fast convolution. Understanding of the tradeoffs between frequency resolution and signal duration and the use of windows for reducing frequency leakage. Ability to perform short FFTs by hand.

How Course Outcomes are Assessed: 

  • Pre-requisite Quiz (ABET): 3%
  • Homeworks (3% each): 12%
  • Random attendance: 10%
  • Midterm 1: 20%
  • Midterm 2: 20%
  • Final Exam (cumulative): 35%

  • N = none S = Supportive H = highly related



    Proficiency assessed by

    (a) an ability to apply knowledge of Mathematics, science, and engineering


    HW Problems, Exams

    (b) an ability to design and conduct experiments and interpret data


    (c) an ability to design a system, component or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability


    Digital filter design examples meeting prescribed specifications

    (d) an ability to function as part of a multi-disciplinary team


    (e) an ability to identify, formulate, and solve ECE problems


    HW Problems, Exams

    (f) an understanding of professional and ethical responsibility


    (g) an ability to communicate in written and oral form


    HW Problems, exams

    (h) the broad education necessary to understand the impact of electrical and computer engineering solutions in a global, economic, environmental, and societal context


    (i) a recognition of the need for, and an ability to engage in life-long learning


    Home-work, emphasized during lectures

    (j) a knowledge of contemporary issues


    (k) an ability to use the techniques, skills, and modern engineering tools necessary for electrical and computer engineering practice


    HW Problems, Exams

    Basic disciplines in Electrical Engineering


    HW Problems, Exams

    Depth in Electrical Engineering


    HW Problems, Exams

    Basic disciplines in Computer Engineering


    Programming DSP algorithms in C, MATLAB, and assembly language for DSP chips

    Depth in Computer Engineering


    Software and hardware programming

    Laboratory equipment and software tools


    Analog Devices DSP-2181 digital signal processor. Programming in C, MATLAB, and DSP software development environment

    Variety of instruction formats


    Lecture, office hour discussions

Topics Covered week by week: 





Signal and Signal Processing


Closed book



Discrete-Time Signals and Systems


First Recitation


Discrete-Time Fourier Transform


Second Recitation

HW1 due


Closed book

MIDTERM 1 (20%)


Digital Processing of Continuous-Time Signals


Finite-Length Discrete Transform


Third Recitation

HW2 due




Fourth Recitation

HW3 due


Closed book

MIDTERM 2 (20%)

24, 25

LTI Discrete-Time Systems in the Transform Domain

26, 27

Digital Filter Structure


Fifth Recitation

HW4 due

Closed book


Computer Usage: 

DSP algorithm programming in C, MATLAB, and Assembly Language.

Laboratory Experiences: 

14:332:348 Digital Signal Processing Laboratory (mandatory)

Design Experiences: 

HW problems in designing digital filters using various techniques. In conjunction with 332:348, designing and programming real-time audio signal processing algorithms on DSP hardware.

Independent Learning Experiences : 

1. Homework, 2.MATLAB programming, 3.Testing (Quizzes, Exams)

Contribution to the Professional Component: 

(a) College-level Mathematics and Basic Sciences: 0.5 credit hours
(b) Engineering Topics (Science and/or Design): 2.5 credit hours
(c) General Education: 0.0 credit hours
Total credits: 3

Prepared by: 
Profs. Sophocles Orfanidis and Dario Pompili
April, 2011