MP3: FIR Filters¶
In MP1, you will smooth and differentiate one-dimensional signals (e.g., unit step) and three-dimensional signals (color images) using convolution. This MP is based on the contents of chapter 6 in the textbook.
Code, test code, data, and solutions: ZIP
Reading: DSP First, pp. 149-169
The ZIP Archive, and the recommended Code-Writing Process¶
In the ZIP archive, you will find the following directory hierarchy:
submitted.py – this is the ONLY file that you will submit, and the only file on which you will be graded. The parts that you need to edit are marked with NotImplementedError, so you can find them easily.
main.py – If you run this from the command line, python main.py, it will generate a series of popup windows (using tkinter) with debugging visualizations, to show you which parts of submitted.py you have finished, and which parts still need to be done. If you type python main.py -h, you will get a help message, describing other options that may be useful to you while debugging your submitted.py. If you want to see what the pictures should look at, please see the lecture 11 slides <lectures/lec11.pdf>. If you get tired of all the popup windows, you can have it go directly to the step you want by typing python main.py -s N where N is any integer from 0 to 8.
image.jpg – this is the visible image file (the autograder will give you half the points for this one, and half the points for another hidden image file).
solutions.hdf5 – this is just what it says; complete solutions for the visible data (not for the hidden data, though). You can read this file using H5PY (see the code provided in main.py for examples).
grade.py – the autograder will actually run python run_tests.py -j, which gives JSON output. During debugging, I recommend using just python grade.py, which gives plaintext output – a little more human-readable. The tests are specified in tests/test_visible.py.
How to Submit¶
Go to GradeScope. Under “Active Assignments,” click “MP3”. Submit submitted.py as a plain text file. There are other submission options (e.g., you can submit through github; you can submit a zip file), but just choosing submitted.py to upload is easiest. If you upload a zip archive, everything else in the archive you submit will be ignored.
You may submit as many times as you like. Your total score (for both visible and hidden data) will be shown. If you get 100%, you’re done.
In general, we will only see the grade of your most recent gradescope submission. If you want to choose an earlier submission for grading, you can do that using GradeScope’s interface.