ENEE222: Signals and Systems Theory at the University of Maryland pairs its theory with a series of hands-on MATLAB labs, each framed as a real-world scenario that has to be solved with digital signal processing. Every lab handed over raw signal data and a mission: compress it, decode it, clean it, or reshape it. Below are five of my favorite missions from the back half of the course, spanning transform-domain compression, amplitude modulation, DTMF decoding, terrain synthesis, and FIR filter design.
All work was done in MATLAB, leaning heavily on the DFT/FFT, convolution, spectrograms, and the filterDesigner toolbox. Each mission below is one lab from the course.
A next-generation implantable heart monitor needs to record an electrocardiogram (EKG), compress it enough to transmit wirelessly out of the body, and still preserve the three diagnostic pulse components that characterize a heartbeat: the large positive spike, the large negative spike, and the small positive spike that follows.
I wrote a CAPPROX function that transforms the EKG into a sparse basis, keeps only the N largest coefficients, and reconstructs the signal. The key challenge was that N could not be hard-coded — the function progressively lowers the number of retained coefficients until the reconstruction error crosses a fixed tolerance (EBAR), guaranteeing all three pulses survive on any input heartbeat. The routine runs in roughly 0.06–0.09 seconds, comfortably fast enough for real-time heart-rate monitoring.
A denoised signal — supposedly captured by SETI — arrives with audible content hidden inside it. The DFT reveals two symmetric peaks far from baseband: a tell-tale sign of amplitude modulation. Was this an alien broadcast using AM to reach us?
Using the location of the distinct peaks in the spectrum, I recovered the carrier frequency, then demodulated by multiplying the AM signal by a cosine at that carrier and isolating the baseband components. After forcing the recovered signal purely real and zeroing everything but the baseband, the audio played back cleanly through soundsc. The verdict: a clip of recognizable English speech — far more likely an ordinary terrestrial AM broadcast than a message from across the galaxy.
Working as an information-security analyst on an embezzlement case, I intercepted an audio transmission that a criminal ring was using to coordinate money drop-offs across US cities. The audio was a sequence of touch-tone (DTMF) keypresses, and each key spelled out letters like an old-fashioned phone keypad.
Because a DFT of the entire recording smears every tone together, I segmented the audio into individual keypresses and ran the DFT on each segment separately. For every tone I identified the dominant row and column frequencies against the standard DTMF frequency tables, mapped them back to a key, and reassembled the string. Decoding the letters revealed the target cities: Orlando, Miami, and Boston.
An engineering firm analyzing remote-sensing data needed synthetic landscape features added to a real terrain map so geologists could model erosion and watershed behavior. The task was to insert six parabolic dome structures — three raised hills and three sunken depressions — each at a specified absolute coordinate and height.
I built a reusable base dome from a parabola of the form 1 - ((x-h)^2 + (y-k)^2)/r^2, clamped to a 10-sample radius, then wrapped it in an anonymous function that could shift the center and scale the height on demand. Looping over the six targets, positive features were clamped to rise above the terrain and negative features clamped to carve into it, all rendered as flat-shaded 3D surfaces before and after modification.
surf plots comparing original vs. modified terrain
As the audio engineer for a startup record label, I had a recording from a high-profile EDM client that was ruined by significant noise during the session. Losing the client was on the line — the track had to be denoised without destroying the music.
Using MATLAB's filterDesigner, I designed an 85th-order equiripple FIR filter (86 coefficients) with a 0.05 normalized transition bandwidth and better than −60 dB stopband attenuation. I exported the coefficients, convolved them with the noisy audio to filter it, and confirmed the result with a 1024-point spectrogram — the noise band was gone while the music remained intact.
Across these five missions, the same handful of tools — the DFT, convolution, spectrograms, and filter design — kept reappearing in completely different disguises: medical compression, radio demodulation, forensic decoding, terrain modeling, and audio restoration. ENEE222 turned abstract signals-and-systems theory into tangible, story-driven engineering problems, and these labs are where the math finally clicked into intuition.