EE445S Real-Time Digital Signal Processing Laboratory - Midterm #1

Prof. Brian L. Evans

Each midterm exam will be an open book, open notes, open laptop exam that is scheduled to last the entire period. The laptop must have all external networking connections disabled. Because each midterm is an open book, notes and laptop exam, you'll likely need to move quickly through the exam but also need to think deeply about possible ways to solve the problems. To this end, having a week of regular sleep, eating, and exercise will be very helpful.

You may download an archive of the course Web site (400 MB) prior to midterm #1.

Midterm #1 for the spring 2019 semester will be on Wednesday, March 13th, during lecture time (10:30 am to 11:50 am) in two different rooms:

With 32 students in the class, you should have at least two empty seats or an aisle on either side of you. The extra space will help you be more comfortable to arrange your books, notes, and laptop for the midterm exam.

Midterm #1 questions will come from lecture and lab. It is possible that one problem on the midterm may require you to write TMS320C6700 C/assembly code. TMS320C6700 assembly language instructions are tabulated in the slides for lecture 2.

The class average on midterm #1 has varied semester to semester. Before the curve, the class average has been typically around 60.

Here are several example midterm #1 exams:

These and many other midterm #1 exams (mostly with solutions) are available in the course reader.

Midterm #1 Review Slides are available from Spring 2017. The review slides are not comprehensive, but instead contain a sampling of important topics.

The online supplement to the book DSP First has dozens of worked problems from the pre-requisite course on signals and systems. After selecting a chapter on the Homework menu at the top right of the page, all of the problems from that chapter will be visible. There is a Solution button for those with solutions.

For Midterm #1, you will be responsible for the material in

  1. In-class lectures 0-6
  2. In-class demonstrations, including those from DSP First, 2nd ed., including
  3. In-class discussions
  4. Johnson, Sethares and Klein, Software Receiver Design, chapters 1-7 and appendices A & G
  5. Welch, Wright and Morrow, Real-Time Digital Signal Processing, chapters 1-7 and appendices A-D
  6. Laboratory assignments 1-3
  7. Handouts in the course reader entitled
  8. Homework assignments 0-3 and their solution sets

For Midterm #1, you will be responsible for the following topics:

  1. Communication system introduction (Lecture 0)
  2. Bandwidth (Lecture 1)
  3. Sinusoidal generation (Lecture 1)
  4. Upconversion and downconversion (Lectures 1 and 4)
  5. Conventional programmable digital signal processor architectures (Lecture 1)
  6. Continuous-time system properties (Lecture 3)
  7. Basic continuous-time signals (Lecture 3)
  8. Discrete-time system properties (Lecture 3)
  9. Basic discrete-time signals (Lecture 3 and 5)
  10. Fundamental Theorem of Linear Systems for continuous-time systems (Handout F)
  11. Sampling theorem (Lecture 4)
  12. Sampling and aliasing (Lecture 4
  13. Bandpass sampling (Lecture 4)
  14. Discrete-to-continuous conversion (Lecture 4)
  15. Fundamental Theorem of Linear Systems for discrete-time systems (Lecture 5)
  16. Z-transforms (Lecture 5 and 6; Johnson & Sethares Appendix A.4)
  17. Transfer functions (Lecture 5 and 6; Johnson & Sethares 4.5)
  18. Relationships between transforms (Lecture 5)
  19. Digital FIR filter implementation (Lecture 2 and 5)
  20. Digital FIR filter analysis (Lecture 5)
  21. Stability of continuous-time and discrete-time filters (Lecture 5 and 6)
  22. Digital IIR filter design by pole-zero placement (Lecture 6)
  23. Three direct form IIR filter structures (Lecture 6)
  24. Classical IIR filter design methods (Lecture 6)
  25. Implementing IIR filters as cascades of biquads (Lecture 6)
Here are the key parts of Oppenheim and Willsky's Signals and Systems (2nd ed.), Lathi's Linear Systems and Signals (2nd ed.) and McClellan, Schafer and Yoder's Signal Processing First.

O&W Lathi SPFirst Topics
1.6 1.7 5-5 & 9-4 System properties
1.3-1.4 1.4 2-3, 2-5, 4-4 & 9-1 Basic continuous-time signals
3.2 2.4-4 10-1 Fundamental Theorem of Linear Systems for continuous-time systems **
1.3-1.4 3.3 4-2.1 & 5-3.2 Basic discrete-time signals
3.2 3.8-3 6-1 Fundamental Theorem of Linear Systems for discrete-time systems **
9.7.2 2.6 16-8.3 Stability of continuous-time filters
10.7.2 3.10 8-2.4, 8-4.2 & 8-8 Stability of discrete-time filters
10.1-10.3 5.1 7-1 & 7-2 Z transforms
10.5 5.2 7-3, 7-4 & 7-5 Properties of the z-transform
10.7.3-10.7.4 5.3 8-3, 8-4 & 8-9 Transfer functions, and filter design by pole-zero placement
Ex. 5.13 Notch filters
Prob. 5.5-7 All-pass filters
10.8 5.4 5-4 & 8-9 Realizations of transfer functions
4.3-4.4 7.3 11-4 to 11-8 Fourier transform properties (esp. the frequency shifting property for sinusoidal amplitude modulation)
7.10 4-4 Pulse shapes
7.1 8.1 4-1, 4-2 & 4-5 Sampling theorem
7.4 8.2 12-3 Spectral analysis of sampling theorem
** Please see Appendix F and slide 5-13 in the course reader for the fundamental theorem. Oppenheim & Willsky (2nd ed.) covers a slightly different version of the fundamental theorem, in which a complex exponential is the input to a linear time-invariant system. Lathi also has that version as well.

Here are examples of calculations that many students have had trouble getting right on midterm #1.

The first common mistake is deriving transfer functions. One source is Lathi's Linear Systems and Signals book, which uses the operator notation D y(t) to represent (d/dt) y(t) or y'(t). This is not an error. Lathi's book continues as follows, given input signal x(t) and output signal y(t):

y'(t) + y(t) = x(t)
D y(t) + y(t) = x(t)
where D is the operator that differentiates its argument with respect to t. So far, so good. The problem starts when Lathi's book does the following:
(D + 1) y(t) = x(t)
From the above Lathism, many students erroneously conclude that
y(t)     1
---- = -----
x(t)   D + 1
h(t) = ----
where h(t) is the transfer function of the system in the time domain.

  1. Error #1: There is no concept of a transfer function in the time domain.
  2. Error #2: Clearly, h(t) = y(t) / x(t) is not a meaningful way to represent a system; it isn't valid when x(t) is zero.
When h(t) is the impulse response of the linear time-invariant system, we can find it by taking the inverse Laplace transform of the transfer function Y(s) / X(s) or the inverse continuous-time Fourier transform of the frequency response Y(ω) / X(ω). For an LTI system, y(t) = h(t) * x(t) where * denotes convolution.

In order for a system governed by a linear constant-coefficient equation to have the linearity property, the system must be at rest; i.e., the initial condition(s) must be zero.

Updated 01/14/19.