image of UC seal

EECS 20 Introduction to Real-Time Digital Systems

Spring, 1997

In EECS 20, you'll perform experiments with sampled speech, music, and image signals to gain experience in analyzing, enhancing, and performing real-time processing on them. You'll learn about Fourier analysis as the key mathematical technique to unlock the make-up of a signal, and see its usefulness in practice. You will also build signal processing algorithms using visual, interpreted, and assembly programming languages. Throughout the course, you build up the expertise to choose an algorithm from among a collection of equivalent algorithms to perform a signal processing task in real-time on a specific computer architecture.

The course contains both lecture and laboratory components, but stresses laboratories. The laboratory sessions will begin with a series of MATLAB exercises, in which you'll construct signal processing systems by connecting pre-programmed blocks together to process signals "off-line". Then, the laboratory will delve into the fast-paced world of real-time signal processing, in which signal processing operations must be performed quickly and efficiently. These laboratory exercises will give you hands-on experience in issues facing designers of signal processing, communications, and controls systems. You'll revisit many of the topics in courses such as

Schedule

This two-unit class consists of a lecture and a laboratory component. Lecture lasts one hour per week and laboratory discussion lasts one hour per week. For the Spring 1997 semester, the course control numbers are 23542 for the lecture, 23545 for the discussion session, and 23548 for the laboratories:

Laboratory exercises will take about four hours per week to complete. Teaching assistants will be available in the laboratories at scheduled times during the week.

Laboratory investigations include the processing of digitized music, audio, speech, and images. The laboratories will be split between simulation in MATLAB and real-time implementation on a Texas Instruments C50 digital signal processing board. Interaction with MATLAB takes place by issuing a series of interpreted textual commands. Interaction with the C50 board requires programming in assembly language which gets assembled in a binary program on the PC and downloaded onto the C50 board.

This class is taken on a pass-fail basis with grades determined by an equal weighting of

Each laboratory exercise will be handed out on Mondays, beginning January 27, 1997. Each laboratory exercise will be explained in the next discussion section, which takes place on Wednesdays. The oral report is due the following Monday, and the written report is due the Wednesday after that. All required work for this class is due on either Mondays or Wednesdays.

Teaching Staff

Instructors

Prof. Edward A. Lee, eal@eecs.berkeley.edu, 642-0455
Prof. Ljiljana Trajkovic, ljilja@eecs.berkeley.edu, 643-8351
Prof. Shankar Sastry, sastry@eecs.berkeley.edu, 642-1857

Teaching Assistants

Gene Cheung gcheung@eecs.berkeley.edu

Additional Staff

Ferenc L. Kovac
H. John Reekie

EECS 20 was offered for the first time in Spring 1996.
Teaching Staff: Kenneth H. Chiang, Brian L. Evans, William T. Huang, Ferenc Kovac, Edward A. Lee, David G. Messerschmitt, H. John Reekie, and Shankar S. Sastry

Course Materials, Pre-Requisites, and Restrictions

There is no course reader for this class. Laboratory assignments, lectures, and other materials will be put on the World Wide Web as they become available.

We are requiring that you purchase the following MATLAB book:

Each personal computer in the laboratory will be stocked with the following books:

The EECS20 pre-requisites are:
  1. CS9C C for Programmers, for introduction to programming and data structures, or
  2. consent of an instructor.
The following classes would be helpful in understanding the course material but they are not required:
  1. CS61A The Structure and Interpretation of Computer Programs, for functional programming and other programming styles

  2. CS61B Data Structures, for programming, algorithms, and representation of arrays on the computer.

  3. CS61C Machine Structures, for digital computer architectures

  4. MATH1B Calculus, for series, sequences, and first/second-order differential equations

This laboratory course is geared for sophomores, and initially, the enrollment will be restricted to 24 students.

Available Information

Last updated %G%, Send comments to (Mailbox)eecs20@hera.eecs.berkeley.edu