It's possible that your confusion stems from the fact that there are multiple solutions to the problem. While your accelerometer can tell you which way is up, it cannot distinguish between North and West. I.E. If you rotate the device about the vertical axis, the outputs of the accelerometers won't change.
How can you distinguish between North and West? The best way is probably to add a digital compass to the mix. Alternatively, you may not care to know the difference between real North and real West. You may only want two orthogonal horizontal axes. I'll assume the latter.
Define our frames first. The device's frame is (X, Y, Z). The earth's frame is (V, H1, H2).
Lets assume your accelerometer readings (Ax, Ay, Az) are in the range -1 .. +1, where +1 means straight up. Immediately you know which direction is up: it's simply (Ax, Ay, Az). But how do we obtain a horizontal axis? There's a function called the Cross Product, which takes any two vectors as inputs, and returns another vector at right angles to both. Therefore, we can easily find a vector at right angles to Up. In C:
Vector3D V = (Ax, Ay, Az);
Vector3D H1 = RANDOM_VECTOR;
Vector3D H2 = CrossProduct(V, H1);
H1 = CrossProduct(V, H2);
Normalise(H1);
Normalise(H2);
So, now we have a vertical vector V, and two horizontal vectors H1 and H2. Now we just need to rotate the gyroscope readings into the same frame.
Let's call the gyroscope readings (Gx, Gy, Gz). We're going to convert them into earth frame rotation coordinates (GV, GH1, GH2). All you have to do is to think about the gyro readings like a single 3D vector. Which way is it pointing in the device's frame. Which way is it pointing in the Earth's frame?
The answer is simply:
GV = (Gx*V.x) + (Gy*V.y) + (Gz*V.z);
GH1 = (Gx*H1.x) + (Gy*H1.y) + (Gz*H1.z);
GH2 = (Gx*H2.x) + (Gy*H2.y) + (Gz*H2.z);
(I hope that's right)...
Yes, you need a time reference. A timer interrupt which sets off the ADC conversion is usually the best bet. Its also possible to let the ADC free-run and use periodic (every n-th) reading. That makes for OK time data, if not great.
As for the frequency of sampling, what you need to figure out is the bandwidth that you need. Suppose the vibrations that ensue are have a frequency of x Hz, you would need atleast 2x Hz to reconstruct a vibration assuming its purely sinusoidal. This is sort of a theoretical limit. Since a pothole isn't going to produce a sinusoidal vibration, and theory doesn't always translate directly to real life, you'd probably need to sample at atleast 10x Hz.
For something like a car, I would guess the vibrations to be in the order of, say, 10Hz to 1KHz. (For reference, buildings generally vibrate at sub 1-Hz. Small metallic objects designed to withstand vibration and things like rockets would vibrate in the 50-200 Hz range. Tuning forks vibrate at Kilohertz, usually , like the 32.768 KHz tuning forks commonly used in electronics for time keeping, and quartz crystals vibrate in the MHz range). So a sampling rate of above 10KHz is porbably more than enough. You could try with less and see if it works, but I really haven't done any calculations for cars to be sure. I'm fairly confident 1KHz should be as far as the vibrations should go, and it'll probably be less than than in reality.
EDIT : If you're only really interested in the large scale vibration of the car, as you say 10-13Hz is what you are interested in, 100Hz should be enough. I'd sample at 1KHz to be safe.
Best Answer
See the relevant notes on the data sheet:
Looks to me like the bandwidth numbers of 350 and 150 are the ones you should use. The RC values they supply are at about 1.5 kHz.
There seems to be an switched cap filter clocked at 11 kHz that shapes your signals. Also, the system depends on a resonance in the nano-elements in the 3-6 kHz range, but that doesn't mean that it can detect or report acceleration in that range.
The 11 kHz signal, and maybe some of the resonance is going to bleed through, and that's why they want you to filter at 1.5 kHz. That said, because they actually prefilter internally for you, you just need to cover the bandwidth of the accelerometer (at 350 and 150) with your sample rate. 800 Hz sampling should be fine!!