DSP Lab Syllabus - Fall 2021

Download as pdf or txt
Download as pdf or txt
You are on page 1of 4

ECE-GY 6183: Digital Signal Processing Lab

ECE-UY 4163 Real-Time Digital Signal Processing


Electrical and Computer Engineering
Tandon School of Engineering, New York University
Fall 2021

This course is an introduction to the real-time implementation of digital signal processing (DSP) algorithms, with
an emphasis on audio signal processing and audio effects.
The course will use Matlab and Python programming. Some Matlab experience is expected. No experience in
Python required; the course will introduce Python as needed. This course can be taken independently of ECE
6113 and ECE 7133 (DSP I and DSP II).
Topics include: Audio input-output and buffering. Filtering (recursive and non-recursive filters, structures).
Fast Fourier transform and windowed spectral analysis. Digital audio effects (delay line, amplitude modulation,
reverberation, distortion, short-time Fourier transform). Students will learn to implement these algorithms for
real-time audio processing in software.
Prerequisites
Discrete-Time Signal and Systems (undergraduate level is sufficient) (ECE 3054 or ECE 6113 or equivalent)
You should know: discrete-time convolution, Z-transform, transfer function, frequency response, difference equa-
tions, pole-zero diagrams, and the discrete-time Fourier transform.
Instructor
Ivan Selesnick
Email: [email protected]
Phone: (646) 997-3416
Office: 370 Jay Street, Room 805
Web: http://eeweb.poly.edu/iselesni/
Texts
You can read both books online through the NYU Library for free. You will need to login to the library.

1. Audio Effects: Theory, Implementation and Application


Joshua D. Reiss, Andrew McPherson
CRC Press, 2014
NYU library: http://bobcat.library.nyu.edu/permalink/f/ci13eu/nyu_aleph005572860
Publisher: http://www.crcpress.com/product/isbn/9781466560284
2. DAFX – Digital Audio Effects
Udo Zölzer (editor)
Wiley, 2002 (1st edition), 2011 (2nd edition)
NYU library: http://bobcat.library.nyu.edu/permalink/f/1c17uag/nyu_aleph004863929
Publisher: https://www.wiley.com/en-us/DAFX%3A+Digital+Audio+Effects%2C+2nd+Edition-p-9780470665992

Outline

1. Introduction to Python
Binary data and the pack function
Wave files

2. The PyAudio library


Second-order filters
Matlab examples
Graphical user interfaces (GUI) in Matlab

3. Real-time filtering of microphone signals


The classical recursive filters

4. Circular buffers
The vibrato effect
Instantaneous frequency

5. Block processing for real-time processing


The Python Matplotlib library
Real-time plotting of audio signals

6. The Fast Fourier Transform


The Numpy Library
Block filtering
Graphical user interfaces (GUIs) in Python using the TKinter library

7. FFT-based convolution and block convolution for real-time filtering


Keyboard interactivity using TKinter
Simulating a guitar (Karplus-Strong algorithm)

8. Complex amplitude modulation for voice transformation


Image and real-time video processing in Python using CV2
Processing audio from two microphones

9. Exam

10. The short-time Fourier transform (STFT)


Audio effects using the STFT
All-pass systems
Fractional delay systems

11. Room reverberation


Modeling reverberation
Measuring room response
Chirp signal signals and matched filtering

12. Shelving filters


Spectral factorization
Time-stretching and pitch shifting of audio
Distortion effects

13. Quantization effects


Discrete-cosine transform and PCA
Wavelet transforms

14. Student project presentations

Project
Students will complete a real-time audio programming project and make a video presentation to be shared with
the class.
Grading, Category weights
45% Exercises
25% Exam
10% Paper report
20% Project
In the event of academic dishonesty, a score of zero may be given for the item at issue. Additionally, the grade
for the course may be reduced, including a failing grade for the course.
Software
Matlab: http://www.mathworks.com
Matlab at NYU: https://www.nyu.edu/life/information-technology/getting-started/software/matlab.
html
Python : http://www.python.org
PyAudio : http://people.csail.mit.edu/hubert/pyaudio/

Learning objectives

1. The implementation and design of algorithms for signal processing with an emphasis on audio processing.
2. Software-based real-time programming of signal processing functions (real-time filtering, time-varying filter-
ing, spectral analysis, audio effects).

Learning outcomes

1. Students will be able to use Matlab and Python to perform signal processing functions (filtering, spectral
analysis, filter design).
2. Students will understand constraints and parameters associated with real-time signal processing (sampling
rate, latency, buffering, bits per sample).
3. Students will be able to write programs to perform audio effects (reverberation, delay line effects, amplitude
modulation, distortion).

If you are ill or have a personal emergency during the semester


If you are experiencing an illness or other situation that will likely affect your academic performance in a class,
please email Deanna Rayment, Coordinator of Student Advocacy, Compliance and Student Affairs. Deanna can
reach out to your instructors on your behalf when warranted.
[email protected]
https://engineering.nyu.edu/staff/deanna-rayment

Inclusion Statement
The NYU Tandon School values an inclusive and equitable environment for all our students. I hope to foster a
sense of community in this class and consider it a place where individuals of all backgrounds, beliefs, ethnicities,
national origins, gender identities, sexual orientations, religious and political affiliations, and abilities will be treated
with respect. It is my intent that all students’ learning needs be addressed both in and out of class, and that the
diversity that students bring to this class be viewed as a resource, strength and benefit. If this standard is not
being upheld, please feel free to speak with me.

Moses Center Statement of Disability


If you are student with a disability who is requesting accommodations, please contact New York University’s Moses
Center for Students with Disabilities (CSD) at 212-998-4980 or [email protected]. You must be registered with
CSD to receive accommodations. Information about the Moses Center can be found at http://www.nyu.edu/
csd. The Moses Center is located at 726 Broadway on the 3rd floor.
NYU School of Engineering Policies and Procedures on Academic Misconduct
Introduction: The School of Engineering encourages academic excellence in an environment that promotes honesty,
integrity, and fairness, and students at the School of Engineering are expected to exhibit those qualities in their
academic work. It is through the process of submitting their own work and receiving honest feedback on that
work that students may progress academically. Any act of academic dishonesty is seen as an attack upon the
School and will not be tolerated. Furthermore, those who breach the School’s rules on academic integrity will
be sanctioned under this Policy. Students are responsible for familiarizing themselves with the School’s Policy on
Academic Misconduct.
Definition: Academic dishonesty may include misrepresentation, deception, dishonesty, or any act of falsification
committed by a student to influence a grade or other academic evaluation. Academic dishonesty also includes
intentionally damaging the academic work of others or assisting other students in acts of dishonesty. Common
examples of academically dishonest behavior include, but are not limited to, the following:

1. Cheating: intentionally using or attempting to use unauthorized notes, books, electronic media, or electronic
communications in an exam; talking with fellow students or looking at another person’s work during an
exam; submitting work prepared in advance for an in-class examination; having someone take an exam for
you or taking an exam for someone else; violating other rules governing the administration of examinations.

2. Fabrication: including but not limited to, falsifying experimental data and/or citations.
3. Plagiarism: intentionally or knowingly representing the words or ideas of another as one’s own in any
academic exercise; failure to attribute direct quotations, paraphrases, or borrowed facts or information.
4. Unauthorized collaboration: working together on work that was meant to be done individually.

5. Duplicating work: presenting for grading the same work for more than one project or in more than one
class, unless express and prior permission has been received from the course instructor(s) or research adviser
involved.
6. Forgery: altering any academic document, including, but not limited to, academic records, admissions
materials, or medical excuses.

You might also like