Gesture Signal Processing

From CCRMA Wiki
Revision as of 17:45, 10 October 2008 by Eberdahl (Talk | contribs) (Filtering)

Jump to: navigation, search



While studying sensors, we discovered that often a particular sensor will measure the position x, velocity v, or acceleration a of an object. However, we might like to use a different variable to control the way we synthesize sound. Ideally, integration and differentiation can be applied to convert between variables.


Here is a simple approximation of an integrator. In this case, we integrate an acceleration measurement in order to obtain velocity. We see that with each time step, v is updated to be nearly the same as the previous v, but it is affected by the input a. This is an example of a low-pass filter because the filter passes mainly low frequencies.

v = 0.1*a + 0.9*v;

Next we show how to approximate a differentiator, so now x represents a measured position, and v represents velocity (although the result is scaled by a constant). The extra variable r is introduced to represent the previous position measurement. Hence, the estimated velocity is the difference between the current position and the previous position. This filter is an example of a high-pass filter because it passes mainly high frequencies.

v = x - r;
r = x;

Filter design is an important part of the field of signal processing. For more details, see Julius Smith's book on simple filter design.