ECE 6183程序辅导、辅导web/HTML编程语言、讲解Python程序设计 辅导Web开发|解析Haskell程序
- 首页 >> Matlab编程 Exam, Fall 2020
DSP Lab (ECE 4163 / ECE 6183)
1. You may use the course resources (lecture videos, demo programs, textbook, etc) and your own prior
work for this course.
2. You may not get help from anyone. You may not ask anyone for assistance. Your submitted work
must be 100% your own effort.
3. You can consult the web for information (e.g., Tkinter) but not for how to solve the problems below.
4. If in doubt, ask me (Ivan Selesnick) by email at selesi@nyu.edu
Question 1
Part A) Consider the demo program play_randomly.py in the folder ‘demo 12B’. This program generates
pulses at random times by running a second-order difference equation. Modify this program to have a
graphical user interface (GUI). [Use Tkinter.] Using sliders, the user should be able to control the following:
1. The duration of the pulses
2. The frequency of the pulses
The GUI should have a ‘quit’ button. Your program should save the output to a wave file.
Prepare a brief (less than 30 seconds) video demonstrating your program. Submit, the program (.py file), the
video file, and the wave file. Ensure that your submitted program files runs on its own (without additional
files needed) so that we can run your file.
Part B) Identify and describe one artifact or low quality aspect of the audio produced by the program.
Describe how you could fix, improve or reduce the artifact to improved the sound. (You do not need to do
implement it, just describe in words.)
Question 2
Write an implementation of real-time convolution using the overlap-add algorithm. The convolution for each
block should be performed using the FFT. Do not use any conv function directly. For the impulse response,
use the file impulse_response_8kHz.wav accompanying this exam. The input signal should come from a
microphone. The output signal should be played to the loudspeaker/headphone. Both the input signal and
the output signal should be saved to wave files.
Prepare a brief (less than 30 seconds) video demonstrating your program. Submit, the program (.py file),
the video file, and the input and output wave files. Ensure that your submitted program files runs on its
own (without additional files needed) so that we can run your file.
1
DSP Lab (ECE 4163 / ECE 6183)
1. You may use the course resources (lecture videos, demo programs, textbook, etc) and your own prior
work for this course.
2. You may not get help from anyone. You may not ask anyone for assistance. Your submitted work
must be 100% your own effort.
3. You can consult the web for information (e.g., Tkinter) but not for how to solve the problems below.
4. If in doubt, ask me (Ivan Selesnick) by email at selesi@nyu.edu
Question 1
Part A) Consider the demo program play_randomly.py in the folder ‘demo 12B’. This program generates
pulses at random times by running a second-order difference equation. Modify this program to have a
graphical user interface (GUI). [Use Tkinter.] Using sliders, the user should be able to control the following:
1. The duration of the pulses
2. The frequency of the pulses
The GUI should have a ‘quit’ button. Your program should save the output to a wave file.
Prepare a brief (less than 30 seconds) video demonstrating your program. Submit, the program (.py file), the
video file, and the wave file. Ensure that your submitted program files runs on its own (without additional
files needed) so that we can run your file.
Part B) Identify and describe one artifact or low quality aspect of the audio produced by the program.
Describe how you could fix, improve or reduce the artifact to improved the sound. (You do not need to do
implement it, just describe in words.)
Question 2
Write an implementation of real-time convolution using the overlap-add algorithm. The convolution for each
block should be performed using the FFT. Do not use any conv function directly. For the impulse response,
use the file impulse_response_8kHz.wav accompanying this exam. The input signal should come from a
microphone. The output signal should be played to the loudspeaker/headphone. Both the input signal and
the output signal should be saved to wave files.
Prepare a brief (less than 30 seconds) video demonstrating your program. Submit, the program (.py file),
the video file, and the input and output wave files. Ensure that your submitted program files runs on its
own (without additional files needed) so that we can run your file.
1