Syllabus revised May 30, 2005
Course Name & Number: Voice
and Signal Processing CR310
(SW511,ECE460)
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 multimedia objectoriented programming. Students will apply the theories of Sampling, Spectra, Fast Fourier Transform Class, convolution and frequency space processing, compression and onedimensional streaming. Students will apply the theories by creating programs that read processing and write audio streams. They are exposed to the elements of multimedia 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 followon course.
Prerequisite – CS232, MA 172 or permission of instructor.
Computer Usage: We are using IntelliJ as the IDE, with JDK1.4.
Time: 
Tuesdays 4:00pm  7:00pm 

Place: 
Norden: onsite 

Instructors: 
Jeffrey N. Denenberg 
Douglas Lyon 
Phone: 
(203) 2681021 
(203) 6416293 
Fax: 

(203) 8774187 
Email: 

Home Page: 

Prerequisites: 
CS232, MA 172 or permission of instructor. 

Office Hours: 
The hour before class on Tuesdays 

Texts: 
Sanjit J. Mitra, 
Lyon and Rao, 
Software: 
MatLab 4.2c (or later), The Mathworks 

References: 
Phillips and Parr, Signals, Systems, and Transforms, Philips and Parr, Interactive Lecture Notes (Chapters 17), EE235 Mitra, 2nd Edition, Lecture Notes, Index Hsu, Analog and Digital Communications, Lathi, Linear Systems and Signals, Soliman and Srinath, Continous and Discrete Signals
and Systems, Lathi, Linear Systems and Signals, Denenberg, Fourier Series Denenberg, Fourier Transform Denenberg, Sampling and Reconstruction Denenberg, Linear Systems Denenberg, Introduction to Noise 

This course designed to support the signal processing and computer systems domain in the CE BS degree. When the course is done, Students will have written their own Java applications that demonstrate the ideas presented in the course. This course requires substantial programming effort and emphasis is place on good software engineering practices.
Learning Objectives for Voice and Signal Processing
1. The students will learn the principles of Digital Signal Processing.
2. The students will become proficient with the usage of the Java language.
3. The students will recognize interrelationships among signals and spectra
4. The students will learn enough CS to do basic multimedia programming
5. The students will learn about Object Oriented Design
6. The students will learn how to apply their mathematical background to signal processing
Outcomes:
oc1. Students write a program to display waveforms using a software oscope.
oc2. Demonstrates the ability to utilize Java in practical signal processing problems.
oc3. Uses appropriate objectoriented design patterns to solve problems.
oc4. Applies transform concepts in programming situations
oc5. Students can perform constructive and destructive synthesis.
oc6. Students perform spectral analysis
Student Objective 
Outcome Category 


The students will learn the principles of Digital Signal Processing. 2. 3. 4. 

1.5


The students will become proficient with the usage of the Java language. The students will recognize interrelationships among signals and spectra 


Problem Solving 
1.0 


The students will learn enough CS to do basic multimedia programming 

0.5 

The students will learn about Object Oriented Design The students will learn how to apply their mathematical background to signal processing 

Aside from the basics assessment procedures based on homeworks and tests, Students must obtain 75% or better on all tests. Additionally, students must perform at least 75% on the homeworks.
Textbook: Java Digital Signal Processing by Douglas Lyon
Reference Material: Websites to be announced
Course Requirements: The course includes three reporting periods (exam, quiz, project, etc.) and a comprehensive final.
Attendance Policy: Students are responsible to acquire notes and homework assignment from classmates in case of absence.
Grading Policy:
Homework and Laboratory Trials: 1/3
Midterm Exam : 1/3
Final Exam : 1/3
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 a test 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.
Java Sound Topics by week (schedule is subject to change)
Preliminary topics:
10. Overview of Digital Audio and its application, Current state of streaming Audio on the Internet, Problems and solutions. Midterm Assigned.
11. Digital Audio Processing Fundamentals, Sampling, Spectra
12. Midterm due. AudioStreams, doubleData, ulawData, Audio File Formats/Coding, Audio file formats, ulaw companding in the Sun AU files, decoding ulaw, encoding ulaw, reading, writing, playing,
13. Constructive Synthesis, Sine, Triangle, Square, Sawtooth
14. 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, Additive vs. Subtractive Synthesis, Frequency shifting using the FFT, Delay, echo vs. reverb spectral impact
Week 15. Final
Week / Text 
Lecturer 
Lecture / Discussion 
Homework/Reference 
May 31 
Lyon
Denenberg 
Course Introduction Java Programming Review

Smith: Chapter 1 
June 7 
Denenberg 
Fourier transform and Convolution Review 

June 14 
Denenberg 
Sampling and Reconstruction 

June 21 
Denenberg 
The Discrete Fourier Transform (DFT) and the Fast Fourier Transform 

June 28 
Denenberg 
The ZTransform 

July 5 
Lyon 
Java Signal Processing 

July 12 
Denenberg 
Digital Filter Structures 

July 19 
Denenberg 
Digital Filter Design 

July 26 

Exam 1 

August 2 
Lyon 
Java Signal Processing 

August 9 
Lyon 
Java Signal Processing 

August 16 
Lyon 
Java Signal Processing 

August 23 
Lyon 


August 30 
Lyon 
Java Signal Processing 

September 6 
Lyon 
FINAL EXAM

