ECE410: Voice Signal Processing
Summer 2005

Linear System


Tuesdays 4:00pm - 7:00pm



Norden: on-site



Jeffrey N. Denenberg

Douglas Lyon


(203) 268-1021

(203) 641-6293



(203) 877-4187


Home Page:


CS232, MA 172 or permission of instructor.


Office Hours:

The hour before class on Tuesdays
Contact either instructor via Phone,
Fax or Email at any reasonable time.



Sanjit J. Mitra,
Digital Signal Processing: A Computer-Based Approach,
3rd edition, McGraw-Hill 2005,
ISBN 0-07-286546-6

Lyon and Rao,
Java Digital Signal Processing, paperback or PDF, with CD-ROM or on-line distro.


MatLab 4.2c (or later), The Mathworks
(4.2c is available from the instructor)



Phillips and Parr, Signals, Systems, and Transforms,
3rd edition, Prentice-Hall 2003,
ISBN 0-13-041207-4

Philips and Parr, Interactive Lecture Notes (Chapters 1-7), EE235
Thanks to the University of Washington

Smith, DSP-Guide, Zip File (8 Mbytes)
(original is at

Mitra, 2nd Edition, Lecture Notes, Index

Hsu, Analog and Digital Communications,
Schaum's Outlines, McGraw-Hill 1993

Lathi, Linear Systems and Signals,
2nd edition, Prentice-Hall 2002

Soliman and Srinath, Continous and Discrete Signals and Systems,
2nd edition, Prentice-Hall 1990

Lathi, Linear Systems and Signals,
2nd edition, Prentice-Hall 2002

Denenberg, Fourier Series

Denenberg, Fourier Transform

Denenberg, Sampling and Reconstruction

Denenberg, The Discrete Fourier Transform (DFT)

Denenberg, The z-Transform

Denenberg, Filter Approximation Theory

Denenberg, Linear Systems

Denenberg, Introduction to Noise


Course Description:

Overview of Digital Audio and its application Current state of streaming Audio on the Internet Digital Audio Processing Fundamentals. This course applies transform concepts and applied multi-media object-oriented programming. Students will apply the theories of Sampling, Spectra, Fast Fourier Transform Class, convolution and frequency space processing, compression and one-dimensional streaming. Students will apply the theories by creating programs that read processing and write audio streams. They are exposed to the elements of multi-media network delivery of data. They learn about a wide class of FFT algorithms and elementary sound synthesis. This course requires substantial programming effort and emphasis is place on good software engineering practices. Students will learn enough signal processing to take Image Processing, the follow-on course.

Schedule - Summer 2005 (Updated periodically so check regularly)

Student Learning Objective


The students will learn the principles of Digital Signal Processing.

Demonstrate the ability to analyze the performance of Discrete-Time systems

The students will become proficient with the usage of the Java language.

Demonstrate the ability to utilize Java in practical signal processing problems

The students will recognize interrelationships among signals and spectra.

Perform spectral analysis

The students will learn enough CS to do basic multi-media programming.

Write a program to display waveforms using a software o-scope

Perform constructive and destructive synthesis

The students will learn about Object Oriented Design.

Uses appropriate object-oriented design patterns to solve problems

The students will learn how to apply their mathematical background to signal processing.

Apply transform concepts in programming situations










Supplementary Materials:

·       MatLab Tutorial by B. Aliane

·       MatLab files for Phillips and Parr, "Signals, Systems and Transforms", 2rd Ed.: (zip archive - 20 KB) Thanks to Drs. Phillips/Parr and The Mathworks

·       Index to UCLA 102 Practice Sets Thanks to Dr. Paganini

·       Denenberg References In MS Word Format (732KB zip archive)

·       Spectrogram - A spectrum analysis tool (257KB zip archive, freeware for non-commercial use only)

Class Performance Summary: As of Exam 1


1/3 Homework
1/3 Mid-Term Examination
1/3 Final Exam

There will be no make-up examinations. If you are unable to take one of the mid-term examinations on the assigned date, let me know in advance to make alternative arrangements. If you are unable to take the final examination on the assigned date, then the instructor will record a course grade of incomplete which can be redeemed by taking the final examination when the course is next offered (usually 1 year later).

In case of a class cancellation, use U.S. mail, e-mail, fax, or hand delivery to send in any assignment by the Friday following the due date. The activity scheduled for a cancelled meeting date, whether exam or lecture, is automatically postponed to the next class meeting when it is eventually held. After a cancellation, an updated schedule will be issued.

Each reading assignment should be completed before the weekly meeting. Homework is due at the meeting following the week when it is assigned.

Assignments are due at the beginning of class. Assignments handed in during class lose 5 points, after class 10 points.
Late submittals lose 10 points per day including weekends and holidays.


Missing an exam results in a zero unless a written excuse is presented.


Homework requirements:

Print out a listing of the program. Print out the program input and output. You may need to do this
at various levels of detail. Hand in a labeled disk with a printout. Place the disk in a #10 letter
envelope and staple the envelope to the printout.

Topics :

A. Exceptions (ch 10)

B. Nested Reference Data Types (ch 12)

C. Threads (ch 13)

D. Streams (ch 15)

  1. Overview of Digital Audio and its application
    Current state of streaming Audio on the Internet
    Problems and solutions
  2. Digital Audio Processing Fundamentals
  3. The AudioFrame Class
    internal data structures
    the AudioStream
    the AudioDataStream
    the AudioPlayer
  4. Building GUI’s for Signal Processing
    building the menu
    intercepting menu event
    intercepting keyboard events
  5. Audio File Formats/Coding
    Audio file formats
    u-law companding in the Sun AU files
    decoding u-law
    encoding u-law
  6. Constructive Synthesis
  7. Spectral Analysis
    The Discrete Fourier Transform
    The Inverse DFT
    The Fast Fourier Transform Class
    The Inverse FFT method
    Fast Convolution using the FFT
    Power Spectral Estimation
    Filtering using FFT
  8. Additive vs. Subtractive Synthesis
  9. Frequency shifting using the FFT
  10. Delay, echo vs. reverb spectral impact
  11. OOD and Multi-media Programming