[CS Dept., U Chicago] Courses


CMSC 34910: Mathematical Transforms for Signal Processing (Winter 2005)

Class Project

------------------------------------------------

Open Project (Non)Rules

The class project for Com Sci 295 is an open project. It is open in three senses.

  1. There are no restrictions on how you accomplish project work. You are encouraged to collaborate, share work, use ideas that you hear from others, find information in books and articles or figure out for yourself, whatever works. I will evaluate your project work entirely from your presentation of the insights that you gain. Of course, you must acknowledge the source of each idea that you use. You must share your own work freely with the class. Final results can be presented individually or in project groups.

  2. You define your own project. I will provide some general suggestions. The project can involve any sort of work that demonstrates serious assimilation or deployment of Fourier Transform and related techniques in an application that interests you. Or, it can involve work on transform techniques and software to support other people's applications. To be confident that I will appreciate the work, you should negotiate your project definition with me in advance.

  3. We will archive project results on the class Web pages for free use by others. Unless there is a special reason to do otherwise, we will license all software under GPL, and descriptive text under Creative Commons.

Evaluation and Grading

I welcome registration for a Pass/No Pass instead of a letter grade. I will evaluate work for letter grades for those students who request it. Because each project is unique, I can't define the evaluation criteria precisely. If you present preliminary results early in the quarter, I will advise you how I evaluate them, and what more you need to do to get a higher grade. Here are rough criteria for grades:

Pass or B
Participate intelligently in class discussion, including the online discussion. Present a project that shows thorough understanding of some of the concepts developed in lectures and readings.

A
In addition to the requirements for a B, incorporate some work in your project that shows a substantial independent insight beyond assimilation of the lectures and readings.

I expect most project material to be presented in a set of Web pages and linked files containing appropriate programs and data. If you cannot produce Web pages effectively, I prefer that you get help from someone who can. If you feel that you must present your work in another form, negotiate that form with me as early as possible.

If the textual parts of your presentation involve nontrivial mathematical formulae, I recommend LaTeX for typesetting, and LaTeX2HTML if you want an HTML form. LaTeX is not easy to learn quickly. You should work out your method for presenting legible formulae very early, so it doesn't interfere with your real work.

If you would like to present some of your work orally to the class, let me know. This can be a great way to practice for conference talks and thesis defenses.

I hope that your online presentations will be clear by themselves, but I may schedule private interviews as necessary to understand and evaluate. It's a great idea to schedule one or more meetings well before the end of the quarter to review your project work, but I will leave that to your initiative.

Project Suggestions

  1. Take some signal (recorded sound, scanned image, ...) that interests you. Apply transform techniques to analyze relevant qualities of the signal. Use concepts from lectures and readings to critique the application. Try some variations in both the signal and the analysis to illuminate the meaning and accuracy of the results.

    Almost all demonstrations of techniques in science, and moreso in software and engineering, focus too much on examples that work. Every technique has limitations, and we understand those limitations best when we have seen plenty of examples that break the technique. My favorite book on optical character recognition consists entirely of a catalog of errors made by the best software. Make sure that you demonstrate the failure, as well as the success, of your techniques.

  2. Do a careful analysis of the performance and numerical accuracy of your favorite signal processing tool. Explain the relevance of the analysis to some applications.

  3. Produce a nice online dictionary of transform pairs, similar to Bracewell's. Provide the items in the dictionary as some sort of manipulatable data, and present them through some nice graphics tools. Desirable manipulations:

    1. graph a function from reals to complex numbers in three dimensions, and allow interactive rotations;
    2. present a function in two dimensions with real and imaginary parts in different styles (this is Bracewell's presentation);
    3. present a function in two dimensions with magnitude and argument lined up (like my Scilab examples, but do a better job);
    4. scale graphs horizontally and vertically, and select ranges of values to display.

  4. Produce interactive animated demonstrations of transform concepts, similar to some of those at The Johns Hopkins University, but implement them as portable free software.

  5. Evaluate and/or improve and/or extend the tools in the Loris library for reassigned time-frequency analysis.

Valid HTML 4.0!


Last modified: Fri Jan 14 18:02:34 CST 2005