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

*Signals and Systems**Noise Analysis of Communications Systems**Introduction to Communications Networks**Digital Signal Processing*

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:

- Lecture: Mondays 1-2 PM, 531 Cory Hall (Hogan Room)
- Discussion: Wednesdays 1-2 PM, 531 Cory Hall (Hogan Room)
- Laboratories: Students work at their leisure in 117 Cory Hall

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

- four short quizzes (10-15 minutes in length)
- oral laboratory reports (10 minutes maximum)
- written laboratory reports (less than 1 page in length)

*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

We are requiring that you purchase the following MATLAB book:

- Duane Hanselman and Bruce Littlefield,
*Mastering MATLAB*, Prentice Hall, ISBN 0-13-191594-0, 542 pages, 1996.

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

- The MathWorks, Inc.,
*The Student Edition of MATLAB Version 4 User's Guide*, Prentice Hall, ISBN 0-13-184979-4, 1995. - The MathWorks, Inc.,
*The Student Edition of SIMULINK User's Guide*, Prentice Hall, ISBN 0-13-452435-7, 1995. - Texas Instruments, Inc.,
*TMS320C5x User's Guide*, 1993.

*CS9C C for Programmers*, for introduction to programming and data structures, or- consent of an instructor.

*CS61A The Structure and Interpretation of Computer Programs*, for functional programming and other programming styles*CS61B Data Structures*, for programming, algorithms, and representation of arrays on the computer.*CS61C Machine Structures*, for digital computer architectures*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.

- Handouts
- Demonstrations
- On-line tutorials
- Schedule of lectures and laboratories
- Class read news group: ucb.class.ee20
- The MathWorks Inc., makers of MATLAB and SIMULINK
- Useful software
- Internet DSP Resources
- Digital Signal Processing Seminar
- "Real-Time DSP for Sophomores", 1996 IEEE International Conference On Acoustics, Speech, and Signal Processing, Atlanta, GA, May, 1996. Compressed Postscript Version. Acrobat Version.