Accelerometer Filtering Example
Shake! is a re-imagining of Apple's AccelerometerGraph demonstration App. Shake! is only available as source code only from GitHub, and is not on the iTunes store.
The program features per axis configuration that includes several different signal sources and filters that are not present in AccelerometerGraph, as well as an RMS based level detector.
Shake! is only available as source code from GitHub, and you can find out more about it on my blog.
The design goals I had for Shake! were:
The culmination of these goals can be seen in the complete list screens from Shake!:
The operation of Shake! is very simple. You select the signal source, filter and RMS detection level for each axis, and then shake the iOS device in order to see results on the screen.
And when enter the setup for Shake! the first screen you are presented with is for the over-all configuration of each axis as well as the “All Axes” choice. By selecting a single axis, you will head down the path of configuring only that one axis. The “All Axis” choice is special in that any configuration choices made here will be copied to the other 3 axes – however you will need to confirm this action before the copying occurs.
Within the Signal Source setup, there are 4 choices that can be made:
The Filter Seelction allows you to selec from one of seven different types of digital filters:
The Level Detection calculates the RMS value of the filtered signal over a rolling sample window, and then indicate a trigger when that level has exceeded a threshold for a set number of samples. The setup for the Level Detection reflects these requirements and allows you to independently change all three variables.