EE123: Digital Signal Processing


Spring, 2018


If you are an educator at another institution and would like to use these labs in your course, please contact Miki and I would be happy to provide you with the solutions as well as other material.

Lab 0: Introduction

Introduction to iPython, numpy, and matplotlib

Lab I: Laptop Sonar

In this lab you will learn about matched filtering and implement a real-time sonar using your laptop speaker and microphones.

Lab II Prelab: Play with the RTL-SDR dongle

In this lab you will install the drivers for the RTL-Dongles and a software radio software to look at parts of the spectrum, listen to FM radio and other stations.
Link to the Pre-Lab2
Due Monday, February 19th

Lab II: Spectral analysys using the DFT, ADS-B Flight Radar Receiver using RTL-SDR

In this lab you will look at spectral analysis using the DFT. In the second part, you will acquire samples from the spectrum using an SDR and look at it. In the 3rd part you will detect and decode ADS-B packets that are transmitted by airplanes using the SDR and display their position on a map in real-time.

Real-time flight radar

While we were able to implement packet detection, decoding and display of airplanes in real-time. The result was a bit clunky on the raspberry pi, with Jupyter notebooks. In order to appreciate real-time decoding follow the following instructions to install dump1090, a C implementation by Salvatore Sanfilippo.

In the terminal, install the development package for rtl-sdr, download the repository for dump1090 and compile

sudo apt-get install librtlsdr-dev

cd ~/Downloads
git clone

cd dump1090

./dump1090 --interactive --net

Then, on your laptop browser put the address of your pi and port 8080 to see real-time google maps.


Lab III: “Time Frequency, Spectrograms, FM radio demodulation and subcarriers”

In this lab you will look at the time frequency of audio signals. You will also look at broadcast FM radio. You will receive samples of a bay area FM radio station KPFA (94.1MHz) and digitally demodulate it to listen to its broadcasts. You will also demodulate its two subcarriers that broadcast a Punjabi and French Hatian radio stations embedded within the FM signal.

Lab IV:Digital Communications, Audio Frequency Shift Keying

In this lab you will learn about digital modulation schemes. You will experiment with audio frequency shift keying and then imeplement an APRS tranciever.

  • Prelab 4 “Intro to Digital Communications” due Sunday, April 8 (was Friday April 6)
    Prelab 4 zip

  • Lab 4 Part I “Radio Communication” due Friday, April 20
    Lab4 part I notebook,

  • Lab 4 Part II “Audio Frequency Shift Keying (AFSK)” also due Friday, April 20
    Lab4 part II notebook,

Lab V: Automatic Positioning and Reporting System (APRS)

You will be able to send and receive messages including sending an email and SMS using your ham radio.

Baofeng computer-radio interface circuit and schematics (Courtesy of Winthrop Williams, ESG group of the EECS department)

  • Howto: PDF

  • Circuit and Lazer cuts: ZIP

Some of the graphics are in multiple versions, all saved from Illustrator: .ai (Adobe Illustrator) .pdf (Adobe Acrobat, saved with the “Option” selected to “Preserve Illustrator Editing Capabilities”) *.svg (Scalable Vector Graphic)

Some notes about each graphic:

1) HamInterface.* is a photograph taken a week ago of a complete USB - to - Ham Radio Interface after adding the USB extension cable for connecting the SDR (Software Defined Radio). Under the left hook-and-loop fastener is the cable to go to a laptop or other computer. This feeds a USB hub supporting the USB extension and two other devices: the USB-Audio interface and the USB-Digital interface. All power is supplied via USB from the laptop. These two interfaces connect and combine via an analog isolation and attenuation circuit (see IsolationSchematic.png). This combined bi-directional signal passes through a clamped-on ferrite in order to block radio frequency interference (RFI) and then plugs into the Ham radio using the plug strapped along with the USB extension under the right hook-and-loop tie.

(2) The IsolationSchematic.png shows the analog portion of the Ham radio interface. In use, the green and yellow stereo 1/8“ plugs go into the USB-Audio interface dongle, the black dual stereo plug goes into the Ham radio's headset connector, and the Push-to-talk wires terminate in black female connectors which slip onto the 0.025” square posts of the USB-Digital interface.

(3) The Ham Radio Interface is mounted to a plate EE123BigPlate. and two attached bridges EE123Bridges., all laser cut from cast acrylic “Chemcast” plastic. In these drawings the RGB Red lines of 0.001 point width cause the laser-cutter to cut through the plastic, whereas the lines in RGB Blue cause it to vector-engrave. If there were any black in these drawings it would cause the machine to raster-engrave. Note that extruded acrylic and certain cast acrylic did not work because small features used to hold the nuts were not preserved (melted and hardened) during the cutting. Special thanks to TAP Plastics of El Cerrito CA for supplying samples of eight different kinds of acrylic for testing to determine which cut best with this design.

(4) The NutFingersWithRuler.* graphic is a microscope photograph taken in the Invention Lab, overplayed in black with a portion of the laser cut design. The flexion of the acrylic fingers as they hold the nut is clearly visible when compared to the overlay. The overlay is slightly offset vertically so as not to obscure parts of the photo. FYI The overlay design is the 3102015 (latest) version, whereas the photo was taken 2172015 of an earlier (but very similar) version. LasercutNutHolder4Cr.png is the unadorned (only cropped) photo.

Sincerely, Win