EE445S Real-Time Digital Signal Processing Laboratory - Midterm #2
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 #2.
Midterm #2 for the fall 2019 semester will be on Monday, Dec. 9th,
during lecture time (10:30 am to 11:45 am) in
which seats 274 people.
With 35 students in the class, you should have at least three 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.
About 70% of Midterm #2 will come from lecture, and the remainder will
come from lab.
The problem(s) relating to the lab might require you to write C code.
The class average on midterm #2 has varied semester to semester.
Before the curve, the class average has been typically around 60.
Here are several example midterm #2 exams with and without solutions:
These and other previous midterm #2 exams are available in the
Coverage of midterm #2 includes the material presented in lecture and
lab since the first midterm.
Much of the material covered since the first midterm builds
on material from before the first midterm.
For Midterm #2, you will be responsible for the material in
For Midterm #2, you will be responsible for the following topics:
- Lectures 7-8, 12-16 and 26.
Lecture 26 is review for midterm #2.
- In-class discussions
- Johnson, Sethares, and Klein,
Software Receiver Design,
sections 6.5-6.7, sections 7.1-7.2, chapters 8-9, sections 10.1-10.4,
chapter 11, sections 12.1-12.3, sections 13.1-13.3, sections 16.1-16.5,
and appendices A, D, E, and F
- Welch, Wright and Morrow,
Real-Time Digital Signal Processing,
chapters 10 and 16-18, and appendices A-D
- Laboratory assignments 4-7
- All handouts in the course reader, esp.
Raised Cosine Pulse,
Noise-Shaped Feedback Coding,
Direct Sequence Spreading,
Communication Performance of PAM vs. QAM, and
Adding Random Variables
- Homework assignments 4-7 and their solution sets
(in addition, homework assignments 0-3 and their solution sets will
also be helpful)
- Simon Haykin, Communication Systems,
4.6 Random Processes,
4.8 Mean, Correlation and Covariance,
4.10 Transmission of a Random Process Through a Linear Filter,
4.11 Power Spectral Density, and
4.12 Gaussian Process.
Topics from lectures 10-11, 17-25 and 27 that were not covered in class
will not be covered on midterm #2:
- Interpolation: pulse shapes, oversampling, and design tradeoffs
- Quantization: system properties, SNR vs. bits of resolution,
noise floor, power spectra, and design tradeoffs for A/D converters
- Pseudo noise sequences and their applications (lab 4)
- Channel impairments (lecture 12) including linear time-invariant,
linear time-varying, and nonlinear distortion as well as additive noise
- Matched Filtering (lecture 13) including pulse shaping,
matched filtering, channel equalization and noise analysis
- Digital PAM, including error analysis, power requirements,
transmission, and reception (lecture 14 and lab 5)
- Digital QAM, including error analysis, power requirements,
transmission, and reception (lectures 15 and 16, and lab 6)
Nonetheless, the content in these lecture slides may be helpful in
preparing for an interview for a company that makes programmable DSPs
or heavily uses programmable DSPs in its products.
- Lecture 10.
Data conversion (part 1): dithering, oversampling, and noise shaping.
- Lecture 11.
Data conversion (part 2): including dithering, oversampling, and
- Lecture 17.
Fast Fourier Transform (FFT) including linear convolution,
circular convolution, and implementation complexity.
- Lecture 18.
Asymmetric Digital Subscriber Line (ADSL) Modems
including multicarrier modulation, cyclic prefix, baseband channel
models, channel equalization, transceiver training, and transmission
- Lecture 20.
Wireless orthogonal frequency division multiplexed (OFDM)
systems including multicarrier modulation, cyclic prefix, equalization,
transmission bandwidth, and wireless channel models
- Lecture 20 supplement.
WiMAX wireless data communications standard (guest lecture by
Prof. Jeffrey G. Andrews), which is based on OFDM
- Lecture 21.
Spread spectrum systems, including uses of spreading, correlation,
pseudo-noise sequences, and power control in spread spectrum systems
- Lecture 22. Modern Digital Signal Processors
- Lecture 23. Native Signal Processing
- Lecture 24.
Texas Instruments ExpressDSP Algorithm (Software Development) Standard
- Lecture 25. System-level Design
- Lecture 27. Synchronization in ADSL Modems
In preparing for midterm #2, I would recommend working through the
problems on the midterm #2 tests in the course reader, starting
with the most recent midterm #2 test.
I would also recommend thoroughly understanding the solution sets for
homework assignments 0-7.
For the Fall 2003 midterm #2, you can ignore the first problem, as
we haven't covered the topic of analog phase modulation.
Here are calculations on midterm #2 that I have seen a few students
have difficulty getting right:
- Complex number calculations. Let z = r exp(j w):
- z + z* = 2 r cos(w)
One can compute the real component via (z + z*)/2.
- z z* = r^2 = |z|^2
This is a power calculation, and gives a real number.
- z^2 = r^2 exp(j 2 w)
This gives a complex number.
- Polynomial factoring and expansion
- The solutions of a x^2 + b x + c = 0 with respect
to x are given by the quadratic formula:
r0 = (-b + sqrt(b^2 - 4 a c)) / (2 a)
r1 = (-b - sqrt(b^2 - 4 a c)) / (2 a)
- The solutions of a + b x^(-1) + c x^(-2) = 0 with
respect to x can be found by multiplying both sides
of the equation with x^2 and using the quadratic formula
- The expansion of (x - r0)(x - r1) is
x^2 - (r0 + r1) x + r0 r1.
- Based on our discussion of all-pass filters in lecture 6,
one way to stabilize a discrete-time IIR filter is to
reflect its poles that are outside the unit circle to
be inside the unit circle. That is, for each pole
p = r exp(j w) for which r > 1, change the pole to be
pnew = (1/r) exp(j w). The magnitude response is preserved,
but the phase response will change. (Note that poles on
the unit circle remain unchanged, which means that filters
with a repeated pole on the unit circle would remain
unstable.) In the context of designing all-pass filters,
poles are obtained by reflecting the zero locations
inside the unit circle.
- Decision regions for a constellation tell the receiver
how to apply thresholds to a sampled output of the
matched filter to decide which symbol (constellation
point) was most likely sent. The decisions regions
must cover the entire real line for PAM, and the
entire plane for QAM.