Gesture Signal Processing
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.