ECE-GY 6183 Real-Time Digital Signal Processing

Real-Time Digital Signal Processing Lab

ECE-GY 6183 / ECE-UY 4163

Fall 2024

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

The prerequisite for this class is required. Valid prerequisites are ECE-GY 6113 (DSP 1), ECE-UY 3054 (Signals and Systems), or another course that covers discrete-time signals and systems (undergraduate level is sufficient). The registration system (NYU Albert) does not check for the prerequisite for this course; but you must still have it. Your prerequisite course should cover:  discrete-time convolution, Z-transform, transfer function,  frequency response, difference equations, pole-zero diagrams, and the Fourier transform.  Let me know if you have  any questions about the prerequisite.

Texts

You can read both books online through the NYU Library for free. You will need to login to the library.  Use the Ebook Central link to read the books online.

1.  Audio Effects:  Theory,  Implementation and Application Joshua D. Reiss, Andrew McPherson

CRC Press, 2014

NYU library: https://bobcat.library.nyu.edu/permalink/f/ci13eu/nyu_aleph004382842

Publisher: http://www.crcpress.com/product/isbn/9781466560284

2.  DAFX – Digital Audio Effects Udo Z¨olzer (editor)

Wiley, 2002 (1st edition), 2011 (2nd edition)

NYU library: https://bobcat.library.nyu.edu/permalink/f/1c17uag/COURSES000344723

Publisher: https://www.wiley.com/en-us/DAFX%3A+Digital+Audio+Effects%2C+2nd+Edition-p-9780470665992

Outline (subject to revision)

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.  Keyboard interactivity using TKinter

Simulating a guitar (Karplus-Strong algorithm)

Complex amplitude modulation for voice transformation

8.  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

FFT-based convolution (and overlap-add algorithm) for real-time filtering Acoustic impulse response examples

11.  Reverberation and  room impulse responses

Room impulse response measurements using chirps Chirp signal signals and matched filtering

12.  All-pass systems

Fractional delay systems Artificial reverberation

13.  Parametric filters

Distortion effects

Quantization effects

14.  Multirate Systems

Discrete-cosine transform. (DCT)

Principle component analysis (PCA)

Grading, Category weights

30%    Exercises

15%     Quizzes

30%     Exam

25%     Project

Students may work in groups on the HW assignments.  However, what is submitted for HW should be individually written by the student and should represent the student’s individual understanding of the material.

You should  not  use  ChatGPT or other code-assistants or AI tools to write  programs that you submit for the course.

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.

Project

Students will complete a real-time audio programming project and record a video presentation to be shared with the class.

Exam

The exam will be a take-home exam.  For the exam, you will write  real-time  programs in Python.  No  use of AI tools will be allowed for the exam.  Guidelines for the exam will be given. There will not be a lecture the week of the exam.

Software

Matlab: http://www.mathworks.com

Matlab at  NYU: https://www.nyu.edu/life/information-technology/computing-support/software/ 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 affects your academic performance in a class, please email the Coordinator of Student Advocacy, Compliance and Student Affairs.  They can  reach out to your instructors on your behalf when warranted.

advocacy .tandonstudentlife@nyu .edu

https://engineering.nyu.edu/life-tandon/student-life/student-advocacy

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值