Design a controller that will make a motor spin, but occasionally remove the drive signal and measure the speed of the the motor by measuring the back emf.

Design a stepper motor controller.

Design a motor controller for constant current drive.

One way to mill boards from a tree is with a chainsaw mill which pulls a chain saw through a large piece of wood.

The chainsaw is typically moved by hand and the user slows down and speeds up depending on how hard it is to cut the wood, which precludes attaching a constant speed drive to move the saw.

Recording the sound of the saw and analyzing its frequency content might be able to be done acoustically, and the chainsaw motion controlled  accordingly – perhaps a good E90.

• 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).

http://www.ti.com/tool/DLPDLCR2000EVM

http://www.ti.com/general/docs/video/watch.tsp?entryid=5519558634001

Design a wearable fitness monitor that measure pulse rate and oxygen saturation level of blood.

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….

See file here  The file links to a paper entitled “Extracting the fingering and the plucking points on a guitar string from a recording”.  Either explore the process (E12 project), or implement it (E71) in real time (E90)

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.

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.

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.

Build a smoke detector that turns off when you say “I’m cooking”.   Microprocessor/signal processing.

Develop a low power (battery driven) wireless device/sensor.

The Bluetooth Smart SensorTag is designed to shorten the design time for Bluetooth App development from months to hours by allowing App developers to write Apps that enable and use advanced sensors directly from a smartphone without any firmware or embedded software development.

Explore modes on a drumhead – similar to modes on a guitar string, but in 2 dimensions.

Or – do a search for cloth physics.

This is very similar to the spider on a web project idea.

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.

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.