Part of your grade depends on a successful completion of a programming project. Since the project gives you the span of a quarter to apply the principles of digital signal processing, it will allow you to gain a broader knowledge of the disciplines in this field. This can result in outcomes that are more rewarding for you. The project approach also gives you a chance to focus on a topic that is of particular interest to you.
- You will work on the project in groups of 2. The best arrangement would be to have you each work on a specific segment of the project to ensure its successful completion. Teamwork is an important aspect of this project and will be used for evaluation purposes.
- You can pick your own topic for the project and confirm it with me. Please do this via email. Send me a brief abstract of what you plan to do.
- Some project ideas are posted at the end of this page. These are only suggestions to help you with the topic selection. You do not have to focus on them and can work on a completely new topic that is of interest to you, as long as, I approve it.
- The course is focused on signal processing so the main requirement for your project is that you analyze and manipulate some form of a signal. This is not supposed to be a purely theoretical experiment. Hence, I would like you to focus on practical signals. These signals can be from real sources or can be synthetic. Th real signals need to be acquired from measurment and maybe hard to come by. Hence, you may generate synthetic signals by starting from an ideal signal and adding noise to it.
- I strongly recommend that you use Matlab and its built in toolboxes.
The projects will be graded based on a project report (of around 5 pages) as well as an in-class
Your report must have the following structure, containing the following sections:
- Abstract: a brief abstract of what you are planning.
- Introduction: A general description of the area of your project and why you're doing it.
- Problem Description: A clear and succinct technical description of the problem you're addressing. Formulating a general problem, e.g., image processing, into a well-defined technical goal.
- Data: What are the real-world and/or synthetic signals you are going to use to develop and evaluate your work?
- Evaluation Criteria: How are you going to evaluate the performance of your proposed signal processing algorithm? The best criteria are objective, quantitative, and discriminatory. You want to be able to demonstrate and measure improvements in your system.
- Proposed Solution: A description of the approach that was used to solve the proposed problem. Sometimes once can enhance the project’s contributions by contrasting two or more different approaches.
- Simulations and Analysis: What happened when you evaluated your system using the data and criteria introduced above? What were the principal shorfalls? (This may require you to choose or synthesize data that will reveal these shortcomings.) Your analysis of what happened is one of the most important opportunities to display your command of signal processing concepts.
- Development: If possible, you will come up with ideas on how to improve the shortcomings identified in the previous section, and then implement and evaluate them. Did they, in fact, help? Were there unexpected side-effects?
- Conclusions: What did you learn from doing the project? What did you demonstrate about how to solve your problem?
- References: Complete list of sources you used in completing your project, with explanations of what you got from each.
This structure is used to help you avoid some of the more problematic weaknesses. If you're
having trouble fitting your work into these sections, you should probably think more carefully
about your project. If you have a good reason for deviating from this structure, talk to me.
- Pattern detection in images: One of the major challenges in the agriculture field is to use drones to analyze the land and vegetation and to provide feedbaack on the condition of the elements involved. A simple project can focus on counting the number of trees in an image that is captured by a drone and is affected by various noises. For more information I suggest you talk to Yiannis Ampatzidis in the Engineering Sciences Department.
- Estimation of Parameters: One of the main chalanges in the field of wireless communications is related to the estimation of synchronization parameters in a noisey signal. As part of your project, you can either focus on the estimation of timing or synchronization parameters. See me for more information if you decide to work on this topic.
- Analysis and Filtering of Wireless Signals: The DSP lab is equipped with software defined radios that can be controlled by Labview from the National Instruments. If interested a group can use the software defined radio to transmit and receive wireless signals and perform signal detection and processing on the received signal. This process can involve reducing the impact of noise, MIMO analysis and more.
- DTMF decoder: convert a recording of 'touch tones' from a real telephone into the corresponding set of digits. Mitra's book includes some simple code for DTMF detection (at the start of chapter 11), but this doesn't deal with the case of multiple tones in a single soundfile, or necessarily handle the varying signal quality and spurious sounds (such as dialtone) in some of the examples.
- Channel equalization: This is a classic signal processing problem, where the signal has been subject to some unknown filter, and the goal is to infer what that filter was, then invert its effects. The basic idea would be to assume you know what the average spectrum of a speech signal would look like (since it should be more or less constant, on average), look at the actual spectrum of your corrupt example, then design a filter to make the example's spectrum look more like the ideal average.
- Signal denoising: Signals get corrupted by noise all kinds of ways - by electrical interference,by mechanical damage of recording media, or simply because there were unwanted soundspresent during the original recording. Some approaches to noise reduction involve estimating the steady-state noise spectrum (by looking during 'gaps' in the speech), then designing a Wiener filter (see a signals and systems text) to optimize the signal-to-noise ratio. More advanced techniques can use the noise floor estimate to apply dynamic time-frequency gain that attempts to boost signal while cutting noise.
- Speech endpointing: find the beginning and end of each speech phrase or utterance in a recording (which may include background noise). The basic idea is to design a filter that will do the best job of identifying speech energy as compared to the nonspeech noise, then somehow setting a threshold to mark the beginning and end of the speech when the filtered energy exceeds that threshold. The following recent paper, chosen somewhat arbitrarily, describes a more sophisticated approach as well as including references to more classic papers: "Robust Entropy-based Endpoint Detection for Speech Recognition in Noisy Environments," Shen, Hung and Lee, Proc. Int. Conf. on Spoken Lang. Processing, Sydney, 1998.
- Pitch extraction: This is a widespread problem in speech and music processing: identifying the local periodicity of a sound with a perceived pitch. Autocorrelation is the classic method, but it makes a lot of common errors, so there are many approaches to improving it. Several of the older algorithms are described in chapter 4 of Digital processing of speech signals by Rabiner and Schafer (Prentice-Hall, 1978). A more recent approach that is promissing, although it's aimed at a more difficult multi-signal situation, is described in: "Multi-pitch and periodicity analysis model for sound separation and auditory scene analysis," Karjalainen and Tolonen, Proc. Int. Conf. on Acous., Speech and Signal Processing, Phoenix, 1999.
- Modeling musical instruments: It turns out that many musical instruments can be modeled with surprisingly good quality by relatively simple signal processing networks. One very fruitful approach has been the "physical modeling synthesis" developed by Julius Smith and others at Stanford's CCRMA. Here's a recent article by Julius called Physical Modeling Synthesis Update. You can follow links from there to lots of other information on his site. It's quite easy to implement some of these models, and they can sound surprisingly realistic.
- Sound visualization: We've seen the spectrogram as an example of rendering a sound as an image. However, there are very many parameters to vary, with pros and cons to each variation. This project would choose a particular goal, say a clear of a certain kind of sound in a variety of backgrounds, then investigate the best possible processing to facilitate that display. There are some interesting ideas in the following paper: "Audio Information Retrieval (AIR) Tools," Tzanetakis and Cook, Proc. Int. Symp. on Music Info. Retrieval (MUSIC IR 2000), Plymouth, October 2000.
- Steganography/watermarking: There are various motivations for 'hiding' data in a soundfile without making the alteration audible. One is watermarking, so that a sound can be recognized as 'valid' without knowing its content ahead of time. Another is embedding copyright markers that cannot easily be removed by counterfeiters. This project will investigate some mechanisms for encoding data in sound, and examine the limits of how much data can be included, what degradation to sound quality is entailed, and how hard it is to remove, or to simulate, the marking.
- Artificial reverberation: It is know that one use of allpass filters is in the simulation of room reverberation. This project will build a simulated room reverberator and investigate several enhancements to increase the realism. There are several good papers to start from.
- Compression: Audio signal compression is a current hot topic. This project would involve implementing one or more simple compression schemes, and investigating how they perform for different kinds of signals, as well as the kinds of distortion they introduce. One of the classic, high-efficiency algorithms is ADPCM, described in many places including chapter 5 of Digital processing of speech signals by Rabiner and Schafer (Prentice-Hall, 1978). A more modern lossless compression scheme is the "shorten" program by Tony Robinson. You can read his technical report on it through this page (or see this local copy). A more general overview, including details of both ADPCM and MPEG-Audio compression is this paper: "Digital Audio Compression", Davis Pan, Digital Technical Journal Vol. 5 No. 2, Spring 1993.!
- Time-delay angle-of-arrival estimation: We use our two ears to be able to detect the direction from which a sound arrives.
- Synthesizing 3D sound: Since we have some understanding of how the ear uses binaural (stereo) cues to infer the direction of different sound sources, we should be able to construct artificial sounds including those cues that will appear to come from particular directions. This project will implement and evaluate some algorithms proposed for this effect. One source for this is the paper A Structural Model for Binaural Sound Synthesis by Brown & Duda, IEEE Tr. Speech & Audio, Sep 1998.