- Implement the FFT on a DSP processor and display result.
- Study adaptive filters and implement one.
- Program the DSP processor to implement a DTMF coder and/or decoder.
- Study wavelets, and demonstrate their use
- Explore computer vision techniques based on DSP principles
- How can DSP algorithms be implemented on Gate Arrays. http//www.mathworks.com/digest_xilinx_training
- Implement a filter in Verilog
- Describe, in some depth, architectural features of our DSP processor designed particularly for DSP work, and write some code to demonstrate.
- Write a very efficient (assembly language) FIR filter for a DSP
- Code up a prime factor FFT (Matlab or C)
- Report on the advantages of Delta-Sigma (oversampling) D/A and A/D convertors
- Create a filter design package that generates source code for the DSP (ie, given a specified frequency response, the package generates a program that will implement that filter)
- Design a system that performs either µ-law or A-law companding, then test it.
- Construct a system that produces band-limited white noise. This would be very useful for the department for a wide variety of purposes.
- Perform data compression using Linear Predictive Coding, Huffman Coding, or some other compression algorithm.
- Show how quantization affects pole location in various realizations of IIR filters.
- Explore how quantization affect the performance of FIR filters.
- Description (and implementation?) of Parks-McClellan algorithm for filter design.
- Research/Implement Linear Predictive Coding
- Research Speech Analysis (tools and techniques used).
- Implement an IIR filter on a fixed point DSP processor and investigate scaling of coefficients.
- How can approximately linear phase IIR filters be designed.
- Detect the location of a sound by employing multiple microphones (or use multiple speakers to “steer” sound).
Design a wearable fitness monitor that measure pulse rate and oxygen saturation level of blood.
Design some kind of sensing network using the TI sensor tag – available in bluetooth and wifi.
I2S is a popular digital interface for audio, but is not supported on many microcontrollers. Design an interface from I2S to SPI (or I2C) that uses the smallest possible processor to do the work. Build a PCB/develop software….
Research Bond graphs – a technique developed for handling linear systems (mechanical, electrical…) under a single framework. https://en.wikipedia.org/wiki/Bond_graph
The dynamics of the voltage across a nerve membrane are well defined by a set of three coupled non-linear equations. MATLAB (or another tool) can be used to model these equations and accurately predict the dynamics of a nerve firing.
Make an animation (either MATLAB or web-based) of the inner ear example from class. This involved some simulation and some relatively simple graphics programming. You could also update and expand this web page (http://www.swarthmore.edu/NatSci/echeeve1/Ref/InEar/InnerEar.html) to include the animation.
The Makey Makey is essential a generalized input device – a touch keyboard that can be used in many different ways.
Use this to get some ideas, though some are rather complex and/or expensive.
Source: 20 Unbelievable Arduino Projects
Search for kits and projects on the Adafruit website
The Arduino is a cheap electronics board that allows you to make your own electronics without a ton of coding experience. We love the Arduino, but like any electronics project, coming up with ideas for what to build is tough. Whether you’re just looking for inspiration or just need a place to start, let’s take a look at ten of the coolest Arduino projects.
Source: Top 10 Kickass Arduino Projects
Note: even some of the ones marked Easy may not be so easy – also some require expensive extras.
Source: Arduino Playground – Ideas
The servo’s we have used only have about 180 degrees of rotation. You can make some fairly simple changes to modify the servo to rotate continuously so it could be used to drive wheels on a robot, or any other application that involves continuous rotation.
Explore modes on a drumhead – similar to modes on a guitar string, but in 2 dimensions.
Pulse Oximeters – Maxim. Also – TI has information
Check the video below. It is a simple pendulum, but reacts to magnets near the base. A non-linear problem to be modeled with RK – but not too difficult. http://en.wikipedia.org/wiki/Force_between_magnets#Magnetic_dipole-dipole_interaction
The animation system at http://lpsa.swarthmore.edu/Animations/ uses a fixed step size animation. Alter the code to use a variable step size.
Use the animation system (http://lpsa.swarthmore.edu/Animations/) developed by a student a few years ago to develop animations for some of the homework problems.
Use simulink and MATLAB together to simulate a system (and animate it). You could also do it all in MATLAB. The coupled pendulum system comes to mind.
Simulate the system shown using Runge-Kutta (it is nonlinear, but not too complex). http://en.wikipedia.org/wiki/Force_between_magnets#Magnetic_dipole-dipole_interaction
Z-Transforms are related to the Laplace Transform, but are used for discrete time systems (i.e., when a computer is used to sample a signal). This would be more research then physical.
Use the ideas in this post to control servo’s with audio signals from a cell-phone or other audio source. TRS Drawbot – Make: | Make:.
Use this method to make an animation (web-based?) that calculate pi. The Pi Machine – NYTimes.com.
It would be very nice to have a MATLAB gui that makes the audio analyzer output a series of impulses to a circuit and then have software that would add up the delayed and shifted impulse responses to create the output due to an arbitrary input. This is ambitious, but if you want a very software (MATLAB) intensive project – this might be it.
Materials for 3D Electronics Printing — Voxel8: 3D Electronics Printing. This is an ambitious project – you may want to consider this for two students unless you have some experience building your own 3-D printer.
Recreating the THX Deep Note – Earslap. Read this blog post on how to create the THX Deep Note (the sound at the beginning of movies using THX). It involves some signal processing – see if you can do it in MATLAB. Here is professor Zucker’s implementation in shadertoy https://www.shadertoy.com/view
Right now, the signal generator is only configured to create sine waves and square waves. Code could be added to the U8903a GUI to enable the generation of triangle and Sawtooth waves.